Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
sx1276/sx1276-arduino-hal.h@52:4d304485eda0, 2017-05-18 (annotated)
- Committer:
- Helmut Tschemernjak
- Date:
- Thu May 18 11:07:46 2017 +0200
- Revision:
- 52:4d304485eda0
- Parent:
- 46:e78a1d0391ac
- Child:
- 61:08b50780eb91
Added the void * changes into the Arduino HAL version
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| Helmut Tschemernjak | 40:0165543c0986 | 1 | |
| Helmut Tschemernjak | 40:0165543c0986 | 2 | /* | 
| Helmut Tschemernjak | 40:0165543c0986 | 3 | * This file contains a copy of the master content sx1276-mbed-hal.h | 
| Helmut Tschemernjak | 40:0165543c0986 | 4 | * with adaption for the Arduino environment | 
| Helmut Tschemernjak | 40:0165543c0986 | 5 | * (c) 2017 Helmut Tschemernjak | 
| Helmut Tschemernjak | 40:0165543c0986 | 6 | * 30826 Garbsen (Hannover) Germany | 
| Helmut Tschemernjak | 40:0165543c0986 | 7 | */ | 
| Helmut Tschemernjak | 40:0165543c0986 | 8 | #ifdef ARDUINO | 
| Helmut Tschemernjak | 40:0165543c0986 | 9 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 10 | /* | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 11 | (C) 2014 Semtech | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 12 | Description: - | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 13 | License: Revised BSD License, see LICENSE.TXT file include in the project | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 14 | Maintainers: Miguel Luis, Gregory Cristian and Nicolas Huguenin | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 15 | */ | 
| Helmut Tschemernjak | 40:0165543c0986 | 16 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 17 | /* | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 18 | * additional development to make it more generic across multiple OS versions | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 19 | * (c) 2017 Helmut Tschemernjak | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 20 | * 30826 Garbsen (Hannover) Germany | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 21 | */ | 
| Helmut Tschemernjak | 40:0165543c0986 | 22 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 23 | #ifndef __SX1276_ARDUINO_HAL_H__ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 24 | #define __SX1276_ARDUINO_HAL_H__ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 25 | #include "sx1276.h" | 
| Helmut Tschemernjak | 40:0165543c0986 | 26 | |
| Helmut Tschemernjak | 40:0165543c0986 | 27 | |
| Helmut Tschemernjak | 40:0165543c0986 | 28 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 29 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 30 | * Actual implementation of a SX1276 radio, includes some modifications to make it compatible with the MB1 LAS board | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 31 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 32 | class SX1276Generic : public SX1276 | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 33 | { | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 34 | protected: | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 35 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 36 | * Antenna switch GPIO pins objects | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 37 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 38 | DigitalOut *_antSwitch; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 39 | DigitalOut *_antSwitchTX; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 40 | DigitalOut *_antSwitchTXBoost; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 41 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 42 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 43 | * SX1276 Reset pin | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 44 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 45 | DigitalInOut *_reset; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 46 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 47 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 48 | * TCXO being used with the Murata Module | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 49 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 50 | DigitalOut *_tcxo; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 51 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 52 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 53 | * SPI Interface | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 54 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 55 | SPI *_spi; // mosi, miso, sclk | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 56 | DigitalOut *_nss; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 57 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 58 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 59 | * SX1276 DIO pins | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 60 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 61 | InterruptIn *_dio0; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 62 | InterruptIn *_dio1; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 63 | InterruptIn *_dio2; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 64 | InterruptIn *_dio3; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 65 | InterruptIn *_dio4; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 66 | DigitalIn *_dio5; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 67 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 68 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 69 | * Tx and Rx timers | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 70 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 71 | Timeout txTimeoutTimer; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 72 | Timeout rxTimeoutTimer; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 73 | Timeout rxTimeoutSyncWord; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 74 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 75 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 76 | private: | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 77 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 78 | * triggers definition | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 79 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 80 | typedef void (SX1276Generic::*Trigger)(void); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 81 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 82 | |
| Helmut Tschemernjak | 52:4d304485eda0 | 83 | public: | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 84 | SX1276Generic( RadioEvents_t *events, BoardType_t board, | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 85 | PinName mosi, PinName miso, PinName sclk, PinName nss, PinName reset, | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 86 | PinName dio0, PinName dio1, PinName dio2, PinName dio3, PinName dio4, PinName dio5, | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 87 | PinName antSwitch = NC, PinName antSwitchTX= NC, PinName antSwitchTXBoost = NC, PinName tcxo = NC); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 88 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 89 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 90 | SX1276Generic( RadioEvents_t *events ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 91 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 92 | virtual ~SX1276Generic(); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 93 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 94 | protected: | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 95 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 96 | * @brief Initializes the radio I/Os pins interface | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 97 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 98 | virtual void IoInit( void ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 99 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 100 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 101 | * @brief Initializes the radio SPI | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 102 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 103 | virtual void SpiInit( void ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 104 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 105 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 106 | * @brief Initializes DIO IRQ handlers | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 107 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 108 | * @param [IN] irqHandlers Array containing the IRQ callback functions | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 109 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 110 | virtual void IoIrqInit( DioIrqHandler *irqHandlers ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 111 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 112 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 113 | * @brief De-initializes the radio I/Os pins interface. | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 114 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 115 | * \remark Useful when going in MCU lowpower modes | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 116 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 117 | virtual void IoDeInit( void ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 118 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 119 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 120 | * \brief Sets the radio output power. | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 121 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 122 | * @param [IN] power Sets the RF output power | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 123 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 124 | virtual void SetRfTxPower( int8_t power ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 125 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 126 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 127 | * @brief Gets the board PA selection configuration | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 128 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 129 | * @param [IN] channel Channel frequency in Hz | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 130 | * @retval PaSelect RegPaConfig PaSelect value | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 131 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 132 | virtual uint8_t GetPaSelect( uint32_t channel ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 133 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 134 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 135 | * @brief Set the RF Switch I/Os pins in Low Power mode | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 136 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 137 | * @param [IN] status enable or disable | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 138 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 139 | virtual void SetAntSwLowPower( bool status ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 140 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 141 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 142 | * @brief Initializes the RF Switch I/Os pins interface | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 143 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 144 | virtual void AntSwInit( void ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 145 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 146 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 147 | * @brief De-initializes the RF Switch I/Os pins interface | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 148 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 149 | * @remark Needed to decrease the power consumption in MCU lowpower modes | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 150 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 151 | virtual void AntSwDeInit( void ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 152 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 153 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 154 | * @brief Controls the antena switch if necessary. | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 155 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 156 | * @remark see errata note | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 157 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 158 | * @param [IN] opMode Current radio operating mode | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 159 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 160 | virtual void SetAntSw( uint8_t opMode ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 161 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 162 | /* | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 163 | * The the Timeout for a given Timer. | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 164 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 165 | virtual void SetTimeout(TimeoutTimer_t timer, timeoutFuncPtr, int timeout_ms = 0); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 166 | |
| Helmut Tschemernjak | 52:4d304485eda0 | 167 | public: | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 168 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 169 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 170 | * @brief Detect the board connected by reading the value of the antenna switch pin | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 171 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 172 | virtual uint8_t DetectBoardType( void ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 173 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 174 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 175 | * @brief Checks if the given RF frequency is supported by the hardware | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 176 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 177 | * @param [IN] frequency RF frequency to be checked | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 178 | * @retval isSupported [true: supported, false: unsupported] | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 179 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 180 | virtual bool CheckRfFrequency( uint32_t frequency ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 181 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 182 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 183 | * @brief Writes the radio register at the specified address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 184 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 185 | * @param [IN]: addr Register address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 186 | * @param [IN]: data New register value | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 187 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 188 | virtual void Write ( uint8_t addr, uint8_t data ) ; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 189 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 190 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 191 | * @brief Reads the radio register at the specified address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 192 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 193 | * @param [IN]: addr Register address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 194 | * @retval data Register value | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 195 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 196 | virtual uint8_t Read ( uint8_t addr ) ; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 197 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 198 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 199 | * @brief Writes multiple radio registers starting at address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 200 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 201 | * @param [IN] addr First Radio register address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 202 | * @param [IN] buffer Buffer containing the new register's values | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 203 | * @param [IN] size Number of registers to be written | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 204 | */ | 
| Helmut Tschemernjak | 52:4d304485eda0 | 205 | virtual void Write( uint8_t addr, void *buffer, uint8_t size ) ; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 206 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 207 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 208 | * @brief Reads multiple radio registers starting at address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 209 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 210 | * @param [IN] addr First Radio register address | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 211 | * @param [OUT] buffer Buffer where to copy the registers data | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 212 | * @param [IN] size Number of registers to be read | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 213 | */ | 
| Helmut Tschemernjak | 52:4d304485eda0 | 214 | virtual void Read ( uint8_t addr, void *buffer, uint8_t size ) ; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 215 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 216 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 217 | * @brief Writes the buffer contents to the SX1276 FIFO | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 218 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 219 | * @param [IN] buffer Buffer containing data to be put on the FIFO. | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 220 | * @param [IN] size Number of bytes to be written to the FIFO | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 221 | */ | 
| Helmut Tschemernjak | 52:4d304485eda0 | 222 | virtual void WriteFifo( void *buffer, uint8_t size ) ; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 223 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 224 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 225 | * @brief Reads the contents of the SX1276 FIFO | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 226 | * | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 227 | * @param [OUT] buffer Buffer where to copy the FIFO read data. | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 228 | * @param [IN] size Number of bytes to be read from the FIFO | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 229 | */ | 
| Helmut Tschemernjak | 52:4d304485eda0 | 230 | virtual void ReadFifo( void *buffer, uint8_t size ) ; | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 231 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 232 | /*! | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 233 | * @brief Reset the SX1276 | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 234 | */ | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 235 | virtual void Reset( void ); | 
| Helmut Tschemernjak | 46:e78a1d0391ac | 236 | }; | 
| Helmut Tschemernjak | 40:0165543c0986 | 237 | |
| Helmut Tschemernjak | 46:e78a1d0391ac | 238 | #endif // __SX1276_ARDUINO_HAL_H__ | 
| Helmut Tschemernjak | 40:0165543c0986 | 239 | #endif // ARDUINO |