ADR (Adaptive data rate) not working, stuck at socket sending.



  • I have been trying to use LoRa with adr enabled, as below:

    lora = LoRa(mode=LoRa.LORAWAN , region=LoRa.AU915, adr = True )
    lora.join(activation=LoRa.OTAA, auth=(app_eui, app_key), timeout=0)
    for index in (list(range(0,8))+list(range(16,65))+list(range(66,72))): 
      lora.remove_channel(index)
    

    This initializes the LoRa and removes all the incorrect channels as per the Lora Alliance Regional parameters document for AU915.
    Next the socket:

    s = socket.socket(socket.AF_LORA, socket.SOCK_RAW)
    s.setblocking(False)
    

    And finally the sending loop:

    while True:
      s.send(bytes)
      time.sleep(60)
    

    Without ADR, this process works fine. With ADR however, it sends the first time and then gets stuck on line s.send(bytes). So using ADR i only get one send and then next send doesn't work and it doesn't go to sleep either.

    Any advice would be appreciated.


Log in to reply
 

Pycom on Twitter