Bug 1 — FLOOD mode TXFIFO_UNDERFLOW (config.h): JAM_FLOOD_PKT_BYTES was 64. RadioLib variable-length mode writes one length byte to the FIFO first (dataSent=1), then MIN(len, FIFO_SIZE-1)=63 data bytes. CC1101 was told to send 64 bytes but only 63 were in the FIFO, causing TXFIFO_UNDERFLOW every packet. Changed to 61 bytes (safe margin). Bug 2 — STATUS register read protocol (main.cpp): cc1101ReadRegister sent 0x80|addr for all addresses. Per SWRS061 §10.2, for addresses 0x30-0x3D burst-bit=0 selects a command strobe, NOT a register read. VERSION register (0x31) was actually triggering an SIDLE strobe and returning the status byte. Fixed: use 0xC0|addr (read+burst) for addr >= 0x30 to correctly access status registers. Made-with: Cursor
3.8 KiB
3.8 KiB