RadioShuttle Lib for the STM32 L4 Heltec Board

Dependents:   Turtle_RadioShuttle

Committer:
Helmut Tschemernjak
Date:
Wed Apr 10 16:05:31 2019 +0200
Revision:
12:11b2d36e9217
Parent:
0:0c31756924a2
Child:
13:591254bed18b
Merged update RadioStatus

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Helmut64 0:0c31756924a2 1 /*
Helmut64 0:0c31756924a2 2 * The file is licensed under the Apache License, Version 2.0
Helmut64 0:0c31756924a2 3 * (c) 2019 Helmut Tschemernjak
Helmut64 0:0c31756924a2 4 * 30826 Garbsen (Hannover) Germany
Helmut64 0:0c31756924a2 5 */
Helmut64 0:0c31756924a2 6
Helmut Tschemernjak 12:11b2d36e9217 7 #if defined(ARDUINO_Heltec_WIFI_LoRa_32) || defined(ARDUINO_WIFI_LORA_32) \
Helmut Tschemernjak 12:11b2d36e9217 8 || defined(ARDUINO_WIFI_LORA_32_V2) || defined(ARDUINO_WIRELESS_STICK) // the Heltec boards
Helmut Tschemernjak 12:11b2d36e9217 9 #define HAS_HELTEC_LoRa_DISPLAY
Helmut64 0:0c31756924a2 10 #include <Wire.h>
Helmut64 0:0c31756924a2 11 #include "SSD1306.h"
Helmut64 0:0c31756924a2 12 #endif
Helmut Tschemernjak 12:11b2d36e9217 13 #ifdef FEATURE_SSD1306
Helmut Tschemernjak 12:11b2d36e9217 14 #include "SSD1306I2C.h"
Helmut Tschemernjak 12:11b2d36e9217 15 #define HAS_HELTEC_LoRa_DISPLAY
Helmut Tschemernjak 12:11b2d36e9217 16 #define SSD1306 SSD1306I2C
Helmut Tschemernjak 12:11b2d36e9217 17 #endif
Helmut64 0:0c31756924a2 18
Helmut64 0:0c31756924a2 19 #ifndef UNUSED
Helmut64 0:0c31756924a2 20 #define UNUSED(x) (void)(x)
Helmut64 0:0c31756924a2 21 #endif
Helmut64 0:0c31756924a2 22
Helmut64 0:0c31756924a2 23
Helmut64 0:0c31756924a2 24 class MyRadioStatus : public RadioStatusInterface {
Helmut64 0:0c31756924a2 25 public:
Helmut64 0:0c31756924a2 26 MyRadioStatus();
Helmut64 0:0c31756924a2 27 virtual ~MyRadioStatus();
Helmut64 0:0c31756924a2 28
Helmut64 0:0c31756924a2 29 virtual void TXStart(int AppID, int toStation, int length, int dBm);
Helmut64 0:0c31756924a2 30 virtual void TXComplete(void);
Helmut64 0:0c31756924a2 31 virtual void RxDone(int size, int rssi, int snr);
Helmut64 0:0c31756924a2 32 virtual void RxCompleted(void);
Helmut64 0:0c31756924a2 33 virtual void MessageTimeout(int AppID, int toStation);
Helmut64 0:0c31756924a2 34
Helmut64 0:0c31756924a2 35 void UpdateDisplay(bool invert);
Helmut64 0:0c31756924a2 36 private:
Helmut64 0:0c31756924a2 37 DigitalOut *ledTX;
Helmut64 0:0c31756924a2 38 DigitalOut *ledRX;
Helmut64 0:0c31756924a2 39 DigitalOut *ledTimeout;
Helmut64 0:0c31756924a2 40 int _totalTX;
Helmut64 0:0c31756924a2 41 int _totalRX;
Helmut64 0:0c31756924a2 42 int _totalError;
Helmut64 0:0c31756924a2 43 int _totalTimeout;
Helmut64 0:0c31756924a2 44 bool inverted;
Helmut64 0:0c31756924a2 45
Helmut Tschemernjak 12:11b2d36e9217 46 #ifdef HAS_HELTEC_LoRa_DISPLAY
Helmut64 0:0c31756924a2 47 SSD1306 *display;
Helmut64 0:0c31756924a2 48 DigitalOut *displayReset;
Helmut64 0:0c31756924a2 49 char _line1[64];
Helmut64 0:0c31756924a2 50 char _line2[64];
Helmut64 0:0c31756924a2 51 char _line3[64];
Helmut64 0:0c31756924a2 52 char _line4[64];
Helmut64 0:0c31756924a2 53 char _line5[64];
Helmut64 0:0c31756924a2 54 bool invertedDisplay;
Helmut64 0:0c31756924a2 55 #endif
Helmut64 0:0c31756924a2 56 };
Helmut64 0:0c31756924a2 57