It is my understanding that in RUI3, api.lorawan.send() is asynchronous. Therefore, an api.lorawan.cfs.get() command immediately after an upload send would always indicate a failure to confirm the upload as the Tx would not yet be complete and the Gateway not yet ACK’d? The RUI CFS example in the RUI3 API LoRaWan documentation CFS documentation example(snippet shown below) may need a delay between the “send” and “cfs” commands?
void loop()
{
uint8_t payload = “example”;
if (api.lorawan.send(sizeof(payload), payload, 129, true, 1)) {
Serial.println("Send Success");
Serial.printf("Send confirm %s\r\n", api.lorawan.cfs.get() ? "Success" : "Fail");
} else {
Serial.println("Send fail");
}
delay(5000);
}