Files
qtalker---/firmware/esp32p4-sensor-node/components/rtlsdr_experimental/CMakeLists.txt
Indiana abd7174c9c 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>
2026-07-24 01:10:21 +00:00

18 lines
811 B
CMake

# rtlsdr_experimental — EXPERIMENTAL, UNVERIFIED AGAINST REAL HARDWARE.
# See include/rtlsdr_experimental.h and ../../README.md ("Workstream J")
# for the full honesty write-up.
#
# This is a self-contained ESP-IDF component so it can be dropped into
# Workstream I's core firmware project (firmware/esp32p4-sensor-node/) via
# EXTRA_COMPONENT_DIRS, or by copying this directory under that project's
# own components/, without editing any file that workstream owns.
#
# `usb` = ESP-IDF's USB Host Library (usb_host.h) — native to ESP32-P4's
# USB-OTG host controller. `esp_http_client` = the upstream IQ-forwarding
# stub's transport (see rtlsdr_experimental.c "Upstream IQ forwarding").
idf_component_register(
SRCS "rtlsdr_experimental.c"
INCLUDE_DIRS "include"
REQUIRES usb esp_http_client
)