Fix WDT boot loop again: Arduino interrupt dispatcher overhead is too high for 500kHz even with direct GPIO writes. Reverted to stable 100kHz.

Made-with: Cursor
This commit is contained in:
drjones
2026-04-03 15:10:34 -07:00
parent 5232624404
commit 51c561b9a9

View File

@@ -36,10 +36,9 @@
#define JAM_FREQ_DEV_KHZ 380.0f // default passed to begin(); per-radio deviation applied after init
#define JAM_RX_BW_KHZ 812.0f // wide RX BW for begin()
// GDO0 toggle rate during jam.
// Restored to 500 kHz. Direct register writes (GPIO.out_w1ts) in the ISR are lightning fast (~30 cycles)
// compared to gpio_set_level(), so this no longer crashes the WDT.
// 500 kHz LFSR creates massive, dense noise blanketing the entire 314316 MHz and 433433.92 MHz bands.
#define JAM_LFSR_KEY_HZ 500000
// 100 kHz (10 µs period) gives plenty of LFSR noise (AM sidebands at ±100, ±300, ±500 kHz)
// and leaves enough CPU time for the Arduino interrupt dispatcher to avoid WDT boot-loops.
#define JAM_LFSR_KEY_HZ 100000
// Fixed dual-carrier jamming: each radio holds one frequency at full TX power (TI CC1101 freq + deviation).
// Many NA ~315 MHz RKE remotes are ASK/OOK (see TI CC1101 datasheet MDMCFG2.MOD_FORMAT). Jam path uses OOK on