Driver for SX1272 connected to Pulga devices using only DIO0 pins and polling (error states and timeout).

Dependents:   pulga-mbed-lorawan-gps mbed-lorawan-pulga mbed-lorawan-pulga-testing-channel mbed-lorawan-pulga-serial_rx ... more

Revision:
1:3bdd6f917bf5
Parent:
0:561d07a737bc
Child:
2:6c5853c2fd72
--- a/SX1272/SX1272_LoRaRadio.h	Thu Nov 12 19:26:24 2020 +0000
+++ b/SX1272/SX1272_LoRaRadio.h	Thu Nov 12 21:35:41 2020 +0000
@@ -383,9 +383,6 @@
     mbed::InterruptIn _dio0_ctl;
     mbed::InterruptIn _dio1_ctl;
     mbed::InterruptIn _dio2_ctl;
-    mbed::InterruptIn _dio3_ctl;
-    mbed::InterruptIn _dio4_ctl;
-    mbed::InterruptIn _dio5_ctl;
 
     // Radio specific controls
     mbed::DigitalOut _rf_switch_ctl1;
@@ -405,8 +402,7 @@
 
     // We need these PinNames as not all modules have those connected
     PinName _dio1_pin;
-    PinName _dio4_pin;
-    PinName _dio5_pin;
+    PinName _dio2_pin;
 
     // Structure containing all user and network specified settings
     // for radio module
@@ -426,6 +422,8 @@
     // back from the driver in such a case.
     ALIAS_LORAWAN_TIMER tx_timeout_timer;
     ALIAS_LORAWAN_TIMER rx_sync_timer;
+    ALIAS_LORAWAN_TIMER lora_cad_timer;
+    ALIAS_LORAWAN_TIMER lora_hop_timer;
 
 #ifdef MBED_CONF_RTOS_PRESENT
     // Thread to handle interrupts
@@ -471,21 +469,19 @@
     void  dio0_irq_isr();
     void  dio1_irq_isr();
     void  dio2_irq_isr();
-    void  dio3_irq_isr();
-    void  dio4_irq_isr();
-    void  dio5_irq_isr();
     void  timeout_irq_isr();
     void  rxsync_irq_isr();
+    void  lrcad_irq_isr();
+    void  lrhop_irq_isr();
 
     // Handlers called by thread in response to signal
     void handle_dio0_irq();
     void handle_dio1_irq();
     void handle_dio2_irq();
-    void handle_dio3_irq();
-    void handle_dio4_irq();
-    void handle_dio5_irq();
     void handle_timeout_irq();
     void handle_rxsync_irq();
+    void handle_lrcad_irq();
+    void handle_lrhop_irq();
 };
 
 #endif /* SX1272_LORARADIO_H_ */