Fix CC1101 init, SPI, power levels, captive portal, and add frequency sweep

- Remove captive portal (DNSServer) — UI served cleanly at 192.168.4.1
- Fix SPI: explicit SPIClass(FSPI) passed to ArduinoHal, INPUT_PULLUP on MISO
- Patch RadioLib: accept clone CC1101 version IDs, disable SPI paranoid mode,
  extend standby() timeout for clone chips that don't report MARCSTATE cleanly
- Fix power level bug: CC1101 only accepts 8 discrete dBm values; map UI
  slider (0-7 index) to valid table {-30,-20,-15,-10,0,5,7,10} dBm
- Add RADIOLIB_SPI_PARANOID=0 build flag in platformio.ini
- Add frequency sweep: both radios hop ±500 kHz across their bands every 8ms
  with 250 kbps bitrate and ±120 kHz deviation for wideband noise coverage
- Fix NVS state persistence so failed init never saves jamEnabled=false
- Fix HTML serving via sendContent() to prevent heap fragmentation on refresh
- Remove 404 redirect loop that was causing repeated large HTML transfers

Made-with: Cursor
This commit is contained in:
drjones
2026-03-09 20:23:42 -07:00
parent 2385d0e099
commit 2983d76cb2
3 changed files with 414 additions and 119 deletions

View File

@@ -14,6 +14,10 @@ board_build.psram_type = opi
board_upload.flash_size = 16MB
board_upload.maximum_size = 16777216
board_build.partitions = default_16MB.csv
build_flags =
-DBOARD_HAS_PSRAM
-DRADIOLIB_SPI_PARANOID=0
board_build.extra_flags =
-DBOARD_HAS_PSRAM