I’m testing the RAK3172 in the field just next to another LoRaWAN device and I’m seeing a different behaviour: seems like the RAK3172 is not trying to adjust the data rate while trying to join. Since the gateway is a bit far away from where we are testing I see the other device joining the network in SF12 or SF11, instead I cannot see any request made by the RAK3172.
I’m wondering if the RAK3172 doesn’t adjust the DR while joining and it is just trying with SF7.
This is the process I use to join the network, which is from one of the RAK examples:
if (!api.lorawan.join())
{
debugStream->printf("LoRaWan Settings - join fail! \r\n");
return false;
}
/** Wait for Join success */
while (api.lorawan.njs.get() == 0)
{
debugStream->print("Wait for LoRaWAN join...");
api.lorawan.join();
delay(10000);
}
if (!api.lorawan.adr.set(true))
{
debugStream->printf("LoRaWan Settings - set adaptive data rate is incorrect! \r\n");
return false;
}
if (!api.lorawan.rety.set(1))
{
debugStream->printf("LoRaWan Settings - set retry times is incorrect! \r\n");
return false;
}
// Disable confirmation mode
if (!api.lorawan.cfm.set(false))
{
debugStream->printf("LoRaWan Settings - set confirm mode is incorrect! \r\n");
return false;
}
api.lorawan.daddr.get(assigned_dev_addr, 4);
Hello @beegee, I’m in 868 since I’m in Europe. What I’m asking is if I need to take care in the firmware of changing the DR myself when the join process is not working or the RUI3 join method does that. I used different end nodes in the past and almost everyone has some sort of NBTrials that changes every 2 or 3 join requests the DR of the join signal.
Hello @beegee,
thank you for the info. Do you have a public roadmap for the RUI3 development?
Anyway do you think this is something that can be achieved by us using the api.lorawan.dr.set(value); API between failed join requests? I’m working on a wrapper library for our RAK3172 based module and I’m thinking of implementing this. Or do you think we can just set the DR to 0 and try to connect and then let the ADR doing the rest after connecting?