gabrio gabrio / Mbed 2 deprecated RECEIVER

Dependencies:   BufferedSerial SX1276GenericLib mbed

Fork of TRANSMITTER by gabrio gabrio

Files at this revision

API Documentation at this revision

Comitter:
gabrio
Date:
Thu May 24 11:14:08 2018 +0000
Parent:
2:5ddb3de762a0
Child:
4:f9e97728d3a2
Commit message:
First commit

Changed in this revision

Receiver/Receiver.cpp Show annotated file Show diff for this revision Revisions of this file
Receiver/Receiver.h Show annotated file Show diff for this revision Revisions of this file
Transmitter/Transmitter.cpp Show diff for this revision Revisions of this file
Transmitter/Transmitter.h Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
main.h Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Receiver/Receiver.cpp	Thu May 24 11:14:08 2018 +0000
@@ -0,0 +1,288 @@
+/*
+ *
+ * Author Be-P, Gabrio Tognozzi
+ * Pervasive systems 2018
+ *
+ * Credits:
+ * Copyright (c) 2017 Helmut Tschemernjak
+ * 30826 Garbsen (Hannover) Germany
+ *
+ * Licensed under the Apache License, Version 2.0);
+ */
+ 
+#include "mbed.h"
+#include "PinMap.h"
+#include "Receiver.h"
+#include "sx1276-mbed-hal.h"
+#include "main.h"
+
+#ifdef FEATURE_LORA
+
+/* Set this flag to '1' to display debug messages on the console */
+#define DEBUG_MESSAGE   1
+
+/* Set this flag to '1' to use the LoRa modulation or to '0' to use FSK modulation */
+#define USE_MODEM_LORA  1
+#define USE_MODEM_FSK   !USE_MODEM_LORA
+#define RF_FREQUENCY            RF_FREQUENCY_868_1  // Hz
+#define TX_OUTPUT_POWER         14                  // 14 dBm
+
+#if USE_MODEM_LORA == 1
+
+#define LORA_BANDWIDTH          125000  // LoRa default, details in SX1276::BandwidthMap
+#define LORA_SPREADING_FACTOR   LORA_SF7
+#define LORA_CODINGRATE         LORA_ERROR_CODING_RATE_4_5
+
+#define LORA_PREAMBLE_LENGTH    8       // Same for Tx and Rx
+#define LORA_SYMBOL_TIMEOUT     5       // Symbols
+#define LORA_FIX_LENGTH_PAYLOAD_ON  false
+#define LORA_FHSS_ENABLED       false  
+#define LORA_NB_SYMB_HOP        4     
+#define LORA_IQ_INVERSION_ON    false
+#define LORA_CRC_ENABLED        true
+    
+#elif USE_MODEM_FSK == 1
+
+#define FSK_FDEV                25000     // Hz
+#define FSK_DATARATE            19200     // bps
+#define FSK_BANDWIDTH           50000     // Hz
+#define FSK_AFC_BANDWIDTH       83333     // Hz
+#define FSK_PREAMBLE_LENGTH     5         // Same for Tx and Rx
+#define FSK_FIX_LENGTH_PAYLOAD_ON   false
+#define FSK_CRC_ENABLED         true
+    
+#else
+    #error "Please define a modem in the compiler options."
+#endif 
+
+
+#define RX_TIMEOUT_VALUE    3500	// in ms
+
+//#define BUFFER_SIZE       32        // Define the payload size here
+#define BUFFER_SIZE         64        // Define the payload size here
+
+/*
+ *  Global variables declarations
+ */
+typedef enum
+{
+    LOWPOWER = 0,
+    IDLE,
+    
+    RX,
+    RX_TIMEOUT,
+    RX_ERROR,
+    
+    TX,
+    TX_TIMEOUT,
+    
+    CAD,
+    CAD_DONE
+} AppStates_t;
+
+volatile AppStates_t State = LOWPOWER;
+
+/*!
+ * Radio events function pointer
+ */
+static RadioEvents_t RadioEvents;
+
+/*
+ *  Global variables declarations
+ */
+SX1276Generic *Radio;
+
+uint16_t BufferSize = BUFFER_SIZE;
+uint8_t *Buffer;
+
+DigitalOut *led3;
+
+int Receiver() 
+{
+    
+    Buffer = new  uint8_t[BUFFER_SIZE];
+
+#ifdef B_L072Z_LRWAN1_LORA
+    Radio = new SX1276Generic(NULL, MURATA_SX1276,
+    		LORA_SPI_MOSI, LORA_SPI_MISO, LORA_SPI_SCLK, LORA_CS, LORA_RESET,
+        	LORA_DIO0, LORA_DIO1, LORA_DIO2, LORA_DIO3, LORA_DIO4, LORA_DIO5,
+        	LORA_ANT_RX, LORA_ANT_TX, LORA_ANT_BOOST, LORA_TCXO);
+#else // RFM95
+    Radio = new SX1276Generic(NULL, RFM95_SX1276,
+			LORA_SPI_MOSI, LORA_SPI_MISO, LORA_SPI_SCLK, LORA_CS, LORA_RESET,
+            LORA_DIO0, LORA_DIO1, LORA_DIO2, LORA_DIO3, LORA_DIO4, LORA_DIO5);
+
+#endif
+    
+    dprintf("Receiver Application, Be-P" );
+    dprintf("Freqency: %.1f", (double)RF_FREQUENCY/1000000.0);
+    dprintf("TXPower: %d dBm",  TX_OUTPUT_POWER);
+#if USE_MODEM_LORA == 1
+    dprintf("Bandwidth: %d Hz", LORA_BANDWIDTH);
+    dprintf("Spreading factor: SF%d", LORA_SPREADING_FACTOR);
+#elif USE_MODEM_FSK == 1
+    dprintf("Bandwidth: %d kHz",  FSK_BANDWIDTH);
+    dprintf("Baudrate: %d", FSK_DATARATE);
+#endif
+
+    // Initialize Radio driver
+    RadioEvents.TxDone = OnTxDone;
+    RadioEvents.RxDone = OnRxDone;
+    RadioEvents.RxError = OnRxError;
+    RadioEvents.TxTimeout = OnTxTimeout;
+    RadioEvents.RxTimeout = OnRxTimeout;    
+    if (Radio->Init( &RadioEvents ) == false) {
+        while(1) {
+        	dprintf("Radio could not be detected!");
+        	wait( 1 );
+        }
+    }
+
+    
+    switch(Radio->DetectBoardType()) {
+        case SX1276MB1LAS:
+            if (DEBUG_MESSAGE)
+                dprintf(" > Board Type: SX1276MB1LAS <");
+            break;
+        case SX1276MB1MAS:
+            if (DEBUG_MESSAGE)
+                dprintf(" > Board Type: SX1276MB1LAS <");
+        case MURATA_SX1276:
+            if (DEBUG_MESSAGE)
+            	dprintf(" > Board Type: MURATA_SX1276_STM32L0 <");
+            break;
+        case RFM95_SX1276:
+            if (DEBUG_MESSAGE)
+                dprintf(" > HopeRF RFM95xx <");
+            break;
+        default:
+            dprintf(" > Board Type: unknown <");
+    }
+
+    Radio->SetChannel(RF_FREQUENCY ); 
+
+#if USE_MODEM_LORA == 1
+    
+    if (LORA_FHSS_ENABLED)
+        dprintf("             > LORA FHSS Mode <");
+    if (!LORA_FHSS_ENABLED)
+        dprintf("             > LORA Mode <");
+
+    Radio->SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
+                         LORA_SPREADING_FACTOR, LORA_CODINGRATE,
+                         LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
+                         LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 
+                         LORA_IQ_INVERSION_ON, 2000 );
+    
+    Radio->SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
+                         LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
+                         LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, 0,
+                         LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 
+                         LORA_IQ_INVERSION_ON, true );
+                         
+#elif USE_MODEM_FSK == 1
+
+    dprintf("              > FSK Mode <");
+    Radio->SetTxConfig( MODEM_FSK, TX_OUTPUT_POWER, FSK_FDEV, 0,
+                         FSK_DATARATE, 0,
+                         FSK_PREAMBLE_LENGTH, FSK_FIX_LENGTH_PAYLOAD_ON,
+                         FSK_CRC_ENABLED, 0, 0, 0, 2000 );
+    
+    Radio->SetRxConfig( MODEM_FSK, FSK_BANDWIDTH, FSK_DATARATE,
+                         0, FSK_AFC_BANDWIDTH, FSK_PREAMBLE_LENGTH,
+                         0, FSK_FIX_LENGTH_PAYLOAD_ON, 0, FSK_CRC_ENABLED,
+                         0, 0, false, true );
+                         
+#else
+
+#error "Please define a modem in the compiler options."
+
+#endif
+   
+    Radio->Rx( RX_TIMEOUT_VALUE );
+    
+    //@START
+    while( 1 )
+    {
+#ifdef TARGET_STM32L4
+        WatchDogUpdate();
+#endif
+        
+        switch( State )
+        {
+        case RX:
+        	//data is in Buffer, size BufferSize
+        	if(BufferSize<BUFFER_SIZE)
+        		Buffer[BufferSize]=0;   // Add null char!
+        	Buffer[BUFFER_SIZE-1]=0;    // By default zero the last char
+        	
+        	dprintf("%s",Buffer);
+        	
+            State = LOWPOWER;
+            break;
+        case TX:    
+            *led3 = 1;
+            Radio->Rx( RX_TIMEOUT_VALUE );
+            State = LOWPOWER;
+            break;
+        case RX_TIMEOUT:
+            
+            //Radio->Rx( RX_TIMEOUT_VALUE );  
+                         
+            State = LOWPOWER;
+            break;
+        case RX_ERROR:
+            
+            State = LOWPOWER;
+            break;
+        case TX_TIMEOUT:
+            Radio->Rx( RX_TIMEOUT_VALUE );
+            State = LOWPOWER;
+            break;
+        case LOWPOWER:
+        	sleep();
+            break;
+        default:
+            State = LOWPOWER;
+            break;
+        }    
+    }
+}
+
+
+void OnTxDone(void *radio, void *userThisPtr, void *userData)
+{
+    Radio->Sleep( );
+    State = TX;
+}
+
+void OnRxDone(void *radio, void *userThisPtr, void *userData, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr)
+{
+    Radio->Sleep( );
+    BufferSize = size;
+    memcpy( Buffer, payload, BufferSize );
+    State = RX;
+}
+
+void OnTxTimeout(void *radio, void *userThisPtr, void *userData)
+{
+    *led3 = 0;
+    Radio->Sleep( );
+    State = TX_TIMEOUT;
+}
+
+void OnRxTimeout(void *radio, void *userThisPtr, void *userData)
+{
+    *led3 = 0;
+    Radio->Sleep( );
+    Buffer[BufferSize-1] = 0;
+    State = RX_TIMEOUT;
+}
+
+void OnRxError(void *radio, void *userThisPtr, void *userData)
+{
+    Radio->Sleep( );
+    State = RX_ERROR;
+}
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Receiver/Receiver.h	Thu May 24 11:14:08 2018 +0000
@@ -0,0 +1,69 @@
+/*
+ / _____)             _              | |
+( (____  _____ ____ _| |_ _____  ____| |__
+ \____ \| ___ |    (_   _) ___ |/ ___)  _ \
+ _____) ) ____| | | || |_| ____( (___| | | |
+(______/|_____)_|_|_| \__)_____)\____)_| |_|
+    ( C )2014 Semtech
+
+Description: Contains the callbacks for the IRQs and any application related details
+
+License: Revised BSD License, see LICENSE.TXT file include in the project
+
+Maintainer: Miguel Luis and Gregory Cristian
+*/
+
+/*
+ * This file contains a copy of the master content sx1276PingPong
+ * with adaption for the SX1276Generic environment
+ * (c) 2017 Helmut Tschemernjak
+ * 30826 Garbsen (Hannover) Germany
+ */
+ 
+#ifndef __SX1276PINGPONG_H__
+#define __SX1276PINGPONG_H__
+
+#ifdef FEATURE_LORA
+int Receiver(void);
+#else
+#define  Transmitter(x)   void()
+#endif
+/*
+ * Callback functions prototypes
+ */
+/*!
+ * @brief Function to be executed on Radio Tx Done event
+ */
+void OnTxDone(void *radio, void *userThisPtr, void *userData);
+
+/*!
+ * @brief Function to be executed on Radio Rx Done event
+ */
+void OnRxDone(void *radio, void *userThisPtr, void *userData, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
+
+/*!
+ * @brief Function executed on Radio Tx Timeout event
+ */
+void OnTxTimeout(void *radio, void *userThisPtr, void *userData);
+
+/*!
+ * @brief Function executed on Radio Rx Timeout event
+ */
+void OnRxTimeout(void *radio, void *userThisPtr, void *userData);
+
+/*!
+ * @brief Function executed on Radio Rx Error event
+ */
+void OnRxError(void *radio, void *userThisPtr, void *userData);
+
+/*!
+ * @brief Function executed on Radio Fhss Change Channel event
+ */
+void OnFhssChangeChannel(void *radio, void *userThisPtr, void *userData, uint8_t channelIndex);
+
+/*!
+ * @brief Function executed on CAD Done event
+ */
+void OnCadDone(void *radio, void *userThisPtr, void *userData);
+
+#endif // __MAIN_H__
--- a/Transmitter/Transmitter.cpp	Wed May 23 21:05:17 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
- *
- * Author Be-P, Gabrio Tognozzi
- * Pervasive systems 2018
- *
- * Credits:
- * Copyright (c) 2017 Helmut Tschemernjak
- * 30826 Garbsen (Hannover) Germany
- *
- * Licensed under the Apache License, Version 2.0);
- */
- 
-#include "mbed.h"
-#include "PinMap.h"
-#include "Transmitter.h"
-#include "sx1276-mbed-hal.h"
-#include "main.h"
-
-#ifdef FEATURE_LORA
-
-/* Set this flag to '1' to display debug messages on the console */
-#define DEBUG_MESSAGE   1
-
-/* Set this flag to '1' to use the LoRa modulation or to '0' to use FSK modulation */
-#define USE_MODEM_LORA  1
-#define USE_MODEM_FSK   !USE_MODEM_LORA
-#define RF_FREQUENCY            RF_FREQUENCY_868_1  // Hz
-#define TX_OUTPUT_POWER         14                  // 14 dBm
-
-#if USE_MODEM_LORA == 1
-
-#define LORA_BANDWIDTH          125000  // LoRa default, details in SX1276::BandwidthMap
-#define LORA_SPREADING_FACTOR   LORA_SF7
-#define LORA_CODINGRATE         LORA_ERROR_CODING_RATE_4_5
-
-#define LORA_PREAMBLE_LENGTH    8       // Same for Tx and Rx
-#define LORA_SYMBOL_TIMEOUT     5       // Symbols
-#define LORA_FIX_LENGTH_PAYLOAD_ON  false
-#define LORA_FHSS_ENABLED       false  
-#define LORA_NB_SYMB_HOP        4     
-#define LORA_IQ_INVERSION_ON    false
-#define LORA_CRC_ENABLED        true
-    
-#elif USE_MODEM_FSK == 1
-
-#define FSK_FDEV                25000     // Hz
-#define FSK_DATARATE            19200     // bps
-#define FSK_BANDWIDTH           50000     // Hz
-#define FSK_AFC_BANDWIDTH       83333     // Hz
-#define FSK_PREAMBLE_LENGTH     5         // Same for Tx and Rx
-#define FSK_FIX_LENGTH_PAYLOAD_ON   false
-#define FSK_CRC_ENABLED         true
-    
-#else
-    #error "Please define a modem in the compiler options."
-#endif 
-
-
-#define RX_TIMEOUT_VALUE    3500	// in ms
-
-//#define BUFFER_SIZE       32        // Define the payload size here
-#define BUFFER_SIZE         64        // Define the payload size here
-
-/*
- *  Global variables declarations
- */
-typedef enum
-{
-    LOWPOWER = 0,
-    IDLE,
-    
-    RX,
-    RX_TIMEOUT,
-    RX_ERROR,
-    
-    TX,
-    TX_TIMEOUT,
-    
-    CAD,
-    CAD_DONE
-} AppStates_t;
-
-volatile AppStates_t State = LOWPOWER;
-
-/*!
- * Radio events function pointer
- */
-static RadioEvents_t RadioEvents;
-
-/*
- *  Global variables declarations
- */
-SX1276Generic *Radio;
-
-uint16_t BufferSize = BUFFER_SIZE;
-uint8_t *Buffer;
-
-DigitalOut *led3;
-
-AnalogIn analog0(A0);
-AnalogIn analog2(A2);
-
-int Transmitter() 
-{
-    
-    Buffer = new  uint8_t[BUFFER_SIZE];
-
-#ifdef B_L072Z_LRWAN1_LORA
-    Radio = new SX1276Generic(NULL, MURATA_SX1276,
-    		LORA_SPI_MOSI, LORA_SPI_MISO, LORA_SPI_SCLK, LORA_CS, LORA_RESET,
-        	LORA_DIO0, LORA_DIO1, LORA_DIO2, LORA_DIO3, LORA_DIO4, LORA_DIO5,
-        	LORA_ANT_RX, LORA_ANT_TX, LORA_ANT_BOOST, LORA_TCXO);
-#else // RFM95
-    Radio = new SX1276Generic(NULL, RFM95_SX1276,
-			LORA_SPI_MOSI, LORA_SPI_MISO, LORA_SPI_SCLK, LORA_CS, LORA_RESET,
-            LORA_DIO0, LORA_DIO1, LORA_DIO2, LORA_DIO3, LORA_DIO4, LORA_DIO5);
-
-#endif
-    
-    dprintf("Transmitter Application, Be-P" );
-    dprintf("Freqency: %.1f", (double)RF_FREQUENCY/1000000.0);
-    dprintf("TXPower: %d dBm",  TX_OUTPUT_POWER);
-#if USE_MODEM_LORA == 1
-    dprintf("Bandwidth: %d Hz", LORA_BANDWIDTH);
-    dprintf("Spreading factor: SF%d", LORA_SPREADING_FACTOR);
-#elif USE_MODEM_FSK == 1
-    dprintf("Bandwidth: %d kHz",  FSK_BANDWIDTH);
-    dprintf("Baudrate: %d", FSK_DATARATE);
-#endif
-
-    // Initialize Radio driver
-    RadioEvents.TxDone = OnTxDone;
-    RadioEvents.RxDone = OnRxDone;
-    RadioEvents.RxError = OnRxError;
-    RadioEvents.TxTimeout = OnTxTimeout;
-    RadioEvents.RxTimeout = OnRxTimeout;    
-    if (Radio->Init( &RadioEvents ) == false) {
-        while(1) {
-        	dprintf("Radio could not be detected!");
-        	wait( 1 );
-        }
-    }
-
-    
-    switch(Radio->DetectBoardType()) {
-        case SX1276MB1LAS:
-            if (DEBUG_MESSAGE)
-                dprintf(" > Board Type: SX1276MB1LAS <");
-            break;
-        case SX1276MB1MAS:
-            if (DEBUG_MESSAGE)
-                dprintf(" > Board Type: SX1276MB1LAS <");
-        case MURATA_SX1276:
-            if (DEBUG_MESSAGE)
-            	dprintf(" > Board Type: MURATA_SX1276_STM32L0 <");
-            break;
-        case RFM95_SX1276:
-            if (DEBUG_MESSAGE)
-                dprintf(" > HopeRF RFM95xx <");
-            break;
-        default:
-            dprintf(" > Board Type: unknown <");
-    }
-
-    Radio->SetChannel(RF_FREQUENCY ); 
-
-#if USE_MODEM_LORA == 1
-    
-    if (LORA_FHSS_ENABLED)
-        dprintf("             > LORA FHSS Mode <");
-    if (!LORA_FHSS_ENABLED)
-        dprintf("             > LORA Mode <");
-
-    Radio->SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,
-                         LORA_SPREADING_FACTOR, LORA_CODINGRATE,
-                         LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,
-                         LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 
-                         LORA_IQ_INVERSION_ON, 2000 );
-    
-    Radio->SetRxConfig( MODEM_LORA, LORA_BANDWIDTH, LORA_SPREADING_FACTOR,
-                         LORA_CODINGRATE, 0, LORA_PREAMBLE_LENGTH,
-                         LORA_SYMBOL_TIMEOUT, LORA_FIX_LENGTH_PAYLOAD_ON, 0,
-                         LORA_CRC_ENABLED, LORA_FHSS_ENABLED, LORA_NB_SYMB_HOP, 
-                         LORA_IQ_INVERSION_ON, true );
-                         
-#elif USE_MODEM_FSK == 1
-
-    dprintf("              > FSK Mode <");
-    Radio->SetTxConfig( MODEM_FSK, TX_OUTPUT_POWER, FSK_FDEV, 0,
-                         FSK_DATARATE, 0,
-                         FSK_PREAMBLE_LENGTH, FSK_FIX_LENGTH_PAYLOAD_ON,
-                         FSK_CRC_ENABLED, 0, 0, 0, 2000 );
-    
-    Radio->SetRxConfig( MODEM_FSK, FSK_BANDWIDTH, FSK_DATARATE,
-                         0, FSK_AFC_BANDWIDTH, FSK_PREAMBLE_LENGTH,
-                         0, FSK_FIX_LENGTH_PAYLOAD_ON, 0, FSK_CRC_ENABLED,
-                         0, 0, false, true );
-                         
-#else
-
-#error "Please define a modem in the compiler options."
-
-#endif
-   
-    Radio->Rx( RX_TIMEOUT_VALUE );
-    
-    //@START
-    float readed;
-    char readed_tostr[100]={0};
-    
-    while(1){
-    	
-    	//ANALOG0 READ AND SEND
-    	readed = analog0.read();
-    	snprintf(readed_tostr,sizeof(readed_tostr),"ALGG A0:%f",readed);
-    	
-    	dprintf("sending:%s",readed_tostr);
-    	
-    	Radio->Send(readed_tostr,strlen(readed_tostr));
-    	wait_ms(1000);
-    	
-    	//ANALOG3 READ AND SEND
-    	readed = analog2.read();
-    	snprintf(readed_tostr,sizeof(readed_tostr),"ALGG A2:%f",readed);
-    	
-    	dprintf("sending:%s",readed_tostr);
-    	
-    	Radio->Send(readed_tostr,strlen(readed_tostr));
-    	wait_ms(1000);
-    	
-    	
-    }
-    
-}
-
-void OnTxDone(void *radio, void *userThisPtr, void *userData)
-{
-    Radio->Sleep( );
-    State = TX;
-    if (DEBUG_MESSAGE)
-        dprintf("> OnTxDone");
-}
-
-void OnRxDone(void *radio, void *userThisPtr, void *userData, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr)
-{
-    Radio->Sleep( );
-    BufferSize = size;
-    memcpy( Buffer, payload, BufferSize );
-    State = RX;
-    if (DEBUG_MESSAGE)
-        dprintf("> OnRxDone: RssiValue=%d dBm, SnrValue=%d", rssi, snr);
-    dump("Data:", payload, size);
-}
-
-void OnTxTimeout(void *radio, void *userThisPtr, void *userData)
-{
-    *led3 = 0;
-    Radio->Sleep( );
-    State = TX_TIMEOUT;
-    if(DEBUG_MESSAGE)
-        dprintf("> OnTxTimeout");
-}
-
-void OnRxTimeout(void *radio, void *userThisPtr, void *userData)
-{
-    *led3 = 0;
-    Radio->Sleep( );
-    Buffer[BufferSize-1] = 0;
-    State = RX_TIMEOUT;
-    if (DEBUG_MESSAGE)
-        dprintf("> OnRxTimeout");
-}
-
-void OnRxError(void *radio, void *userThisPtr, void *userData)
-{
-    Radio->Sleep( );
-    State = RX_ERROR;
-    if (DEBUG_MESSAGE)
-        dprintf("> OnRxError");
-}
-
-#endif
--- a/Transmitter/Transmitter.h	Wed May 23 21:05:17 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
- / _____)             _              | |
-( (____  _____ ____ _| |_ _____  ____| |__
- \____ \| ___ |    (_   _) ___ |/ ___)  _ \
- _____) ) ____| | | || |_| ____( (___| | | |
-(______/|_____)_|_|_| \__)_____)\____)_| |_|
-    ( C )2014 Semtech
-
-Description: Contains the callbacks for the IRQs and any application related details
-
-License: Revised BSD License, see LICENSE.TXT file include in the project
-
-Maintainer: Miguel Luis and Gregory Cristian
-*/
-
-/*
- * This file contains a copy of the master content sx1276PingPong
- * with adaption for the SX1276Generic environment
- * (c) 2017 Helmut Tschemernjak
- * 30826 Garbsen (Hannover) Germany
- */
- 
-#ifndef __SX1276PINGPONG_H__
-#define __SX1276PINGPONG_H__
-
-#ifdef FEATURE_LORA
-int Transmitter(void);
-#else
-#define  Transmitter(x)   void()
-#endif
-/*
- * Callback functions prototypes
- */
-/*!
- * @brief Function to be executed on Radio Tx Done event
- */
-void OnTxDone(void *radio, void *userThisPtr, void *userData);
-
-/*!
- * @brief Function to be executed on Radio Rx Done event
- */
-void OnRxDone(void *radio, void *userThisPtr, void *userData, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
-
-/*!
- * @brief Function executed on Radio Tx Timeout event
- */
-void OnTxTimeout(void *radio, void *userThisPtr, void *userData);
-
-/*!
- * @brief Function executed on Radio Rx Timeout event
- */
-void OnRxTimeout(void *radio, void *userThisPtr, void *userData);
-
-/*!
- * @brief Function executed on Radio Rx Error event
- */
-void OnRxError(void *radio, void *userThisPtr, void *userData);
-
-/*!
- * @brief Function executed on Radio Fhss Change Channel event
- */
-void OnFhssChangeChannel(void *radio, void *userThisPtr, void *userData, uint8_t channelIndex);
-
-/*!
- * @brief Function executed on CAD Done event
- */
-void OnCadDone(void *radio, void *userThisPtr, void *userData);
-
-#endif // __MAIN_H__
--- a/main.cpp	Wed May 23 21:05:17 2018 +0000
+++ b/main.cpp	Thu May 24 11:14:08 2018 +0000
@@ -22,7 +22,7 @@
     ser->printf("Hello World\n\r");
     myled = 1;
     
-    Transmitter();
+    Receiver();
 }
 
 
--- a/main.h	Wed May 23 21:05:17 2018 +0000
+++ b/main.h	Thu May 24 11:14:08 2018 +0000
@@ -7,7 +7,7 @@
 #include "mbed.h"
 #include "PinMap.h"
 #include "BufferedSerial.h"
-#include "Transmitter.h"
+#include "Receiver.h"
 
 void SystemClock_Config(void);