RSSI and LQI not returned with received data (PktAppendStatus)

Issue #16 new
created an issue

I am successfully receiving data with RFlisten (fixed 19 byte packets from Oregon Scientific temp/humidity sensors). I am trying enable the RSSI and LQI append bytes to the returned data packet. I am using the setEnablePktAppendStatus(True) function, however no RSSI or LQI bytes are being added to the received data packet - I still get only 19 bytes with RFlisten. If I increase the packet length by two bytes to 21 (via d.makePktFLEN), the two extra bytes are not RSSI or LQI - just garbage bytes. These bytes are nothing like the data returned with getRSSI() and getLQI().

Clearly it is useful to get signal strength with the message data, as getRSSI and getLQI return data that may not be for the message that was just received.

I believe there may be a firmware issue in appNIC.c. Line 73 says this...

txdata(APP_NIC, NIC_RECV, PKTLEN, (u8*)&rfrxbuf[processbuffer]);

The 3rd argument of that function is the length of data to send on the USB return endpoint. Currently set as PKTLEN, that isn't adjusted for the 2 extra bytes needed for when PKTCTRL1.APPEND_STATUS is enabled. The data sent back on USB is lacking the two extra bytes for RSSI and LQI. I'm not certain if a similar issue exists for variable length message receipt (a couple lines up in the code).

I'm far from an expert on TI part and its registers, but this appears to be a bug. Or is there something I'm missing with using setEnablePktAppendStatus() and RFlisten()?


Comments (0)

  1. Log in to comment