LP Long Distance IR Vision Robot

Dependencies:   max77650_charger_sample BufferedSerial SX1276GenericLib Adafruit-MotorShield NEO-6m-GPS MAX17055_EZconfig Adafruit_GFX USBDeviceHT Adafruit-PWM-Servo-Driver

Committer:
walterluu
Date:
Wed Dec 29 06:53:23 2021 +0000
Revision:
44:8be011a3fba0
Parent:
42:911770814147
LP Long Distance IR Vision Robot;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut64 0:c43b6919ae15 1 /*
Helmut64 0:c43b6919ae15 2 / _____) _ | |
Helmut64 0:c43b6919ae15 3 ( (____ _____ ____ _| |_ _____ ____| |__
Helmut64 0:c43b6919ae15 4 \____ \| ___ | (_ _) ___ |/ ___) _ \
Helmut64 0:c43b6919ae15 5 _____) ) ____| | | || |_| ____( (___| | | |
Helmut64 0:c43b6919ae15 6 (______/|_____)_|_|_| \__)_____)\____)_| |_|
Helmut64 0:c43b6919ae15 7 ( C )2014 Semtech
Helmut64 0:c43b6919ae15 8
Helmut64 0:c43b6919ae15 9 Description: Contains the callbacks for the IRQs and any application related details
Helmut64 0:c43b6919ae15 10
Helmut64 0:c43b6919ae15 11 License: Revised BSD License, see LICENSE.TXT file include in the project
Helmut64 0:c43b6919ae15 12
Helmut64 0:c43b6919ae15 13 Maintainer: Miguel Luis and Gregory Cristian
Helmut64 0:c43b6919ae15 14 */
Helmut64 0:c43b6919ae15 15
Helmut64 0:c43b6919ae15 16 /*
Helmut64 0:c43b6919ae15 17 * This file contains a copy of the master content sx1276PingPong
Helmut64 0:c43b6919ae15 18 * with adaption for the SX1276Generic environment
Helmut64 0:c43b6919ae15 19 * (c) 2017 Helmut Tschemernjak
Helmut64 0:c43b6919ae15 20 * 30826 Garbsen (Hannover) Germany
Helmut64 0:c43b6919ae15 21 */
Helmut64 0:c43b6919ae15 22
Helmut64 0:c43b6919ae15 23 #ifndef __SX1276PINGPONG_H__
Helmut64 0:c43b6919ae15 24 #define __SX1276PINGPONG_H__
Helmut64 0:c43b6919ae15 25
dev_alexander 19:9f035b9e65ec 26 /*
Helmut64 0:c43b6919ae15 27 #ifdef FEATURE_LORA
Helmut64 0:c43b6919ae15 28 int SX1276PingPong(void);
Helmut64 0:c43b6919ae15 29 #else
Helmut64 0:c43b6919ae15 30 #define SX1276PingPong(x) void()
Helmut64 0:c43b6919ae15 31 #endif
dev_alexander 19:9f035b9e65ec 32 */
dev_alexander 19:9f035b9e65ec 33
dev_alexander 25:1a031add188a 34
dev_alexander 25:1a031add188a 35
dev_alexander 25:1a031add188a 36 const uint8_t PingMsg[] = { 0xff, 0xff, 0x00, 0x00, 'P', 'I', 'N', 'G'};// "PING";
dev_alexander 25:1a031add188a 37 const uint8_t PongMsg[] = { 0xff, 0xff, 0x00, 0x00, 'P', 'O', 'N', 'G'};// "PONG";
dev_alexander 25:1a031add188a 38
dev_alexander 42:911770814147 39 // This keeps track of how many times a transmission times out.
dev_alexander 42:911770814147 40 static int RxTimeoutCount = 0;
dev_alexander 25:1a031add188a 41
dev_alexander 42:911770814147 42 /*!
dev_alexander 42:911770814147 43 * @brief Function that sets up the LoRa radio device
dev_alexander 42:911770814147 44 */
dev_alexander 28:0ed92c590607 45 int SX1276PingPongSetup(uint8_t *BufferTxFromMain, uint8_t *BufferRxFromMain);
dev_alexander 22:abca9d17d13d 46
dev_alexander 42:911770814147 47 /*!
dev_alexander 42:911770814147 48 * @brief Function that is called in main program to handle LoRa communications
dev_alexander 42:911770814147 49 */
dev_alexander 19:9f035b9e65ec 50 int SX1276PingPong(void);
dev_alexander 19:9f035b9e65ec 51
Helmut64 0:c43b6919ae15 52 /*
Helmut64 0:c43b6919ae15 53 * Callback functions prototypes
Helmut64 0:c43b6919ae15 54 */
Helmut64 0:c43b6919ae15 55 /*!
Helmut64 0:c43b6919ae15 56 * @brief Function to be executed on Radio Tx Done event
Helmut64 0:c43b6919ae15 57 */
Helmut64 11:d3a591c20cd7 58 void OnTxDone(void *radio, void *userThisPtr, void *userData);
Helmut64 0:c43b6919ae15 59
Helmut64 0:c43b6919ae15 60 /*!
Helmut64 0:c43b6919ae15 61 * @brief Function to be executed on Radio Rx Done event
Helmut64 0:c43b6919ae15 62 */
Helmut64 11:d3a591c20cd7 63 void OnRxDone(void *radio, void *userThisPtr, void *userData, uint8_t *payload, uint16_t size, int16_t rssi, int8_t snr );
Helmut64 0:c43b6919ae15 64
Helmut64 0:c43b6919ae15 65 /*!
Helmut64 0:c43b6919ae15 66 * @brief Function executed on Radio Tx Timeout event
Helmut64 0:c43b6919ae15 67 */
Helmut64 11:d3a591c20cd7 68 void OnTxTimeout(void *radio, void *userThisPtr, void *userData);
Helmut64 0:c43b6919ae15 69
Helmut64 0:c43b6919ae15 70 /*!
Helmut64 0:c43b6919ae15 71 * @brief Function executed on Radio Rx Timeout event
Helmut64 0:c43b6919ae15 72 */
Helmut64 11:d3a591c20cd7 73 void OnRxTimeout(void *radio, void *userThisPtr, void *userData);
Helmut64 0:c43b6919ae15 74
Helmut64 0:c43b6919ae15 75 /*!
Helmut64 0:c43b6919ae15 76 * @brief Function executed on Radio Rx Error event
Helmut64 0:c43b6919ae15 77 */
Helmut64 11:d3a591c20cd7 78 void OnRxError(void *radio, void *userThisPtr, void *userData);
Helmut64 0:c43b6919ae15 79
Helmut64 0:c43b6919ae15 80 /*!
Helmut64 0:c43b6919ae15 81 * @brief Function executed on Radio Fhss Change Channel event
Helmut64 0:c43b6919ae15 82 */
Helmut64 11:d3a591c20cd7 83 void OnFhssChangeChannel(void *radio, void *userThisPtr, void *userData, uint8_t channelIndex);
Helmut64 0:c43b6919ae15 84
Helmut64 0:c43b6919ae15 85 /*!
Helmut64 0:c43b6919ae15 86 * @brief Function executed on CAD Done event
Helmut64 0:c43b6919ae15 87 */
Helmut64 11:d3a591c20cd7 88 void OnCadDone(void *radio, void *userThisPtr, void *userData);
Helmut64 0:c43b6919ae15 89
dev_alexander 42:911770814147 90 /*!
dev_alexander 42:911770814147 91 * @brief Returns how many times a transmition is not received
dev_alexander 42:911770814147 92 */
dev_alexander 42:911770814147 93 int numOfRxTimeouts();
dev_alexander 42:911770814147 94
dev_alexander 42:911770814147 95
Helmut64 0:c43b6919ae15 96 #endif // __MAIN_H__