feat(firmware): add experimental RTL-SDR USB-host module (Workstream J)
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>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
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
|
||||
Reference in New Issue
Block a user