This is code is part of a Technion course project in advanced IoT, implementing a device to read and transmit sensors data from a Formula racing car built by students at Technion - Israel Institute of Technology.

Dependencies:   mbed Buffer

Fork of DISCO-L072CZ-LRWAN1_LoRa_PingPong by ST

This is code is part of a Technion course project in advanced IoT, implementing a device to read and transmit sensors data from a Formula racing car built by students at Technion - Israel Institute of Technology.

How to install

  • Create an account on Mbed: https://os.mbed.com/account/signup/
  • Import project into Compiler
  • In the Program Workspace select "Formula_Nucleo_Reader"
  • Select a Platform like so:
  1. Click button at top-left
  2. Add Board
  3. Search "B-L072Z-LRWAN1" and then "Add to your Mbed Compiler"
  • Finally click "Compile", if the build was successful, the binary would download automatically
  • To install it on device simply plug it in to a PC, open device drive and drag then drop binary file in it
Revision:
11:9d7409ebfa57
Parent:
8:3b0d7b4ff28f
--- a/SX1276GenericPingPong/GenericPingPong.cpp	Tue Jun 06 12:21:21 2017 +0000
+++ b/SX1276GenericPingPong/GenericPingPong.cpp	Fri Aug 18 07:45:44 2017 +0000
@@ -101,7 +101,7 @@
 {
 #if( defined ( TARGET_KL25Z ) || defined ( TARGET_LPC11U6X ) )
     DigitalOut *led = new DigitalOut(LED2);
-#elif defined(TARGET_NUCLEO_L073RZ)
+#elif defined(TARGET_NUCLEO_L073RZ) || defined(TARGET_DISCO_L072CZ_LRWAN1)
     DigitalOut *led = new DigitalOut(LED4);   // RX red
     led3 = new DigitalOut(LED3);  // TX blue
 #else
@@ -365,7 +365,7 @@
     }
 }
 
-void OnTxDone(void *radio)
+void OnTxDone(void *radio, void *userThisPtr, void *userData)
 {
     Radio->Sleep( );
     State = TX;
@@ -373,7 +373,7 @@
         dprintf("> OnTxDone");
 }
 
-void OnRxDone(void *radio, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr)
+void OnRxDone(void *radio, void *userThisPtr, void *userData, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr)
 {
     Radio->Sleep( );
     BufferSize = size;
@@ -384,7 +384,7 @@
     dump("Data:", payload, size);
 }
 
-void OnTxTimeout(void *radio)
+void OnTxTimeout(void *radio, void *userThisPtr, void *userData)
 {
     *led3 = 0;
     Radio->Sleep( );
@@ -393,7 +393,7 @@
         dprintf("> OnTxTimeout");
 }
 
-void OnRxTimeout(void *radio)
+void OnRxTimeout(void *radio, void *userThisPtr, void *userData)
 {
     *led3 = 0;
     Radio->Sleep( );
@@ -403,7 +403,7 @@
         dprintf("> OnRxTimeout");
 }
 
-void OnRxError(void *radio)
+void OnRxError(void *radio, void *userThisPtr, void *userData)
 {
     Radio->Sleep( );
     State = RX_ERROR;