SlimLoRa library for arduino - EU863 basic functionality - testers wanted

clv
Mon, 19 Jan 2026 09:28:11 +0000

From version 0.10.2 SlimLoRa is almost non blocking. Need to #define NON_BLOCKING 1 and to change the code in your sketch.

Your MCU is free to read sensors after TX and before RX1 (TX ←500ms free time→ RX1) for 500ms and after RX1 and before RX2 ( RX1 ←500ms free time →RX2). I needed to do that because my IMU FIFO is stuck if not reading for some time.

Only two caveats:

1. Don’t mess with Timer0. No deep sleep, between TX and RX2

2. Manual processing of downlinks.

 /* SEMI-NON-BLOCKING operation start */
 // after send we have 500ms time to do whatever we want
 // read sensors e.t.c. but after that we have a blocking operation.
 /* !!! Make sure you don't mess with Timer1 or Timer0!!!  */
 /* Sleeping is PROHIBITED!!! */
 Serial.print(F("\nWe are away from SlimLoRa pre RX1. NON BLOCKING operation. RFstatus: "));
Serial.println(lora.RFstatus);

// if -1 = false if == 0 then ok. aka we have downlink
if ( lora.ProcessDownlink(1) ) {
    lora.setRXdelayTimerAndLeave();
    Serial.print(F("\nWe are away from SlimLoRa #2 pre RX2. NON BLOCKING operation. RFstatus: "));
Serial.println(lora.RFstatus);
    lora.ProcessDownlink(2);
    }

Maybe in future I can also make SlimLoRa non blocking during TX and RX1/2 for full non-blocking operation.