From ae8cf30558a72fdc7b06c9eb15076adfc11db792 Mon Sep 17 00:00:00 2001
From: jgromes
Date: Sun, 20 Oct 2024 17:21:55 +0000
Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=209e7c0?=
=?UTF-8?q?129e6ebe6e026214f2d768abbfbef42ddf5=20=F0=9F=9A=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
_a_f_s_k_8h_source.html | 2 +-
_a_x25_8h_source.html | 2 +-
_arduino_hal_8h_source.html | 4 +-
_bell_modem_8h_source.html | 139 ++--
_c_r_c_8h_source.html | 73 +-
_esp_hal_8h_source.html | 442 ++++++++++++
_external_radio_8h_source.html | 71 +-
_f_e_c_8h_source.html | 143 ++--
_physical_layer_8h_source.html | 2 +-
_pi_hal_8h_source.html | 378 +++++++++++
_pico_hal_8h_source.html | 320 +++++++++
_radio_lib_8h_source.html | 2 +-
_s_s_t_v_8h_source.html | 4 +-
annotated.html | 161 ++---
annotated_dup.js | 5 +
class_esp_hal-members.html | 131 ++++
class_esp_hal.html | 689 +++++++++++++++++++
class_esp_hal.js | 22 +
class_esp_hal.png | Bin 0 -> 413 bytes
class_pi_hal-members.html | 134 ++++
class_pi_hal.html | 793 ++++++++++++++++++++++
class_pi_hal.js | 28 +
class_pi_hal.png | Bin 0 -> 390 bytes
class_pico_hal-members.html | 130 ++++
class_pico_hal.html | 776 +++++++++++++++++++++
class_pico_hal.js | 24 +
class_pico_hal.png | Bin 0 -> 403 bytes
class_radio_lib_hal.html | 38 ++
class_radio_lib_hal.png | Bin 0 -> 787 bytes
class_tock_hal-members.html | 130 ++++
class_tock_hal.html | 683 +++++++++++++++++++
class_tock_hal.js | 22 +
class_tock_hal.png | Bin 0 -> 398 bytes
classes.html | 8 +-
dir_30853400b6db7af39e226a1753b74ea8.html | 99 +++
dir_30853400b6db7af39e226a1753b74ea8.js | 4 +
dir_37339554426109e2d8ccf60377066027.html | 99 +++
dir_37339554426109e2d8ccf60377066027.js | 4 +
dir_4ce6a7f885e2866a554ba9e7335035f1.html | 103 +++
dir_4ce6a7f885e2866a554ba9e7335035f1.js | 8 +
dir_579180bd971eee1f05830d753d08dc5f.html | 99 +++
dir_579180bd971eee1f05830d753d08dc5f.js | 4 +
dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +
dir_68267d1309a1af8e8297ef4c3efbcdba.js | 2 +-
dir_7ef350de8c4f0e886b4a7c961b9767d8.html | 99 +++
dir_7ef350de8c4f0e886b4a7c961b9767d8.js | 4 +
dir_9625b2c02c2ea7ca2abe313a13b9abc5.html | 99 +++
dir_9625b2c02c2ea7ca2abe313a13b9abc5.js | 4 +
files.html | 204 +++---
functions.html | 6 +-
functions_d.html | 30 +-
functions_func.html | 6 +-
functions_func_d.html | 30 +-
functions_func_i.html | 6 +-
functions_func_m.html | 12 +-
functions_func_n.html | 2 +
functions_func_p.html | 12 +-
functions_func_s.html | 74 +-
functions_func_t.html | 24 +-
functions_func_y.html | 5 +-
functions_g.html | 4 +-
functions_i.html | 6 +-
functions_m.html | 12 +-
functions_n.html | 2 +
functions_p.html | 12 +-
functions_s.html | 66 +-
functions_t.html | 24 +-
functions_vars.html | 2 +-
functions_y.html | 5 +-
hierarchy.html | 15 +-
hierarchy.js | 8 +-
libtock_hal_8h_source.html | 345 ++++++++++
navtreedata.js | 13 +-
navtreeindex0.js | 226 +++---
navtreeindex1.js | 500 +++++++-------
navtreeindex2.js | 500 +++++++-------
navtreeindex3.js | 500 +++++++-------
navtreeindex4.js | 500 +++++++-------
navtreeindex5.js | 228 +++----
navtreeindex6.js | 405 ++++++-----
navtreeindex7.js | 43 ++
search/all_0.js | 8 +-
search/all_10.js | 361 +++++-----
search/all_11.js | 43 +-
search/all_12.js | 8 +-
search/all_13.js | 8 +-
search/all_14.js | 10 +-
search/all_15.js | 2 +-
search/all_16.js | 2 +-
search/all_17.js | 8 +-
search/all_3.js | 12 +-
search/all_4.js | 7 +-
search/all_5.js | 62 +-
search/all_6.js | 116 ++--
search/all_7.js | 8 +-
search/all_8.js | 30 +-
search/all_9.js | 2 +-
search/all_a.js | 90 +--
search/all_b.js | 38 +-
search/all_c.js | 24 +-
search/all_d.js | 8 +-
search/all_e.js | 40 +-
search/all_f.js | 314 ++++-----
search/classes_0.js | 8 +-
search/classes_1.js | 4 +-
search/classes_2.js | 6 +-
search/classes_3.js | 2 +-
search/classes_4.js | 3 +-
search/classes_5.js | 4 +-
search/classes_6.js | 2 +-
search/classes_7.js | 2 +-
search/classes_8.js | 48 +-
search/classes_9.js | 4 +-
search/classes_a.js | 2 +-
search/classes_b.js | 6 +-
search/classes_c.js | 32 +-
search/classes_d.js | 55 +-
search/classes_e.js | 3 +-
search/defines_0.js | 6 +-
search/enums_0.js | 2 +-
search/enumvalues_0.js | 20 +-
search/files_0.js | 16 +-
search/functions_0.js | 20 +-
search/functions_1.js | 22 +-
search/functions_10.js | 12 +-
search/functions_11.js | 6 +-
search/functions_12.js | 4 +-
search/functions_13.js | 6 +-
search/functions_14.js | 2 +-
search/functions_15.js | 8 +-
search/functions_2.js | 44 +-
search/functions_3.js | 30 +-
search/functions_4.js | 16 +-
search/functions_5.js | 14 +-
search/functions_6.js | 105 +--
search/functions_7.js | 2 +-
search/functions_8.js | 18 +-
search/functions_9.js | 14 +-
search/functions_a.js | 8 +-
search/functions_b.js | 4 +-
search/functions_c.js | 2 +-
search/functions_d.js | 14 +-
search/functions_e.js | 36 +-
search/functions_f.js | 310 ++++-----
search/groups_0.js | 2 +-
search/groups_1.js | 2 +-
search/groups_2.js | 2 +-
search/groups_3.js | 4 +-
search/groups_4.js | 4 +-
search/groups_5.js | 2 +-
search/pages_0.js | 2 +-
search/pages_1.js | 2 +-
search/typedefs_0.js | 4 +-
search/typedefs_1.js | 4 +-
search/variables_0.js | 8 +-
search/variables_1.js | 16 +-
search/variables_10.js | 34 +-
search/variables_11.js | 24 +-
search/variables_12.js | 2 +-
search/variables_13.js | 4 +-
search/variables_14.js | 4 +-
search/variables_15.js | 2 +-
search/variables_2.js | 26 +-
search/variables_3.js | 38 +-
search/variables_4.js | 6 +-
search/variables_5.js | 46 +-
search/variables_6.js | 14 +-
search/variables_7.js | 6 +-
search/variables_8.js | 14 +-
search/variables_9.js | 2 +-
search/variables_a.js | 20 +-
search/variables_b.js | 8 +-
search/variables_c.js | 20 +-
search/variables_d.js | 4 +-
search/variables_e.js | 20 +-
search/variables_f.js | 26 +-
structtone__t-members.html | 2 +-
structtone__t.html | 14 +-
structtone__t.js | 2 +-
unionspi_clk__t-members.html | 107 +++
unionspi_clk__t.html | 131 ++++
unionspi_clk__t.js | 9 +
182 files changed, 9413 insertions(+), 3160 deletions(-)
create mode 100644 _esp_hal_8h_source.html
create mode 100644 _pi_hal_8h_source.html
create mode 100644 _pico_hal_8h_source.html
create mode 100644 class_esp_hal-members.html
create mode 100644 class_esp_hal.html
create mode 100644 class_esp_hal.js
create mode 100644 class_esp_hal.png
create mode 100644 class_pi_hal-members.html
create mode 100644 class_pi_hal.html
create mode 100644 class_pi_hal.js
create mode 100644 class_pi_hal.png
create mode 100644 class_pico_hal-members.html
create mode 100644 class_pico_hal.html
create mode 100644 class_pico_hal.js
create mode 100644 class_pico_hal.png
create mode 100644 class_radio_lib_hal.png
create mode 100644 class_tock_hal-members.html
create mode 100644 class_tock_hal.html
create mode 100644 class_tock_hal.js
create mode 100644 class_tock_hal.png
create mode 100644 dir_30853400b6db7af39e226a1753b74ea8.html
create mode 100644 dir_30853400b6db7af39e226a1753b74ea8.js
create mode 100644 dir_37339554426109e2d8ccf60377066027.html
create mode 100644 dir_37339554426109e2d8ccf60377066027.js
create mode 100644 dir_4ce6a7f885e2866a554ba9e7335035f1.html
create mode 100644 dir_4ce6a7f885e2866a554ba9e7335035f1.js
create mode 100644 dir_579180bd971eee1f05830d753d08dc5f.html
create mode 100644 dir_579180bd971eee1f05830d753d08dc5f.js
create mode 100644 dir_7ef350de8c4f0e886b4a7c961b9767d8.html
create mode 100644 dir_7ef350de8c4f0e886b4a7c961b9767d8.js
create mode 100644 dir_9625b2c02c2ea7ca2abe313a13b9abc5.html
create mode 100644 dir_9625b2c02c2ea7ca2abe313a13b9abc5.js
create mode 100644 libtock_hal_8h_source.html
create mode 100644 navtreeindex7.js
create mode 100644 unionspi_clk__t-members.html
create mode 100644 unionspi_clk__t.html
create mode 100644 unionspi_clk__t.js
diff --git a/_a_f_s_k_8h_source.html b/_a_f_s_k_8h_source.html
index af4572aa..98f85630 100644
--- a/_a_f_s_k_8h_source.html
+++ b/_a_f_s_k_8h_source.html
@@ -134,7 +134,7 @@ $(document).ready(function(){initNavTree('_a_f_s_k_8h_source.html',''); initResi
int16_t tone(uint16_t freq, bool autoStart=true)
Start transmitting audio tone.
Definition: AFSK.cpp:17
AFSKClient(PhysicalLayer *phy, uint32_t pin)
Default contructor.
Definition: AFSK.cpp:4
Client for AX25 communication.
Definition: AX25.h:233
-Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:57
+Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:54
Client for FSK-4 communication. The public interface is the same as Arduino Serial.
Definition: FSK4.h:15
Client for Hellschreiber transmissions.
Definition: Hellschreiber.h:90
Client for Morse Code communication. The public interface is the same as Arduino Serial.
Definition: Morse.h:93
diff --git a/_a_x25_8h_source.html b/_a_x25_8h_source.html
index 9e6041d4..c3572ba1 100644
--- a/_a_x25_8h_source.html
+++ b/_a_x25_8h_source.html
@@ -284,7 +284,7 @@ $(document).ready(function(){initNavTree('_a_x25_8h_source.html',''); initResiza
uint8_t numRepeaters
Number of repeaters to be used.
Definition: AX25.h:96
uint8_t rcvSeqNumber
Receive sequence number.
Definition: AX25.h:116
uint8_t destSSID
SSID of the destination station.
Definition: AX25.h:81
-Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:57
+Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:54
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:141
diff --git a/_arduino_hal_8h_source.html b/_arduino_hal_8h_source.html
index 05525422..9a93067a 100644
--- a/_arduino_hal_8h_source.html
+++ b/_arduino_hal_8h_source.html
@@ -5,7 +5,7 @@
-RadioLib: src/ArduinoHal.h Source File
+RadioLib: src/hal/Arduino/ArduinoHal.h Source File
@@ -181,7 +181,7 @@ $(document).ready(function(){initNavTree('_arduino_hal_8h_source.html',''); init
diff --git a/_bell_modem_8h_source.html b/_bell_modem_8h_source.html
index 4f952b05..8583fe82 100644
--- a/_bell_modem_8h_source.html
+++ b/_bell_modem_8h_source.html
@@ -91,86 +91,83 @@ $(document).ready(function(){initNavTree('_bell_modem_8h_source.html',''); initR
4 #include "../../TypeDef.h"
5 #include "../../Module.h"
- 6 #if defined(RADIOLIB_BUILD_ARDUINO)
- 7 #include "../../ArduinoHal.h"
-
-
- 10 #if !RADIOLIB_EXCLUDE_BELL
-
- 12 #include "../PhysicalLayer/PhysicalLayer.h"
- 13 #include "../AFSK/AFSK.h"
- 14 #include "../Print/Print.h"
- 15 #include "../Print/ITA2String.h"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 107 size_t write (uint8_t b)
override ;
-
-
-
-
-
- 119 #if !RADIOLIB_GODMODE
-
-
-
- 123 float correction = 1.0;
- 124 uint16_t toneLen = 0;
- 125 bool autoStart =
true ;
-
-
-
-
-
-
+
+ 7 #if !RADIOLIB_EXCLUDE_BELL
+
+ 9 #include "../PhysicalLayer/PhysicalLayer.h"
+ 10 #include "../AFSK/AFSK.h"
+ 11 #include "../Print/Print.h"
+ 12 #include "../Print/ITA2String.h"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 104 size_t write (uint8_t b)
override ;
+
+
+
+
+
+ 116 #if !RADIOLIB_GODMODE
+
+
+
+ 120 float correction = 1.0;
+ 121 uint16_t toneLen = 0;
+ 122 bool autoStart =
true ;
+
+
+
+
+
+
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:16
int16_t begin()
Initialization method.
Definition: AFSK.cpp:13
-Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:57
+Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:54
int16_t setModem(const BellModem_t &modem)
Set Bell modem.
Definition: BellModem.cpp:44
int16_t standby()
Set the modem to standby (transmitter off).
Definition: BellModem.cpp:93
size_t write(uint8_t b) override
Write one byte. Implementation of interface of the RadioLibPrint/Print class.
Definition: BellModem.cpp:55
int16_t setCorrection(float corr)
Set correction coefficient for tone length.
Definition: BellModem.cpp:50
-bool reply
Whether the modem is replying. On some modems, the replying station has different tone frequencies.
Definition: BellModem.h:65
+bool reply
Whether the modem is replying. On some modems, the replying station has different tone frequencies.
Definition: BellModem.h:62
int16_t idle()
Set the modem to idle (ready to transmit).
Definition: BellModem.cpp:88
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:141
Printing class, based on Arduino Print class with additional encodings.
Definition: Print.h:17
-Definition of the Bell-compatible modem.
Definition: BellModem.h:21
-int16_t freqSpace
Frequency of the space tone.
Definition: BellModem.h:30
-int16_t freqSpaceReply
Frequency of the space tone when replying.
Definition: BellModem.h:45
-int16_t baudRate
Baud rate.
Definition: BellModem.h:35
-int16_t freqMarkReply
Frequency of the mark tone when replying.
Definition: BellModem.h:40
-int16_t freqMark
Frequency of the mark tone.
Definition: BellModem.h:25
+Definition of the Bell-compatible modem.
Definition: BellModem.h:18
+int16_t freqSpace
Frequency of the space tone.
Definition: BellModem.h:27
+int16_t freqSpaceReply
Frequency of the space tone when replying.
Definition: BellModem.h:42
+int16_t baudRate
Baud rate.
Definition: BellModem.h:32
+int16_t freqMarkReply
Frequency of the mark tone when replying.
Definition: BellModem.h:37
+int16_t freqMark
Frequency of the mark tone.
Definition: BellModem.h:22
diff --git a/_c_r_c_8h_source.html b/_c_r_c_8h_source.html
index b002a648..92c7f9ff 100644
--- a/_c_r_c_8h_source.html
+++ b/_c_r_c_8h_source.html
@@ -91,47 +91,44 @@ $(document).ready(function(){initNavTree('_c_r_c_8h_source.html',''); initResiza
4 #include "../TypeDef.h"
- 6 #if defined(RADIOLIB_BUILD_ARDUINO)
- 7 #include "../ArduinoHal.h"
-
-
-
- 11 #define RADIOLIB_CRC_CCITT_POLY (0x1021)
- 12 #define RADIOLIB_CRC_CCITT_INIT (0xFFFF)
- 13 #define RADIOLIB_CRC_CCITT_OUT (0xFFFF)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 62 uint32_t
checksum (
const uint8_t* buff,
size_t len);
-
+
+
+ 8 #define RADIOLIB_CRC_CCITT_POLY (0x1021)
+ 9 #define RADIOLIB_CRC_CCITT_INIT (0xFFFF)
+ 10 #define RADIOLIB_CRC_CCITT_OUT (0xFFFF)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 59 uint32_t
checksum (
const uint8_t* buff,
size_t len);
+
+
+
+
-
-
-
-
-Class to calculate CRCs of varying formats.
Definition: CRC.h:19
-uint32_t out
Final XOR value.
Definition: CRC.h:39
+
+Class to calculate CRCs of varying formats.
Definition: CRC.h:16
+uint32_t out
Final XOR value.
Definition: CRC.h:36
RadioLibCRC()
Default constructor.
Definition: CRC.cpp:3
-uint32_t init
Initial value.
Definition: CRC.h:34
+uint32_t init
Initial value.
Definition: CRC.h:31
uint32_t checksum(const uint8_t *buff, size_t len)
Calculate checksum of a buffer.
Definition: CRC.cpp:7
-bool refOut
Whether to reflect the result.
Definition: CRC.h:49
-bool refIn
Whether to reflect input bytes.
Definition: CRC.h:44
-uint8_t size
CRC size in bits.
Definition: CRC.h:24
-uint32_t poly
CRC polynomial.
Definition: CRC.h:29
+bool refOut
Whether to reflect the result.
Definition: CRC.h:46
+bool refIn
Whether to reflect input bytes.
Definition: CRC.h:41
+uint8_t size
CRC size in bits.
Definition: CRC.h:21
+uint32_t poly
CRC polynomial.
Definition: CRC.h:26
diff --git a/_esp_hal_8h_source.html b/_esp_hal_8h_source.html
new file mode 100644
index 00000000..4eed91fe
--- /dev/null
+++ b/_esp_hal_8h_source.html
@@ -0,0 +1,442 @@
+
+
+
+
+
+
+
+RadioLib: src/hal/ESP-IDF/EspHal.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
9 #if CONFIG_IDF_TARGET_ESP32 == 0
+
10 #error Target is not ESP32!
+
+
+
+
14 #include "freertos/FreeRTOS.h"
+
15 #include "freertos/task.h"
+
16 #include "esp32/rom/gpio.h"
+
+
18 #include "soc/dport_reg.h"
+
19 #include "soc/spi_reg.h"
+
20 #include "soc/spi_struct.h"
+
21 #include "driver/gpio.h"
+
22 #include "hal/gpio_hal.h"
+
23 #include "esp_timer.h"
+
+
+
+
+
+
+
+
+
32 #define FALLING (0x02)
+
33 #define NOP() asm volatile ("nop" )
+
+
35 #define MATRIX_DETACH_OUT_SIG (0x100)
+
36 #define MATRIX_DETACH_IN_LOW_PIN (0x30)
+
+
+
39 #define ClkRegToFreq(reg) (apb_freq / (((reg)->clkdiv_pre + 1) * ((reg)->clkcnt_n + 1)))
+
+
+
+
+
+
+
+
47 uint32_t clkdiv_pre: 13;
+
48 uint32_t clk_equ_sysclk: 1;
+
+
+
+
52 uint32_t getApbFrequency() {
+
53 rtc_cpu_freq_config_t conf;
+
54 rtc_clk_cpu_freq_get_config(&conf);
+
+
56 if (conf.freq_mhz >= 80) {
+
+
+
+
60 return ((conf.source_freq_mhz * MHZ) / conf.div);
+
+
+
63 uint32_t spiFrequencyToClockDiv(uint32_t freq) {
+
64 uint32_t apb_freq = getApbFrequency();
+
65 if (freq >= apb_freq) {
+
66 return SPI_CLK_EQU_SYSCLK;
+
+
+
69 const spiClk_t minFreqReg = { 0x7FFFF000 };
+
70 uint32_t minFreq = ClkRegToFreq((
spiClk_t *) &minFreqReg);
+
+
72 return minFreqReg.value;
+
+
+
+
+
+
+
+
+
+
82 int8_t calPreVari = -2;
+
+
+
+
86 while (calPreVari++ <= 1) {
+
87 calPre = (((apb_freq / (reg.clkcnt_n + 1)) / freq) - 1) + calPreVari;
+
+
89 reg.clkdiv_pre = 0x1FFF;
+
90 }
else if (calPre <= 0) {
+
+
+
93 reg.clkdiv_pre = calPre;
+
+
95 reg.clkcnt_l = ((reg.clkcnt_n + 1) / 2);
+
96 calFreq = ClkRegToFreq(®);
+
97 if (calFreq == (int32_t) freq) {
+
98 memcpy(&bestReg, ®,
sizeof (bestReg));
+
+
100 }
else if (calFreq < (int32_t) freq) {
+
101 if (RADIOLIB_ABS(freq - calFreq) < RADIOLIB_ABS(freq - bestFreq)) {
+
+
103 memcpy(&bestReg, ®,
sizeof (bestReg));
+
+
+
+
107 if (calFreq == (int32_t) freq) {
+
+
+
+
+
112 return (bestReg.value);
+
+
+
+
+
+
+
+
+
+
122 EspHal (int8_t sck, int8_t miso, int8_t mosi)
+
123 :
RadioLibHal (INPUT, OUTPUT, LOW, HIGH, RISING, FALLING),
+
124 spiSCK(sck), spiMISO(miso), spiMOSI(mosi) {
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
139 void pinMode (uint32_t pin, uint32_t mode)
override {
+
140 if (pin == RADIOLIB_NC) {
+
+
+
+
144 gpio_hal_context_t gpiohal;
+
145 gpiohal.dev = GPIO_LL_GET_HW(GPIO_PORT_0);
+
+
147 gpio_config_t conf = {
+
148 .pin_bit_mask = (1ULL<<pin),
+
149 .mode = (gpio_mode_t)mode,
+
150 .pull_up_en = GPIO_PULLUP_DISABLE,
+
151 .pull_down_en = GPIO_PULLDOWN_DISABLE,
+
152 .intr_type = (gpio_int_type_t)gpiohal.dev->pin[pin].int_type,
+
+
+
+
+
+
158 if (pin == RADIOLIB_NC) {
+
+
+
+
162 gpio_set_level((gpio_num_t)pin, value);
+
+
+
+
166 if (pin == RADIOLIB_NC) {
+
+
+
+
170 return (gpio_get_level((gpio_num_t)pin));
+
+
+
173 void attachInterrupt (uint32_t interruptNum,
void (*interruptCb)(
void ), uint32_t mode)
override {
+
174 if (interruptNum == RADIOLIB_NC) {
+
+
+
+
178 gpio_install_isr_service((
int )ESP_INTR_FLAG_IRAM);
+
179 gpio_set_intr_type((gpio_num_t)interruptNum, (gpio_int_type_t)(mode & 0x7));
+
+
+
+
183 gpio_isr_handler_add((gpio_num_t)interruptNum, (
void (*)(
void *))interruptCb, NULL);
+
+
+
+
187 if (interruptNum == RADIOLIB_NC) {
+
+
+
+
191 gpio_isr_handler_remove((gpio_num_t)interruptNum);
+
192 gpio_wakeup_disable((gpio_num_t)interruptNum);
+
193 gpio_set_intr_type((gpio_num_t)interruptNum, GPIO_INTR_DISABLE);
+
+
+
196 void delay (
unsigned long ms)
override {
+
197 vTaskDelay(ms / portTICK_PERIOD_MS);
+
+
+
+
201 uint64_t m = (uint64_t)esp_timer_get_time();
+
+
203 uint64_t e = (m + us);
+
+
205 while ((uint64_t)esp_timer_get_time() > e) {
+
+
+
+
209 while ((uint64_t)esp_timer_get_time() < e) {
+
+
+
+
+
+
+
216 return ((
unsigned long )(esp_timer_get_time() / 1000ULL));
+
+
+
+
220 return ((
unsigned long )(esp_timer_get_time()));
+
+
+
223 long pulseIn (uint32_t pin, uint32_t state,
unsigned long timeout)
override {
+
224 if (pin == RADIOLIB_NC) {
+
+
+
+
+
229 uint32_t start = this->
micros ();
+
230 uint32_t curtick = this->
micros ();
+
+
+
233 if ((this->
micros () - curtick) > timeout) {
+
+
+
+
+
238 return (this->
micros () - start);
+
+
+
+
+
243 DPORT_SET_PERI_REG_MASK(DPORT_PERIP_CLK_EN_REG, DPORT_SPI2_CLK_EN);
+
244 DPORT_CLEAR_PERI_REG_MASK(DPORT_PERIP_RST_EN_REG, DPORT_SPI2_RST);
+
+
+
247 this->spi->slave.trans_done = 0;
+
248 this->spi->slave.val = 0;
+
249 this->spi->pin.val = 0;
+
250 this->spi->user.val = 0;
+
251 this->spi->user1.val = 0;
+
252 this->spi->ctrl.val = 0;
+
253 this->spi->ctrl1.val = 0;
+
254 this->spi->ctrl2.val = 0;
+
255 this->spi->clock.val = 0;
+
256 this->spi->user.usr_mosi = 1;
+
257 this->spi->user.usr_miso = 1;
+
258 this->spi->user.doutdin = 1;
+
259 for (uint8_t i = 0; i < 16; i++) {
+
260 this->spi->data_buf[i] = 0x00000000;
+
+
+
+
264 this->spi->pin.ck_idle_edge = 0;
+
265 this->spi->user.ck_out_edge = 0;
+
+
+
268 this->spi->ctrl.wr_bit_order = 0;
+
269 this->spi->ctrl.rd_bit_order = 0;
+
+
+
272 this->spi->clock.val = spiFrequencyToClockDiv(2000000);
+
+
+
275 this->
pinMode (this->spiSCK, OUTPUT);
+
276 this->
pinMode (this->spiMISO, INPUT);
+
277 this->
pinMode (this->spiMOSI, OUTPUT);
+
278 gpio_matrix_out(this->spiSCK, HSPICLK_OUT_IDX,
false ,
false );
+
279 gpio_matrix_in(this->spiMISO, HSPIQ_OUT_IDX,
false );
+
280 gpio_matrix_out(this->spiMOSI, HSPID_IN_IDX,
false ,
false );
+
+
+
+
+
+
+
+
288 uint8_t spiTransferByte(uint8_t b) {
+
289 this->spi->mosi_dlen.usr_mosi_dbitlen = 7;
+
290 this->spi->miso_dlen.usr_miso_dbitlen = 7;
+
291 this->spi->data_buf[0] = b;
+
292 this->spi->cmd.usr = 1;
+
293 while (this->spi->cmd.usr);
+
294 return (this->spi->data_buf[0] & 0xFF);
+
+
+
+
298 for (
size_t i = 0; i < len; i++) {
+
299 in[i] = this->spiTransferByte(out[i]);
+
+
+
+
+
+
+
+
+
+
309 gpio_matrix_out(this->spiSCK, MATRIX_DETACH_OUT_SIG,
false ,
false );
+
310 gpio_matrix_in(this->spiMISO, MATRIX_DETACH_IN_LOW_PIN,
false );
+
311 gpio_matrix_out(this->spiMOSI, MATRIX_DETACH_OUT_SIG,
false ,
false );
+
+
+
+
+
+
+
+
319 spi_dev_t * spi = (
volatile spi_dev_t *)(DR_REG_SPI2_BASE);
+
+
+
+
+
long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-spe...
Definition: EspHal.h:223
+
void attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) override
Method to attach function to an external interrupt. Must be implemented by the platform-specific hard...
Definition: EspHal.h:173
+
unsigned long micros() override
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstrac...
Definition: EspHal.h:219
+
uint32_t digitalRead(uint32_t pin) override
Digital read method. Must be implemented by the platform-specific hardware abstraction!
Definition: EspHal.h:165
+
void spiBeginTransaction()
Method to start SPI transaction.
Definition: EspHal.h:283
+
void spiEndTransaction()
Method to end SPI transaction.
Definition: EspHal.h:303
+
unsigned long millis() override
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstrac...
Definition: EspHal.h:215
+
void pinMode(uint32_t pin, uint32_t mode) override
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific h...
Definition: EspHal.h:139
+
void detachInterrupt(uint32_t interruptNum) override
Method to detach function from an external interrupt. Must be implemented by the platform-specific ha...
Definition: EspHal.h:186
+
void delay(unsigned long ms) override
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
Definition: EspHal.h:196
+
void term() override
Module termination method. This will be called by all radio modules when the destructor is called....
Definition: EspHal.h:132
+
void delayMicroseconds(unsigned long us) override
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction...
Definition: EspHal.h:200
+
void digitalWrite(uint32_t pin, uint32_t value) override
Digital write method. Must be implemented by the platform-specific hardware abstraction!
Definition: EspHal.h:157
+
void init() override
Module initialization method. This will be called by all radio modules at the beginning of startup....
Definition: EspHal.h:127
+
void spiBegin()
SPI initialization method.
Definition: EspHal.h:241
+
void spiEnd()
SPI termination method.
Definition: EspHal.h:307
+
void spiTransfer(uint8_t *out, size_t len, uint8_t *in)
Method to transfer buffer over SPI.
Definition: EspHal.h:297
+
Hardware abstraction library base interface.
Definition: Hal.h:13
+
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
+
+
+
+
+
+
+
diff --git a/_external_radio_8h_source.html b/_external_radio_8h_source.html
index 721f8867..f7e83f4b 100644
--- a/_external_radio_8h_source.html
+++ b/_external_radio_8h_source.html
@@ -91,43 +91,40 @@ $(document).ready(function(){initNavTree('_external_radio_8h_source.html',''); i
4 #include "../../TypeDef.h"
5 #include "../../Module.h"
- 6 #if defined(RADIOLIB_BUILD_ARDUINO)
- 7 #include "../../ArduinoHal.h"
-
-
- 10 #include "../PhysicalLayer/PhysicalLayer.h"
-
-
-
- 18 #if defined(RADIOLIB_BUILD_ARDUINO)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Class to interface with external radio hardware.
Definition: ExternalRadio.h:16
+
+ 7 #include "../PhysicalLayer/PhysicalLayer.h"
+
+
+
+ 15 #if defined(RADIOLIB_BUILD_ARDUINO)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Class to interface with external radio hardware.
Definition: ExternalRadio.h:13
int16_t setFrequencyDeviation(float freqDev) override
Dummy implementation overriding PhysicalLayer.
Definition: ExternalRadio.cpp:44
int16_t transmitDirect(uint32_t frf=0) override
Direct transmission to drive external radio.
Definition: ExternalRadio.cpp:59
~ExternalRadio()
Default destructor.
Definition: ExternalRadio.cpp:34
diff --git a/_f_e_c_8h_source.html b/_f_e_c_8h_source.html
index ef015aca..bb817ab2 100644
--- a/_f_e_c_8h_source.html
+++ b/_f_e_c_8h_source.html
@@ -91,84 +91,81 @@ $(document).ready(function(){initNavTree('_f_e_c_8h_source.html',''); initResiza
4 #include "../TypeDef.h"
- 6 #if defined(RADIOLIB_BUILD_ARDUINO)
- 7 #include "../ArduinoHal.h"
-
-
-
- 11 #define RADIOLIB_PAGER_BCH_N (31)
- 12 #define RADIOLIB_PAGER_BCH_K (21)
- 13 #define RADIOLIB_PAGER_BCH_PRIMITIVE_POLY (0x25)
-
- 15 #if RADIOLIB_STATIC_ONLY
- 16 #define RADIOLIB_BCH_MAX_N (63)
- 17 #define RADIOLIB_BCH_MAX_K (31)
-
-
-
-
-
-
-
-
- 44 void begin (uint8_t n, uint8_t k, uint32_t poly);
-
- 52 uint32_t
encode (uint32_t dataword);
-
-
-
-
-
-
-
- 60 #if RADIOLIB_STATIC_ONLY
- 61 int32_t alphaTo[RADIOLIB_BCH_MAX_N + 1] = { 0 };
- 62 int32_t indexOf[RADIOLIB_BCH_MAX_N + 1] = { 0 };
- 63 int32_t generator[RADIOLIB_BCH_MAX_N - RADIOLIB_BCH_MAX_K + 1] = { 0 };
-
- 65 int32_t* alphaTo =
nullptr ;
- 66 int32_t* indexOf =
nullptr ;
- 67 int32_t* generator =
nullptr ;
-
-
+
+
+ 8 #define RADIOLIB_PAGER_BCH_N (31)
+ 9 #define RADIOLIB_PAGER_BCH_K (21)
+ 10 #define RADIOLIB_PAGER_BCH_PRIMITIVE_POLY (0x25)
+
+ 12 #if RADIOLIB_STATIC_ONLY
+ 13 #define RADIOLIB_BCH_MAX_N (63)
+ 14 #define RADIOLIB_BCH_MAX_K (31)
+
+
+
+
+
+
+
+
+ 41 void begin (uint8_t n, uint8_t k, uint32_t poly);
+
+ 49 uint32_t
encode (uint32_t dataword);
+
+
+
+
+
+
+
+ 57 #if RADIOLIB_STATIC_ONLY
+ 58 int32_t alphaTo[RADIOLIB_BCH_MAX_N + 1] = { 0 };
+ 59 int32_t indexOf[RADIOLIB_BCH_MAX_N + 1] = { 0 };
+ 60 int32_t generator[RADIOLIB_BCH_MAX_N - RADIOLIB_BCH_MAX_K + 1] = { 0 };
+
+ 62 int32_t* alphaTo =
nullptr ;
+ 63 int32_t* indexOf =
nullptr ;
+ 64 int32_t* generator =
nullptr ;
+
+
+
+
+
-
-
-
-
-
-
-
- 124 void begin (uint8_t rt);
-
- 136 int16_t
encode (
const uint8_t* in,
size_t in_bits, uint8_t* out,
size_t * out_bits = NULL);
-
-
- 139 uint8_t enc_state = 0;
-
-
-
-
- 144 static const uint32_t ConvCodeTable1_3[16] = {
- 145 0x07347043, 0x61521625, 0x16256152, 0x70430734,
- 146 0x43703407, 0x25165261, 0x52612516, 0x34074370,
- 147 0x70430734, 0x16256152, 0x61521625, 0x07347043,
- 148 0x34074370, 0x52612516, 0x25165261, 0x43703407,
-
-
- 151 static const uint32_t ConvCodeTable1_2[4] = {
- 152 0x03122130, 0x21300312, 0x30211203, 0x12033021,
-
-
-
-
-
-Class to calculate Bose–Chaudhuri–Hocquenghem (BCH) class of forward error correction codes....
Definition: FEC.h:26
+
+
+
+
+ 121 void begin (uint8_t rt);
+
+ 133 int16_t
encode (
const uint8_t* in,
size_t in_bits, uint8_t* out,
size_t * out_bits = NULL);
+
+
+ 136 uint8_t enc_state = 0;
+
+
+
+
+ 141 static const uint32_t ConvCodeTable1_3[16] = {
+ 142 0x07347043, 0x61521625, 0x16256152, 0x70430734,
+ 143 0x43703407, 0x25165261, 0x52612516, 0x34074370,
+ 144 0x70430734, 0x16256152, 0x61521625, 0x07347043,
+ 145 0x34074370, 0x52612516, 0x25165261, 0x43703407,
+
+
+ 148 static const uint32_t ConvCodeTable1_2[4] = {
+ 149 0x03122130, 0x21300312, 0x30211203, 0x12033021,
+
+
+
+
+
+Class to calculate Bose–Chaudhuri–Hocquenghem (BCH) class of forward error correction codes....
Definition: FEC.h:23
RadioLibBCH()
Default constructor.
Definition: FEC.cpp:4
void begin(uint8_t n, uint8_t k, uint32_t poly)
Initialization method.
Definition: FEC.cpp:21
~RadioLibBCH()
Default destructor.
Definition: FEC.cpp:8
uint32_t encode(uint32_t dataword)
Encoding method - encodes one data word (without check bits) into a code word (with check bits).
Definition: FEC.cpp:200
-Class to perform convolutional coding with variable rates. Only 1/2 and 1/3 rate is currently support...
Definition: FEC.h:113
+Class to perform convolutional coding with variable rates. Only 1/2 and 1/3 rate is currently support...
Definition: FEC.h:110
RadioLibConvCode()
Default constructor.
Definition: FEC.cpp:311
int16_t encode(const uint8_t *in, size_t in_bits, uint8_t *out, size_t *out_bits=NULL)
Encoding method.
Definition: FEC.cpp:320
void begin(uint8_t rt)
Initialization method.
Definition: FEC.cpp:315
diff --git a/_physical_layer_8h_source.html b/_physical_layer_8h_source.html
index cb45f661..93788971 100644
--- a/_physical_layer_8h_source.html
+++ b/_physical_layer_8h_source.html
@@ -376,7 +376,7 @@ $(document).ready(function(){initNavTree('_physical_layer_8h_source.html',''); i
Client for audio-based transmissions. Requires Arduino tone() function, and a module capable of direc...
Definition: AFSK.h:16
Client for AX25 communication.
Definition: AX25.h:233
-Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:57
+Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:54
Client for FSK-4 communication. The public interface is the same as Arduino Serial.
Definition: FSK4.h:15
Client for Hellschreiber transmissions.
Definition: Hellschreiber.h:90
LoRaWAN-compatible node (class A device).
Definition: LoRaWAN.h:533
diff --git a/_pi_hal_8h_source.html b/_pi_hal_8h_source.html
new file mode 100644
index 00000000..7708e5cc
--- /dev/null
+++ b/_pi_hal_8h_source.html
@@ -0,0 +1,378 @@
+
+
+
+
+
+
+
+RadioLib: src/hal/RPi/PiHal.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
10 #define PI_RISING (LG_RISING_EDGE)
+
11 #define PI_FALLING (LG_FALLING_EDGE)
+
+
+
14 #define PI_MAX_USER_GPIO (31)
+
+
+
17 static void lgpioAlertHandler(
int num_alerts, lgGpioAlert_p alerts,
void *userdata);
+
+
+
+
+
+
+
+
+
26 PiHal (uint8_t spiChannel, uint32_t spiSpeed = 2000000, uint8_t spiDevice = 0, uint8_t gpioDevice = 0)
+
27 :
RadioLibHal (PI_INPUT, PI_OUTPUT, LG_LOW, LG_HIGH, PI_RISING, PI_FALLING),
+
28 _gpioDevice(gpioDevice),
+
29 _spiDevice(spiDevice),
+
30 _spiChannel(spiChannel),
+
+
+
+
+
+
36 if ((_gpioHandle = lgGpiochipOpen(_gpioDevice)) < 0) {
+
37 fprintf(stderr,
"Could not open GPIO chip: %s\n" , lguErrorText(_gpioHandle));
+
+
+
+
+
+
+
+
+
+
+
+
+
50 lgGpiochipClose(_gpioHandle);
+
+
+
+
+
55 void pinMode (uint32_t pin, uint32_t mode)
override {
+
56 if (pin == RADIOLIB_NC) {
+
+
+
+
+
+
+
+
64 result = lgGpioClaimInput(_gpioHandle, 0, pin);
+
+
+
67 result = lgGpioClaimOutput(_gpioHandle, flags, pin, LG_HIGH);
+
+
+
70 fprintf(stderr,
"Unknown pinMode mode %" PRIu32
"\n" , mode);
+
+
+
+
+
75 fprintf(stderr,
"Could not claim pin %" PRIu32
" for mode %" PRIu32
": %s\n" ,
+
76 pin, mode, lguErrorText(result));
+
+
+
+
+
81 if (pin == RADIOLIB_NC) {
+
+
+
+
85 int result = lgGpioWrite(_gpioHandle, pin, value);
+
+
87 fprintf(stderr,
"Error writing value to pin %" PRIu32
": %s\n" , pin, lguErrorText(result));
+
+
+
+
+
92 if (pin == RADIOLIB_NC) {
+
+
+
+
96 int result = lgGpioRead(_gpioHandle, pin);
+
+
98 fprintf(stderr,
"Error writing reading from pin %" PRIu32
": %s\n" , pin, lguErrorText(result));
+
+
+
+
+
103 void attachInterrupt (uint32_t interruptNum,
void (*interruptCb)(
void ), uint32_t mode)
override {
+
104 if ((interruptNum == RADIOLIB_NC) || (interruptNum > PI_MAX_USER_GPIO)) {
+
+
+
+
+
109 int result = lgGpioClaimAlert(_gpioHandle, 0, mode, interruptNum, -1);
+
+
111 fprintf(stderr,
"Could not claim pin %" PRIu32
" for alert: %s\n" , interruptNum, lguErrorText(result));
+
+
+
+
+
116 interruptEnabled[interruptNum] =
true ;
+
117 interruptModes[interruptNum] = mode;
+
118 interruptCallbacks[interruptNum] = interruptCb;
+
+
120 lgGpioSetAlertsFunc(_gpioHandle, interruptNum, lgpioAlertHandler, (
void *)
this );
+
+
+
+
124 if ((interruptNum == RADIOLIB_NC) || (interruptNum > PI_MAX_USER_GPIO)) {
+
+
+
+
+
129 interruptEnabled[interruptNum] =
false ;
+
130 interruptModes[interruptNum] = 0;
+
131 interruptCallbacks[interruptNum] = NULL;
+
+
+
134 lgGpioFree(_gpioHandle, interruptNum);
+
135 lgGpioSetAlertsFunc(_gpioHandle, interruptNum, NULL, NULL);
+
+
+
138 void delay (
unsigned long ms)
override {
+
+
+
+
+
+
144 lguSleep(ms / 1000.0);
+
+
+
+
+
+
+
+
+
153 lguSleep(us / 1000000.0);
+
+
+
+
+
+
+
+
161 uint32_t time = lguTimestamp() / 1000000UL;
+
+
+
+
+
166 uint32_t time = lguTimestamp() / 1000UL;
+
+
+
+
170 long pulseIn (uint32_t pin, uint32_t state,
unsigned long timeout)
override {
+
171 if (pin == RADIOLIB_NC) {
+
+
+
+
+
176 uint32_t start = this->
micros ();
+
177 uint32_t curtick = this->
micros ();
+
+
+
180 if ((this->
micros () - curtick) > timeout) {
+
+
+
+
+
185 return (this->
micros () - start);
+
+
+
+
+
190 if ((_spiHandle = lgSpiOpen(_spiDevice, _spiChannel, _spiSpeed, 0)) < 0) {
+
191 fprintf(stderr,
"Could not open SPI handle on 0: %s\n" , lguErrorText(_spiHandle));
+
+
+
+
+
+
+
+
199 int result = lgSpiXfer(_spiHandle, (
char *)out, (
char *)in, len);
+
+
201 fprintf(stderr,
"Could not perform SPI transfer: %s\n" , lguErrorText(result));
+
+
+
+
+
+
+
208 if (_spiHandle >= 0) {
+
209 lgSpiClose(_spiHandle);
+
+
+
+
+
214 void tone (uint32_t pin,
unsigned int frequency,
unsigned long duration = 0) {
+
215 lgTxPwm(_gpioHandle, pin, frequency, 50, 0, duration);
+
+
+
+
219 lgTxPwm(_gpioHandle, pin, 0, 0, 0, 0);
+
+
+
+
223 bool interruptEnabled[PI_MAX_USER_GPIO + 1];
+
224 uint32_t interruptModes[PI_MAX_USER_GPIO + 1];
+
225 typedef void (*RadioLibISR)(void);
+
226 RadioLibISR interruptCallbacks[PI_MAX_USER_GPIO + 1];
+
+
+
+
230 const unsigned int _spiSpeed;
+
231 const uint8_t _gpioDevice;
+
232 const uint8_t _spiDevice;
+
233 const uint8_t _spiChannel;
+
234 int _gpioHandle = -1;
+
+
+
+
+
239 static void lgpioAlertHandler(
int num_alerts, lgGpioAlert_p alerts,
void *userdata) {
+
+
+
+
+
+
+
+
247 for (lgGpioAlert_t *alert = alerts; alert < (alerts + num_alerts); alert++) {
+
248 if ((hal->interruptEnabled[alert->report.gpio]) &&
+
249 (hal->interruptModes[alert->report.gpio] == alert->report.level) &&
+
250 (hal->interruptCallbacks[alert->report.gpio])) {
+
251 hal->interruptCallbacks[alert->report.gpio]();
+
+
+
+
+
+
+
void noTone(uint32_t pin)
Method to stop producing a tone.
Definition: PiHal.h:218
+
unsigned long millis() override
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstrac...
Definition: PiHal.h:160
+
void digitalWrite(uint32_t pin, uint32_t value) override
Digital write method. Must be implemented by the platform-specific hardware abstraction!
Definition: PiHal.h:80
+
long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-spe...
Definition: PiHal.h:170
+
void spiBegin()
SPI initialization method.
Definition: PiHal.h:188
+
void spiEnd()
SPI termination method.
Definition: PiHal.h:207
+
void init() override
Module initialization method. This will be called by all radio modules at the beginning of startup....
Definition: PiHal.h:34
+
void spiEndTransaction()
Method to end SPI transaction.
Definition: PiHal.h:205
+
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: PiHal.h:214
+
void spiTransfer(uint8_t *out, size_t len, uint8_t *in)
Method to transfer buffer over SPI.
Definition: PiHal.h:198
+
unsigned long micros() override
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstrac...
Definition: PiHal.h:165
+
void spiBeginTransaction()
Method to start SPI transaction.
Definition: PiHal.h:196
+
uint32_t digitalRead(uint32_t pin) override
Digital read method. Must be implemented by the platform-specific hardware abstraction!
Definition: PiHal.h:91
+
void delayMicroseconds(unsigned long us) override
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction...
Definition: PiHal.h:147
+
void attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) override
Method to attach function to an external interrupt. Must be implemented by the platform-specific hard...
Definition: PiHal.h:103
+
void pinMode(uint32_t pin, uint32_t mode) override
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific h...
Definition: PiHal.h:55
+
void delay(unsigned long ms) override
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
Definition: PiHal.h:138
+
void term() override
Module termination method. This will be called by all radio modules when the destructor is called....
Definition: PiHal.h:45
+
void yield() override
Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads...
Definition: PiHal.h:156
+
void detachInterrupt(uint32_t interruptNum) override
Method to detach function from an external interrupt. Must be implemented by the platform-specific ha...
Definition: PiHal.h:123
+
Hardware abstraction library base interface.
Definition: Hal.h:13
+
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
+
+
+
+
+
+
diff --git a/_pico_hal_8h_source.html b/_pico_hal_8h_source.html
new file mode 100644
index 00000000..dbbce542
--- /dev/null
+++ b/_pico_hal_8h_source.html
@@ -0,0 +1,320 @@
+
+
+
+
+
+
+
+RadioLib: src/hal/RPiPico/PicoHal.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
8 #include <pico/stdlib.h>
+
9 #include "hardware/spi.h"
+
10 #include "hardware/timer.h"
+
11 #include "hardware/pwm.h"
+
12 #include "hardware/clocks.h"
+
13 #include "pico/multicore.h"
+
+
+
16 unsigned int toneLoopFrequency;
+
17 unsigned long toneLoopDuration;
+
+
+
+
21 #define SLEEP_1200 416.666
+
22 #define SLEEP_2200 227.272
+
+
+
+
+
+
+
29 gpio_set_dir(toneLoopPin, GPIO_OUT);
+
+
+
32 if (toneLoopFrequency == 1200) {
+
33 sleep_dur = SLEEP_1200;
+
34 }
else if (toneLoopFrequency == 2200) {
+
35 sleep_dur = SLEEP_2200;
+
+
37 sleep_dur = 500000 / toneLoopFrequency;
+
+
+
+
+
+
43 gpio_put(toneLoopPin, 1);
+
+
45 gpio_put(toneLoopPin, 0);
+
+
47 tight_loop_contents();
+
+
+
+
+
+
+
+
+
+
57 PicoHal (spi_inst_t *spiChannel, uint32_t misoPin, uint32_t mosiPin, uint32_t sckPin, uint32_t spiSpeed = 500 * 1000)
+
58 :
RadioLibHal (GPIO_IN, GPIO_OUT, 0, 1, GPIO_IRQ_EDGE_RISE, GPIO_IRQ_EDGE_FALL),
+
59 _spiChannel(spiChannel),
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
76 void pinMode (uint32_t pin, uint32_t mode)
override {
+
77 if (pin == RADIOLIB_NC) {
+
+
+
+
+
82 gpio_set_dir(pin, mode);
+
+
+
+
86 if (pin == RADIOLIB_NC) {
+
+
+
+
90 gpio_put(pin, (
bool )value);
+
+
+
+
94 if (pin == RADIOLIB_NC) {
+
+
+
+
+
+
+
101 void attachInterrupt (uint32_t interruptNum,
void (*interruptCb)(
void ), uint32_t mode)
override {
+
102 if (interruptNum == RADIOLIB_NC) {
+
+
+
+
106 gpio_set_irq_enabled_with_callback(interruptNum, GPIO_IRQ_EDGE_RISE | GPIO_IRQ_EDGE_FALL,
true , (gpio_irq_callback_t)interruptCb);
+
+
+
+
110 if (interruptNum == RADIOLIB_NC) {
+
+
+
+
114 gpio_set_irq_enabled_with_callback(interruptNum, GPIO_IRQ_EDGE_RISE | GPIO_IRQ_EDGE_FALL,
false , NULL);
+
+
+
117 void delay (
unsigned long ms)
override {
+
+
+
+
+
+
+
+
+
126 return to_ms_since_boot(get_absolute_time());
+
+
+
+
130 return to_us_since_boot(get_absolute_time());
+
+
+
133 long pulseIn (uint32_t pin, uint32_t state,
unsigned long timeout)
override {
+
134 if (pin == RADIOLIB_NC) {
+
+
+
+
+
139 uint32_t start = this->
micros ();
+
140 uint32_t curtick = this->
micros ();
+
+
+
143 if ((this->
micros () - curtick) > timeout) {
+
+
+
+
+
148 return (this->
micros () - start);
+
+
+
151 void tone (uint32_t pin,
unsigned int frequency,
unsigned long duration = 0)
override {
+
+
153 multicore_reset_core1();
+
+
155 toneLoopFrequency = frequency;
+
156 toneLoopDuration = duration;
+
157 multicore_launch_core1(toneLoop);
+
+
+
+
161 multicore_reset_core1();
+
+
+
+
165 spi_init(_spiChannel, _spiSpeed);
+
166 spi_set_format(_spiChannel, 8, SPI_CPOL_0, SPI_CPHA_0, SPI_MSB_FIRST);
+
+
168 gpio_set_function(_sckPin, GPIO_FUNC_SPI);
+
169 gpio_set_function(_mosiPin, GPIO_FUNC_SPI);
+
170 gpio_set_function(_misoPin, GPIO_FUNC_SPI);
+
+
+
+
+
+
176 spi_write_read_blocking(_spiChannel, out, in, len);
+
+
+
+
180 tight_loop_contents();
+
+
+
+
+
+
186 spi_deinit(_spiChannel);
+
+
+
+
+
191 spi_inst_t *_spiChannel;
+
+
+
+
+
+
+
+
+
void delay(unsigned long ms) override
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
Definition: PicoHal.h:117
+
uint32_t digitalRead(uint32_t pin) override
Digital read method. Must be implemented by the platform-specific hardware abstraction!
Definition: PicoHal.h:93
+
void term() override
Module termination method. This will be called by all radio modules when the destructor is called....
Definition: PicoHal.h:70
+
void spiBeginTransaction()
Method to start SPI transaction.
Definition: PicoHal.h:173
+
void detachInterrupt(uint32_t interruptNum) override
Method to detach function from an external interrupt. Must be implemented by the platform-specific ha...
Definition: PicoHal.h:109
+
unsigned long micros() override
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstrac...
Definition: PicoHal.h:129
+
void spiBegin()
SPI initialization method.
Definition: PicoHal.h:164
+
void delayMicroseconds(unsigned long us) override
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction...
Definition: PicoHal.h:121
+
unsigned long millis() override
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstrac...
Definition: PicoHal.h:125
+
void digitalWrite(uint32_t pin, uint32_t value) override
Digital write method. Must be implemented by the platform-specific hardware abstraction!
Definition: PicoHal.h:85
+
long pulseIn(uint32_t pin, uint32_t state, unsigned long timeout) override
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-spe...
Definition: PicoHal.h:133
+
void attachInterrupt(uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) override
Method to attach function to an external interrupt. Must be implemented by the platform-specific hard...
Definition: PicoHal.h:101
+
void init() override
Module initialization method. This will be called by all radio modules at the beginning of startup....
Definition: PicoHal.h:65
+
void tone(uint32_t pin, unsigned int frequency, unsigned long duration=0) override
Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin.
Definition: PicoHal.h:151
+
void pinMode(uint32_t pin, uint32_t mode) override
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific h...
Definition: PicoHal.h:76
+
void spiEnd()
SPI termination method.
Definition: PicoHal.h:185
+
void spiTransfer(uint8_t *out, size_t len, uint8_t *in)
Method to transfer buffer over SPI.
Definition: PicoHal.h:175
+
void yield() override
Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads...
Definition: PicoHal.h:179
+
void spiEndTransaction()
Method to end SPI transaction.
Definition: PicoHal.h:183
+
void noTone(uint32_t pin) override
Method to stop producing a tone.
Definition: PicoHal.h:160
+
Hardware abstraction library base interface.
Definition: Hal.h:13
+
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
+
+
+
+
+
+
diff --git a/_radio_lib_8h_source.html b/_radio_lib_8h_source.html
index f396566f..5bff4bc0 100644
--- a/_radio_lib_8h_source.html
+++ b/_radio_lib_8h_source.html
@@ -94,7 +94,7 @@ $(document).ready(function(){initNavTree('_radio_lib_8h_source.html',''); initRe
42 #if defined(RADIOLIB_BUILD_ARDUINO)
- 43 #include "ArduinoHal.h"
+ 43 #include "hal/Arduino/ArduinoHal.h"
diff --git a/_s_s_t_v_8h_source.html b/_s_s_t_v_8h_source.html
index 099de1b8..a1667949 100644
--- a/_s_s_t_v_8h_source.html
+++ b/_s_s_t_v_8h_source.html
@@ -132,7 +132,7 @@ $(document).ready(function(){initNavTree('_s_s_t_v_8h_source.html',''); initResi
-
+
@@ -232,7 +232,7 @@ $(document).ready(function(){initNavTree('_s_s_t_v_8h_source.html',''); initResi
Structure to save data about tone.
Definition: SSTV.h:44
uint16_t freq
Frequency of tone in Hz, set to 0 for picture scan tones.
Definition: SSTV.h:64
RadioLibTime_t len
Length of tone in us, set to 0 for picture scan tones.
Definition: SSTV.h:59
-enum tone_t::@1 type
Tone type: GENERIC for sync and porch tones, SCAN_GREEN, SCAN_BLUE and SCAN_RED for scan lines.
+enum tone_t::@3 type
Tone type: GENERIC for sync and porch tones, SCAN_GREEN, SCAN_BLUE and SCAN_RED for scan lines.
diff --git a/annotated.html b/annotated.html
index 34345e96..bb48d845 100644
--- a/annotated.html
+++ b/annotated.html
@@ -98,84 +98,89 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
C CC1101 Control class for CC1101 module
C ChannelScanConfig_t Common channel scan configuration structure
C DataRate_t Common data rate structure
- C ExternalRadio Class to interface with external radio hardware
- C FSK4Client Client for FSK-4 communication. The public interface is the same as Arduino Serial
- C FSKRate_t Data rate structure interpretation in case FSK is used
- C HellClient Client for Hellschreiber transmissions
- C ITA2String ITA2-encoded string
- C LLCC68 Derived class for LLCC68 modules
- C LoRaRate_t Data rate structure interpretation in case LoRa is used
- C LoRaWANBand_t Structure to save information about LoRaWAN band
- C LoRaWANBandNum_t IDs of all currently supported bands
- C LoRaWANChannel_t Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "spans"
- C LoRaWANChannelSpan_t Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "spans"
- C LoRaWANEvent_t Structure to save extra information about uplink/downlink event
- C LoRaWANJoinEvent_t Structure to save extra information about activation event
- C LoRaWANMacCommand_t MAC command specification structure
- C LoRaWANNode LoRaWAN-compatible node (class A device)
- C LR1110 Derived class for LR1110 modules
- C LR1120 Derived class for LR1120 modules
- C LR1121 Derived class for LR1121 modules
- C LR11x0 Base class for LR11x0 series. All derived classes for LR11x0 (e.g. LR1110 or LR1120 ) inherit from this base class. This class should not be instantiated directly from user code, only from its derived classes
- C LR11x0GnssAlmanacStatus_t Structure to save information about the GNSS almanac. This is not the actual almanac, just some context information about it
- C LR11x0GnssAlmanacStatusPart_t Structure to save information about one constellation of the GNSS almanac
- C LR11x0GnssPosition_t Structure to report position from LR11x0 internal solver
- C LR11x0GnssResult_t Structure to report information results of a GNSS scan
- C LR11x0GnssSatellite_t Structure to save information about a satellite found during GNSS scan
- C LR11x0VersionInfo_t Structure to report information about versions of the LR11x0 hardware and firmware
- C LR11x0WifiResult_t Structure to save result of passive WiFi scan. This result only saves the basic information
- C LR11x0WifiResultExtended_t Structure to save result of passive WiFi scan. This result saves additional information alongside that in LR11x0WifiResultFull_t . Only scans performed with RADIOLIB_LR11X0_WIFI_ACQ_MODE_FULL_BEACON acquisition mode can yield this result!
- C LR11x0WifiResultFull_t Structure to save result of passive WiFi scan. This result saves additional information alongside that in LR11x0WifiResult_t
- C LrFhssRate_t Data rate structure interpretation in case LR-FHSS is used
- ▼ C Module Implements all common low-level methods to control the wireless module. Every module class contains one private instance of this class
- C RfSwitchMode_t Description of RF switch pin states for a single mode. See setRfSwitchTable for details
- C SPIConfig_t SPI configuration structure
- C MorseClient Client for Morse Code communication. The public interface is the same as Arduino Serial
- C nRF24 Control class for nRF24 module
- C PagerClient Client for Pager communication
- C PhysicalLayer Provides 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
- C RadioLibAES128 Class to perform AES encryption, decryption and CMAC
- C RadioLibBCH Class to calculate Bose–Chaudhuri–Hocquenghem (BCH) class of forward error correction codes. In theory, this should be able to calculate an arbitrary BCH(N, K) code, but so far it was only tested for BCH(31, 21)
- C RadioLibConvCode Class to perform convolutional coding with variable rates. Only 1/2 and 1/3 rate is currently supported
- C RadioLibCRC Class to calculate CRCs of varying formats
- C RadioLibHal Hardware abstraction library base interface
- C RadioLibPrint Printing class, based on Arduino Print class with additional encodings
- C RF69 Control class for RF69 module. Also serves as base class for SX1231
- C RFM22 Only exists as alias for Si4432 , since there seems to be no difference between RFM22 and Si4432 modules
- C RFM23 Only exists as alias for Si4431 , since there seems to be no difference between RFM23 and Si4431 modules
- C RFM95 Only exists as alias for SX1276 , since there seems to be no difference between RFM95 and SX1276 modules
- C RFM96 Only exists as alias for SX1276 , since there seems to be no difference between RFM96 and SX1276 modules
- C RFM97 Only exists as alias for SX1277 , since there seems to be no difference between RFM97 and SX1277 modules
- C RFM98 Only exists as alias for SX1278 , since there seems to be no difference between RFM98 and SX1278 modules
- C RSSIScanConfig_t Channel scan configuration interpretation in case RSSI threshold is used
- C RTTYClient Client for RTTY communication. The public interface is the same as Arduino Serial
- C Si4430 Derived class for Si4430 modules
- C Si4431 Derived class for Si4431 modules
- C Si4432 Derived class for Si4432 modules
- C Si443x Base 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
- C SSTVClient Client for SSTV transmissions
- C SSTVMode_t Structure to save data about supported SSTV modes
- C STM32WLx Derived class for STM32WL modules
- C STM32WLx_Module
- C Stm32wlxHal Hardware Abstraction Layer for STM32WL
- C SX1231 Control class for SX1231 module. Overrides some methods from RF69 due to different register values
- C SX1233 Control class for SX1233 module. Overrides some methods from SX1231/RF69 due to different register values
- C SX1261 Derived class for SX1261 modules
- C SX1262 Derived class for SX1262 modules
- C SX1268 Derived class for SX1268 modules
- C SX126x Base 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
- C SX1272 Derived class for SX1272 modules. Also used as base class for SX1273 . Both modules use the same basic hardware and only differ in parameter ranges
- C SX1273 Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges
- C SX1276 Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges
- C SX1277 Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges
- C SX1278 Derived 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)
- C SX1279 Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges
- C SX127x Base 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
- C SX1280 Derived class for SX1280 modules
- C SX1281 Derived class for SX1281 modules
- C SX1282 Derived class for SX1282 modules
- C SX128x Base 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
- C tone_t Structure to save data about tone
+ C EspHal
+ C ExternalRadio Class to interface with external radio hardware
+ C FSK4Client Client for FSK-4 communication. The public interface is the same as Arduino Serial
+ C FSKRate_t Data rate structure interpretation in case FSK is used
+ C HellClient Client for Hellschreiber transmissions
+ C ITA2String ITA2-encoded string
+ C LLCC68 Derived class for LLCC68 modules
+ C LoRaRate_t Data rate structure interpretation in case LoRa is used
+ C LoRaWANBand_t Structure to save information about LoRaWAN band
+ C LoRaWANBandNum_t IDs of all currently supported bands
+ C LoRaWANChannel_t Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "spans"
+ C LoRaWANChannelSpan_t Structure to save information about LoRaWAN channels. To save space, adjacent channels are saved in "spans"
+ C LoRaWANEvent_t Structure to save extra information about uplink/downlink event
+ C LoRaWANJoinEvent_t Structure to save extra information about activation event
+ C LoRaWANMacCommand_t MAC command specification structure
+ C LoRaWANNode LoRaWAN-compatible node (class A device)
+ C LR1110 Derived class for LR1110 modules
+ C LR1120 Derived class for LR1120 modules
+ C LR1121 Derived class for LR1121 modules
+ C LR11x0 Base class for LR11x0 series. All derived classes for LR11x0 (e.g. LR1110 or LR1120 ) inherit from this base class. This class should not be instantiated directly from user code, only from its derived classes
+ C LR11x0GnssAlmanacStatus_t Structure to save information about the GNSS almanac. This is not the actual almanac, just some context information about it
+ C LR11x0GnssAlmanacStatusPart_t Structure to save information about one constellation of the GNSS almanac
+ C LR11x0GnssPosition_t Structure to report position from LR11x0 internal solver
+ C LR11x0GnssResult_t Structure to report information results of a GNSS scan
+ C LR11x0GnssSatellite_t Structure to save information about a satellite found during GNSS scan
+ C LR11x0VersionInfo_t Structure to report information about versions of the LR11x0 hardware and firmware
+ C LR11x0WifiResult_t Structure to save result of passive WiFi scan. This result only saves the basic information
+ C LR11x0WifiResultExtended_t Structure to save result of passive WiFi scan. This result saves additional information alongside that in LR11x0WifiResultFull_t . Only scans performed with RADIOLIB_LR11X0_WIFI_ACQ_MODE_FULL_BEACON acquisition mode can yield this result!
+ C LR11x0WifiResultFull_t Structure to save result of passive WiFi scan. This result saves additional information alongside that in LR11x0WifiResult_t
+ C LrFhssRate_t Data rate structure interpretation in case LR-FHSS is used
+ ▼ C Module Implements all common low-level methods to control the wireless module. Every module class contains one private instance of this class
+ C RfSwitchMode_t Description of RF switch pin states for a single mode. See setRfSwitchTable for details
+ C SPIConfig_t SPI configuration structure
+ C MorseClient Client for Morse Code communication. The public interface is the same as Arduino Serial
+ C nRF24 Control class for nRF24 module
+ C PagerClient Client for Pager communication
+ C PhysicalLayer Provides 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
+ C PicoHal
+ C PiHal
+ C RadioLibAES128 Class to perform AES encryption, decryption and CMAC
+ C RadioLibBCH Class to calculate Bose–Chaudhuri–Hocquenghem (BCH) class of forward error correction codes. In theory, this should be able to calculate an arbitrary BCH(N, K) code, but so far it was only tested for BCH(31, 21)
+ C RadioLibConvCode Class to perform convolutional coding with variable rates. Only 1/2 and 1/3 rate is currently supported
+ C RadioLibCRC Class to calculate CRCs of varying formats
+ C RadioLibHal Hardware abstraction library base interface
+ C RadioLibPrint Printing class, based on Arduino Print class with additional encodings
+ C RF69 Control class for RF69 module. Also serves as base class for SX1231
+ C RFM22 Only exists as alias for Si4432 , since there seems to be no difference between RFM22 and Si4432 modules
+ C RFM23 Only exists as alias for Si4431 , since there seems to be no difference between RFM23 and Si4431 modules
+ C RFM95 Only exists as alias for SX1276 , since there seems to be no difference between RFM95 and SX1276 modules
+ C RFM96 Only exists as alias for SX1276 , since there seems to be no difference between RFM96 and SX1276 modules
+ C RFM97 Only exists as alias for SX1277 , since there seems to be no difference between RFM97 and SX1277 modules
+ C RFM98 Only exists as alias for SX1278 , since there seems to be no difference between RFM98 and SX1278 modules
+ C RSSIScanConfig_t Channel scan configuration interpretation in case RSSI threshold is used
+ C RTTYClient Client for RTTY communication. The public interface is the same as Arduino Serial
+ C Si4430 Derived class for Si4430 modules
+ C Si4431 Derived class for Si4431 modules
+ C Si4432 Derived class for Si4432 modules
+ C Si443x Base 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
+ C spiClk_t
+ C SSTVClient Client for SSTV transmissions
+ C SSTVMode_t Structure to save data about supported SSTV modes
+ C STM32WLx Derived class for STM32WL modules
+ C STM32WLx_Module
+ C Stm32wlxHal Hardware Abstraction Layer for STM32WL
+ C SX1231 Control class for SX1231 module. Overrides some methods from RF69 due to different register values
+ C SX1233 Control class for SX1233 module. Overrides some methods from SX1231/RF69 due to different register values
+ C SX1261 Derived class for SX1261 modules
+ C SX1262 Derived class for SX1262 modules
+ C SX1268 Derived class for SX1268 modules
+ C SX126x Base 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
+ C SX1272 Derived class for SX1272 modules. Also used as base class for SX1273 . Both modules use the same basic hardware and only differ in parameter ranges
+ C SX1273 Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges
+ C SX1276 Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges
+ C SX1277 Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges
+ C SX1278 Derived 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)
+ C SX1279 Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges
+ C SX127x Base 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
+ C SX1280 Derived class for SX1280 modules
+ C SX1281 Derived class for SX1281 modules
+ C SX1282 Derived class for SX1282 modules
+ C SX128x Base 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
+ C TockHal
+ C tone_t Structure to save data about tone
diff --git a/annotated_dup.js b/annotated_dup.js
index 0494bf15..f96c36bf 100644
--- a/annotated_dup.js
+++ b/annotated_dup.js
@@ -10,6 +10,7 @@ var annotated_dup =
[ "CC1101", "class_c_c1101.html", "class_c_c1101" ],
[ "ChannelScanConfig_t", "union_channel_scan_config__t.html", "union_channel_scan_config__t" ],
[ "DataRate_t", "union_data_rate__t.html", "union_data_rate__t" ],
+ [ "EspHal", "class_esp_hal.html", "class_esp_hal" ],
[ "ExternalRadio", "class_external_radio.html", "class_external_radio" ],
[ "FSK4Client", "class_f_s_k4_client.html", "class_f_s_k4_client" ],
[ "FSKRate_t", "struct_f_s_k_rate__t.html", "struct_f_s_k_rate__t" ],
@@ -44,6 +45,8 @@ 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" ],
+ [ "PicoHal", "class_pico_hal.html", "class_pico_hal" ],
+ [ "PiHal", "class_pi_hal.html", "class_pi_hal" ],
[ "RadioLibAES128", "class_radio_lib_a_e_s128.html", "class_radio_lib_a_e_s128" ],
[ "RadioLibBCH", "class_radio_lib_b_c_h.html", "class_radio_lib_b_c_h" ],
[ "RadioLibConvCode", "class_radio_lib_conv_code.html", "class_radio_lib_conv_code" ],
@@ -63,6 +66,7 @@ var annotated_dup =
[ "Si4431", "class_si4431.html", "class_si4431" ],
[ "Si4432", "class_si4432.html", "class_si4432" ],
[ "Si443x", "class_si443x.html", "class_si443x" ],
+ [ "spiClk_t", "unionspi_clk__t.html", "unionspi_clk__t" ],
[ "SSTVClient", "class_s_s_t_v_client.html", "class_s_s_t_v_client" ],
[ "SSTVMode_t", "struct_s_s_t_v_mode__t.html", "struct_s_s_t_v_mode__t" ],
[ "STM32WLx", "class_s_t_m32_w_lx.html", "class_s_t_m32_w_lx" ],
@@ -85,5 +89,6 @@ var annotated_dup =
[ "SX1281", "class_s_x1281.html", "class_s_x1281" ],
[ "SX1282", "class_s_x1282.html", "class_s_x1282" ],
[ "SX128x", "class_s_x128x.html", "class_s_x128x" ],
+ [ "TockHal", "class_tock_hal.html", "class_tock_hal" ],
[ "tone_t", "structtone__t.html", "structtone__t" ]
];
\ No newline at end of file
diff --git a/class_esp_hal-members.html b/class_esp_hal-members.html
new file mode 100644
index 00000000..1ce7ac59
--- /dev/null
+++ b/class_esp_hal-members.html
@@ -0,0 +1,131 @@
+
+
+
+
+
+
+
+RadioLib: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for EspHal , including all inherited members.
+
+ attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) overrideEspHal inline virtual
+ delay (unsigned long ms) overrideEspHal inline virtual
+ delayMicroseconds (unsigned long us) overrideEspHal inline virtual
+ detachInterrupt (uint32_t interruptNum) overrideEspHal inline virtual
+ digitalRead (uint32_t pin) overrideEspHal inline virtual
+ digitalWrite (uint32_t pin, uint32_t value) overrideEspHal inline virtual
+ EspHal (int8_t sck, int8_t miso, int8_t mosi) (defined in EspHal )EspHal inline
+ GpioInterruptFalling RadioLibHal
+ GpioInterruptRising RadioLibHal
+ GpioLevelHigh RadioLibHal
+ GpioLevelLow RadioLibHal
+ GpioModeInput RadioLibHal
+ GpioModeOutput RadioLibHal
+ init () overrideEspHal inline virtual
+ micros () overrideEspHal inline virtual
+ millis () overrideEspHal inline virtual
+ noTone (uint32_t pin)RadioLibHal virtual
+ pinMode (uint32_t pin, uint32_t mode) overrideEspHal inline virtual
+ pinToInterrupt (uint32_t pin)RadioLibHal virtual
+ pulseIn (uint32_t pin, uint32_t state, unsigned long timeout) overrideEspHal inline 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 ()EspHal inline virtual
+ spiBeginTransaction ()EspHal inline virtual
+ spiEnd ()EspHal inline virtual
+ spiEndTransaction ()EspHal inline virtual
+ spiTransfer (uint8_t *out, size_t len, uint8_t *in)EspHal inline virtual
+ spiTransferByte (uint8_t b) (defined in EspHal )EspHal inline
+ term () overrideEspHal inline virtual
+ tone (uint32_t pin, unsigned int frequency, RadioLibTime_t duration=0)RadioLibHal virtual
+ yield ()RadioLibHal virtual
+
+
+
+
+
+
diff --git a/class_esp_hal.html b/class_esp_hal.html
new file mode 100644
index 00000000..0fbb11f2
--- /dev/null
+++ b/class_esp_hal.html
@@ -0,0 +1,689 @@
+
+
+
+
+
+
+
+RadioLib: EspHal Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EspHal (int8_t sck, int8_t miso, int8_t mosi)
+
+
+void init () override
+ Module initialization method. This will be called by all radio modules at the beginning of startup. Can be used to e.g., initialize SPI interface.
+
+
+void term () override
+ Module termination method. This will be called by all radio modules when the destructor is called. Can be used to e.g., stop SPI interface.
+
+void pinMode (uint32_t pin, uint32_t mode) override
+ GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction! More...
+
+void digitalWrite (uint32_t pin, uint32_t value) override
+ Digital write method. Must be implemented by the platform-specific hardware abstraction! More...
+
+uint32_t digitalRead (uint32_t pin) override
+ Digital read method. Must be implemented by the platform-specific hardware abstraction! More...
+
+void attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) override
+ Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
+
+void detachInterrupt (uint32_t interruptNum) override
+ Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
+
+void delay (unsigned long ms) override
+ Blocking wait function. Must be implemented by the platform-specific hardware abstraction! More...
+
+void delayMicroseconds (unsigned long us) override
+ Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction! More...
+
+unsigned long millis () override
+ Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
+
+unsigned long micros () override
+ Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
+
+long pulseIn (uint32_t pin, uint32_t state, unsigned long timeout) override
+ Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction! More...
+
+
+void spiBegin ()
+ SPI initialization method.
+
+
+void spiBeginTransaction ()
+ Method to start SPI transaction.
+
+
+uint8_t spiTransferByte (uint8_t b)
+
+void spiTransfer (uint8_t *out, size_t len, uint8_t *in)
+ Method to transfer buffer over SPI. More...
+
+
+void spiEndTransaction ()
+ Method to end SPI transaction.
+
+
+void spiEnd ()
+ SPI termination method.
+
+
+ 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 tone (uint32_t pin, unsigned int frequency, RadioLibTime_t 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...
+
+
+
+
+
+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.
+
+
+
+
+
◆ attachInterrupt()
+
+
+
+
+
+
+
+
+ void EspHal::attachInterrupt
+ (
+ uint32_t
+ interruptNum ,
+
+
+
+
+ void(*)(void)
+ interruptCb ,
+
+
+
+
+ uint32_t
+ mode
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ interruptNum Interrupt number to attach to (platform-specific).
+ interruptCb Interrupt service routine to execute.
+ mode Rising/falling mode (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ delay()
+
+
+
+
+
+
+
+
+ void EspHal::delay
+ (
+ unsigned long
+ ms )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ ms Number of milliseconds to wait.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ delayMicroseconds()
+
+
+
+
+
+
+
+
+ void EspHal::delayMicroseconds
+ (
+ unsigned long
+ us )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ us Number of microseconds to wait.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ detachInterrupt()
+
+
+
+
+
+
+
+
+ void EspHal::detachInterrupt
+ (
+ uint32_t
+ interruptNum )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ interruptNum Interrupt number to detach from (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ digitalRead()
+
+
+
+
+
+
+
+
+ uint32_t EspHal::digitalRead
+ (
+ uint32_t
+ pin )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Digital read method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+
+
+
+
Returns Value read on the pin (platform-specific).
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ digitalWrite()
+
+
+
+
+
+
+
+
+ void EspHal::digitalWrite
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ value
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Digital write method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+ value Value to set (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ micros()
+
+
+
+
+
+
+
+
+ unsigned long EspHal::micros
+ (
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction!
+
Returns Number of microseconds since start.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ millis()
+
+
+
+
+
+
+
+
+ unsigned long EspHal::millis
+ (
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction!
+
Returns Number of milliseconds since start.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ pinMode()
+
+
+
+
+
+
+
+
+ void EspHal::pinMode
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ mode
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+ mode Mode to be set (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ pulseIn()
+
+
+
+
+
+
+
+
+ long EspHal::pulseIn
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ state ,
+
+
+
+
+ unsigned long
+ timeout
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to measure on (platform-specific).
+ state Pin level to monitor (platform-specific).
+ timeout Timeout in microseconds.
+
+
+
+
Returns Pulse length in microseconds, or 0 if the pulse did not start before timeout.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ spiTransfer()
+
+
+
+
+
+
+
+
+ void EspHal::spiTransfer
+ (
+ uint8_t *
+ out ,
+
+
+
+
+ size_t
+ len ,
+
+
+
+
+ uint8_t *
+ in
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Method to transfer buffer over SPI.
+
Parameters
+
+ out Buffer to send.
+ len Number of data to send or receive.
+ in Buffer to save received data into.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
+
diff --git a/class_esp_hal.js b/class_esp_hal.js
new file mode 100644
index 00000000..4dbe0031
--- /dev/null
+++ b/class_esp_hal.js
@@ -0,0 +1,22 @@
+var class_esp_hal =
+[
+ [ "EspHal", "class_esp_hal.html#a8b26da65034128eb18cf1447869ad2a3", null ],
+ [ "attachInterrupt", "class_esp_hal.html#a0ac4296d4bede9dd1d65e3e2fce12985", null ],
+ [ "delay", "class_esp_hal.html#a3f969910c1354d0ad92a7283d4fbc477", null ],
+ [ "delayMicroseconds", "class_esp_hal.html#a7e1183e95e651bcccbed041d28ecedaa", null ],
+ [ "detachInterrupt", "class_esp_hal.html#a3eebb2aef3219a5aba7b21c098b170f8", null ],
+ [ "digitalRead", "class_esp_hal.html#a17a4fcce63fa2f51d9be5ae5d48fc10b", null ],
+ [ "digitalWrite", "class_esp_hal.html#a87444b51d97006fad15779ca5d28367c", null ],
+ [ "init", "class_esp_hal.html#a8d0f76eaeb787f13fe8e938678d44616", null ],
+ [ "micros", "class_esp_hal.html#a14e1e7205a3a0465101eb99bdac86973", null ],
+ [ "millis", "class_esp_hal.html#a3282dda7cf77988e10ff015763b2c582", null ],
+ [ "pinMode", "class_esp_hal.html#a38acd30617d2b0c9b143ea1107ba55f7", null ],
+ [ "pulseIn", "class_esp_hal.html#a02d00f8b2337d39390910f453e140de8", null ],
+ [ "spiBegin", "class_esp_hal.html#a960996535b8a28b59c8b72aeffff1826", null ],
+ [ "spiBeginTransaction", "class_esp_hal.html#a1a552e8a34dcbe532171efd4f1d08ec9", null ],
+ [ "spiEnd", "class_esp_hal.html#ae0c2bcd6d667e475bbaf9ddfc6ebaede", null ],
+ [ "spiEndTransaction", "class_esp_hal.html#a213a813fd83d86105977e1c781381510", null ],
+ [ "spiTransfer", "class_esp_hal.html#afe94bf2e29c22898916b59c00a3dd23f", null ],
+ [ "spiTransferByte", "class_esp_hal.html#a68be165ddc10f3d6f593f00ce6f0aace", null ],
+ [ "term", "class_esp_hal.html#a698f840f9ba329d0fb1cc70a9228e2a9", null ]
+];
\ No newline at end of file
diff --git a/class_esp_hal.png b/class_esp_hal.png
new file mode 100644
index 0000000000000000000000000000000000000000..6716bc287cafd2e8536aa30d948f8ac8a9b33ab8
GIT binary patch
literal 413
zcmeAS@N?(olHy`uVBq!ia0vp^0U*r53?z4+XPOVBBm#UwT>t<74`jZ0^R=}9&;%e0
zj1L?*z}k679?0b=3GxeO04f53tEWPY7#J9JJY5_^Dj46+y*TNx0*7nA#pM70pO{{B
z>shvSV(krCt2+^b{*FoWI}P2u1zla+v)^2h)N&WUzR1~qo3H76SxvWpZB%#z_S2;)$U=we7v2a3LAi;!Z|IQ{vR?E5{%
z%rPlUHkW)HD=T!LzM0Q(c}KM5l-1`LbLGzksFvQ-{2R=$R?R!l*yck2>>}Ndi6{4$
zw&m}tnSJVr@6TsOe}xqetO44!?C)G&MHcJ749Cp{qi>%$p$QC222WQ%mvv4FO#pOy
Btm*&&
literal 0
HcmV?d00001
diff --git a/class_pi_hal-members.html b/class_pi_hal-members.html
new file mode 100644
index 00000000..3ef9490a
--- /dev/null
+++ b/class_pi_hal-members.html
@@ -0,0 +1,134 @@
+
+
+
+
+
+
+
+RadioLib: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for PiHal , including all inherited members.
+
+ attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) overridePiHal inline virtual
+ delay (unsigned long ms) overridePiHal inline virtual
+ delayMicroseconds (unsigned long us) overridePiHal inline virtual
+ detachInterrupt (uint32_t interruptNum) overridePiHal inline virtual
+ digitalRead (uint32_t pin) overridePiHal inline virtual
+ digitalWrite (uint32_t pin, uint32_t value) overridePiHal inline virtual
+ GpioInterruptFalling RadioLibHal
+ GpioInterruptRising RadioLibHal
+ GpioLevelHigh RadioLibHal
+ GpioLevelLow RadioLibHal
+ GpioModeInput RadioLibHal
+ GpioModeOutput RadioLibHal
+ init () overridePiHal inline virtual
+ interruptCallbacks (defined in PiHal )PiHal
+ interruptEnabled (defined in PiHal )PiHal
+ interruptModes (defined in PiHal )PiHal
+ micros () overridePiHal inline virtual
+ millis () overridePiHal inline virtual
+ noTone (uint32_t pin)PiHal inline virtual
+ PiHal (uint8_t spiChannel, uint32_t spiSpeed=2000000, uint8_t spiDevice=0, uint8_t gpioDevice=0) (defined in PiHal )PiHal inline
+ pinMode (uint32_t pin, uint32_t mode) overridePiHal inline virtual
+ pinToInterrupt (uint32_t pin)RadioLibHal virtual
+ pulseIn (uint32_t pin, uint32_t state, unsigned long timeout) overridePiHal inline 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
+ RadioLibISR typedef (defined in PiHal )PiHal
+ spiBegin ()PiHal inline virtual
+ spiBeginTransaction ()PiHal inline virtual
+ spiEnd ()PiHal inline virtual
+ spiEndTransaction ()PiHal inline virtual
+ spiTransfer (uint8_t *out, size_t len, uint8_t *in)PiHal inline virtual
+ term () overridePiHal inline virtual
+ tone (uint32_t pin, unsigned int frequency, unsigned long duration=0)PiHal inline virtual
+ yield () overridePiHal inline virtual
+
+
+
+
+
+
diff --git a/class_pi_hal.html b/class_pi_hal.html
new file mode 100644
index 00000000..3550fec5
--- /dev/null
+++ b/class_pi_hal.html
@@ -0,0 +1,793 @@
+
+
+
+
+
+
+
+RadioLib: PiHal Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+typedef void(* RadioLibISR ) (void)
+
+
+
+
+ PiHal (uint8_t spiChannel, uint32_t spiSpeed=2000000, uint8_t spiDevice=0, uint8_t gpioDevice=0)
+
+
+void init () override
+ Module initialization method. This will be called by all radio modules at the beginning of startup. Can be used to e.g., initialize SPI interface.
+
+
+void term () override
+ Module termination method. This will be called by all radio modules when the destructor is called. Can be used to e.g., stop SPI interface.
+
+void pinMode (uint32_t pin, uint32_t mode) override
+ GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction! More...
+
+void digitalWrite (uint32_t pin, uint32_t value) override
+ Digital write method. Must be implemented by the platform-specific hardware abstraction! More...
+
+uint32_t digitalRead (uint32_t pin) override
+ Digital read method. Must be implemented by the platform-specific hardware abstraction! More...
+
+void attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) override
+ Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
+
+void detachInterrupt (uint32_t interruptNum) override
+ Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
+
+void delay (unsigned long ms) override
+ Blocking wait function. Must be implemented by the platform-specific hardware abstraction! More...
+
+void delayMicroseconds (unsigned long us) override
+ Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction! More...
+
+
+void yield () override
+ Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads).
+
+unsigned long millis () override
+ Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
+
+unsigned long micros () override
+ Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
+
+long pulseIn (uint32_t pin, uint32_t state, unsigned long timeout) override
+ Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction! More...
+
+
+void spiBegin ()
+ SPI initialization method.
+
+
+void spiBeginTransaction ()
+ Method to start SPI transaction.
+
+void spiTransfer (uint8_t *out, size_t len, uint8_t *in)
+ Method to transfer buffer over SPI. More...
+
+
+void spiEndTransaction ()
+ Method to end SPI transaction.
+
+
+void spiEnd ()
+ SPI termination method.
+
+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...
+
+void noTone (uint32_t pin)
+ Method to stop producing a tone. More...
+
+
+ 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 uint32_t pinToInterrupt (uint32_t pin)
+ Function to convert from pin number to interrupt number. More...
+
+
+
+
+bool interruptEnabled [PI_MAX_USER_GPIO+1]
+
+
+uint32_t interruptModes [PI_MAX_USER_GPIO+1]
+
+
+RadioLibISR interruptCallbacks [PI_MAX_USER_GPIO+1]
+
+
+
+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.
+
+
+
+
+
◆ attachInterrupt()
+
+
+
+
+
+
+
+
+ void PiHal::attachInterrupt
+ (
+ uint32_t
+ interruptNum ,
+
+
+
+
+ void(*)(void)
+ interruptCb ,
+
+
+
+
+ uint32_t
+ mode
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ interruptNum Interrupt number to attach to (platform-specific).
+ interruptCb Interrupt service routine to execute.
+ mode Rising/falling mode (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ delay()
+
+
+
+
+
+
+
+
+ void PiHal::delay
+ (
+ unsigned long
+ ms )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ ms Number of milliseconds to wait.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ delayMicroseconds()
+
+
+
+
+
+
+
+
+ void PiHal::delayMicroseconds
+ (
+ unsigned long
+ us )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ us Number of microseconds to wait.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ detachInterrupt()
+
+
+
+
+
+
+
+
+ void PiHal::detachInterrupt
+ (
+ uint32_t
+ interruptNum )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ interruptNum Interrupt number to detach from (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ digitalRead()
+
+
+
+
+
+
+
+
+ uint32_t PiHal::digitalRead
+ (
+ uint32_t
+ pin )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Digital read method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+
+
+
+
Returns Value read on the pin (platform-specific).
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ digitalWrite()
+
+
+
+
+
+
+
+
+ void PiHal::digitalWrite
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ value
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Digital write method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+ value Value to set (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ micros()
+
+
+
+
+
+
+
+
+ unsigned long PiHal::micros
+ (
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction!
+
Returns Number of microseconds since start.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ millis()
+
+
+
+
+
+
+
+
+ unsigned long PiHal::millis
+ (
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction!
+
Returns Number of milliseconds since start.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ noTone()
+
+
+
+
+
+
+
+
+ void PiHal::noTone
+ (
+ uint32_t
+ pin )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Method to stop producing a tone.
+
Parameters
+
+ pin Pin which is currently producing the tone.
+
+
+
+
+
Reimplemented from RadioLibHal .
+
+
+
+
+
◆ pinMode()
+
+
+
+
+
+
+
+
+ void PiHal::pinMode
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ mode
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+ mode Mode to be set (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ pulseIn()
+
+
+
+
+
+
+
+
+ long PiHal::pulseIn
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ state ,
+
+
+
+
+ unsigned long
+ timeout
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to measure on (platform-specific).
+ state Pin level to monitor (platform-specific).
+ timeout Timeout in microseconds.
+
+
+
+
Returns Pulse length in microseconds, or 0 if the pulse did not start before timeout.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ spiTransfer()
+
+
+
+
+
+
+
+
+ void PiHal::spiTransfer
+ (
+ uint8_t *
+ out ,
+
+
+
+
+ size_t
+ len ,
+
+
+
+
+ uint8_t *
+ in
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Method to transfer buffer over SPI.
+
Parameters
+
+ out Buffer to send.
+ len Number of data to send or receive.
+ in Buffer to save received data into.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ tone()
+
+
+
+
+
+
+
+
+ void PiHal::tone
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ unsigned int
+ frequency ,
+
+
+
+
+ unsigned long
+ duration = 0
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin.
+
Parameters
+
+ pin Pin to be used as the output.
+ frequency Frequency of the square wave.
+ duration Duration of the tone in ms. When set to 0, the tone will be infinite.
+
+
+
+
+
Reimplemented from RadioLibHal .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
+
diff --git a/class_pi_hal.js b/class_pi_hal.js
new file mode 100644
index 00000000..e947525c
--- /dev/null
+++ b/class_pi_hal.js
@@ -0,0 +1,28 @@
+var class_pi_hal =
+[
+ [ "RadioLibISR", "class_pi_hal.html#a418882f00a562f9cb9c69f35e2d02815", null ],
+ [ "PiHal", "class_pi_hal.html#ad6a3d4e8b938a7ef12176407b163e5b7", null ],
+ [ "attachInterrupt", "class_pi_hal.html#abcd33b2d926e14d98ead593e3cded31f", null ],
+ [ "delay", "class_pi_hal.html#adf1482ac38f67d58e4d41e3e74323e5a", null ],
+ [ "delayMicroseconds", "class_pi_hal.html#ab9ade61749459b508291d81e205ddacf", null ],
+ [ "detachInterrupt", "class_pi_hal.html#afb13f79080b95925ea61576696abaa63", null ],
+ [ "digitalRead", "class_pi_hal.html#ab9a8fc4f0c7c5190db9d8770bc7d635e", null ],
+ [ "digitalWrite", "class_pi_hal.html#a203ed127ad16bbeeba0a3cd536eebce6", null ],
+ [ "init", "class_pi_hal.html#a78593321f098c53fbac81b8d0d423b7f", null ],
+ [ "micros", "class_pi_hal.html#a99893a968bd5789511154b559f349e60", null ],
+ [ "millis", "class_pi_hal.html#a162b953dbc7bb96be6d7ec037c4d465e", null ],
+ [ "noTone", "class_pi_hal.html#a06ee4519e6226013798e03f303fe3941", null ],
+ [ "pinMode", "class_pi_hal.html#ad2986ed862d4c429d6527bd54e472530", null ],
+ [ "pulseIn", "class_pi_hal.html#a3350f8cc20008dbe69e7180599fb80ee", null ],
+ [ "spiBegin", "class_pi_hal.html#a40d237c2f5f4ead26c39f33481b4d7e3", null ],
+ [ "spiBeginTransaction", "class_pi_hal.html#ab8c97e2b1c42368793d48d08b815fd69", null ],
+ [ "spiEnd", "class_pi_hal.html#a6b0d64ed834b91f67b3344ce8c573d7b", null ],
+ [ "spiEndTransaction", "class_pi_hal.html#a7debfa73095e727950831af2e8aab5f7", null ],
+ [ "spiTransfer", "class_pi_hal.html#a96a0f36efd8e23893add3242bdef8be4", null ],
+ [ "term", "class_pi_hal.html#ae5821694030ae6364012be3a34ef584d", null ],
+ [ "tone", "class_pi_hal.html#a95856f347434694b018d0ad18126e041", null ],
+ [ "yield", "class_pi_hal.html#af0aca7bc69d8b31783656213e8a8873d", null ],
+ [ "interruptCallbacks", "class_pi_hal.html#afc9c9132975470401efc003ea62d5791", null ],
+ [ "interruptEnabled", "class_pi_hal.html#ae741a33f83a857176c2be1e07081da34", null ],
+ [ "interruptModes", "class_pi_hal.html#a3ed40fd4ef2890af172ad7ae1263b9db", null ]
+];
\ No newline at end of file
diff --git a/class_pi_hal.png b/class_pi_hal.png
new file mode 100644
index 0000000000000000000000000000000000000000..33db76cff7561818040cb1c54905b5541c2b1599
GIT binary patch
literal 390
zcmeAS@N?(olHy`uVBq!ia0vp^0U*r53?z4+XPOVBBm#UwT>t<74`jZ0^R=}9&;%e0
zj1L?*z}k679?0b=3GxeO04f53tEWPY7#J8uJzX3_Dj46+y_k1cfrsI|+o}KcpF9#+
zn9k0~@tyTV>$=IYIXP>-%$ySRsb$HkSMD64p}8gt=g5b?UH7NL{ndKwu)N?yx-!$3
zFP~cFAHjY0{?=JSFSOq<1s_sbll?q2|GeAoA4-XpZHvo=>Z*6^YA3G#bn2GCH{E&x
zyG!P+^P|e_57(uo-nMvp?MBh5@UlOaD^}g&T)1jgua1wVsyo9r3kI8yVsh=9FGkO(
z-RD;R(0)b{2V+l*zyUW7#vC}6(A&|W&e0&R$g<(1nvSz|an_}|zc#%rU7Pz=luvZq
zB1W-4VHPrs2PWS&UX$
+
+
+
+
+
+
+RadioLib: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for PicoHal , including all inherited members.
+
+ attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) overridePicoHal inline virtual
+ delay (unsigned long ms) overridePicoHal inline virtual
+ delayMicroseconds (unsigned long us) overridePicoHal inline virtual
+ detachInterrupt (uint32_t interruptNum) overridePicoHal inline virtual
+ digitalRead (uint32_t pin) overridePicoHal inline virtual
+ digitalWrite (uint32_t pin, uint32_t value) overridePicoHal inline virtual
+ GpioInterruptFalling RadioLibHal
+ GpioInterruptRising RadioLibHal
+ GpioLevelHigh RadioLibHal
+ GpioLevelLow RadioLibHal
+ GpioModeInput RadioLibHal
+ GpioModeOutput RadioLibHal
+ init () overridePicoHal inline virtual
+ micros () overridePicoHal inline virtual
+ millis () overridePicoHal inline virtual
+ noTone (uint32_t pin) overridePicoHal inline virtual
+ PicoHal (spi_inst_t *spiChannel, uint32_t misoPin, uint32_t mosiPin, uint32_t sckPin, uint32_t spiSpeed=500 *1000) (defined in PicoHal )PicoHal inline
+ pinMode (uint32_t pin, uint32_t mode) overridePicoHal inline virtual
+ pinToInterrupt (uint32_t pin)RadioLibHal virtual
+ pulseIn (uint32_t pin, uint32_t state, unsigned long timeout) overridePicoHal inline 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 ()PicoHal inline virtual
+ spiBeginTransaction ()PicoHal inline virtual
+ spiEnd ()PicoHal inline virtual
+ spiEndTransaction ()PicoHal inline virtual
+ spiTransfer (uint8_t *out, size_t len, uint8_t *in)PicoHal inline virtual
+ term () overridePicoHal inline virtual
+ tone (uint32_t pin, unsigned int frequency, unsigned long duration=0) overridePicoHal inline virtual
+ yield () overridePicoHal inline virtual
+
+
+
+
+
+
diff --git a/class_pico_hal.html b/class_pico_hal.html
new file mode 100644
index 00000000..9f864ee8
--- /dev/null
+++ b/class_pico_hal.html
@@ -0,0 +1,776 @@
+
+
+
+
+
+
+
+RadioLib: PicoHal Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RadioLib
+
+ Universal wireless communication library for Arduino
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ PicoHal (spi_inst_t *spiChannel, uint32_t misoPin, uint32_t mosiPin, uint32_t sckPin, uint32_t spiSpeed=500 *1000)
+
+
+void init () override
+ Module initialization method. This will be called by all radio modules at the beginning of startup. Can be used to e.g., initialize SPI interface.
+
+
+void term () override
+ Module termination method. This will be called by all radio modules when the destructor is called. Can be used to e.g., stop SPI interface.
+
+void pinMode (uint32_t pin, uint32_t mode) override
+ GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction! More...
+
+void digitalWrite (uint32_t pin, uint32_t value) override
+ Digital write method. Must be implemented by the platform-specific hardware abstraction! More...
+
+uint32_t digitalRead (uint32_t pin) override
+ Digital read method. Must be implemented by the platform-specific hardware abstraction! More...
+
+void attachInterrupt (uint32_t interruptNum, void(*interruptCb)(void), uint32_t mode) override
+ Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
+
+void detachInterrupt (uint32_t interruptNum) override
+ Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction! More...
+
+void delay (unsigned long ms) override
+ Blocking wait function. Must be implemented by the platform-specific hardware abstraction! More...
+
+void delayMicroseconds (unsigned long us) override
+ Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction! More...
+
+unsigned long millis () override
+ Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
+
+unsigned long micros () override
+ Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction! More...
+
+long pulseIn (uint32_t pin, uint32_t state, unsigned long timeout) override
+ Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction! More...
+
+void tone (uint32_t pin, unsigned int frequency, unsigned long duration=0) override
+ Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin. More...
+
+void noTone (uint32_t pin) override
+ Method to stop producing a tone. More...
+
+
+void spiBegin ()
+ SPI initialization method.
+
+
+void spiBeginTransaction ()
+ Method to start SPI transaction.
+
+void spiTransfer (uint8_t *out, size_t len, uint8_t *in)
+ Method to transfer buffer over SPI. More...
+
+
+void yield () override
+ Yield method, called from long loops in multi-threaded environment (to prevent blocking other threads).
+
+
+void spiEndTransaction ()
+ Method to end SPI transaction.
+
+
+void spiEnd ()
+ SPI termination method.
+
+
+ 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 uint32_t pinToInterrupt (uint32_t pin)
+ Function to convert from pin number to interrupt number. More...
+
+
+
+
+
+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.
+
+
+
+
+
◆ attachInterrupt()
+
+
+
+
+
+
+
+
+ void PicoHal::attachInterrupt
+ (
+ uint32_t
+ interruptNum ,
+
+
+
+
+ void(*)(void)
+ interruptCb ,
+
+
+
+
+ uint32_t
+ mode
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to attach function to an external interrupt. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ interruptNum Interrupt number to attach to (platform-specific).
+ interruptCb Interrupt service routine to execute.
+ mode Rising/falling mode (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ delay()
+
+
+
+
+
+
+
+
+ void PicoHal::delay
+ (
+ unsigned long
+ ms )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Blocking wait function. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ ms Number of milliseconds to wait.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ delayMicroseconds()
+
+
+
+
+
+
+
+
+ void PicoHal::delayMicroseconds
+ (
+ unsigned long
+ us )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Blocking microsecond wait function. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ us Number of microseconds to wait.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ detachInterrupt()
+
+
+
+
+
+
+
+
+ void PicoHal::detachInterrupt
+ (
+ uint32_t
+ interruptNum )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to detach function from an external interrupt. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ interruptNum Interrupt number to detach from (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ digitalRead()
+
+
+
+
+
+
+
+
+ uint32_t PicoHal::digitalRead
+ (
+ uint32_t
+ pin )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Digital read method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+
+
+
+
Returns Value read on the pin (platform-specific).
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ digitalWrite()
+
+
+
+
+
+
+
+
+ void PicoHal::digitalWrite
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ value
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Digital write method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+ value Value to set (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ micros()
+
+
+
+
+
+
+
+
+ unsigned long PicoHal::micros
+ (
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Get number of microseconds since start. Must be implemented by the platform-specific hardware abstraction!
+
Returns Number of microseconds since start.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ millis()
+
+
+
+
+
+
+
+
+ unsigned long PicoHal::millis
+ (
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Get number of milliseconds since start. Must be implemented by the platform-specific hardware abstraction!
+
Returns Number of milliseconds since start.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ noTone()
+
+
+
+
+
+
+
+
+ void PicoHal::noTone
+ (
+ uint32_t
+ pin )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to stop producing a tone.
+
Parameters
+
+ pin Pin which is currently producing the tone.
+
+
+
+
+
Reimplemented from RadioLibHal .
+
+
+
+
+
◆ pinMode()
+
+
+
+
+
+
+
+
+ void PicoHal::pinMode
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ mode
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
GPIO pin mode (input/output/...) configuration method. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to be changed (platform-specific).
+ mode Mode to be set (platform-specific).
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ pulseIn()
+
+
+
+
+
+
+
+
+ long PicoHal::pulseIn
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ uint32_t
+ state ,
+
+
+
+
+ unsigned long
+ timeout
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Measure the length of incoming digital pulse in microseconds. Must be implemented by the platform-specific hardware abstraction!
+
Parameters
+
+ pin Pin to measure on (platform-specific).
+ state Pin level to monitor (platform-specific).
+ timeout Timeout in microseconds.
+
+
+
+
Returns Pulse length in microseconds, or 0 if the pulse did not start before timeout.
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ spiTransfer()
+
+
+
+
+
+
+
+
+ void PicoHal::spiTransfer
+ (
+ uint8_t *
+ out ,
+
+
+
+
+ size_t
+ len ,
+
+
+
+
+ uint8_t *
+ in
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Method to transfer buffer over SPI.
+
Parameters
+
+ out Buffer to send.
+ len Number of data to send or receive.
+ in Buffer to save received data into.
+
+
+
+
+
Implements RadioLibHal .
+
+
+
+
+
◆ tone()
+
+
+
+
+
+
+
+
+ void PicoHal::tone
+ (
+ uint32_t
+ pin ,
+
+
+
+
+ unsigned int
+ frequency ,
+
+
+
+
+ unsigned long
+ duration = 0
+
+
+
+ )
+
+
+
+
+
+inline override virtual
+
+
+
+
+
Method to produce a square-wave with 50% duty cycle ("tone") of a given frequency at some pin.
+
Parameters
+
+ pin Pin to be used as the output.
+ frequency Frequency of the square wave.
+ duration Duration of the tone in ms. When set to 0, the tone will be infinite.
+
+
+
+
+
Reimplemented from RadioLibHal .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
+
diff --git a/class_pico_hal.js b/class_pico_hal.js
new file mode 100644
index 00000000..a25a22d2
--- /dev/null
+++ b/class_pico_hal.js
@@ -0,0 +1,24 @@
+var class_pico_hal =
+[
+ [ "PicoHal", "class_pico_hal.html#aeee113b1e6f90931126fea24b61d1bb2", null ],
+ [ "attachInterrupt", "class_pico_hal.html#a960f5c3890a0ee6fd339d93ca9769c62", null ],
+ [ "delay", "class_pico_hal.html#a1bab4dfe568d7107e569e848001e414a", null ],
+ [ "delayMicroseconds", "class_pico_hal.html#a4a69597cf1a071a0fa61d1d292008628", null ],
+ [ "detachInterrupt", "class_pico_hal.html#a323d56fc8637f2b005070c7585bfe82e", null ],
+ [ "digitalRead", "class_pico_hal.html#a25993f76cf572e1a891b7ecc777721c2", null ],
+ [ "digitalWrite", "class_pico_hal.html#a4f5e06e79f6f6b7952243fe3817200b4", null ],
+ [ "init", "class_pico_hal.html#a9eea222b674b9f36c68dfb8db3bbf096", null ],
+ [ "micros", "class_pico_hal.html#a3eb9710f7b7702c9035833a4f8176038", null ],
+ [ "millis", "class_pico_hal.html#a4e82e02b4de6d1c192f52fb0ddd1c9c4", null ],
+ [ "noTone", "class_pico_hal.html#af80164483ca2bda3a7dd0cc795549524", null ],
+ [ "pinMode", "class_pico_hal.html#ac539134f4517ef79de49832bb86392f2", null ],
+ [ "pulseIn", "class_pico_hal.html#a504806e3adb1a5b9f6784478bae16c10", null ],
+ [ "spiBegin", "class_pico_hal.html#a414de51bef859659b8cac66df32bdb5a", null ],
+ [ "spiBeginTransaction", "class_pico_hal.html#a2b6136b2c90e83c1ab94bd92ef32805c", null ],
+ [ "spiEnd", "class_pico_hal.html#ac932d26b6a31a0cd7f577d4f8812896c", null ],
+ [ "spiEndTransaction", "class_pico_hal.html#ae6773c6f0aac24774614a3179a4da475", null ],
+ [ "spiTransfer", "class_pico_hal.html#acc961bf30af621d0dfec2b3f7e25cf5c", null ],
+ [ "term", "class_pico_hal.html#a27803b7a0b53dca9fd1c74eadb15755a", null ],
+ [ "tone", "class_pico_hal.html#abfa0319db88b4c015edf67a9c9b671be", null ],
+ [ "yield", "class_pico_hal.html#add7d8e380c51f7fa2312aea2982878c2", null ]
+];
\ No newline at end of file
diff --git a/class_pico_hal.png b/class_pico_hal.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a1ffcb477749a3e396ad5fbe0bcdb4d63818a8a
GIT binary patch
literal 403
zcmeAS@N?(olHy`uVBq!ia0vp^0U*r53?z4+XPOVBBm#UwT>t<74`jZ0^R=}9&;%e0
zj1L?*z}k679?0b=3GxeO04f53tEWPY7#J9pJY5_^Dj46+z1YXB$l=;QU|*zqx!DG<`=wWc(NoWyHv@(sgQu&X%Q~loCIBfOto#4~
literal 0
HcmV?d00001
diff --git a/class_radio_lib_hal.html b/class_radio_lib_hal.html
index e088a566..65ba02b9 100644
--- a/class_radio_lib_hal.html
+++ b/class_radio_lib_hal.html
@@ -95,6 +95,18 @@ $(document).ready(function(){initNavTree('class_radio_lib_hal.html',''); initRes
More...
#include <Hal.h >
+
+
+
+
+
+
+
+
+
+
+