sx1261/2 driver

Dependents:   alarm_slave iq_sx126x sx126x_simple_TX_shield_2020a sx126x_simple_RX_shield_2020a ... more

Driver for SX1261 or SX1262

Revision:
8:66d3e344d61c
Parent:
5:8b75387af4e0
Child:
10:8905722dd5e6
--- a/sx126x.cpp	Fri Aug 17 17:20:24 2018 -0700
+++ b/sx126x.cpp	Tue Aug 21 14:19:26 2018 -0700
@@ -109,6 +109,13 @@
                 chipModeChange.call();
             clearIrqFlags.bits.Timeout = 1;
         }
+        if (irqFlags.bits.CadDone) {
+            if (cadDone)
+                cadDone(irqFlags.bits.CadDetected);
+
+            clearIrqFlags.bits.CadDone = 1;
+            clearIrqFlags.bits.CadDetected = irqFlags.bits.CadDetected;
+        }
 
         if (clearIrqFlags.word != 0) {
             buf[0] = clearIrqFlags.word >> 8;
@@ -335,6 +342,15 @@
         chipModeChange.call();
 }
 
+void SX126x::setCAD()
+{
+    xfer(OPCODE_SET_CAD, 0, 0, NULL);
+
+    chipMode = CHIPMODE_RX;
+    if (chipModeChange)
+        chipModeChange.call();
+}
+
 void SX126x::setSleep(bool warmStart, bool rtcWakeup)
 {
     sleepConfig_t sc;