MAX20361 Demo with LoRa Module on LP0 mode
Dependencies: SX1276GenericLib USBDevice
Fork of NonPingPong_PICO_LoRa_LP0 by
SX1276GenericPingPong/GenericPingPong2.h
- Committer:
- walterluu
- Date:
- 2020-10-16
- Revision:
- 7:c0872971aef4
- Parent:
- 6:51f492ca61a2
File content as of revision 7:c0872971aef4:
/* / _____) _ | | ( (____ _____ ____ _| |_ _____ ____| |__ \____ \| ___ | (_ _) ___ |/ ___) _ \ _____) ) ____| | | || |_| ____( (___| | | | (______/|_____)_|_|_| \__)_____)\____)_| |_| ( 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__ #include "global_buffers.h" #include "USBSerial.h" /* #ifdef FEATURE_LORA int SX1276PingPong(void); #else #define SX1276PingPong(x) void() #endif */ //const uint8_t PingMsg[] = { 0xff, 0xff, 0x00, 0x00, 'P', 'I', 'N', 'G'};// "PING"; // 255, 255, 0, 0, 80, 73, 78, 71 const uint8_t PingMsg[] = {0xff}; //const uint8_t PongMsg[] = { 0xff, 0xff, 0x00, 0x00, 'P', 'O', 'N', 'G'};// "PONG"; // 255, 255, 0, 0, 80, 79, 78, 71 const uint8_t PongMsg[] = {0x00}; // This keeps track of how many times a transmission times out. static int RxTimeoutCount = 0; /*! * @brief Function that sets up the LoRa radio device */ int SX1276PingPongSetup(uint8_t *BufferTxFromMain, uint8_t *BufferRxFromMain, USBSerial *_pc); /*! * @brief Function that is called in main program to handle LoRa communications */ int SX1276PingPong(void); /*! * @brief Function that is called in the Slave/Sensor node to send sensor data */ int SX1276SensorSend(void); /*! * @brief Function that is called in the Master/Gateway to receive sensor data */ int SX1276GateWayReceive(int TimeOut); /*! * @brief Function that is computes time on air for transmission */ int TimeOnAirSend(void); /* * 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); /*! * @brief Returns how many times a transmition is not received */ int numOfRxTimeouts(); bool SX1276MasterCheckForNewData(void); void SX1276SlaveSendData(void); #endif // __MAIN_H__