LoRaMac-node icon indicating copy to clipboard operation
LoRaMac-node copied to clipboard

ACK not received in class C

Open vAnArhist opened this issue 11 months ago • 1 comments

Tested on HW: nrf52832+sx1262 module. DIO1 used in interrupt mode, sx1262 used with TXCO, DIO3 as voltage source, DIO2 for TX/RX switch.

Tested stack version: v4.5.1, class C, US915 region Network server: Comcast MachineQ server LoraWAN gateway: Area8C FW: no RTOS.

Facing issues with receiving ACK in confirmed messages mode.

Some words about our FW implementation:

  1. Node connects to NS, get Join response, sends empty packets to increase data rate to DR>=2. Our packet size is 121byte, so it is the reason why we need to increase DR.
  2. Node get UNIX timestamp from AS for internal use in FW.
  3. Node TX 2 packets every 5minutes with 5sec pause between them.
  4. All this time node samples data from ADC. Processing of LoRaMac events/radio interrupts execute in time when sampling is not done.

I have issue with receiving ACK from server for the second message, ACK for first message is ok. I have IRQ_RX_TX_TIMEOUT for 2nd message generated before actual timeout for RX2 window (~3sec) passes.

Processing for ADC takes around ~520ms. If i decrease this time to ~430ms ACK received, but not in all cases.

Questions:

  1. Can anyone describe what is IRQ_RX_TX_TIMEOUT signal and why it can be generated? From the DS i see:

When SymbNum is different from 0, the modem will wait for a total of SymbNum LoRa symbol to validate, or not, the correct detection of a LoRa packet. If the various states of the demodulator are not lock at this moment, the radio will generate the RxTimeout IRQ.

  1. I dont understand difference between symbol timeout and lora header timeout. IRQ_RX_TX_TIMEOUT, as I understand, is symbol timeout, but RX cannot be performed if symbol timeout occur, so I dont understand how RX window will work in class C than.

vAnArhist avatar Jul 31 '23 09:07 vAnArhist