From cf61473662297c3a78c56684bc1fdf647f0c93f3 Mon Sep 17 00:00:00 2001 From: jgromes Date: Sat, 22 Apr 2023 16:11:43 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=2009c3a?= =?UTF-8?q?c4f6be982550b27b167eef9ce3d92e04f2d=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _arduino_hal_8h_source.html | 151 +++-- _build_opt_8h_source.html | 787 +++++++++++----------- _external_radio_8h_source.html | 4 +- _hal_8h_source.html | 141 ++-- _module_8h_source.html | 60 +- annotated.html | 69 +- annotated_dup.js | 3 +- class_external_radio-members.html | 2 +- class_external_radio.html | 6 +- class_external_radio.js | 2 +- class_hal-members.html | 129 ---- class_hal.html | 100 +-- class_hal.js | 31 - class_module-members.html | 2 +- class_module.html | 18 +- class_module.js | 4 +- class_radio_lib_hal-members.html | 129 ++++ class_radio_lib_hal.html | 822 +++++++++++++++++++++++ class_radio_lib_hal.js | 31 + class_s_t_m32_w_lx___module-members.html | 2 +- class_s_t_m32_w_lx___module.html | 12 +- classes.html | 2 +- functions.html | 3 + functions_d.html | 15 + functions_dup.js | 1 + functions_func.html | 3 + functions_func.js | 1 + functions_func_d.html | 15 + functions_func_i.html | 1 + functions_func_m.html | 8 +- functions_func_n.html | 1 + functions_func_p.html | 9 + functions_func_r.html | 5 +- functions_func_s.html | 31 +- functions_func_t.html | 8 +- functions_func_y.html | 101 +++ functions_g.html | 18 + functions_i.html | 1 + functions_m.html | 8 +- functions_n.html | 1 + functions_p.html | 9 + functions_r.html | 5 +- functions_s.html | 37 +- functions_t.html | 8 +- functions_vars.html | 22 + functions_y.html | 101 +++ hierarchy.html | 17 +- hierarchy.js | 1 + menudata.js | 3 + navtreedata.js | 8 +- navtreeindex0.js | 62 +- navtreeindex1.js | 338 +++++----- navtreeindex2.js | 500 +++++++------- navtreeindex3.js | 270 ++++---- navtreeindex4.js | 25 +- search/all_0.js | 9 +- search/all_1.js | 12 +- search/all_10.js | 18 +- search/all_11.js | 2 +- search/all_12.js | 4 +- search/all_13.js | 6 +- search/all_14.js | 2 +- search/all_15.js | 3 +- search/all_16.html | 37 + search/all_16.js | 5 + search/all_2.js | 20 +- search/all_3.js | 27 +- search/all_4.js | 14 +- search/all_5.js | 20 +- search/all_6.js | 64 +- search/all_7.js | 8 +- search/all_8.js | 16 +- search/all_9.js | 6 +- search/all_a.js | 20 +- search/all_b.js | 8 +- search/all_c.js | 4 +- search/all_d.js | 13 +- search/all_e.js | 207 +++--- search/all_f.js | 283 ++++---- search/classes_0.js | 8 +- search/classes_1.js | 2 +- search/classes_2.js | 2 +- search/classes_3.js | 2 +- search/classes_4.js | 4 +- search/classes_5.js | 2 +- search/classes_6.js | 2 +- search/classes_7.js | 4 +- search/classes_8.js | 2 +- search/classes_9.js | 4 +- search/classes_a.js | 19 +- search/classes_b.js | 50 +- search/classes_c.js | 2 +- search/enums_0.js | 2 +- search/enumvalues_0.js | 12 +- search/functions_0.js | 13 +- search/functions_1.js | 12 +- search/functions_10.js | 10 +- search/functions_11.js | 2 +- search/functions_12.js | 2 +- search/functions_13.js | 4 +- search/functions_14.js | 3 +- search/functions_15.html | 37 + search/functions_15.js | 5 + search/functions_2.js | 18 +- search/functions_3.js | 21 +- search/functions_4.js | 10 +- search/functions_5.js | 18 +- search/functions_6.js | 58 +- search/functions_7.js | 4 +- search/functions_8.js | 12 +- search/functions_9.js | 4 +- search/functions_a.js | 6 +- search/functions_b.js | 4 +- search/functions_c.js | 2 +- search/functions_d.js | 11 +- search/functions_e.js | 33 +- search/functions_f.js | 247 +++---- search/groups_0.js | 2 +- search/groups_1.js | 2 +- search/groups_2.js | 2 +- search/groups_3.js | 4 +- search/pages_0.js | 2 +- search/pages_1.js | 2 +- search/searchdata.js | 6 +- search/typedefs_0.js | 2 +- search/variables_0.js | 2 +- search/variables_1.js | 4 +- search/variables_2.js | 2 +- search/variables_3.js | 7 +- search/variables_4.js | 3 +- search/variables_5.js | 3 +- search/variables_6.js | 3 +- search/variables_7.js | 3 +- search/variables_8.js | 5 +- search/variables_9.js | 16 +- search/variables_a.js | 14 +- search/variables_b.js | 3 +- search/variables_c.js | 2 +- search/variables_d.js | 2 +- search/variables_e.html | 37 + search/variables_e.js | 4 + 141 files changed, 3560 insertions(+), 2176 deletions(-) delete mode 100644 class_hal-members.html delete mode 100644 class_hal.js create mode 100644 class_radio_lib_hal-members.html create mode 100644 class_radio_lib_hal.html create mode 100644 class_radio_lib_hal.js create mode 100644 functions_func_y.html create mode 100644 functions_y.html create mode 100644 search/all_16.html create mode 100644 search/all_16.js create mode 100644 search/functions_15.html create mode 100644 search/functions_15.js create mode 100644 search/variables_e.html create mode 100644 search/variables_e.js diff --git a/_arduino_hal_8h_source.html b/_arduino_hal_8h_source.html index 8ab39e97..665f3fb0 100644 --- a/_arduino_hal_8h_source.html +++ b/_arduino_hal_8h_source.html @@ -86,70 +86,95 @@ $(document).ready(function(){initNavTree('_arduino_hal_8h_source.html',''); init
ArduinoHal.h
-
1 #include "TypeDef.h"
-
2 
-
3 #if !defined(_RADIOLIB_ARDUINOHAL_H)
-
4 #define _RADIOLIB_ARDUINOHAL_H
-
5 
-
6 #if defined(RADIOLIB_BUILD_ARDUINO)
-
7 
-
8 #if defined(RADIOLIB_MBED_TONE_OVERRIDE)
-
9 #include "mbed.h"
-
10 #endif
-
11 
-
12 #include "Hal.h"
-
13 #include <stdint.h>
-
14 
-
15 #include <SPI.h>
-
16 
-
23 class ArduinoHal : public Hal {
-
24  public:
-
28  ArduinoHal();
-
29 
-
37  ArduinoHal(SPIClass& spi, SPISettings spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS);
-
38 
-
39  void init() override;
-
40  void term() override;
-
41 
-
42  void pinMode(uint32_t pin, uint32_t mode) override;
-
43  void digitalWrite(uint32_t pin, uint32_t value) override;
-
44  uint32_t digitalRead(uint32_t pin) override;
-
45  void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override;
-
46  void detachInterrupt(uint32_t interruptNum) override;
-
47  void delay(unsigned long ms) override;
-
48  void delayMicroseconds(unsigned long us) override;
-
49  unsigned long millis() override;
-
50  unsigned long micros() override;
-
51  long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override;
-
52  void spiBegin() override;
-
53  void spiBeginTransaction() override;
-
54  uint8_t spiTransfer(uint8_t b) override;
-
55  void spiEndTransaction() override;
-
56  void spiEnd() override;
-
57  void tone(uint32_t pin, unsigned int frequency, unsigned long duration = 0) override;
-
58  void noTone(uint32_t pin) override;
-
59  void yield() override;
-
60  uint32_t pinToInterrupt(uint32_t pin) override;
-
61 
-
62 #if !defined(RADIOLIB_GODMODE)
-
63  private:
-
64 #endif
-
65  SPIClass* _spi = NULL;
-
66  SPISettings _spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS;
-
67  bool _initInterface = false;
-
68 
-
69  #if defined(RADIOLIB_MBED_TONE_OVERRIDE)
-
70  mbed::PwmOut *pwmPin = NULL;
-
71  #endif
-
72 
-
73  #if defined(ESP32)
-
74  int32_t _prev = -1;
-
75  #endif
-
76 };
-
77 
-
78 #endif
+
1 // make sure this is always compiled
+
2 #include "TypeDef.h"
+
3 
+
4 #if !defined(_RADIOLIB_ARDUINOHAL_H)
+
5 #define _RADIOLIB_ARDUINOHAL_H
+
6 
+
7 // this file only makes sense for Arduino builds
+
8 #if defined(RADIOLIB_BUILD_ARDUINO)
+
9 
+
10 #if defined(RADIOLIB_MBED_TONE_OVERRIDE)
+
11 #include "mbed.h"
+
12 #endif
+
13 
+
14 #include "Hal.h"
+
15 
+
16 #include <SPI.h>
+
17 
+
24 class ArduinoHal : public RadioLibHal {
+
25  public:
+
29  ArduinoHal();
+
30 
+
36  ArduinoHal(SPIClass& spi, SPISettings spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS);
+
37 
+
38  // implementations of pure virtual RadioLibHal methods
+
39  void pinMode(uint32_t pin, uint32_t mode) override;
+
40  void digitalWrite(uint32_t pin, uint32_t value) override;
+
41  uint32_t digitalRead(uint32_t pin) override;
+
42  void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) override;
+
43  void detachInterrupt(uint32_t interruptNum) override;
+
44  void delay(unsigned long ms) override;
+
45  void delayMicroseconds(unsigned long us) override;
+
46  unsigned long millis() override;
+
47  unsigned long micros() override;
+
48  long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override;
+
49  void spiBegin() override;
+
50  void spiBeginTransaction() override;
+
51  uint8_t spiTransfer(uint8_t b) override;
+
52  void spiEndTransaction() override;
+
53  void spiEnd() override;
+
54 
+
55  // implementations of virtual RadioLibHal methods
+
56  void init() override;
+
57  void term() override;
+
58  void tone(uint32_t pin, unsigned int frequency, unsigned long duration = 0) override;
+
59  void noTone(uint32_t pin) override;
+
60  void yield() override;
+
61  uint32_t pinToInterrupt(uint32_t pin) override;
+
62 
+
63 #if !defined(RADIOLIB_GODMODE)
+
64  private:
+
65 #endif
+
66  SPIClass* _spi = NULL;
+
67  SPISettings _spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS;
+
68  bool _initInterface = false;
+
69 
+
70  #if defined(RADIOLIB_MBED_TONE_OVERRIDE)
+
71  mbed::PwmOut *pwmPin = NULL;
+
72  #endif
+
73 
+
74  #if defined(ESP32)
+
75  int32_t _prev = -1;
+
76  #endif
+
77 };
+
78 
79 #endif
-
Hardware abstraction library base interface.
Definition: Hal.h:11
+
80 
+
81 #endif
+
Definition: Hal.h:11
+
virtual uint32_t digitalRead(uint32_t pin)=0
Digital read method. Must be implemented by the platform-specific hardware abstraction!
+
virtual uint8_t spiTransfer(uint8_t b)=0
Method to transfer one byte over SPI.
+
virtual void yield()
Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads...
Definition: Hal.cpp:29
+
virtual unsigned long millis()=0
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstrac...
+
virtual void detachInterrupt(uint32_t interruptNum)=0
Method to detach function from an external interrupt. Must be implemented by the platform-specific ha...
+
virtual uint32_t pinToInterrupt(uint32_t pin)
Function to convert from pin number to interrupt number.
Definition: Hal.cpp:33
+
virtual long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout)=0
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-spe...
+
virtual void spiEnd()=0
SPI termination method.
+
virtual void init()
Module initialization method. This will be called by all radio modules at the beginning of startup....
Definition: Hal.cpp:11
+
virtual void digitalWrite(uint32_t pin, uint32_t value)=0
Digital write method. Must be implemented by the platform-specific hardware abstraction!
+
virtual void spiEndTransaction()=0
Method to end SPI transaction.
+
virtual void noTone(uint32_t pin)
Method to stop producing a tone.
Definition: Hal.cpp:25
+
virtual void delay(unsigned long ms)=0
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
+
virtual void spiBegin()=0
SPI initialization method.
+
virtual void term()
Module termination method. This will be called by all radio modules when the desctructor is called....
Definition: Hal.cpp:15
+
virtual void tone(uint32_t pin, unsigned int frequency, unsigned long duration=0)
Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin.
Definition: Hal.cpp:19
+
virtual void spiBeginTransaction()=0
Method to start SPI transaction.
+
virtual void delayMicroseconds(unsigned long us)=0
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction...
+
virtual unsigned long micros()=0
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstrac...
+
virtual void pinMode(uint32_t pin, uint32_t mode)=0
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific h...
+
virtual void attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0
Method to attach function to an external interrupt. Must be implemented by the platform-specific hard...
diff --git a/_build_opt_8h_source.html b/_build_opt_8h_source.html index 86385b95..76a98562 100644 --- a/_build_opt_8h_source.html +++ b/_build_opt_8h_source.html @@ -130,394 +130,433 @@ $(document).ready(function(){initNavTree('_build_opt_8h_source.html',''); initRe
42  //#define RADIOLIB_TONE_UNSUPPORTED
43  //#define RADIOLIB_YIELD_UNSUPPORTED
44 
-
45  // some of RadioLib drivers may be excluded, to prevent collisions with platforms (or to speed up build process)
-
46  // the following is a complete list of all possible exclusion macros, uncomment any of them to disable that driver
-
47  // NOTE: Some of the exclusion macros are dependent on each other. For example, it is not possible to exclude RF69
-
48  // while keeping SX1231 (because RF69 is the base class for SX1231). The dependency is always uni-directional,
-
49  // so excluding SX1231 and keeping RF69 is valid.
-
50  //#define RADIOLIB_EXCLUDE_CC1101
-
51  //#define RADIOLIB_EXCLUDE_NRF24
-
52  //#define RADIOLIB_EXCLUDE_RF69
-
53  //#define RADIOLIB_EXCLUDE_SX1231 // dependent on RADIOLIB_EXCLUDE_RF69
-
54  //#define RADIOLIB_EXCLUDE_SI443X
-
55  //#define RADIOLIB_EXCLUDE_RFM2X // dependent on RADIOLIB_EXCLUDE_SI443X
-
56  //#define RADIOLIB_EXCLUDE_SX127X
-
57  //#define RADIOLIB_EXCLUDE_RFM9X // dependent on RADIOLIB_EXCLUDE_SX127X
-
58  //#define RADIOLIB_EXCLUDE_SX126X
-
59  //#define RADIOLIB_EXCLUDE_STM32WLX // dependent on RADIOLIB_EXCLUDE_SX126X
-
60  //#define RADIOLIB_EXCLUDE_SX128X
-
61  //#define RADIOLIB_EXCLUDE_AFSK
-
62  //#define RADIOLIB_EXCLUDE_AX25
-
63  //#define RADIOLIB_EXCLUDE_HELLSCHREIBER
-
64  //#define RADIOLIB_EXCLUDE_MORSE
-
65  //#define RADIOLIB_EXCLUDE_RTTY
-
66  //#define RADIOLIB_EXCLUDE_SSTV
-
67  //#define RADIOLIB_EXCLUDE_DIRECT_RECEIVE
-
68 #elif defined(__AVR__) && !(defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY) || defined(ARDUINO_ARCH_MEGAAVR))
-
69  // Arduino AVR boards (except for megaAVR) - Uno, Mega etc.
-
70  #define RADIOLIB_PLATFORM "Arduino AVR"
-
71 #elif defined(ESP8266)
-
72  // ESP8266 boards
-
73  #define RADIOLIB_PLATFORM "ESP8266"
-
74 #elif defined(ESP32)
-
75  // ESP32 boards
-
76  #define RADIOLIB_PLATFORM "ESP32"
-
77  // ESP32 doesn't support tone(), but it can be emulated via LED control peripheral
-
78  #define RADIOLIB_TONE_UNSUPPORTED
-
79  #define RADIOLIB_TONE_ESP32_CHANNEL (1)
-
80 #elif defined(ARDUINO_ARCH_STM32)
-
81  // official STM32 Arduino core (https://github.com/stm32duino/Arduino_Core_STM32)
-
82  #define RADIOLIB_PLATFORM "Arduino STM32 (official)"
-
83 #elif defined(SAMD_SERIES)
-
84  // Adafruit SAMD boards (M0 and M4)
-
85  #define RADIOLIB_PLATFORM "Adafruit SAMD"
-
86 #elif defined(ARDUINO_ARCH_SAMD)
-
87  // Arduino SAMD (Zero, MKR, etc.)
-
88  #define RADIOLIB_PLATFORM "Arduino SAMD"
-
89 
-
90  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
-
91  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
-
92  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
93 #elif defined(__SAM3X8E__)
-
94  // Arduino Due
-
95  #define RADIOLIB_PLATFORM "Arduino Due"
+
45  // in addition, the following macros may be defined if the Arduino core differs from the defaults
+
46  #define RADIOLIB_NC (0xFFFFFFFF)
+
47  #define RADIOLIB_DEFAULT_SPI SPI
+
48  #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+
49  #define RADIOLIB_NONVOLATILE PROGMEM
+
50  #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+
51  #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) pgm_read_dword(addr)
+
52  #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
53 
+
54  // you might also have to define these if the Arduino core has some uncommon pin mode/status types
+
55  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST
+
56  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST
+
57  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST
+
58 
+
59  // some of RadioLib drivers may be excluded, to prevent collisions with platforms (or to speed up build process)
+
60  // the following is a complete list of all possible exclusion macros, uncomment any of them to disable that driver
+
61  // NOTE: Some of the exclusion macros are dependent on each other. For example, it is not possible to exclude RF69
+
62  // while keeping SX1231 (because RF69 is the base class for SX1231). The dependency is always uni-directional,
+
63  // so excluding SX1231 and keeping RF69 is valid.
+
64  //#define RADIOLIB_EXCLUDE_CC1101
+
65  //#define RADIOLIB_EXCLUDE_NRF24
+
66  //#define RADIOLIB_EXCLUDE_RF69
+
67  //#define RADIOLIB_EXCLUDE_SX1231 // dependent on RADIOLIB_EXCLUDE_RF69
+
68  //#define RADIOLIB_EXCLUDE_SI443X
+
69  //#define RADIOLIB_EXCLUDE_RFM2X // dependent on RADIOLIB_EXCLUDE_SI443X
+
70  //#define RADIOLIB_EXCLUDE_SX127X
+
71  //#define RADIOLIB_EXCLUDE_RFM9X // dependent on RADIOLIB_EXCLUDE_SX127X
+
72  //#define RADIOLIB_EXCLUDE_SX126X
+
73  //#define RADIOLIB_EXCLUDE_STM32WLX // dependent on RADIOLIB_EXCLUDE_SX126X
+
74  //#define RADIOLIB_EXCLUDE_SX128X
+
75  //#define RADIOLIB_EXCLUDE_AFSK
+
76  //#define RADIOLIB_EXCLUDE_AX25
+
77  //#define RADIOLIB_EXCLUDE_HELLSCHREIBER
+
78  //#define RADIOLIB_EXCLUDE_MORSE
+
79  //#define RADIOLIB_EXCLUDE_RTTY
+
80  //#define RADIOLIB_EXCLUDE_SSTV
+
81  //#define RADIOLIB_EXCLUDE_DIRECT_RECEIVE
+
82 
+
83 #elif defined(__AVR__) && !(defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY) || defined(ARDUINO_ARCH_MEGAAVR))
+
84  // Arduino AVR boards (except for megaAVR) - Uno, Mega etc.
+
85  #define RADIOLIB_PLATFORM "Arduino AVR"
+
86 
+
87 #elif defined(ESP8266)
+
88  // ESP8266 boards
+
89  #define RADIOLIB_PLATFORM "ESP8266"
+
90 
+
91 #elif defined(ESP32)
+
92  // ESP32 boards
+
93  #define RADIOLIB_PLATFORM "ESP32"
+
94 
+
95  // ESP32 doesn't support tone(), but it can be emulated via LED control peripheral
96  #define RADIOLIB_TONE_UNSUPPORTED
-
97 #elif (defined(NRF52832_XXAA) || defined(NRF52840_XXAA)) && !defined(ARDUINO_ARDUINO_NANO33BLE)
-
98  // Adafruit nRF52 boards
-
99  #define RADIOLIB_PLATFORM "Adafruit nRF52"
-
100 #elif defined(ARDUINO_ARC32_TOOLS)
-
101  // Intel Curie
-
102  #define RADIOLIB_PLATFORM "Intel Curie"
-
103 #elif defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY) || defined(PORTDUINO)
-
104  // Arduino megaAVR boards - Uno Wifi Rev.2, Nano Every
-
105  #define RADIOLIB_PLATFORM "Arduino megaAVR"
-
106 #elif defined(ARDUINO_ARCH_APOLLO3)
-
107  // Sparkfun Apollo3 boards
-
108  #define RADIOLIB_PLATFORM "Sparkfun Apollo3"
-
109 
-
110  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (Arduino_PinMode)
-
111  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
-
112  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
113 #elif defined(ARDUINO_ARDUINO_NANO33BLE)
-
114  // Arduino Nano 33 BLE
-
115  #define RADIOLIB_PLATFORM "Arduino Nano 33 BLE"
-
116 
-
117  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
-
118  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
-
119  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
120 
-
121  // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds
-
122  #define RADIOLIB_TONE_UNSUPPORTED
-
123  #define RADIOLIB_MBED_TONE_OVERRIDE
-
124 #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
-
125  // Arduino Portenta H7
-
126  #define RADIOLIB_PLATFORM "Portenta H7"
-
127 
-
128  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
-
129  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
-
130  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
131 
-
132  // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds
-
133  #define RADIOLIB_TONE_UNSUPPORTED
-
134  #define RADIOLIB_MBED_TONE_OVERRIDE
-
135 #elif defined(__STM32F4__) || defined(__STM32F1__)
-
136  // Arduino STM32 core by Roger Clark (https://github.com/rogerclarkmelbourne/Arduino_STM32)
-
137  #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
-
138 
-
139  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (WiringPinMode)
-
140  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (ExtIntTriggerMode)
-
141 #elif defined(ARDUINO_ARCH_MEGAAVR)
-
142  // MegaCoreX by MCUdude (https://github.com/MCUdude/MegaCoreX)
-
143  #define RADIOLIB_PLATFORM "MegaCoreX"
-
144 #elif defined(ARDUINO_ARCH_MBED_RP2040)
-
145  // Raspberry Pi Pico (official mbed core)
-
146  #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
-
147 
-
148  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
-
149  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
-
150  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
151 
-
152  // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds
-
153  #define RADIOLIB_TONE_UNSUPPORTED
-
154  #define RADIOLIB_MBED_TONE_OVERRIDE
-
155 #elif defined(ARDUINO_ARCH_RP2040)
-
156  // Raspberry Pi Pico (unofficial core)
-
157  #define RADIOLIB_PLATFORM "Raspberry Pi Pico (unofficial)"
-
158 
-
159  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
-
160  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
-
161  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
-
162 #elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
-
163  // CubeCell
-
164  #define RADIOLIB_PLATFORM "CubeCell"
-
165  #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(1000000, MSBFIRST, SPI_MODE0) // see issue #709
-
166 
-
167  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PINMODE)
-
168  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (IrqModes)
+
97  #define RADIOLIB_TONE_ESP32_CHANNEL (1)
+
98 
+
99 #elif defined(ARDUINO_ARCH_STM32)
+
100  // official STM32 Arduino core (https://github.com/stm32duino/Arduino_Core_STM32)
+
101  #define RADIOLIB_PLATFORM "Arduino STM32 (official)"
+
102 
+
103 #elif defined(SAMD_SERIES)
+
104  // Adafruit SAMD boards (M0 and M4)
+
105  #define RADIOLIB_PLATFORM "Adafruit SAMD"
+
106 
+
107 #elif defined(ARDUINO_ARCH_SAMD)
+
108  // Arduino SAMD (Zero, MKR, etc.)
+
109  #define RADIOLIB_PLATFORM "Arduino SAMD"
+
110  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+
111  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+
112  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
113 
+
114 #elif defined(__SAM3X8E__)
+
115  // Arduino Due
+
116  #define RADIOLIB_PLATFORM "Arduino Due"
+
117  #define RADIOLIB_TONE_UNSUPPORTED
+
118 
+
119 #elif (defined(NRF52832_XXAA) || defined(NRF52840_XXAA)) && !defined(ARDUINO_ARDUINO_NANO33BLE)
+
120  // Adafruit nRF52 boards
+
121  #define RADIOLIB_PLATFORM "Adafruit nRF52"
+
122 
+
123 #elif defined(ARDUINO_ARC32_TOOLS)
+
124  // Intel Curie
+
125  #define RADIOLIB_PLATFORM "Intel Curie"
+
126 
+
127 #elif defined(ARDUINO_AVR_UNO_WIFI_REV2) || defined(ARDUINO_AVR_NANO_EVERY) || defined(PORTDUINO)
+
128  // Arduino megaAVR boards - Uno Wifi Rev.2, Nano Every
+
129  #define RADIOLIB_PLATFORM "Arduino megaAVR"
+
130 
+
131 #elif defined(ARDUINO_ARCH_APOLLO3)
+
132  // Sparkfun Apollo3 boards
+
133  #define RADIOLIB_PLATFORM "Sparkfun Apollo3"
+
134  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (Arduino_PinMode)
+
135  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+
136  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
137 
+
138 #elif defined(ARDUINO_ARDUINO_NANO33BLE)
+
139  // Arduino Nano 33 BLE
+
140  #define RADIOLIB_PLATFORM "Arduino Nano 33 BLE"
+
141  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+
142  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+
143  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
144 
+
145  // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds
+
146  #define RADIOLIB_TONE_UNSUPPORTED
+
147  #define RADIOLIB_MBED_TONE_OVERRIDE
+
148 
+
149 #elif defined(ARDUINO_PORTENTA_H7_M7) || defined(ARDUINO_PORTENTA_H7_M4)
+
150  // Arduino Portenta H7
+
151  #define RADIOLIB_PLATFORM "Portenta H7"
+
152  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+
153  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+
154  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
155 
+
156  // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds
+
157  #define RADIOLIB_TONE_UNSUPPORTED
+
158  #define RADIOLIB_MBED_TONE_OVERRIDE
+
159 
+
160 #elif defined(__STM32F4__) || defined(__STM32F1__)
+
161  // Arduino STM32 core by Roger Clark (https://github.com/rogerclarkmelbourne/Arduino_STM32)
+
162  #define RADIOLIB_PLATFORM "STM32duino (unofficial)"
+
163  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (WiringPinMode)
+
164  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (ExtIntTriggerMode)
+
165 
+
166 #elif defined(ARDUINO_ARCH_MEGAAVR)
+
167  // MegaCoreX by MCUdude (https://github.com/MCUdude/MegaCoreX)
+
168  #define RADIOLIB_PLATFORM "MegaCoreX"
169 
-
170  // provide an easy access to the on-board module
-
171  #include "board-config.h"
-
172  #define RADIOLIB_BUILTIN_MODULE RADIO_NSS, RADIO_DIO_1, RADIO_RESET, RADIO_BUSY
-
173 
-
174  // CubeCell doesn't seem to define nullptr, let's do something like that now
-
175  #define nullptr NULL
+
170 #elif defined(ARDUINO_ARCH_MBED_RP2040)
+
171  // Raspberry Pi Pico (official mbed core)
+
172  #define RADIOLIB_PLATFORM "Raspberry Pi Pico"
+
173  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+
174  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+
175  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
176 
-
177  // ... and also defines pinMode() as a macro, which is by far the stupidest thing I have seen on Arduino
-
178  #undef pinMode
-
179 
-
180  // ... and uses an outdated GCC which does not support type aliases
-
181  #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
-
182 
-
183  // ... and it also has no tone(). This platform was designed by an idiot.
-
184  #define RADIOLIB_TONE_UNSUPPORTED
-
185 
-
186  // ... AND as the (hopefully) final nail in the coffin, IT F*CKING DEFINES YIELD() AS A MACRO THAT DOES NOTHING!!!
-
187  #define RADIOLIB_YIELD_UNSUPPORTED
-
188  #if defined(yield)
-
189  #undef yield
-
190  #endif
-
191 #elif defined(RASPI)
-
192  // RaspiDuino framework (https://github.com/me-no-dev/RasPiArduino)
-
193  #define RADIOLIB_PLATFORM "RasPiArduino"
+
177  // Arduino mbed OS boards have a really bad tone implementation which will crash after a couple seconds
+
178  #define RADIOLIB_TONE_UNSUPPORTED
+
179  #define RADIOLIB_MBED_TONE_OVERRIDE
+
180 
+
181 #elif defined(ARDUINO_ARCH_RP2040)
+
182  // Raspberry Pi Pico (unofficial core)
+
183  #define RADIOLIB_PLATFORM "Raspberry Pi Pico (unofficial)"
+
184  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PinMode)
+
185  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST (PinStatus)
+
186  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (PinStatus)
+
187 
+
188 #elif defined(__ASR6501__) || defined(ARDUINO_ARCH_ASR650X) || defined(DARDUINO_ARCH_ASR6601)
+
189  // CubeCell
+
190  #define RADIOLIB_PLATFORM "CubeCell"
+
191  #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(1000000, MSBFIRST, SPI_MODE0) // see issue #709
+
192  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST (PINMODE)
+
193  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST (IrqModes)
194 
-
195  // let's start off easy - no tone on this platform, that can happen
-
196  #define RADIOLIB_TONE_UNSUPPORTED
-
197 
-
198  // hmm, no yield either - weird on something like Raspberry PI, but sure, we can handle it
-
199  #define RADIOLIB_YIELD_UNSUPPORTED
-
200 
-
201  // aight, getting to the juicy stuff - PGM_P seems missing, that's the first time
-
202  #define PGM_P const char *
-
203 
-
204  // ... and for the grand finale, we have millis() and micros() DEFINED AS MACROS!
-
205  #if defined(millis)
-
206  #undef millis
-
207  inline unsigned long millis() { return((unsigned long)(STCV / 1000)); };
-
208  #endif
-
209 
-
210  #if defined(micros)
-
211  #undef micros
-
212  inline unsigned long micros() { return((unsigned long)(STCV)); };
-
213  #endif
-
214 #elif defined(TEENSYDUINO)
-
215  // Teensy
-
216  #define RADIOLIB_PLATFORM "Teensy"
-
217 #else
-
218  // other Arduino platforms not covered by the above list - this may or may not work
-
219  #define RADIOLIB_PLATFORM "Unknown Arduino"
-
220  #define RADIOLIB_UNKNOWN_PLATFORM
-
221 #endif
-
222 
-
223  #if !defined(RADIOLIB_NC)
-
224  #define RADIOLIB_NC (0xFFFFFFFF)
-
225  #endif
-
226  #if !defined(RADIOLIB_DEFAULT_SPI)
-
227  #define RADIOLIB_DEFAULT_SPI SPI
-
228  #endif
-
229  #if !defined(RADIOLIB_DEFAULT_SPI_SETTINGS)
-
230  #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
-
231  #endif
-
232  #if !defined(RADIOLIB_NONVOLATILE)
-
233  #define RADIOLIB_NONVOLATILE PROGMEM
+
195  // provide an easy access to the on-board module
+
196  #include "board-config.h"
+
197  #define RADIOLIB_BUILTIN_MODULE RADIO_NSS, RADIO_DIO_1, RADIO_RESET, RADIO_BUSY
+
198 
+
199  // CubeCell doesn't seem to define nullptr, let's do something like that now
+
200  #define nullptr NULL
+
201 
+
202  // ... and also defines pinMode() as a macro, which is by far the stupidest thing I have seen on Arduino
+
203  #undef pinMode
+
204 
+
205  // ... and uses an outdated GCC which does not support type aliases
+
206  #define RADIOLIB_TYPE_ALIAS(type, alias) typedef class type alias;
+
207 
+
208  // ... and it also has no tone(). This platform was designed by an idiot.
+
209  #define RADIOLIB_TONE_UNSUPPORTED
+
210 
+
211  // ... AND as the (hopefully) final nail in the coffin, IT F*CKING DEFINES YIELD() AS A MACRO THAT DOES NOTHING!!!
+
212  #define RADIOLIB_YIELD_UNSUPPORTED
+
213  #if defined(yield)
+
214  #undef yield
+
215  #endif
+
216 
+
217 #elif defined(RASPI)
+
218  // RaspiDuino framework (https://github.com/me-no-dev/RasPiArduino)
+
219  #define RADIOLIB_PLATFORM "RasPiArduino"
+
220 
+
221  // let's start off easy - no tone on this platform, that can happen
+
222  #define RADIOLIB_TONE_UNSUPPORTED
+
223 
+
224  // hmm, no yield either - weird on something like Raspberry PI, but sure, we can handle it
+
225  #define RADIOLIB_YIELD_UNSUPPORTED
+
226 
+
227  // aight, getting to the juicy stuff - PGM_P seems missing, that's the first time
+
228  #define PGM_P const char *
+
229 
+
230  // ... and for the grand finale, we have millis() and micros() DEFINED AS MACROS!
+
231  #if defined(millis)
+
232  #undef millis
+
233  inline unsigned long millis() { return((unsigned long)(STCV / 1000)); };
234  #endif
-
235  #if !defined(RADIOLIB_NONVOLATILE_READ_BYTE)
-
236  #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
-
237  #endif
-
238  #if !defined(RADIOLIB_NONVOLATILE_READ_DWORD)
-
239  #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) pgm_read_dword(addr)
-
240  #endif
-
241  #if !defined(RADIOLIB_TYPE_ALIAS)
-
242  #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
243  #endif
+
235 
+
236  #if defined(micros)
+
237  #undef micros
+
238  inline unsigned long micros() { return((unsigned long)(STCV)); };
+
239  #endif
+
240 
+
241 #elif defined(TEENSYDUINO)
+
242  // Teensy
+
243  #define RADIOLIB_PLATFORM "Teensy"
244 
-
245  #if !defined(RADIOLIB_ARDUINOHAL_PIN_MODE_CAST)
-
246  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST
-
247  #endif
-
248  #if !defined(RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST)
-
249  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST
-
250  #endif
-
251  #if !defined(RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST)
-
252  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST
-
253  #endif
-
254 #else
-
255  // generic non-Arduino platform
-
256  #define RADIOLIB_PLATFORM "Generic"
+
245 #else
+
246  // other Arduino platforms not covered by the above list - this may or may not work
+
247  #define RADIOLIB_PLATFORM "Unknown Arduino"
+
248  #define RADIOLIB_UNKNOWN_PLATFORM
+
249 
+
250 #endif
+
251 
+
252  // set the default values for all macros
+
253  // these will be applied if they were not defined above
+
254  #if !defined(RADIOLIB_NC)
+
255  #define RADIOLIB_NC (0xFFFFFFFF)
+
256  #endif
257 
-
258  #define RADIOLIB_NC (0xFF)
-
259  #define RADIOLIB_NONVOLATILE
-
260  #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) (*((uint8_t *)(void *)(addr)))
-
261  #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) (*((uint32_t *)(void *)(addr)))
-
262  #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
-
263 
-
264  #if !defined(RADIOLIB_DEBUG_PORT)
-
265  #define RADIOLIB_DEBUG_PORT stdout
-
266  #endif
-
267 
-
268  #define DEC 10
-
269  #define HEX 16
-
270  #define OCT 8
-
271  #define BIN 2
-
272 
-
273  #include <algorithm>
-
274  #include <stdint.h>
-
275 
-
276  using std::max;
-
277  using std::min;
-
278 #endif
-
279 
-
280 /*
-
281  * Uncomment to enable debug output.
-
282  * Warning: Debug output will slow down the whole system significantly.
-
283  * Also, it will result in larger compiled binary.
-
284  * Levels: debug - only main info
-
285  * verbose - full transcript of all SPI communication
-
286  */
-
287 #if !defined(RADIOLIB_DEBUG)
-
288  //#define RADIOLIB_DEBUG
-
289 #endif
-
290 #if !defined(RADIOLIB_VERBOSE)
-
291  //#define RADIOLIB_VERBOSE
-
292 #endif
+
258  #if !defined(RADIOLIB_DEFAULT_SPI)
+
259  #define RADIOLIB_DEFAULT_SPI SPI
+
260  #endif
+
261 
+
262  #if !defined(RADIOLIB_DEFAULT_SPI_SETTINGS)
+
263  #define RADIOLIB_DEFAULT_SPI_SETTINGS SPISettings(2000000, MSBFIRST, SPI_MODE0)
+
264  #endif
+
265 
+
266  #if !defined(RADIOLIB_NONVOLATILE)
+
267  #define RADIOLIB_NONVOLATILE PROGMEM
+
268  #endif
+
269 
+
270  #if !defined(RADIOLIB_NONVOLATILE_READ_BYTE)
+
271  #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) pgm_read_byte(addr)
+
272  #endif
+
273 
+
274  #if !defined(RADIOLIB_NONVOLATILE_READ_DWORD)
+
275  #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) pgm_read_dword(addr)
+
276  #endif
+
277 
+
278  #if !defined(RADIOLIB_TYPE_ALIAS)
+
279  #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
280  #endif
+
281 
+
282  #if !defined(RADIOLIB_ARDUINOHAL_PIN_MODE_CAST)
+
283  #define RADIOLIB_ARDUINOHAL_PIN_MODE_CAST
+
284  #endif
+
285 
+
286  #if !defined(RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST)
+
287  #define RADIOLIB_ARDUINOHAL_PIN_STATUS_CAST
+
288  #endif
+
289 
+
290  #if !defined(RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST)
+
291  #define RADIOLIB_ARDUINOHAL_INTERRUPT_MODE_CAST
+
292  #endif
293 
-
294 // set which output port should be used for debug output
-
295 // may be Serial port (on Arduino) or file like stdout or stderr (on generic platforms)
-
296 #if defined(RADIOLIB_BUILD_ARDUINO) && !defined(RADIOLIB_DEBUG_PORT)
-
297  #define RADIOLIB_DEBUG_PORT Serial
-
298 #endif
-
299 
-
300 /*
-
301  * Uncomment to enable "paranoid" SPI mode
-
302  * Every write to an SPI register using SPI set function will be verified by a subsequent read operation.
-
303  * This improves reliablility, but slightly slows down communication.
-
304  * Note: Enabled by default.
-
305  */
-
306 #if !defined(RADIOLIB_SPI_PARANOID)
-
307  #define RADIOLIB_SPI_PARANOID
-
308 #endif
-
309 
-
310 /*
-
311  * Uncomment to enable parameter range checking
-
312  * RadioLib will check provided parameters (such as frequency) against limits determined by the device manufacturer.
-
313  * It is highly advised to keep this macro defined, removing it will allow invalid values to be set,
-
314  * possibly leading to bricked module and/or program crashing.
-
315  * Note: Enabled by default.
-
316  */
-
317 #if !defined(RADIOLIB_CHECK_PARAMS)
-
318  #define RADIOLIB_CHECK_PARAMS
-
319 #endif
-
320 
-
321 /*
-
322  * Uncomment to enable SX127x errata fix
-
323  * Warning: SX127x errata fix has been reported to cause issues with LoRa bandwidths lower than 62.5 kHz.
-
324  * It should only be enabled if you really are observing some errata-related issue.
-
325  * Note: Disabled by default.
+
294 #else
+
295  // generic non-Arduino platform
+
296  #define RADIOLIB_PLATFORM "Generic"
+
297 
+
298  #define RADIOLIB_NC (0xFF)
+
299  #define RADIOLIB_NONVOLATILE
+
300  #define RADIOLIB_NONVOLATILE_READ_BYTE(addr) (*((uint8_t *)(void *)(addr)))
+
301  #define RADIOLIB_NONVOLATILE_READ_DWORD(addr) (*((uint32_t *)(void *)(addr)))
+
302  #define RADIOLIB_TYPE_ALIAS(type, alias) using alias = type;
+
303 
+
304  #if !defined(RADIOLIB_DEBUG_PORT)
+
305  #define RADIOLIB_DEBUG_PORT stdout
+
306  #endif
+
307 
+
308  #define DEC 10
+
309  #define HEX 16
+
310  #define OCT 8
+
311  #define BIN 2
+
312 
+
313  #include <algorithm>
+
314  #include <stdint.h>
+
315 
+
316  using std::max;
+
317  using std::min;
+
318 #endif
+
319 
+
320 /*
+
321  * Uncomment to enable debug output.
+
322  * Warning: Debug output will slow down the whole system significantly.
+
323  * Also, it will result in larger compiled binary.
+
324  * Levels: debug - only main info
+
325  * verbose - full transcript of all SPI communication
326  */
-
327 #if !defined(RADIOLIB_FIX_ERRATA_SX127X)
-
328  //#define RADIOLIB_FIX_ERRATA_SX127X
+
327 #if !defined(RADIOLIB_DEBUG)
+
328  //#define RADIOLIB_DEBUG
329 #endif
-
330 
-
331 /*
-
332  * Uncomment to enable god mode - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code.
-
333  * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing.
-
334  * Failure to heed the above warning may result in bricked module.
-
335  */
-
336 #if !defined(RADIOLIB_GODMODE)
-
337  //#define RADIOLIB_GODMODE
+
330 #if !defined(RADIOLIB_VERBOSE)
+
331  //#define RADIOLIB_VERBOSE
+
332 #endif
+
333 
+
334 // set which output port should be used for debug output
+
335 // may be Serial port (on Arduino) or file like stdout or stderr (on generic platforms)
+
336 #if defined(RADIOLIB_BUILD_ARDUINO) && !defined(RADIOLIB_DEBUG_PORT)
+
337  #define RADIOLIB_DEBUG_PORT Serial
338 #endif
339 
340 /*
-
341  * Uncomment to enable low-level hardware access
-
342  * This will make some hardware methods like SPI get/set accessible from the user sketch - think of it as "god mode lite"
-
343  * Warning: RadioLib won't stop you from writing invalid stuff into your device, so it's quite easy to brick your module with this.
-
344  */
-
345 #if !defined(RADIOLIB_LOW_LEVEL)
-
346  //#define RADIOLIB_LOW_LEVEL
-
347 #endif
-
348 
-
349 /*
-
350  * Uncomment to enable pre-defined modules when using RadioShield.
-
351  */
-
352 #if !defined(RADIOLIB_RADIOSHIELD)
-
353  //#define RADIOLIB_RADIOSHIELD
-
354 #endif
-
355 
-
356 /*
-
357  * Uncomment to enable interrupt-based timing control
-
358  * For details, see https://github.com/jgromes/RadioLib/wiki/Interrupt-Based-Timing
-
359  */
-
360 #if !defined(RADIOLIB_INTERRUPT_TIMING)
-
361  //#define RADIOLIB_INTERRUPT_TIMING
-
362 #endif
-
363 
-
364 /*
-
365  * Uncomment to enable static-only memory management: no dynamic allocation will be performed.
-
366  * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode.
-
367  */
-
368 #if !defined(RADIOLIB_STATIC_ONLY)
-
369  //#define RADIOLIB_STATIC_ONLY
-
370 #endif
-
371 
-
372 // set the size of static arrays to use
-
373 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
-
374  #define RADIOLIB_STATIC_ARRAY_SIZE (256)
-
375 #endif
-
376 
-
377 
-
378 // This only compiles on STM32 boards with SUBGHZ module, but also
-
379 // include when generating docs
-
380 #if (!defined(ARDUINO_ARCH_STM32) || !defined(SUBGHZSPI_BASE)) && !defined(DOXYGEN)
-
381  #define RADIOLIB_EXCLUDE_STM32WLX
-
382 #endif
-
383 
-
384 #if defined(RADIOLIB_DEBUG)
-
385  #if defined(RADIOLIB_BUILD_ARDUINO)
-
386  #define RADIOLIB_DEBUG_PRINT(...) Module::serialPrintf(__VA_ARGS__)
-
387  #define RADIOLIB_DEBUG_PRINTLN(M, ...) Module::serialPrintf(M "\n", ##__VA_ARGS__)
-
388  #else
-
389  #if !defined(RADIOLIB_DEBUG_PRINT)
-
390  #define RADIOLIB_DEBUG_PRINT(...) fprintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__)
-
391  #endif
-
392  #if !defined(RADIOLIB_DEBUG_PRINTLN)
-
393  #define RADIOLIB_DEBUG_PRINTLN(M, ...) fprintf(RADIOLIB_DEBUG_PORT, M "\n", ##__VA_ARGS__)
-
394  #endif
-
395  #endif
-
396 #else
-
397  #define RADIOLIB_DEBUG_PRINT(...) {}
-
398  #define RADIOLIB_DEBUG_PRINTLN(...) {}
-
399 #endif
-
400 
-
401 #if defined(RADIOLIB_VERBOSE)
-
402  #define RADIOLIB_VERBOSE_PRINT(...) RADIOLIB_DEBUG_PRINT(__VA_ARGS__)
-
403  #define RADIOLIB_VERBOSE_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN(__VA_ARGS__)
-
404 #else
-
405  #define RADIOLIB_VERBOSE_PRINT(...) {}
-
406  #define RADIOLIB_VERBOSE_PRINTLN(...) {}
-
407 #endif
-
408 
-
412 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
-
413 
-
414 
-
418 #if defined(RADIOLIB_CHECK_PARAMS)
-
419  #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
-
420 #else
-
421  #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
-
422 #endif
-
423 
-
424 #if defined(RADIOLIB_FIX_ERRATA_SX127X)
-
425  #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
-
426 #else
-
427  #define RADIOLIB_ERRATA_SX127X(...) {}
-
428 #endif
-
429 
-
430 // version definitions
-
431 #define RADIOLIB_VERSION_MAJOR (0x05)
-
432 #define RADIOLIB_VERSION_MINOR (0x07)
-
433 #define RADIOLIB_VERSION_PATCH (0x00)
-
434 #define RADIOLIB_VERSION_EXTRA (0x00)
-
435 
-
436 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
-
437 
+
341  * Uncomment to enable "paranoid" SPI mode
+
342  * Every write to an SPI register using SPI set function will be verified by a subsequent read operation.
+
343  * This improves reliablility, but slightly slows down communication.
+
344  * Note: Enabled by default.
+
345  */
+
346 #if !defined(RADIOLIB_SPI_PARANOID)
+
347  #define RADIOLIB_SPI_PARANOID
+
348 #endif
+
349 
+
350 /*
+
351  * Uncomment to enable parameter range checking
+
352  * RadioLib will check provided parameters (such as frequency) against limits determined by the device manufacturer.
+
353  * It is highly advised to keep this macro defined, removing it will allow invalid values to be set,
+
354  * possibly leading to bricked module and/or program crashing.
+
355  * Note: Enabled by default.
+
356  */
+
357 #if !defined(RADIOLIB_CHECK_PARAMS)
+
358  #define RADIOLIB_CHECK_PARAMS
+
359 #endif
+
360 
+
361 /*
+
362  * Uncomment to enable SX127x errata fix
+
363  * Warning: SX127x errata fix has been reported to cause issues with LoRa bandwidths lower than 62.5 kHz.
+
364  * It should only be enabled if you really are observing some errata-related issue.
+
365  * Note: Disabled by default.
+
366  */
+
367 #if !defined(RADIOLIB_FIX_ERRATA_SX127X)
+
368  //#define RADIOLIB_FIX_ERRATA_SX127X
+
369 #endif
+
370 
+
371 /*
+
372  * Uncomment to enable god mode - all methods and member variables in all classes will be made public, thus making them accessible from Arduino code.
+
373  * Warning: Come on, it's called GOD mode - obviously only use this if you know what you're doing.
+
374  * Failure to heed the above warning may result in bricked module.
+
375  */
+
376 #if !defined(RADIOLIB_GODMODE)
+
377  //#define RADIOLIB_GODMODE
+
378 #endif
+
379 
+
380 /*
+
381  * Uncomment to enable low-level hardware access
+
382  * This will make some hardware methods like SPI get/set accessible from the user sketch - think of it as "god mode lite"
+
383  * Warning: RadioLib won't stop you from writing invalid stuff into your device, so it's quite easy to brick your module with this.
+
384  */
+
385 #if !defined(RADIOLIB_LOW_LEVEL)
+
386  //#define RADIOLIB_LOW_LEVEL
+
387 #endif
+
388 
+
389 /*
+
390  * Uncomment to enable pre-defined modules when using RadioShield.
+
391  */
+
392 #if !defined(RADIOLIB_RADIOSHIELD)
+
393  //#define RADIOLIB_RADIOSHIELD
+
394 #endif
+
395 
+
396 /*
+
397  * Uncomment to enable interrupt-based timing control
+
398  * For details, see https://github.com/jgromes/RadioLib/wiki/Interrupt-Based-Timing
+
399  */
+
400 #if !defined(RADIOLIB_INTERRUPT_TIMING)
+
401  //#define RADIOLIB_INTERRUPT_TIMING
+
402 #endif
+
403 
+
404 /*
+
405  * Uncomment to enable static-only memory management: no dynamic allocation will be performed.
+
406  * Warning: Large static arrays will be created in some methods. It is not advised to send large packets in this mode.
+
407  */
+
408 #if !defined(RADIOLIB_STATIC_ONLY)
+
409  //#define RADIOLIB_STATIC_ONLY
+
410 #endif
+
411 
+
412 // set the size of static arrays to use
+
413 #if !defined(RADIOLIB_STATIC_ARRAY_SIZE)
+
414  #define RADIOLIB_STATIC_ARRAY_SIZE (256)
+
415 #endif
+
416 
+
417 // This only compiles on STM32 boards with SUBGHZ module, but also
+
418 // include when generating docs
+
419 #if (!defined(ARDUINO_ARCH_STM32) || !defined(SUBGHZSPI_BASE)) && !defined(DOXYGEN)
+
420  #define RADIOLIB_EXCLUDE_STM32WLX
+
421 #endif
+
422 
+
423 #if defined(RADIOLIB_DEBUG)
+
424  #if defined(RADIOLIB_BUILD_ARDUINO)
+
425  #define RADIOLIB_DEBUG_PRINT(...) Module::serialPrintf(__VA_ARGS__)
+
426  #define RADIOLIB_DEBUG_PRINTLN(M, ...) Module::serialPrintf(M "\n", ##__VA_ARGS__)
+
427  #else
+
428  #if !defined(RADIOLIB_DEBUG_PRINT)
+
429  #define RADIOLIB_DEBUG_PRINT(...) fprintf(RADIOLIB_DEBUG_PORT, __VA_ARGS__)
+
430  #endif
+
431  #if !defined(RADIOLIB_DEBUG_PRINTLN)
+
432  #define RADIOLIB_DEBUG_PRINTLN(M, ...) fprintf(RADIOLIB_DEBUG_PORT, M "\n", ##__VA_ARGS__)
+
433  #endif
+
434  #endif
+
435 #else
+
436  #define RADIOLIB_DEBUG_PRINT(...) {}
+
437  #define RADIOLIB_DEBUG_PRINTLN(...) {}
438 #endif
+
439 
+
440 #if defined(RADIOLIB_VERBOSE)
+
441  #define RADIOLIB_VERBOSE_PRINT(...) RADIOLIB_DEBUG_PRINT(__VA_ARGS__)
+
442  #define RADIOLIB_VERBOSE_PRINTLN(...) RADIOLIB_DEBUG_PRINTLN(__VA_ARGS__)
+
443 #else
+
444  #define RADIOLIB_VERBOSE_PRINT(...) {}
+
445  #define RADIOLIB_VERBOSE_PRINTLN(...) {}
+
446 #endif
+
447 
+
451 #define RADIOLIB_ASSERT(STATEVAR) { if((STATEVAR) != RADIOLIB_ERR_NONE) { return(STATEVAR); } }
+
452 
+
453 
+
457 #if defined(RADIOLIB_CHECK_PARAMS)
+
458  #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) { if(!(((VAR) >= (MIN)) && ((VAR) <= (MAX)))) { return(ERR); } }
+
459 #else
+
460  #define RADIOLIB_CHECK_RANGE(VAR, MIN, MAX, ERR) {}
+
461 #endif
+
462 
+
463 #if defined(RADIOLIB_FIX_ERRATA_SX127X)
+
464  #define RADIOLIB_ERRATA_SX127X(...) { errataFix(__VA_ARGS__); }
+
465 #else
+
466  #define RADIOLIB_ERRATA_SX127X(...) {}
+
467 #endif
+
468 
+
469 // version definitions
+
470 #define RADIOLIB_VERSION_MAJOR (0x05)
+
471 #define RADIOLIB_VERSION_MINOR (0x07)
+
472 #define RADIOLIB_VERSION_PATCH (0x00)
+
473 #define RADIOLIB_VERSION_EXTRA (0x00)
+
474 
+
475 #define RADIOLIB_VERSION ((RADIOLIB_VERSION_MAJOR << 24) | (RADIOLIB_VERSION_MINOR << 16) | (RADIOLIB_VERSION_PATCH << 8) | (RADIOLIB_VERSION_EXTRA))
+
476 
+
477 #endif
diff --git a/_external_radio_8h_source.html b/_external_radio_8h_source.html index 37af3bd1..ed4337ce 100644 --- a/_external_radio_8h_source.html +++ b/_external_radio_8h_source.html @@ -102,7 +102,7 @@ $(document).ready(function(){initNavTree('_external_radio_8h_source.html',''); i
14  #if defined(RADIOLIB_BUILD_ARDUINO)
15  ExternalRadio();
16  #endif
-
17  ExternalRadio(Hal *hal);
+
17  ExternalRadio(RadioLibHal *hal);
18 
19  Module* getMod();
20  private:
@@ -111,9 +111,9 @@ $(document).ready(function(){initNavTree('_external_radio_8h_source.html',''); i
23 
24 #endif
Definition: ExternalRadio.h:12
-
Hardware abstraction library base interface.
Definition: Hal.h:11
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:29
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:14
+
Definition: Hal.h:11
diff --git a/_hal_8h_source.html b/_hal_8h_source.html index 03c7ce97..d697fbee 100644 --- a/_hal_8h_source.html +++ b/_hal_8h_source.html @@ -86,49 +86,110 @@ $(document).ready(function(){initNavTree('_hal_8h_source.html',''); initResizabl
Hal.h
-
1 #include <stdint.h>
-
2 #include <stddef.h>
-
3 #if !defined(_RADIOLIB_HAL_H)
-
4 #define _RADIOLIB_HAL_H
-
5 
-
11 class Hal {
+
1 #if !defined(_RADIOLIB_HAL_H)
+
2 #define _RADIOLIB_HAL_H
+
3 
+
4 #include <stdint.h>
+
5 #include <stddef.h>
+
6 
+
11 class RadioLibHal {
12  public:
-
13  const uint32_t GpioModeInput;
-
14  const uint32_t GpioModeOutput;
-
15  const uint32_t GpioLevelLow;
-
16  const uint32_t GpioLevelHigh;
-
17  const uint32_t GpioInterruptRising;
-
18  const uint32_t GpioInterruptFalling;
-
19 
-
20  Hal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling);
+
13 
+
14  // values for pin modes, levels and change directions
+
15  // these tell RadioLib how are different logic states represented on a given platform
+
16 
+
20  const uint32_t GpioModeInput;
21 
-
22  virtual void init();
-
23  virtual void term();
-
24 
-
25  virtual void pinMode(uint32_t pin, uint32_t mode) = 0;
-
26  virtual void digitalWrite(uint32_t pin, uint32_t value) = 0;
-
27  virtual uint32_t digitalRead(uint32_t pin) = 0;
-
28  virtual void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) = 0;
-
29  virtual void detachInterrupt(uint32_t interruptNum) = 0;
-
30  virtual void delay(unsigned long ms) = 0;
-
31  virtual void delayMicroseconds(unsigned long us) = 0;
-
32  virtual unsigned long millis() = 0;
-
33  virtual unsigned long micros() = 0;
-
34  virtual long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) = 0;
-
35  virtual void spiBegin() = 0;
-
36  virtual void spiBeginTransaction() = 0;
-
37  virtual uint8_t spiTransfer(uint8_t b) = 0;
-
38  virtual void spiEndTransaction() = 0;
-
39  virtual void spiEnd() = 0;
-
40 
-
41  virtual void tone(uint32_t pin, unsigned int frequency, unsigned long duration = 0);
-
42  virtual void noTone(uint32_t pin);
-
43  virtual void yield();
-
44  virtual uint32_t pinToInterrupt(uint32_t pin);
-
45 };
+
25  const uint32_t GpioModeOutput;
+
26 
+
30  const uint32_t GpioLevelLow;
+
31 
+
35  const uint32_t GpioLevelHigh;
+
36 
+
40  const uint32_t GpioInterruptRising;
+
41 
+
45  const uint32_t GpioInterruptFalling;
46 
-
47 #endif
-
Hardware abstraction library base interface.
Definition: Hal.h:11
+
56  RadioLibHal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling);
+
57 
+
58  // pure virtual methods - these must be implemented by the hardware abstraction for RadioLib to function
+
59 
+
66  virtual void pinMode(uint32_t pin, uint32_t mode) = 0;
+
67 
+
74  virtual void digitalWrite(uint32_t pin, uint32_t value) = 0;
+
75 
+
82  virtual uint32_t digitalRead(uint32_t pin) = 0;
+
83 
+
91  virtual void attachInterrupt(uint32_t interruptNum, void (*interruptCb)(void), uint32_t mode) = 0;
+
92 
+
98  virtual void detachInterrupt(uint32_t interruptNum) = 0;
+
99 
+
105  virtual void delay(unsigned long ms) = 0;
+
106 
+
112  virtual void delayMicroseconds(unsigned long us) = 0;
+
113 
+
119  virtual unsigned long millis() = 0;
+
120 
+
126  virtual unsigned long micros() = 0;
+
127 
+
136  virtual long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) = 0;
+
137 
+
141  virtual void spiBegin() = 0;
+
142 
+
146  virtual void spiBeginTransaction() = 0;
+
147 
+
153  virtual uint8_t spiTransfer(uint8_t b) = 0;
+
154 
+
158  virtual void spiEndTransaction() = 0;
+
159 
+
163  virtual void spiEnd() = 0;
+
164 
+
165  // virtual methods - these may or may not exists on a given platform
+
166  // they exist in this implementation, but do nothing
+
167 
+
173  virtual void init();
+
174 
+
180  virtual void term();
+
181 
+
188  virtual void tone(uint32_t pin, unsigned int frequency, unsigned long duration = 0);
+
189 
+
194  virtual void noTone(uint32_t pin);
+
195 
+
199  virtual void yield();
+
200 
+
206  virtual uint32_t pinToInterrupt(uint32_t pin);
+
207 };
+
208 
+
209 #endif
+
Definition: Hal.h:11
+
const uint32_t GpioInterruptFalling
Value to be used as the "falling" GPIO level change direction.
Definition: Hal.h:45
+
virtual uint32_t digitalRead(uint32_t pin)=0
Digital read method. Must be implemented by the platform-specific hardware abstraction!
+
virtual uint8_t spiTransfer(uint8_t b)=0
Method to transfer one byte over SPI.
+
const uint32_t GpioModeOutput
Value to be used as the "output" GPIO direction.
Definition: Hal.h:25
+
virtual void yield()
Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads...
Definition: Hal.cpp:29
+
virtual unsigned long millis()=0
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstrac...
+
const uint32_t GpioModeInput
Value to be used as the "input" GPIO direction.
Definition: Hal.h:20
+
virtual void detachInterrupt(uint32_t interruptNum)=0
Method to detach function from an external interrupt. Must be implemented by the platform-specific ha...
+
virtual uint32_t pinToInterrupt(uint32_t pin)
Function to convert from pin number to interrupt number.
Definition: Hal.cpp:33
+
virtual long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout)=0
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-spe...
+
const uint32_t GpioLevelLow
Value to be used as the "low" GPIO level.
Definition: Hal.h:30
+
const uint32_t GpioLevelHigh
Value to be used as the "high" GPIO level.
Definition: Hal.h:35
+
virtual void spiEnd()=0
SPI termination method.
+
virtual void init()
Module initialization method. This will be called by all radio modules at the beginning of startup....
Definition: Hal.cpp:11
+
virtual void digitalWrite(uint32_t pin, uint32_t value)=0
Digital write method. Must be implemented by the platform-specific hardware abstraction!
+
virtual void spiEndTransaction()=0
Method to end SPI transaction.
+
virtual void noTone(uint32_t pin)
Method to stop producing a tone.
Definition: Hal.cpp:25
+
const uint32_t GpioInterruptRising
Value to be used as the "rising" GPIO level change direction.
Definition: Hal.h:40
+
virtual void delay(unsigned long ms)=0
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
+
virtual void spiBegin()=0
SPI initialization method.
+
virtual void term()
Module termination method. This will be called by all radio modules when the desctructor is called....
Definition: Hal.cpp:15
+
virtual void tone(uint32_t pin, unsigned int frequency, unsigned long duration=0)
Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin.
Definition: Hal.cpp:19
+
virtual void spiBeginTransaction()=0
Method to start SPI transaction.
+
virtual void delayMicroseconds(unsigned long us)=0
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction...
+
RadioLibHal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)
Default constructor.
Definition: Hal.cpp:3
+
virtual unsigned long micros()=0
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstrac...
+
virtual void pinMode(uint32_t pin, uint32_t mode)=0
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific h...
+
virtual void attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0
Method to attach function to an external interrupt. Must be implemented by the platform-specific hard...
diff --git a/_module_8h_source.html b/_module_8h_source.html index 2d6d2874..04204e18 100644 --- a/_module_8h_source.html +++ b/_module_8h_source.html @@ -119,20 +119,20 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
70  };
71 
72  #if defined(RADIOLIB_BUILD_ARDUINO)
-
84  Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio = RADIOLIB_NC);
+
84  Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio = RADIOLIB_NC);
85 
-
101  Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio, SPIClass& spi, SPISettings spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS);
+
101  Module(uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio, SPIClass& spi, SPISettings spiSettings = RADIOLIB_DEFAULT_SPI_SETTINGS);
102  #endif
103 
-
117  Module(Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio = RADIOLIB_NC);
+
117  Module(RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio = RADIOLIB_NC);
118 
-
124  Module(const Module& mod);
+
124  Module(const Module& mod);
125 
131  Module& operator=(const Module& mod);
132 
133  // public member variables
134 
-
135  Hal* hal = NULL;
+
135  RadioLibHal* hal = NULL;
136 
140  uint8_t SPIreadCommand = 0b00000000;
141 
@@ -246,51 +246,51 @@ $(document).ready(function(){initNavTree('_module_8h_source.html',''); initResiz
596 };
597 
598 #endif
-
Hardware abstraction library base interface.
Definition: Hal.h:11
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:29
-
int16_t SPIgetRegValue(uint16_t reg, uint8_t msb=7, uint8_t lsb=0)
SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism...
Definition: Module.cpp:48
+
int16_t SPIgetRegValue(uint16_t reg, uint8_t msb=7, uint8_t lsb=0)
SPI read method that automatically masks unused bits. This method is the preferred SPI read mechanism...
Definition: Module.cpp:49
uint8_t SPIstatusCommand
Basic SPI status read command. Defaults to 0x00.
Definition: Module.h:155
-
int16_t SPIsetRegValue(uint16_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)
Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism.
Definition: Module.cpp:58
+
int16_t SPIsetRegValue(uint16_t reg, uint8_t value, uint8_t msb=7, uint8_t lsb=0, uint8_t checkInterval=2, uint8_t checkMask=0xFF)
Overwrite-safe SPI write method with verification. This method is the preferred SPI write mechanism.
Definition: Module.cpp:59
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:40
-
static uint16_t flipBits16(uint16_t i)
Function to reflect bits within an integer.
Definition: Module.cpp:376
-
Module(Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)
Module constructor.
Definition: Module.cpp:18
+
static uint16_t flipBits16(uint16_t i)
Function to reflect bits within an integer.
Definition: Module.cpp:377
bool SPIstreamType
Whether the SPI interface is stream-type (e.g. SX126x) or register-type (e.g. SX127x)....
Definition: Module.h:166
-
void SPIwriteRegister(uint16_t reg, uint8_t data)
SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be us...
Definition: Module.cpp:126
-
void term()
Terminate low-level module control.
Definition: Module.cpp:43
+
void SPIwriteRegister(uint16_t reg, uint8_t data)
SPI basic write method. Use of this method is reserved for special cases, SPIsetRegValue should be us...
Definition: Module.cpp:127
+
void term()
Terminate low-level module control.
Definition: Module.cpp:44
uint8_t SPInopCommand
Basic SPI no-operation command. Defaults to 0x00.
Definition: Module.h:150
-
void waitForMicroseconds(uint32_t start, uint32_t len)
Wait for time to elapse, either using the microsecond timer, or the TimerFlag. Note that in interrupt...
Definition: Module.cpp:351
-
Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:26
+
void waitForMicroseconds(uint32_t start, uint32_t len)
Wait for time to elapse, either using the microsecond timer, or the TimerFlag. Note that in interrupt...
Definition: Module.cpp:352
+
Module & operator=(const Module &mod)
Overload for assignment operator.
Definition: Module.cpp:27
uint32_t getGpio() const
Access method to get the pin number of second interrupt/GPIO.
Definition: Module.h:434
-
const RfSwitchMode_t * findRfSwitchMode(uint8_t mode) const
Find a mode in the RfSwitchTable.
Definition: Module.cpp:490
+
const RfSwitchMode_t * findRfSwitchMode(uint8_t mode) const
Find a mode in the RfSwitchTable.
Definition: Module.cpp:491
OpMode_t
Definition: Module.h:59
@ MODE_TX
Definition: Module.h:69
@ MODE_IDLE
Definition: Module.h:65
@ MODE_RX
Definition: Module.h:67
@ MODE_END_OF_TABLE
Definition: Module.h:63
-
int16_t SPIcheckStream()
Method to check the result of last SPI stream transfer.
Definition: Module.cpp:218
+
int16_t SPIcheckStream()
Method to check the result of last SPI stream transfer.
Definition: Module.cpp:219
int16_t SPIstreamError
The last recorded SPI stream error.
Definition: Module.h:171
-
int16_t SPIwriteStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a write transaction with SPI stream.
Definition: Module.cpp:201
-
void SPItransfer(uint8_t cmd, uint16_t reg, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes)
SPI single transfer method.
Definition: Module.cpp:135
-
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:468
-
static uint8_t flipBits(uint8_t b)
Function to reflect bits within a byte.
Definition: Module.cpp:369
+
int16_t SPIwriteStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a write transaction with SPI stream.
Definition: Module.cpp:202
+
void SPItransfer(uint8_t cmd, uint16_t reg, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes)
SPI single transfer method.
Definition: Module.cpp:136
+
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:469
+
static uint8_t flipBits(uint8_t b)
Function to reflect bits within a byte.
Definition: Module.cpp:370
+
Module(RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)
Module constructor.
Definition: Module.cpp:19
uint8_t SPIreadCommand
Basic SPI read command. Defaults to 0x00.
Definition: Module.h:140
-
void SPIreadRegisterBurst(uint16_t reg, size_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:97
+
void SPIreadRegisterBurst(uint16_t reg, size_t numBytes, uint8_t *inBytes)
SPI burst read method.
Definition: Module.cpp:98
int16_t(* SPIparseStatusCb_t)(uint8_t in)
SPI status parsing callback typedef.
Definition: Module.h:176
-
uint8_t SPIreadRegister(uint16_t reg)
SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be use...
Definition: Module.cpp:106
+
uint8_t SPIreadRegister(uint16_t reg)
SPI basic read method. Use of this method is reserved for special cases, SPIgetRegValue should be use...
Definition: Module.cpp:107
uint32_t getCs() const
Access method to get the pin number of SPI chip select.
Definition: Module.h:413
uint32_t getIrq() const
Access method to get the pin number of interrupt/GPIO.
Definition: Module.h:420
-
int16_t SPIreadStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a read transaction with SPI stream.
Definition: Module.cpp:184
-
void regdump(uint16_t start, size_t len)
Function to dump device registers as hex into the debug port.
Definition: Module.cpp:429
+
int16_t SPIreadStream(uint8_t cmd, uint8_t *data, size_t numBytes, bool waitForGpio=true, bool verify=true)
Method to perform a read transaction with SPI stream.
Definition: Module.cpp:185
+
void regdump(uint16_t start, size_t len)
Function to dump device registers as hex into the debug port.
Definition: Module.cpp:430
uint8_t SPIaddrWidth
SPI address width. Defaults to 8, currently only supports 8 and 16-bit addresses.
Definition: Module.h:160
-
void setRfSwitchTable(const uint32_t(&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:483
-
int16_t SPItransferStream(uint8_t *cmd, uint8_t cmdLen, bool write, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes, bool waitForGpio, uint32_t timeout)
SPI single transfer method for modules with stream-type SPI interface (SX126x, SX128x etc....
Definition: Module.cpp:237
-
static void hexdump(uint8_t *data, size_t len, uint32_t offset=0, uint8_t width=1, bool be=false)
Function to dump data as hex into the debug port.
Definition: Module.cpp:384
-
void init()
Initialize low-level module control.
Definition: Module.cpp:37
+
void setRfSwitchTable(const uint32_t(&pins)[RFSWITCH_MAX_PINS], const RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Module.cpp:484
+
int16_t SPItransferStream(uint8_t *cmd, uint8_t cmdLen, bool write, uint8_t *dataOut, uint8_t *dataIn, size_t numBytes, bool waitForGpio, uint32_t timeout)
SPI single transfer method for modules with stream-type SPI interface (SX126x, SX128x etc....
Definition: Module.cpp:238
+
static void hexdump(uint8_t *data, size_t len, uint32_t offset=0, uint8_t width=1, bool be=false)
Function to dump data as hex into the debug port.
Definition: Module.cpp:385
+
void init()
Initialize low-level module control.
Definition: Module.cpp:38
uint32_t getRst() const
Access method to get the pin number of hardware reset pin.
Definition: Module.h:427
uint8_t SPIwriteCommand
Basic SPI write command. Defaults to 0x80.
Definition: Module.h:145
-
void SPIwriteRegisterBurst(uint16_t reg, uint8_t *data, size_t numBytes)
SPI burst write method.
Definition: Module.cpp:117
+
void SPIwriteRegisterBurst(uint16_t reg, uint8_t *data, size_t numBytes)
SPI burst write method.
Definition: Module.cpp:118
SPIparseStatusCb_t SPIparseStatusCb
Callback to function that will parse the module-specific status codes to RadioLib status codes....
Definition: Module.h:182
-
void setRfSwitchState(uint8_t mode)
Set RF switch state.
Definition: Module.cpp:500
+
void setRfSwitchState(uint8_t mode)
Set RF switch state.
Definition: Module.cpp:501
+
Definition: Hal.h:11
#define RADIOLIB_ERR_UNKNOWN
There was an unexpected, unknown error. If you see this, something went incredibly wrong....
Definition: TypeDef.h:110
Definition: Module.h:47
diff --git a/annotated.html b/annotated.html index a1b374fe..d2a8000b 100644 --- a/annotated.html +++ b/annotated.html @@ -105,40 +105,41 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();  CnRF24Control class for nRF24 module  CPagerClientClient for Pager communication  CPhysicalLayerProvides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class - CRF69Control class for RF69 module. Also serves as base class for SX1231 - CRFM22Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules - CRFM23Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules - CRFM95Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges - CRFM96Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges - CRFM97Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges - CRFM98Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules - CRTTYClientClient for RTTY communication. The public interface is the same as Arduino Serial - CSi4430Derived class for Si4430 modules - CSi4431Derived class for Si4431 modules - CSi4432Derived class for Si4432 modules - CSi443xBase class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - CSSTVClientClient for SSTV transmissions - CSSTVMode_tStructure to save data about supported SSTV modes - CSTM32WLxDerived class for STM32WL modules - CSTM32WLx_Module - CStm32wlxHal - CSX1231Control class for SX1231 module. Overrides some methods from RF69 due to different register values - CSX1261Derived class for SX1261 modules - CSX1262Derived class for SX1262 modules - CSX1268Derived class for SX1268 modules - CSX126xBase class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - CSX1272Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges - CSX1273Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges - CSX1276Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges - CSX1277Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges - CSX1278Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names) - CSX1279Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges - CSX127xBase class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - CSX1280Derived class for SX1280 modules - CSX1281Derived class for SX1281 modules - CSX1282Derived class for SX1282 modules - CSX128xBase class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - Ctone_tStructure to save data about tone + CRadioLibHal + CRF69Control class for RF69 module. Also serves as base class for SX1231 + CRFM22Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules + CRFM23Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules + CRFM95Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges + CRFM96Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges + CRFM97Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges + CRFM98Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules + CRTTYClientClient for RTTY communication. The public interface is the same as Arduino Serial + CSi4430Derived class for Si4430 modules + CSi4431Derived class for Si4431 modules + CSi4432Derived class for Si4432 modules + CSi443xBase class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + CSSTVClientClient for SSTV transmissions + CSSTVMode_tStructure to save data about supported SSTV modes + CSTM32WLxDerived class for STM32WL modules + CSTM32WLx_Module + CStm32wlxHal + CSX1231Control class for SX1231 module. Overrides some methods from RF69 due to different register values + CSX1261Derived class for SX1261 modules + CSX1262Derived class for SX1262 modules + CSX1268Derived class for SX1268 modules + CSX126xBase class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + CSX1272Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges + CSX1273Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges + CSX1276Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges + CSX1277Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges + CSX1278Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names) + CSX1279Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges + CSX127xBase class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + CSX1280Derived class for SX1280 modules + CSX1281Derived class for SX1281 modules + CSX1282Derived class for SX1282 modules + CSX128xBase class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + Ctone_tStructure to save data about tone diff --git a/annotated_dup.js b/annotated_dup.js index 6236c53f..15f8e55c 100644 --- a/annotated_dup.js +++ b/annotated_dup.js @@ -7,7 +7,7 @@ var annotated_dup = [ "CC1101", "class_c_c1101.html", "class_c_c1101" ], [ "ExternalRadio", "class_external_radio.html", "class_external_radio" ], [ "FSK4Client", "class_f_s_k4_client.html", "class_f_s_k4_client" ], - [ "Hal", "class_hal.html", "class_hal" ], + [ "Hal", "class_hal.html", null ], [ "HellClient", "class_hell_client.html", "class_hell_client" ], [ "ITA2String", "class_i_t_a2_string.html", "class_i_t_a2_string" ], [ "LLCC68", "class_l_l_c_c68.html", "class_l_l_c_c68" ], @@ -16,6 +16,7 @@ var annotated_dup = [ "nRF24", "classn_r_f24.html", "classn_r_f24" ], [ "PagerClient", "class_pager_client.html", "class_pager_client" ], [ "PhysicalLayer", "class_physical_layer.html", "class_physical_layer" ], + [ "RadioLibHal", "class_radio_lib_hal.html", "class_radio_lib_hal" ], [ "RF69", "class_r_f69.html", "class_r_f69" ], [ "RFM22", "class_r_f_m22.html", null ], [ "RFM23", "class_r_f_m23.html", null ], diff --git a/class_external_radio-members.html b/class_external_radio-members.html index 5e29cea2..df965821 100644 --- a/class_external_radio-members.html +++ b/class_external_radio-members.html @@ -92,7 +92,7 @@ $(document).ready(function(){initNavTree('class_external_radio.html',''); initRe available()PhysicalLayer clearDio1Action()PhysicalLayervirtual dropSync()PhysicalLayer - ExternalRadio(Hal *hal) (defined in ExternalRadio)ExternalRadio + ExternalRadio(RadioLibHal *hal) (defined in ExternalRadio)ExternalRadio finishTransmit()PhysicalLayervirtual getFreqStep() constPhysicalLayer getMod() (defined in ExternalRadio)ExternalRadiovirtual diff --git a/class_external_radio.html b/class_external_radio.html index e9d814fa..0522d91f 100644 --- a/class_external_radio.html +++ b/class_external_radio.html @@ -101,9 +101,9 @@ Inheritance diagram for ExternalRadio: - - + + diff --git a/class_external_radio.js b/class_external_radio.js index 0276b8ec..2595251b 100644 --- a/class_external_radio.js +++ b/class_external_radio.js @@ -1,5 +1,5 @@ var class_external_radio = [ - [ "ExternalRadio", "class_external_radio.html#a6c8b1b1cbd5baa9a3b70eea156649e57", null ], + [ "ExternalRadio", "class_external_radio.html#afcffa04e5da2db85e38bb4ef3505ff2a", null ], [ "getMod", "class_external_radio.html#ae6f8473e407cfcba0e1f07c225b5cb50", null ] ]; \ No newline at end of file diff --git a/class_hal-members.html b/class_hal-members.html deleted file mode 100644 index bee50e89..00000000 --- a/class_hal-members.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -RadioLib: Member List - - - - - - - - - - - - - -
-
-

Public Member Functions

ExternalRadio (Hal *hal)
 
ExternalRadio (RadioLibHal *hal)
 
ModulegetMod ()
 
- - - - - -
-
RadioLib -
-
Universal wireless communication library for Arduino
-
- - - - - - - - - -
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Hal Member List
-
-
- -

This is the complete list of members for Hal, including all inherited members.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0 (defined in Hal)Halpure virtual
delay(unsigned long ms)=0 (defined in Hal)Halpure virtual
delayMicroseconds(unsigned long us)=0 (defined in Hal)Halpure virtual
detachInterrupt(uint32_t interruptNum)=0 (defined in Hal)Halpure virtual
digitalRead(uint32_t pin)=0 (defined in Hal)Halpure virtual
digitalWrite(uint32_t pin, uint32_t value)=0 (defined in Hal)Halpure virtual
GpioInterruptFalling (defined in Hal)Hal
GpioInterruptRising (defined in Hal)Hal
GpioLevelHigh (defined in Hal)Hal
GpioLevelLow (defined in Hal)Hal
GpioModeInput (defined in Hal)Hal
GpioModeOutput (defined in Hal)Hal
Hal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling) (defined in Hal)Hal
init() (defined in Hal)Halvirtual
micros()=0 (defined in Hal)Halpure virtual
millis()=0 (defined in Hal)Halpure virtual
noTone(uint32_t pin) (defined in Hal)Halvirtual
pinMode(uint32_t pin, uint32_t mode)=0 (defined in Hal)Halpure virtual
pinToInterrupt(uint32_t pin) (defined in Hal)Halvirtual
pulseIn(uint32_t pin, uint32_t state, unsigned long timeout)=0 (defined in Hal)Halpure virtual
spiBegin()=0 (defined in Hal)Halpure virtual
spiBeginTransaction()=0 (defined in Hal)Halpure virtual
spiEnd()=0 (defined in Hal)Halpure virtual
spiEndTransaction()=0 (defined in Hal)Halpure virtual
spiTransfer(uint8_t b)=0 (defined in Hal)Halpure virtual
term() (defined in Hal)Halvirtual
tone(uint32_t pin, unsigned int frequency, unsigned long duration=0) (defined in Hal)Halvirtual
yield() (defined in Hal)Halvirtual
-
- - - - diff --git a/class_hal.html b/class_hal.html index 30a8fbc6..e93e3461 100644 --- a/class_hal.html +++ b/class_hal.html @@ -82,12 +82,8 @@ $(document).ready(function(){initNavTree('class_hal.html',''); initResizable();
-
-
Hal Class Referenceabstract
+
Hal Class Reference
@@ -95,102 +91,10 @@ $(document).ready(function(){initNavTree('class_hal.html',''); initResizable(); More...

#include <Hal.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

Hal (const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)
 
-virtual void init ()
 
-virtual void term ()
 
-virtual void pinMode (uint32_t pin, uint32_t mode)=0
 
-virtual void digitalWrite (uint32_t pin, uint32_t value)=0
 
-virtual uint32_t digitalRead (uint32_t pin)=0
 
-virtual void attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0
 
-virtual void detachInterrupt (uint32_t interruptNum)=0
 
-virtual void delay (unsigned long ms)=0
 
-virtual void delayMicroseconds (unsigned long us)=0
 
-virtual unsigned long millis ()=0
 
-virtual unsigned long micros ()=0
 
-virtual long pulseIn (uint32_t pin, uint32_t state, unsigned long timeout)=0
 
-virtual void spiBegin ()=0
 
-virtual void spiBeginTransaction ()=0
 
-virtual uint8_t spiTransfer (uint8_t b)=0
 
-virtual void spiEndTransaction ()=0
 
-virtual void spiEnd ()=0
 
-virtual void tone (uint32_t pin, unsigned int frequency, unsigned long duration=0)
 
-virtual void noTone (uint32_t pin)
 
-virtual void yield ()
 
-virtual uint32_t pinToInterrupt (uint32_t pin)
 
- - - - - - - - - - - - - -

-Public Attributes

-const uint32_t GpioModeInput
 
-const uint32_t GpioModeOutput
 
-const uint32_t GpioLevelLow
 
-const uint32_t GpioLevelHigh
 
-const uint32_t GpioInterruptRising
 
-const uint32_t GpioInterruptFalling
 

Detailed Description

Hardware abstraction library base interface.

-

The documentation for this class was generated from the following files:

The documentation for this class was generated from the following file: diff --git a/class_hal.js b/class_hal.js deleted file mode 100644 index b6eafa72..00000000 --- a/class_hal.js +++ /dev/null @@ -1,31 +0,0 @@ -var class_hal = -[ - [ "Hal", "class_hal.html#a67fbd3c77fefe9a7777742ca0b383d1e", null ], - [ "attachInterrupt", "class_hal.html#a6bd1dd0c708893fd4e884cedcf86ba63", null ], - [ "delay", "class_hal.html#afcb5f5e011782e663f0cf20ca3627d4e", null ], - [ "delayMicroseconds", "class_hal.html#a2f6b462201b6e1f234549ead1d3531d9", null ], - [ "detachInterrupt", "class_hal.html#ace747aae72abaea88161c18b8cad3045", null ], - [ "digitalRead", "class_hal.html#aede141f2fc20436cdd0d67792f08dfd5", null ], - [ "digitalWrite", "class_hal.html#a869281cbba88a04585b41badf57ac072", null ], - [ "init", "class_hal.html#a743f5222813676013a930ec9e8134c83", null ], - [ "micros", "class_hal.html#a3a1a9d42164debed8dfef8e3f70686ce", null ], - [ "millis", "class_hal.html#a6e2f3f43d70b75f897a607032a1d5319", null ], - [ "noTone", "class_hal.html#aeecf4d41b5114bcd4cf0f39e9a95b418", null ], - [ "pinMode", "class_hal.html#ab19d275fa631056adb5d1ea0cb391d56", null ], - [ "pinToInterrupt", "class_hal.html#a74667e5d37b66fb23089baf6a8ab46f5", null ], - [ "pulseIn", "class_hal.html#ae9c293873ff98f372f99aadfee9a7cf3", null ], - [ "spiBegin", "class_hal.html#aeb88575c958f0352c45b2a230207aa7a", null ], - [ "spiBeginTransaction", "class_hal.html#ac9ebdacb76dff0da030708fad1840375", null ], - [ "spiEnd", "class_hal.html#af8854f153ea9a6449d08c345a48e2c07", null ], - [ "spiEndTransaction", "class_hal.html#afa8575028f97c5fc861733440857879d", null ], - [ "spiTransfer", "class_hal.html#a7d81fc5b2ea1c3d451323627b1cfad16", null ], - [ "term", "class_hal.html#a9c0c1310fd492bfff3749008f690a275", null ], - [ "tone", "class_hal.html#a657daf98aafd516bbd001006e3bd731b", null ], - [ "yield", "class_hal.html#a9eba3651d94a90e7640c180193677d7c", null ], - [ "GpioInterruptFalling", "class_hal.html#a20ffb038c341a8ea60fbae77078532f6", null ], - [ "GpioInterruptRising", "class_hal.html#a15bb9e9db67c8a364b887dbf5fd92374", null ], - [ "GpioLevelHigh", "class_hal.html#ab533754267d0e450d9a8ec1732041216", null ], - [ "GpioLevelLow", "class_hal.html#aa35ff3fe6a9336fa6e8e270759b46934", null ], - [ "GpioModeInput", "class_hal.html#a0d7eac02f2da47da2b684acb2f77d2d4", null ], - [ "GpioModeOutput", "class_hal.html#a20b9e2316f1cd433582db53f0671902a", null ] -]; \ No newline at end of file diff --git a/class_module-members.html b/class_module-members.html index 5d760217..607b640d 100644 --- a/class_module-members.html +++ b/class_module-members.html @@ -103,7 +103,7 @@ $(document).ready(function(){initNavTree('class_module.html',''); initResizable( MODE_IDLE enum valueModule MODE_RX enum valueModule MODE_TX enum valueModule - Module(Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)Module + Module(RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)Module Module(const Module &mod)Module operator=(const Module &mod)Module OpMode_t enum nameModule diff --git a/class_module.html b/class_module.html index e53be91b..c7f3a2ff 100644 --- a/class_module.html +++ b/class_module.html @@ -129,9 +129,9 @@ typedef int16_t(* 

Public Member Functions

Module (Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC) - Module constructor. More...
-  + Module (RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC) + Module constructor. More...
+   Module (const Module &mod)  Copy constructor. More...
  @@ -232,9 +232,9 @@ static uint16_t  - - + + @@ -304,8 +304,8 @@ Static Public Attributes

Constructor & Destructor Documentation

- -

◆ Module() [1/2]

+ +

◆ Module() [1/2]

@@ -313,7 +313,7 @@ Static Public Attributes
- + diff --git a/class_module.js b/class_module.js index d30a63c1..2dda511b 100644 --- a/class_module.js +++ b/class_module.js @@ -8,7 +8,7 @@ var class_module = [ "MODE_RX", "class_module.html#a5a67b3a63420d762ecba9448671c99bfa7664838bb0818663f55b3354fec8a18f", null ], [ "MODE_TX", "class_module.html#a5a67b3a63420d762ecba9448671c99bfa269f4bc8ba3eb3d8568feb7b2decf571", null ] ] ], - [ "Module", "class_module.html#a24ec9667744f4f6997e98d0f8b5776fe", null ], + [ "Module", "class_module.html#a817178405f125e068e88bad62aeb6f3b", null ], [ "Module", "class_module.html#a919baf2e46c357ebfcdbc1025b6c551e", null ], [ "findRfSwitchMode", "class_module.html#a5699a937b62ba41387567b4d679b9377", null ], [ "getCs", "class_module.html#aa6cac04c7cb6d5278a318db0966ad1a7", null ], @@ -36,7 +36,7 @@ var class_module = [ "SPIwriteStream", "class_module.html#a74ce586afa403130007a474d3295d762", null ], [ "term", "class_module.html#a45bd514a1f2859d9a867c8f9b13eb332", null ], [ "waitForMicroseconds", "class_module.html#a47978200f7e2e408fb64f506c81cee9f", null ], - [ "hal", "class_module.html#aa6b563cefaacda5518563ff533c6569b", null ], + [ "hal", "class_module.html#a4483f0a39a523dd1b37b467d81418f7d", null ], [ "SPIaddrWidth", "class_module.html#ac19a495026aae62f5c2f089aa1b2b57a", null ], [ "SPInopCommand", "class_module.html#a466112286d19675ca2dbe481358e4365", null ], [ "SPIparseStatusCb", "class_module.html#af6e89e2bc4976e8c5dc42dedda9fa6a2", null ], diff --git a/class_radio_lib_hal-members.html b/class_radio_lib_hal-members.html new file mode 100644 index 00000000..c744e2f1 --- /dev/null +++ b/class_radio_lib_hal-members.html @@ -0,0 +1,129 @@ + + + + + + + +RadioLib: Member List + + + + + + + + + + + + + +
+
+

Public Attributes

-Halhal = NULL
 
+RadioLibHalhal = NULL
 
uint8_t SPIreadCommand = 0b00000000
 Basic SPI read command. Defaults to 0x00.
Module::Module (HalRadioLibHal hal,
+ + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RadioLibHal Member List
+
+
+ +

This is the complete list of members for RadioLibHal, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0RadioLibHalpure virtual
delay(unsigned long ms)=0RadioLibHalpure virtual
delayMicroseconds(unsigned long us)=0RadioLibHalpure virtual
detachInterrupt(uint32_t interruptNum)=0RadioLibHalpure virtual
digitalRead(uint32_t pin)=0RadioLibHalpure virtual
digitalWrite(uint32_t pin, uint32_t value)=0RadioLibHalpure virtual
GpioInterruptFallingRadioLibHal
GpioInterruptRisingRadioLibHal
GpioLevelHighRadioLibHal
GpioLevelLowRadioLibHal
GpioModeInputRadioLibHal
GpioModeOutputRadioLibHal
init()RadioLibHalvirtual
micros()=0RadioLibHalpure virtual
millis()=0RadioLibHalpure virtual
noTone(uint32_t pin)RadioLibHalvirtual
pinMode(uint32_t pin, uint32_t mode)=0RadioLibHalpure virtual
pinToInterrupt(uint32_t pin)RadioLibHalvirtual
pulseIn(uint32_t pin, uint32_t state, unsigned long timeout)=0RadioLibHalpure virtual
RadioLibHal(const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)RadioLibHal
spiBegin()=0RadioLibHalpure virtual
spiBeginTransaction()=0RadioLibHalpure virtual
spiEnd()=0RadioLibHalpure virtual
spiEndTransaction()=0RadioLibHalpure virtual
spiTransfer(uint8_t b)=0RadioLibHalpure virtual
term()RadioLibHalvirtual
tone(uint32_t pin, unsigned int frequency, unsigned long duration=0)RadioLibHalvirtual
yield()RadioLibHalvirtual
+
+ + + + diff --git a/class_radio_lib_hal.html b/class_radio_lib_hal.html new file mode 100644 index 00000000..7e17bd17 --- /dev/null +++ b/class_radio_lib_hal.html @@ -0,0 +1,822 @@ + + + + + + + +RadioLib: RadioLibHal Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RadioLibHal Class Referenceabstract
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 RadioLibHal (const uint32_t input, const uint32_t output, const uint32_t low, const uint32_t high, const uint32_t rising, const uint32_t falling)
 Default constructor. More...
 
virtual void pinMode (uint32_t pin, uint32_t mode)=0
 GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual void digitalWrite (uint32_t pin, uint32_t value)=0
 Digital write method. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual uint32_t digitalRead (uint32_t pin)=0
 Digital read method. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual void attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode)=0
 Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual void detachInterrupt (uint32_t interruptNum)=0
 Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual void delay (unsigned long ms)=0
 Blocking wait function. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual void delayMicroseconds (unsigned long us)=0
 Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual unsigned long millis ()=0
 Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual unsigned long micros ()=0
 Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
 
virtual long pulseIn (uint32_t pin, uint32_t state, unsigned long timeout)=0
 Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction! More...
 
+virtual void spiBegin ()=0
 SPI initialization method.
 
+virtual void spiBeginTransaction ()=0
 Method to start SPI transaction.
 
virtual uint8_t spiTransfer (uint8_t b)=0
 Method to transfer one byte over SPI. More...
 
+virtual void spiEndTransaction ()=0
 Method to end SPI transaction.
 
+virtual void spiEnd ()=0
 SPI termination method.
 
+virtual void init ()
 Module initialization method. This will be called by all radio modules at the beginning of startup. Can be used to e.g., initalize SPI interface.
 
+virtual void term ()
 Module termination method. This will be called by all radio modules when the desctructor is called. Can be used to e.g., stop SPI interface.
 
virtual void tone (uint32_t pin, unsigned int frequency, unsigned long duration=0)
 Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin. More...
 
virtual void noTone (uint32_t pin)
 Method to stop producing a tone. More...
 
+virtual void yield ()
 Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads).
 
virtual uint32_t pinToInterrupt (uint32_t pin)
 Function to convert from pin number to interrupt number. More...
 
+ + + + + + + + + + + + + + + + + + + +

+Public Attributes

+const uint32_t GpioModeInput
 Value to be used as the "input" GPIO direction.
 
+const uint32_t GpioModeOutput
 Value to be used as the "output" GPIO direction.
 
+const uint32_t GpioLevelLow
 Value to be used as the "low" GPIO level.
 
+const uint32_t GpioLevelHigh
 Value to be used as the "high" GPIO level.
 
+const uint32_t GpioInterruptRising
 Value to be used as the "rising" GPIO level change direction.
 
+const uint32_t GpioInterruptFalling
 Value to be used as the "falling" GPIO level change direction.
 
+

Constructor & Destructor Documentation

+ +

◆ RadioLibHal()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RadioLibHal::RadioLibHal (const uint32_t input,
const uint32_t output,
const uint32_t low,
const uint32_t high,
const uint32_t rising,
const uint32_t falling 
)
+
+ +

Default constructor.

+
Parameters
+ + + + + + + +
inputValue to be used as the "input" GPIO direction.
outputValue to be used as the "output" GPIO direction.
lowValue to be used as the "low" GPIO level.
highValue to be used as the "high" GPIO level.
risingValue to be used as the "rising" GPIO level change direction.
fallingValue to be used as the "falling" GPIO level change direction.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ attachInterrupt()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual void RadioLibHal::attachInterrupt (uint32_t interruptNum,
void(*)(void) interruptCb,
uint32_t mode 
)
+
+pure virtual
+
+ +

Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + + + +
interruptNumInterrupt number to attach to (platform-specific).
interruptCbInterrupt service routine to execute.
modeRising/falling mode (platform-specific).
+
+
+ +
+
+ +

◆ delay()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void RadioLibHal::delay (unsigned long ms)
+
+pure virtual
+
+ +

Blocking wait function. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + +
msNumber of milliseconds to wait.
+
+
+ +
+
+ +

◆ delayMicroseconds()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void RadioLibHal::delayMicroseconds (unsigned long us)
+
+pure virtual
+
+ +

Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + +
usNumber of microseconds to wait.
+
+
+ +
+
+ +

◆ detachInterrupt()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void RadioLibHal::detachInterrupt (uint32_t interruptNum)
+
+pure virtual
+
+ +

Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + +
interruptNumInterrupt number to detach from (platform-specific).
+
+
+ +
+
+ +

◆ digitalRead()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual uint32_t RadioLibHal::digitalRead (uint32_t pin)
+
+pure virtual
+
+ +

Digital read method. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + +
pinPin to be changed (platform-specific).
+
+
+
Returns
Value read on the pin (platform-specific).
+ +
+
+ +

◆ digitalWrite()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void RadioLibHal::digitalWrite (uint32_t pin,
uint32_t value 
)
+
+pure virtual
+
+ +

Digital write method. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + + +
pinPin to be changed (platform-specific).
valueValue to set (platform-specific).
+
+
+ +
+
+ +

◆ micros()

+ +
+
+ + + + + +
+ + + + + + + +
virtual unsigned long RadioLibHal::micros ()
+
+pure virtual
+
+ +

Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction!

+
Returns
Number of microseconds since start.
+ +
+
+ +

◆ millis()

+ +
+
+ + + + + +
+ + + + + + + +
virtual unsigned long RadioLibHal::millis ()
+
+pure virtual
+
+ +

Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction!

+
Returns
Number of milliseconds since start.
+ +
+
+ +

◆ noTone()

+ +
+
+ + + + + +
+ + + + + + + + +
void RadioLibHal::noTone (uint32_t pin)
+
+virtual
+
+ +

Method to stop producing a tone.

+
Parameters
+ + +
pinPin which is currently producing the tone.
+
+
+ +
+
+ +

◆ pinMode()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual void RadioLibHal::pinMode (uint32_t pin,
uint32_t mode 
)
+
+pure virtual
+
+ +

GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + + +
pinPin to be changed (platform-specific).
modeMode to be set (platform-specific).
+
+
+ +
+
+ +

◆ pinToInterrupt()

+ +
+
+ + + + + +
+ + + + + + + + +
uint32_t RadioLibHal::pinToInterrupt (uint32_t pin)
+
+virtual
+
+ +

Function to convert from pin number to interrupt number.

+
Parameters
+ + +
pinPin to convert from.
+
+
+
Returns
The interrupt number of a given pin.
+ +
+
+ +

◆ pulseIn()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual long RadioLibHal::pulseIn (uint32_t pin,
uint32_t state,
unsigned long timeout 
)
+
+pure virtual
+
+ +

Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction!

+
Parameters
+ + + + +
pinPin to measure on (platform-specific).
statePin level to monitor (platform-specific).
timeoutTimeout in microseconds.
+
+
+
Returns
Pulse length in microseconds, or 0 if the pulse did not start before timeout.
+ +
+
+ +

◆ spiTransfer()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual uint8_t RadioLibHal::spiTransfer (uint8_t b)
+
+pure virtual
+
+ +

Method to transfer one byte over SPI.

+
Parameters
+ + +
bByte to send.
+
+
+
Returns
Received byte.
+ +
+
+ +

◆ tone()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void RadioLibHal::tone (uint32_t pin,
unsigned int frequency,
unsigned long duration = 0 
)
+
+virtual
+
+ +

Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin.

+
Parameters
+ + + + +
pinPin to be used as the output.
frequencyFrequency of the square wave.
durationDuration of the tone in ms. When set to 0, the tone will be infinite.
+
+
+ +
+
+
The documentation for this class was generated from the following files:
    +
  • src/Hal.h
  • +
  • src/Hal.cpp
  • +
+
+
+ + + + diff --git a/class_radio_lib_hal.js b/class_radio_lib_hal.js new file mode 100644 index 00000000..eef8b434 --- /dev/null +++ b/class_radio_lib_hal.js @@ -0,0 +1,31 @@ +var class_radio_lib_hal = +[ + [ "RadioLibHal", "class_radio_lib_hal.html#ae75a54271cb8bea37d32dd146b9c6513", null ], + [ "attachInterrupt", "class_radio_lib_hal.html#af142f747becacd1e3e13503f79fd5ebe", null ], + [ "delay", "class_radio_lib_hal.html#a8427720749d8c87d17654071dfa5b94e", null ], + [ "delayMicroseconds", "class_radio_lib_hal.html#ad49128a75a3d7abdc68baa302955f3ac", null ], + [ "detachInterrupt", "class_radio_lib_hal.html#a2ddf72a41b3cfbb63ea7ab5362003b56", null ], + [ "digitalRead", "class_radio_lib_hal.html#a0c7c2dffd662cefca7bf11e14c56dab2", null ], + [ "digitalWrite", "class_radio_lib_hal.html#a4db0c60f2f6f64003f04cf0e03fea7ab", null ], + [ "init", "class_radio_lib_hal.html#a450037acdfeb4e87413674ac90feb4d2", null ], + [ "micros", "class_radio_lib_hal.html#aedf55424bc4aa28379b6f4f6b04151d3", null ], + [ "millis", "class_radio_lib_hal.html#a2bc5dbf7c13e6031fb9892075755a023", null ], + [ "noTone", "class_radio_lib_hal.html#a6b5341c59728a1932e33216feee04ea5", null ], + [ "pinMode", "class_radio_lib_hal.html#af01b4e5e01352b99ce4329c9f9f8433b", null ], + [ "pinToInterrupt", "class_radio_lib_hal.html#a300a47d4d43dbe0c624f6e5dc1cf7a00", null ], + [ "pulseIn", "class_radio_lib_hal.html#a35a6ef1b38553a3516c961872eb411d7", null ], + [ "spiBegin", "class_radio_lib_hal.html#aa1f8e5cd323e53ef9fa977734a05d030", null ], + [ "spiBeginTransaction", "class_radio_lib_hal.html#abe787d5e556190eef2c63e1581235460", null ], + [ "spiEnd", "class_radio_lib_hal.html#a41c85e560155d644f5b4ce8444dd8b64", null ], + [ "spiEndTransaction", "class_radio_lib_hal.html#a68d9271c76f8c96afb734a4634bf92e9", null ], + [ "spiTransfer", "class_radio_lib_hal.html#a12facb08577402e50c91c75ca7dd560f", null ], + [ "term", "class_radio_lib_hal.html#aa4f2bd49aea5a19aa9f85c720b4a883e", null ], + [ "tone", "class_radio_lib_hal.html#ab4cc3bef7109f00b77b95e84511b0bb9", null ], + [ "yield", "class_radio_lib_hal.html#a1bd9d614f66b374ec820ce31b167fdb2", null ], + [ "GpioInterruptFalling", "class_radio_lib_hal.html#a01f73b66a632fc9dba41a23f592e0936", null ], + [ "GpioInterruptRising", "class_radio_lib_hal.html#a7ff9f3c608d68575dfc8962ba3669851", null ], + [ "GpioLevelHigh", "class_radio_lib_hal.html#a409c719ef8a11e8765c90e98ba42316d", null ], + [ "GpioLevelLow", "class_radio_lib_hal.html#a3cfca7ff9303fe84119ba2f4a4e1bbf4", null ], + [ "GpioModeInput", "class_radio_lib_hal.html#a2d197fc1f62be4cd2d2c22be30744769", null ], + [ "GpioModeOutput", "class_radio_lib_hal.html#a18a711dd900a796ccfd7dddbdd2e6afe", null ] +]; \ No newline at end of file diff --git a/class_s_t_m32_w_lx___module-members.html b/class_s_t_m32_w_lx___module-members.html index 5fc6772d..3344056b 100644 --- a/class_s_t_m32_w_lx___module-members.html +++ b/class_s_t_m32_w_lx___module-members.html @@ -103,7 +103,7 @@ $(document).ready(function(){initNavTree('class_s_t_m32_w_lx___module.html',''); MODE_IDLE enum valueModule MODE_RX enum valueModule MODE_TX enum valueModule - Module(Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)Module + Module(RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC)Module Module(const Module &mod)Module operator=(const Module &mod)Module OpMode_t enum nameModule diff --git a/class_s_t_m32_w_lx___module.html b/class_s_t_m32_w_lx___module.html index 286d5a5c..ec84aa37 100644 --- a/class_s_t_m32_w_lx___module.html +++ b/class_s_t_m32_w_lx___module.html @@ -114,9 +114,9 @@ typedef int16_t(*  SPI status parsing callback typedef.
  - Public Member Functions inherited from
ModuleModule (Hal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC) - Module constructor. More...
-  + Module (RadioLibHal *hal, uint32_t cs, uint32_t irq, uint32_t rst, uint32_t gpio=RADIOLIB_NC) + Module constructor. More...
+   Module (const Module &mod)  Copy constructor. More...
  @@ -213,9 +213,9 @@ static uint16_t  Function to dump data as hex into the debug port. More...
  - Public Attributes inherited from Module - -Halhal = NULL -  + +RadioLibHalhal = NULL +  uint8_t SPIreadCommand = 0b00000000  Basic SPI read command. Defaults to 0x00.
diff --git a/classes.html b/classes.html index 2adf5b46..5bf0b138 100644 --- a/classes.html +++ b/classes.html @@ -120,7 +120,7 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
PagerClient
PhysicalLayer
R
-
RF69
RFM22
RFM23
RFM95
RFM96
RFM97
RFM98
Module::RfSwitchMode_t
RTTYClient
+
RadioLibHal
RF69
RFM22
RFM23
RFM95
RFM96
RFM97
RFM98
Module::RfSwitchMode_t
RTTYClient
S
Si4430
Si4431
Si4432
Si443x
SSTVClient
SSTVMode_t
STM32WLx
STM32WLx_Module
Stm32wlxHal
SX1231
SX1261
SX1262
SX1268
SX126x
SX1272
SX1273
SX1276
SX1277
SX1278
SX1279
SX127x
SX1280
SX1281
SX1282
SX128x
diff --git a/functions.html b/functions.html index 5760296c..08762ebc 100644 --- a/functions.html +++ b/functions.html @@ -91,6 +91,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
  • APRSClient() : APRSClient
  • +
  • attachInterrupt() +: RadioLibHal +
  • autoLDRO() : SX126x , SX1272 diff --git a/functions_d.html b/functions_d.html index 68db1bf0..e5bd1fcc 100644 --- a/functions_d.html +++ b/functions_d.html @@ -88,12 +88,27 @@ $(document).ready(function(){initNavTree('functions_d.html',''); initResizable()
  • decode() : MorseClient
  • +
  • delay() +: RadioLibHal +
  • +
  • delayMicroseconds() +: RadioLibHal +
  • destCallsign : AX25Frame
  • destSSID : AX25Frame
  • +
  • detachInterrupt() +: RadioLibHal +
  • +
  • digitalRead() +: RadioLibHal +
  • +
  • digitalWrite() +: RadioLibHal +
  • disableAddressFiltering() : CC1101 , RF69 diff --git a/functions_dup.js b/functions_dup.js index f04ccb1a..ed99ce71 100644 --- a/functions_dup.js +++ b/functions_dup.js @@ -21,5 +21,6 @@ var functions_dup = [ "v", "functions_v.html", null ], [ "w", "functions_w.html", null ], [ "x", "functions_x.html", null ], + [ "y", "functions_y.html", null ], [ "~", "functions_~.html", null ] ]; \ No newline at end of file diff --git a/functions_func.html b/functions_func.html index c29ddfef..0c98621b 100644 --- a/functions_func.html +++ b/functions_func.html @@ -91,6 +91,9 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
  • APRSClient() : APRSClient
  • +
  • attachInterrupt() +: RadioLibHal +
  • autoLDRO() : SX126x , SX1272 diff --git a/functions_func.js b/functions_func.js index 58f8dc28..ba5a4ff9 100644 --- a/functions_func.js +++ b/functions_func.js @@ -20,5 +20,6 @@ var functions_func = [ "u", "functions_func_u.html", null ], [ "v", "functions_func_v.html", null ], [ "w", "functions_func_w.html", null ], + [ "y", "functions_func_y.html", null ], [ "~", "functions_func_~.html", null ] ]; \ No newline at end of file diff --git a/functions_func_d.html b/functions_func_d.html index 5d190ce0..7ddecd59 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -88,6 +88,21 @@ $(document).ready(function(){initNavTree('functions_func_d.html',''); initResiza
  • decode() : MorseClient
  • +
  • delay() +: RadioLibHal +
  • +
  • delayMicroseconds() +: RadioLibHal +
  • +
  • detachInterrupt() +: RadioLibHal +
  • +
  • digitalRead() +: RadioLibHal +
  • +
  • digitalWrite() +: RadioLibHal +
  • disableAddressFiltering() : CC1101 , RF69 diff --git a/functions_func_i.html b/functions_func_i.html index 99d2ee61..407f9279 100644 --- a/functions_func_i.html +++ b/functions_func_i.html @@ -98,6 +98,7 @@ $(document).ready(function(){initNavTree('functions_func_i.html',''); initResiza
  • init() : Module +, RadioLibHal
  • invertIQ() : SX126x diff --git a/functions_func_m.html b/functions_func_m.html index dbdff280..44850a9d 100644 --- a/functions_func_m.html +++ b/functions_func_m.html @@ -85,8 +85,14 @@ $(document).ready(function(){initNavTree('functions_func_m.html',''); initResiza  

    - m -