Self-contained ESP-IDF component (firmware/esp32p4-sensor-node/components/ rtlsdr_experimental/) exploring RTL2832U-over-USB-host on the ESP32-P4, ported from frontend/src/lib/sdr.ts's researched WebUSB protocol sequence (vendor commands, I2C-repeater tuner init) to the ESP-IDF USB Host Library. Implements: USB Host Library install/client lifecycle, RTL2832U/Terratec vendor-ID device matching, the demod+R820T init vendor-command sequence over control transfers, a pipelined bulk-IN read loop for raw IQ, and an inert-by-default upstream IQ-forwarding stub targeting a proposed separate binary endpoint (not the JSON telemetry shape — reasoning documented in the README) since no such backend endpoint exists yet. Off by default (RTLSDR_EXP_ENABLE Kconfig, default n). Unverified against real hardware and never compiled (no ESP-IDF toolchain in this environment) — marked as such in every source file and in a dedicated "Workstream J" section of firmware/esp32p4-sensor-node/README.md, which this commit also creates since Workstream I's core skeleton (owned by a separate, unmerged worktree) hadn't created one yet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
36 lines
1.5 KiB
Plaintext
36 lines
1.5 KiB
Plaintext
menu "RTL-SDR Experimental Module (Workstream J — UNVERIFIED)"
|
|
|
|
config RTLSDR_EXP_ENABLE
|
|
bool "Enable RTL-SDR experimental USB-host module"
|
|
default n
|
|
help
|
|
Attempts to initialize the ESP32-P4 USB Host Library and probe
|
|
for an attached RTL2832U-based dongle. This module is
|
|
experimental and UNVERIFIED against real hardware — see
|
|
firmware/esp32p4-sensor-node/README.md, "Workstream J" section,
|
|
before enabling on a device you care about. Off by default so
|
|
it can never interfere with the core sensor node build unless
|
|
explicitly turned on.
|
|
|
|
config RTLSDR_EXP_BULK_CHUNK_BYTES
|
|
int "Bulk IQ read chunk size (bytes, must be a multiple of 512)"
|
|
default 16384
|
|
depends on RTLSDR_EXP_ENABLE
|
|
help
|
|
UNVERIFIED default. Real achievable USB bulk throughput on
|
|
ESP32-P4 (and the right tradeoff against available heap/DMA
|
|
memory) is one of the concrete things a real hardware bring-up
|
|
session needs to measure and tune.
|
|
|
|
config RTLSDR_EXP_BULK_QUEUE_DEPTH
|
|
int "In-flight bulk transfer pipeline depth"
|
|
default 4
|
|
range 1 8
|
|
depends on RTLSDR_EXP_ENABLE
|
|
help
|
|
Number of bulk-IN transfers kept perpetually submitted so the
|
|
USB pipe doesn't idle. UNVERIFIED — needs tuning against real
|
|
measured throughput vs. available RAM.
|
|
|
|
endmenu
|