From fcff1e384d1b7f44c7351abea785c971d13bc0bc Mon Sep 17 00:00:00 2001 From: jgromes Date: Sun, 28 May 2023 20:26:07 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20ca319?= =?UTF-8?q?c9c0badbdda0985239fde8e43f00ec47d46=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _c_c1101_8h_source.html | 8 +- _cryptography_8h_source.html | 237 +++++++++++ _physical_layer_8h_source.html | 274 ++++++------- _r_f69_8h_source.html | 8 +- _radio_lib_8h_source.html | 71 ++-- _s_t_m32_w_lx_8h_source.html | 2 +- _s_x126x_8h_source.html | 486 +++++++++++------------ _s_x1272_8h_source.html | 2 +- _s_x1278_8h_source.html | 2 +- _s_x127x_8h_source.html | 432 ++++++++++---------- _s_x128x_8h_source.html | 350 ++++++++--------- _si443x_8h_source.html | 8 +- annotated.html | 77 ++-- annotated_dup.js | 1 + class_c_c1101-members.html | 2 +- class_c_c1101.html | 10 + class_external_radio-members.html | 13 +- class_external_radio.html | 3 + class_l_l_c_c68-members.html | 35 +- class_l_l_c_c68.html | 9 +- class_physical_layer-members.html | 25 +- class_physical_layer.html | 43 +- class_physical_layer.js | 3 + class_r_f69-members.html | 2 +- class_r_f69.html | 10 + class_r_f_m95-members.html | 29 +- class_r_f_m95.html | 9 +- class_r_f_m96-members.html | 29 +- class_r_f_m96.html | 9 +- class_r_f_m97-members.html | 29 +- class_r_f_m97.html | 9 +- class_radio_lib_a_e_s128-members.html | 107 +++++ class_radio_lib_a_e_s128.html | 343 ++++++++++++++++ class_radio_lib_a_e_s128.js | 9 + class_s_t_m32_w_lx-members.html | 37 +- class_s_t_m32_w_lx.html | 9 +- class_s_x1231-members.html | 2 +- class_s_x1261-members.html | 37 +- class_s_x1261.html | 9 +- class_s_x1262-members.html | 35 +- class_s_x1262.html | 9 +- class_s_x1268-members.html | 35 +- class_s_x1268.html | 9 +- class_s_x126x-members.html | 33 +- class_s_x126x.html | 55 ++- class_s_x126x.js | 3 +- class_s_x1272-members.html | 29 +- class_s_x1272.html | 9 +- class_s_x1273-members.html | 31 +- class_s_x1273.html | 9 +- class_s_x1276-members.html | 31 +- class_s_x1276.html | 9 +- class_s_x1277-members.html | 31 +- class_s_x1277.html | 9 +- class_s_x1278-members.html | 29 +- class_s_x1278.html | 9 +- class_s_x1279-members.html | 31 +- class_s_x1279.html | 9 +- class_s_x127x-members.html | 27 +- class_s_x127x.html | 53 ++- class_s_x127x.js | 3 +- class_s_x1280-members.html | 29 +- class_s_x1280.html | 3 + class_s_x1281-members.html | 27 +- class_s_x1281.html | 3 + class_s_x1282-members.html | 31 +- class_s_x1282.html | 3 + class_s_x128x-members.html | 25 +- class_s_x128x.html | 35 +- class_s_x128x.js | 1 + class_si4430-members.html | 2 +- class_si4431-members.html | 2 +- class_si4432-members.html | 2 +- class_si443x-members.html | 2 +- class_si443x.html | 10 + classes.html | 2 +- classn_r_f24-members.html | 2 +- classn_r_f24.html | 10 + dir_313caf1132e152dd9b58bea13a4052ca.js | 1 + files.html | 17 +- functions_d.html | 3 + functions_e.html | 3 + functions_func_d.html | 3 + functions_func_e.html | 3 + functions_func_g.html | 3 + functions_func_i.html | 1 + functions_func_r.html | 3 + functions_func_s.html | 22 +- functions_func_v.html | 3 + functions_g.html | 3 + functions_i.html | 1 + functions_r.html | 5 +- functions_s.html | 20 +- functions_v.html | 3 + hierarchy.html | 31 +- hierarchy.js | 1 + n_r_f24_8h_source.html | 8 +- navtreedata.js | 8 +- navtreeindex0.js | 6 +- navtreeindex1.js | 406 +++++++++---------- navtreeindex2.js | 500 ++++++++++++------------ navtreeindex3.js | 284 +++++++------- navtreeindex4.js | 38 +- search/all_10.js | 18 +- search/all_11.js | 2 +- search/all_12.js | 5 +- search/all_13.js | 6 +- search/all_14.js | 2 +- search/all_15.js | 2 +- search/all_16.js | 4 +- search/all_3.js | 29 +- search/all_4.js | 17 +- search/all_5.js | 24 +- search/all_6.js | 71 ++-- search/all_7.js | 10 +- search/all_8.js | 16 +- search/all_9.js | 6 +- search/all_a.js | 22 +- search/all_b.js | 8 +- search/all_c.js | 6 +- search/all_d.js | 18 +- search/all_e.js | 223 +++++------ search/all_f.js | 294 +++++++------- search/classes_0.js | 8 +- search/classes_1.js | 10 +- search/classes_2.js | 2 +- search/classes_3.js | 2 +- search/classes_4.js | 2 +- search/classes_5.js | 4 +- search/classes_6.js | 2 +- search/classes_7.js | 2 +- search/classes_8.js | 4 +- search/classes_9.js | 2 +- search/classes_a.js | 4 +- search/classes_b.js | 27 +- search/classes_c.js | 50 +-- search/classes_d.js | 2 +- search/enums_0.js | 2 +- search/enumvalues_0.js | 12 +- search/functions_0.js | 14 +- search/functions_1.js | 14 +- search/functions_10.js | 10 +- search/functions_11.js | 2 +- search/functions_12.js | 3 +- search/functions_13.js | 4 +- search/functions_14.js | 2 +- search/functions_15.js | 4 +- search/functions_2.js | 20 +- search/functions_3.js | 27 +- search/functions_4.js | 13 +- search/functions_5.js | 14 +- search/functions_6.js | 59 +-- search/functions_7.js | 4 +- search/functions_8.js | 12 +- search/functions_9.js | 4 +- search/functions_a.js | 8 +- search/functions_b.js | 4 +- search/functions_c.js | 2 +- search/functions_d.js | 14 +- search/functions_e.js | 41 +- search/functions_f.js | 256 ++++++------ search/groups_0.js | 2 +- search/groups_1.js | 2 +- search/groups_2.js | 2 +- search/groups_3.js | 4 +- search/pages_0.js | 2 +- search/pages_1.js | 2 +- search/typedefs_0.js | 2 +- search/variables_0.js | 2 +- search/variables_1.js | 2 +- search/variables_10.js | 2 +- search/variables_2.js | 4 +- search/variables_3.js | 10 +- search/variables_4.js | 12 +- search/variables_5.js | 4 +- search/variables_6.js | 6 +- search/variables_7.js | 2 +- search/variables_8.js | 4 +- search/variables_9.js | 2 +- search/variables_a.js | 4 +- search/variables_b.js | 14 +- search/variables_c.js | 26 +- search/variables_d.js | 4 +- search/variables_e.js | 2 +- search/variables_f.js | 2 +- 185 files changed, 3721 insertions(+), 2689 deletions(-) create mode 100644 _cryptography_8h_source.html create mode 100644 class_radio_lib_a_e_s128-members.html create mode 100644 class_radio_lib_a_e_s128.html create mode 100644 class_radio_lib_a_e_s128.js diff --git a/_c_c1101_8h_source.html b/_c_c1101_8h_source.html index e470890c..b2d96a1d 100644 --- a/_c_c1101_8h_source.html +++ b/_c_c1101_8h_source.html @@ -793,7 +793,7 @@ $(document).ready(function(){initNavTree('_c_c1101_8h_source.html',''); initResi
void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode.
Definition: CC1101.cpp:1007
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: CC1101.cpp:176
int16_t getChipVersion()
Read version SPI register. Should return CC1101_VERSION_LEGACY (0x04) or CC1101_VERSION_CURRENT (0x14...
Definition: CC1101.cpp:998
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t setRxBandwidth(float rxBw)
Sets receiver bandwidth. Allowed values range from 58.0 to 812.0 kHz.
Definition: CC1101.cpp:525
int16_t packetMode()
Stops direct mode. It is required to call this method to switch from direct transmissions to packet-b...
Definition: CC1101.cpp:227
int16_t setSyncWord(uint8_t syncH, uint8_t syncL, uint8_t maxErrBits=0, bool requireCarrierSense=false)
Sets 16-bit sync word as a two byte value.
Definition: CC1101.cpp:697
@@ -812,7 +812,7 @@ $(document).ready(function(){initNavTree('_c_c1101_8h_source.html',''); initResi
int16_t standby() override
Sets the module to standby mode.
Definition: CC1101.cpp:162
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: CC1101.cpp:974
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: CC1101.cpp:978
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in bands 300.0 to 348.0 MHz, 387.0 to 464....
Definition: CC1101.cpp:479
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: CC1101.cpp:755
void setGdo0Action(void(*func)(void), uint32_t dir)
Sets interrupt service routine to call when GDO0 activates.
Definition: CC1101.cpp:234
@@ -837,9 +837,9 @@ $(document).ready(function(){initNavTree('_c_c1101_8h_source.html',''); initResi
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:42
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
Definition: Module.h:49
diff --git a/_cryptography_8h_source.html b/_cryptography_8h_source.html new file mode 100644 index 00000000..b8a9b4d3 --- /dev/null +++ b/_cryptography_8h_source.html @@ -0,0 +1,237 @@ + + + + + + + +RadioLib: src/utils/Cryptography.h Source File + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Cryptography.h
+
+
+
1 #if !defined(_RADIOLIB_CRYPTOGRAPHY_H)
+
2 #define _RADIOLIB_CRYPTOGRAPHY_H
+
3 
+
4 #include "../TypeDef.h"
+
5 #include "../Module.h"
+
6 
+
7 // AES-128 constants
+
8 #define RADIOLIB_AES128_BLOCK_SIZE (16)
+
9 #define RADIOLIB_AES128_N_K ((RADIOLIB_AES128_BLOCK_SIZE) / sizeof(uint32_t))
+
10 #define RADIOLIB_AES128_N_B (4)
+
11 #define RADIOLIB_AES128_N_R (10)
+
12 #define RADIOLIB_AES128_KEY_EXP_SIZE (176)
+
13 
+
14 // helper type
+
15 typedef uint8_t state_t[4][4];
+
16 
+
17 // AES lookup tables
+
18 static const uint8_t aesSbox[] RADIOLIB_NONVOLATILE = {
+
19  0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5,
+
20  0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76,
+
21  0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0,
+
22  0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0,
+
23  0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc,
+
24  0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15,
+
25  0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a,
+
26  0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75,
+
27  0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0,
+
28  0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84,
+
29  0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b,
+
30  0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf,
+
31  0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85,
+
32  0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8,
+
33  0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5,
+
34  0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2,
+
35  0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17,
+
36  0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73,
+
37  0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88,
+
38  0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb,
+
39  0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c,
+
40  0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79,
+
41  0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9,
+
42  0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08,
+
43  0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6,
+
44  0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a,
+
45  0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e,
+
46  0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e,
+
47  0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94,
+
48  0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf,
+
49  0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68,
+
50  0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16
+
51 };
+
52 
+
53 static const uint8_t aesSboxInv[] RADIOLIB_NONVOLATILE = {
+
54  0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38,
+
55  0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb,
+
56  0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87,
+
57  0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb,
+
58  0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d,
+
59  0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e,
+
60  0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2,
+
61  0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25,
+
62  0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16,
+
63  0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92,
+
64  0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda,
+
65  0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84,
+
66  0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a,
+
67  0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06,
+
68  0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02,
+
69  0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b,
+
70  0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea,
+
71  0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73,
+
72  0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85,
+
73  0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e,
+
74  0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89,
+
75  0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b,
+
76  0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20,
+
77  0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4,
+
78  0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31,
+
79  0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f,
+
80  0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d,
+
81  0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef,
+
82  0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0,
+
83  0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61,
+
84  0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26,
+
85  0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
+
86 };
+
87 
+
88 static const uint8_t aesRcon[] = { 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36 };
+
89 
+ +
97  public:
+
101  RadioLibAES128();
+
102 
+
107  void init(uint8_t* key);
+
108 
+
117  size_t encryptECB(uint8_t* in, size_t len, uint8_t* out);
+
118 
+
127  size_t decryptECB(uint8_t* in, size_t len, uint8_t* out);
+
128 
+
135  void generateCMAC(uint8_t* in, size_t len, uint8_t* cmac);
+
136 
+
144  bool verifyCMAC(uint8_t* in, size_t len, uint8_t* cmac);
+
145 
+
146  private:
+
147  uint8_t* keyPtr;
+
148  uint8_t roundKey[RADIOLIB_AES128_KEY_EXP_SIZE];
+
149 
+
150  void keyExpansion(uint8_t* roundKey, uint8_t* key);
+
151  void cipher(state_t* state, uint8_t* roundKey);
+
152  void decipher(state_t* state, uint8_t* roundKey);
+
153 
+
154  void subWord(uint8_t* word);
+
155  void rotWord(uint8_t* word);
+
156 
+
157  void addRoundKey(uint8_t round, state_t* state, uint8_t* roundKey);
+
158 
+
159  void blockXor(uint8_t* dst, uint8_t* a, uint8_t* b);
+
160  void blockLeftshift(uint8_t* dst, uint8_t* src);
+
161  void generateSubkeys(uint8_t* key1, uint8_t* key2);
+
162 
+
163  void subBytes(state_t* state, const uint8_t* box);
+
164  void shiftRows(state_t* state, bool inv);
+
165  void mixColumns(state_t* state, bool inv);
+
166 
+
167  uint8_t mul(uint8_t a, uint8_t b);
+
168 };
+
169 
+
170 // the global singleton
+
171 extern RadioLibAES128 RadioLibAES128Instance;
+
172 
+
173 #endif
+
Class to perform AES encryption, decryption and CMAC.
Definition: Cryptography.h:96
+
RadioLibAES128()
Default constructor.
Definition: Cryptography.cpp:5
+
void generateCMAC(uint8_t *in, size_t len, uint8_t *cmac)
Calculate message authentication code according to RFC4493.
Definition: Cryptography.cpp:46
+
void init(uint8_t *key)
Initialize the AES.
Definition: Cryptography.cpp:9
+
bool verifyCMAC(uint8_t *in, size_t len, uint8_t *cmac)
Verify the recevied CMAC. This just calculates the CMAC again and compares the results.
Definition: Cryptography.cpp:85
+
size_t encryptECB(uint8_t *in, size_t len, uint8_t *out)
Perform ECB-type AES encryption.
Definition: Cryptography.cpp:14
+
size_t decryptECB(uint8_t *in, size_t len, uint8_t *out)
Perform ECB-type AES decryption.
Definition: Cryptography.cpp:30
+
+
+ + + + diff --git a/_physical_layer_8h_source.html b/_physical_layer_8h_source.html index 8d9c88a5..45ebfd89 100644 --- a/_physical_layer_8h_source.html +++ b/_physical_layer_8h_source.html @@ -121,124 +121,128 @@ $(document).ready(function(){initNavTree('_physical_layer_8h_source.html',''); i
85 
90  virtual int16_t standby(uint8_t mode);
91 
-
102  virtual int16_t startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len);
-
103 
-
110  virtual int16_t receive(uint8_t* data, size_t len);
-
111 
-
112  #if defined(RADIOLIB_BUILD_ARDUINO)
-
120  int16_t startTransmit(String& str, uint8_t addr = 0);
-
121  #endif
-
122 
-
130  int16_t startTransmit(const char* str, uint8_t addr = 0);
-
131 
-
139  virtual int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0);
-
140 
-
145  virtual int16_t finishTransmit();
+
96  virtual int16_t startReceive();
+
97 
+
108  virtual int16_t startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len);
+
109 
+
116  virtual int16_t receive(uint8_t* data, size_t len);
+
117 
+
118  #if defined(RADIOLIB_BUILD_ARDUINO)
+
126  int16_t startTransmit(String& str, uint8_t addr = 0);
+
127  #endif
+
128 
+
136  int16_t startTransmit(const char* str, uint8_t addr = 0);
+
137 
+
145  virtual int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0);
146 
-
147  #if defined(RADIOLIB_BUILD_ARDUINO)
-
155  int16_t readData(String& str, size_t len = 0);
-
156  #endif
-
157 
-
165  virtual int16_t readData(uint8_t* data, size_t len);
-
166 
-
173  virtual int16_t transmitDirect(uint32_t frf = 0);
-
174 
-
180  virtual int16_t receiveDirect();
-
181 
-
182  // configuration methods
-
183 
-
189  virtual int16_t setFrequency(float freq);
-
190 
-
196  virtual int16_t setBitRate(float br);
-
197 
-
204  virtual int16_t setFrequencyDeviation(float freqDev);
-
205 
-
211  virtual int16_t setDataShaping(uint8_t sh);
-
212 
-
218  virtual int16_t setEncoding(uint8_t encoding);
-
219 
-
224  float getFreqStep() const;
+
151  virtual int16_t finishTransmit();
+
152 
+
153  #if defined(RADIOLIB_BUILD_ARDUINO)
+
161  int16_t readData(String& str, size_t len = 0);
+
162  #endif
+
163 
+
171  virtual int16_t readData(uint8_t* data, size_t len);
+
172 
+
179  virtual int16_t transmitDirect(uint32_t frf = 0);
+
180 
+
186  virtual int16_t receiveDirect();
+
187 
+
188  // configuration methods
+
189 
+
195  virtual int16_t setFrequency(float freq);
+
196 
+
202  virtual int16_t setBitRate(float br);
+
203 
+
210  virtual int16_t setFrequencyDeviation(float freqDev);
+
211 
+
217  virtual int16_t setDataShaping(uint8_t sh);
+
218 
+
224  virtual int16_t setEncoding(uint8_t encoding);
225 
-
231  virtual size_t getPacketLength(bool update = true);
-
232 
-
237  virtual float getRSSI();
+
230  float getFreqStep() const;
+
231 
+
237  virtual size_t getPacketLength(bool update = true);
238 
-
243  virtual float getSNR();
+
243  virtual float getRSSI();
244 
-
250  int32_t random(int32_t max);
-
251 
-
258  int32_t random(int32_t min, int32_t max);
-
259 
-
264  virtual uint8_t randomByte();
+
249  virtual float getSNR();
+
250 
+
256  int32_t random(int32_t max);
+
257 
+
264  int32_t random(int32_t min, int32_t max);
265 
-
271  int16_t startDirect();
-
272 
-
273  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
280  int16_t setDirectSyncWord(uint32_t syncWord, uint8_t len);
-
281 
-
287  virtual void setDirectAction(void (*func)(void));
-
288 
-
293  virtual void readBit(uint32_t pin);
+
270  virtual uint8_t randomByte();
+
271 
+
277  int16_t startDirect();
+
278 
+
279  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
286  int16_t setDirectSyncWord(uint32_t syncWord, uint8_t len);
+
287 
+
293  virtual void setDirectAction(void (*func)(void));
294 
-
299  int16_t available();
+
299  virtual void readBit(uint32_t pin);
300 
-
304  void dropSync();
-
305 
-
312  uint8_t read(bool drop = true);
-
313  #endif
-
314 
-
321  virtual int16_t setDIOMapping(uint32_t pin, uint32_t value);
-
322 
-
327  virtual void setDio1Action(void (*func)(void));
+
305  int16_t available();
+
306 
+
310  void dropSync();
+
311 
+
318  uint8_t read(bool drop = true);
+
319  #endif
+
320 
+
327  virtual int16_t setDIOMapping(uint32_t pin, uint32_t value);
328 
-
332  virtual void clearDio1Action();
-
333 
-
334  #if defined(RADIOLIB_INTERRUPT_TIMING)
-
335 
-
341  void setInterruptSetup(void (*func)(uint32_t));
-
342 
-
347  void setTimerFlag();
+
333  virtual void setDio1Action(void (*func)(void));
+
334 
+
338  virtual void clearDio1Action();
+
339 
+
340  #if defined(RADIOLIB_INTERRUPT_TIMING)
+
341 
+
347  void setInterruptSetup(void (*func)(uint32_t));
348 
-
349  #endif
-
350 
-
351 #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
352  protected:
-
353  void updateDirectBuffer(uint8_t bit);
-
354 #endif
-
355 
-
356 #if !defined(RADIOLIB_GODMODE)
-
357  private:
-
358 #endif
-
359  float freqStep;
-
360  size_t maxPacketLength;
+
353  void setTimerFlag();
+
354 
+
355  #endif
+
356 
+
357 #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
358  protected:
+
359  void updateDirectBuffer(uint8_t bit);
+
360 #endif
361 
-
362  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
363  uint8_t bufferBitPos;
-
364  uint8_t bufferWritePos;
-
365  uint8_t bufferReadPos;
-
366  uint8_t buffer[RADIOLIB_STATIC_ARRAY_SIZE];
-
367  uint32_t syncBuffer;
-
368  uint32_t directSyncWord;
-
369  uint8_t directSyncWordLen;
-
370  uint32_t directSyncWordMask;
-
371  bool gotSync;
-
372  #endif
-
373 
-
374  virtual Module* getMod() = 0;
-
375 
-
376  // allow specific classes access the private getMod method
-
377  friend class AFSKClient;
-
378  friend class RTTYClient;
-
379  friend class MorseClient;
-
380  friend class HellClient;
-
381  friend class SSTVClient;
-
382  friend class AX25Client;
-
383  friend class FSK4Client;
-
384  friend class PagerClient;
-
385  friend class BellClient;
-
386 };
-
387 
-
388 #endif
+
362 #if !defined(RADIOLIB_GODMODE)
+
363  private:
+
364 #endif
+
365  float freqStep;
+
366  size_t maxPacketLength;
+
367 
+
368  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
369  uint8_t bufferBitPos;
+
370  uint8_t bufferWritePos;
+
371  uint8_t bufferReadPos;
+
372  uint8_t buffer[RADIOLIB_STATIC_ARRAY_SIZE];
+
373  uint32_t syncBuffer;
+
374  uint32_t directSyncWord;
+
375  uint8_t directSyncWordLen;
+
376  uint32_t directSyncWordMask;
+
377  bool gotSync;
+
378  #endif
+
379 
+
380  virtual Module* getMod() = 0;
+
381 
+
382  // allow specific classes access the private getMod method
+
383  friend class AFSKClient;
+
384  friend class RTTYClient;
+
385  friend class MorseClient;
+
386  friend class HellClient;
+
387  friend class SSTVClient;
+
388  friend class AX25Client;
+
389  friend class FSK4Client;
+
390  friend class PagerClient;
+
391  friend class BellClient;
+
392  friend class FT8Client;
+
393  friend class LoRaWANNode;
+
394 };
+
395 
+
396 #endif
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:238
Client for Bell modem communication. The public interface is the same as Arduino Serial.
Definition: BellModem.h:57
@@ -248,37 +252,37 @@ $(document).ready(function(){initNavTree('_physical_layer_8h_source.html',''); i
Client for Morse Code communication. The public interface is the same as Arduino Serial.
Definition: Morse.h:93
Client for Pager communication.
Definition: Pager.h:60
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
-
virtual int16_t startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)
Interrupt-driven receive method. A DIO pin will be activated when full packet is received....
Definition: PhysicalLayer.cpp:131
-
virtual uint8_t randomByte()
Get one truly random byte from RSSI noise. Must be implemented in module class.
Definition: PhysicalLayer.cpp:289
-
virtual int16_t finishTransmit()
Clean up after transmission is done.
Definition: PhysicalLayer.cpp:156
-
virtual int16_t setFrequencyDeviation(float freqDev)
Sets FSK frequency deviation from carrier frequency. Only available in FSK mode. Must be implemented ...
Definition: PhysicalLayer.cpp:230
-
virtual size_t getPacketLength(bool update=true)
Query modem for the packet length of received payload. Must be implemented in module class.
Definition: PhysicalLayer.cpp:249
-
virtual int16_t setDIOMapping(uint32_t pin, uint32_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: PhysicalLayer.cpp:388
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
-
void dropSync()
Forcefully drop synchronization.
Definition: PhysicalLayer.cpp:312
+
virtual int16_t startReceive()
Sets module to received mode using its default configuration.
Definition: PhysicalLayer.cpp:131
+
virtual uint8_t randomByte()
Get one truly random byte from RSSI noise. Must be implemented in module class.
Definition: PhysicalLayer.cpp:293
+
virtual int16_t finishTransmit()
Clean up after transmission is done.
Definition: PhysicalLayer.cpp:160
+
virtual int16_t setFrequencyDeviation(float freqDev)
Sets FSK frequency deviation from carrier frequency. Only available in FSK mode. Must be implemented ...
Definition: PhysicalLayer.cpp:234
+
virtual size_t getPacketLength(bool update=true)
Query modem for the packet length of received payload. Must be implemented in module class.
Definition: PhysicalLayer.cpp:253
+
virtual int16_t setDIOMapping(uint32_t pin, uint32_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: PhysicalLayer.cpp:392
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
+
void dropSync()
Forcefully drop synchronization.
Definition: PhysicalLayer.cpp:316
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
uint8_t read(bool drop=true)
Get data from direct mode buffer.
Definition: PhysicalLayer.cpp:319
-
virtual void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: PhysicalLayer.cpp:394
-
int16_t startDirect()
Configure module parameters for direct modes. Must be called prior to "ham" modes like RTTY or AX....
Definition: PhysicalLayer.cpp:293
-
virtual int16_t setFrequency(float freq)
Sets carrier frequency. Must be implemented in module class.
Definition: PhysicalLayer.cpp:220
-
int16_t setDirectSyncWord(uint32_t syncWord, uint8_t len)
Set sync word to be used to determine start of packet in direct reception mode.
Definition: PhysicalLayer.cpp:327
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
-
float getFreqStep() const
Gets the module frequency step size that was set in constructor.
Definition: PhysicalLayer.cpp:245
-
virtual int16_t transmitDirect(uint32_t frf=0)
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module ...
Definition: PhysicalLayer.cpp:211
-
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
-
int16_t available()
Get the number of direct mode bytes currently available in buffer.
Definition: PhysicalLayer.cpp:308
+
uint8_t read(bool drop=true)
Get data from direct mode buffer.
Definition: PhysicalLayer.cpp:323
+
virtual void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: PhysicalLayer.cpp:398
+
int16_t startDirect()
Configure module parameters for direct modes. Must be called prior to "ham" modes like RTTY or AX....
Definition: PhysicalLayer.cpp:297
+
virtual int16_t setFrequency(float freq)
Sets carrier frequency. Must be implemented in module class.
Definition: PhysicalLayer.cpp:224
+
int16_t setDirectSyncWord(uint32_t syncWord, uint8_t len)
Set sync word to be used to determine start of packet in direct reception mode.
Definition: PhysicalLayer.cpp:331
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
+
float getFreqStep() const
Gets the module frequency step size that was set in constructor.
Definition: PhysicalLayer.cpp:249
+
virtual int16_t transmitDirect(uint32_t frf=0)
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module ...
Definition: PhysicalLayer.cpp:215
+
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:258
+
int16_t available()
Get the number of direct mode bytes currently available in buffer.
Definition: PhysicalLayer.cpp:312
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
-
virtual void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode....
Definition: PhysicalLayer.cpp:378
-
virtual int16_t setEncoding(uint8_t encoding)
Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:240
+
virtual void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode....
Definition: PhysicalLayer.cpp:382
+
virtual int16_t setEncoding(uint8_t encoding)
Sets FSK data encoding. Only available in FSK mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:244
virtual int16_t standby()
Sets module to standby.
Definition: PhysicalLayer.cpp:122
-
int32_t random(int32_t max)
Get truly random number in range 0 - max.
Definition: PhysicalLayer.cpp:262
-
virtual void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:382
-
virtual void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: PhysicalLayer.cpp:398
-
virtual int16_t receiveDirect()
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module cla...
Definition: PhysicalLayer.cpp:216
+
int32_t random(int32_t max)
Get truly random number in range 0 - max.
Definition: PhysicalLayer.cpp:266
+
virtual void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:386
+
virtual void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: PhysicalLayer.cpp:402
+
virtual int16_t receiveDirect()
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). Must be implemented in module cla...
Definition: PhysicalLayer.cpp:220
PhysicalLayer(float step, size_t maxLen)
Default constructor.
Definition: PhysicalLayer.cpp:4
-
virtual int16_t setDataShaping(uint8_t sh)
Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:235
-
virtual int16_t setBitRate(float br)
Sets FSK bit rate. Only available in FSK mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:225
-
virtual float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: PhysicalLayer.cpp:258
+
virtual int16_t setDataShaping(uint8_t sh)
Sets GFSK data shaping. Only available in FSK mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:239
+
virtual int16_t setBitRate(float br)
Sets FSK bit rate. Only available in FSK mode. Must be implemented in module class.
Definition: PhysicalLayer.cpp:229
+
virtual float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: PhysicalLayer.cpp:262
virtual int16_t sleep()
Sets module to sleep.
Definition: PhysicalLayer.cpp:118
Client for RTTY communication. The public interface is the same as Arduino Serial.
Definition: RTTY.h:17
Client for SSTV transmissions.
Definition: SSTV.h:117
diff --git a/_r_f69_8h_source.html b/_r_f69_8h_source.html index 3c68c812..d4e3e304 100644 --- a/_r_f69_8h_source.html +++ b/_r_f69_8h_source.html @@ -768,9 +768,9 @@ $(document).ready(function(){initNavTree('_r_f69_8h_source.html',''); initResiza
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:42
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
Control class for RF69 module. Also serves as base class for SX1231.
Definition: RF69.h:479
int16_t getTemperature()
Measures temperature.
Definition: RF69.cpp:752
@@ -790,7 +790,7 @@ $(document).ready(function(){initNavTree('_r_f69_8h_source.html',''); initResiza
int16_t setSyncWord(uint8_t *syncWord, size_t len, uint8_t maxErrBits=0)
Sets sync word. Up to 8 bytes can be set as sync word.
Definition: RF69.cpp:679
int16_t getFrequencyDeviation(float *freqDev)
Gets frequency deviation.
Definition: RF69.cpp:617
int16_t setOokFixedThreshold(uint8_t value)
Fixed threshold for the Data Slicer in OOK mode or floor threshold for the Data Slicer in OOK when Pe...
Definition: RF69.cpp:500
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: RF69.cpp:429
int16_t disableSyncWordFiltering()
Disable preamble and sync word filtering and generation.
Definition: RF69.cpp:795
int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Allowed values are RA...
Definition: RF69.cpp:864
@@ -809,7 +809,7 @@ $(document).ready(function(){initNavTree('_r_f69_8h_source.html',''); initResiza
int16_t enableContinuousModeBitSync()
Enable Bit synchronization in continuous mode.
Definition: RF69.cpp:800
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: RF69.cpp:948
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: RF69.cpp:769
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: RF69.cpp:278
int16_t disableContinuousModeBitSync()
Disable Bit synchronization in continuous mode.
Definition: RF69.cpp:809
void setDio0Action(void(*func)(void))
Sets interrupt service routine to call when DIO0 activates.
Definition: RF69.cpp:274
diff --git a/_radio_lib_8h_source.html b/_radio_lib_8h_source.html index 2c7e6554..572b1a3a 100644 --- a/_radio_lib_8h_source.html +++ b/_radio_lib_8h_source.html @@ -166,41 +166,42 @@ $(document).ready(function(){initNavTree('_radio_lib_8h_source.html',''); initRe
112 
113 // utilities
114 #include "utils/CRC.h"
-
115 
-
116 // only create Radio class when using RadioShield
-
117 #if defined(RADIOLIB_RADIOSHIELD)
-
118 
-
119 // RadioShield pin definitions
-
120 #define RADIOSHIELD_CS_A 10
-
121 #define RADIOSHIELD_IRQ_A 2
-
122 #define RADIOSHIELD_RST_A 9
-
123 #define RADIOSHIELD_GPIO_A 8
-
124 #define RADIOSHIELD_CS_B 5
-
125 #define RADIOSHIELD_IRQ_B 3
-
126 #define RADIOSHIELD_RST_B 7
-
127 #define RADIOSHIELD_GPIO_B 6
-
128 
-
135 class Radio {
-
136  public:
-
137 
-
138  Module* ModuleA;
-
139  Module* ModuleB;
-
140 
-
144  Radio() {
-
145  ModuleA = new Module(RADIOSHIELD_CS_A, RADIOSHIELD_IRQ_A, RADIOSHIELD_RST_A, RADIOSHIELD_GPIO_A);
-
146  ModuleB = new Module(RADIOSHIELD_CS_B, RADIOSHIELD_IRQ_B, RADIOSHIELD_RST_B, RADIOSHIELD_GPIO_B);
-
147  }
-
148 
-
149 #if defined(RADIOLIB_GODMODE)
-
150  private:
-
151 #endif
-
152 
-
153 };
-
154 
-
155 Radio RadioShield;
-
156 #endif
-
157 
-
158 #endif
+
115 #include "utils/Cryptography.h"
+
116 
+
117 // only create Radio class when using RadioShield
+
118 #if defined(RADIOLIB_RADIOSHIELD)
+
119 
+
120 // RadioShield pin definitions
+
121 #define RADIOSHIELD_CS_A 10
+
122 #define RADIOSHIELD_IRQ_A 2
+
123 #define RADIOSHIELD_RST_A 9
+
124 #define RADIOSHIELD_GPIO_A 8
+
125 #define RADIOSHIELD_CS_B 5
+
126 #define RADIOSHIELD_IRQ_B 3
+
127 #define RADIOSHIELD_RST_B 7
+
128 #define RADIOSHIELD_GPIO_B 6
+
129 
+
136 class Radio {
+
137  public:
+
138 
+
139  Module* ModuleA;
+
140  Module* ModuleB;
+
141 
+
145  Radio() {
+
146  ModuleA = new Module(RADIOSHIELD_CS_A, RADIOSHIELD_IRQ_A, RADIOSHIELD_RST_A, RADIOSHIELD_GPIO_A);
+
147  ModuleB = new Module(RADIOSHIELD_CS_B, RADIOSHIELD_IRQ_B, RADIOSHIELD_RST_B, RADIOSHIELD_GPIO_B);
+
148  }
+
149 
+
150 #if defined(RADIOLIB_GODMODE)
+
151  private:
+
152 #endif
+
153 
+
154 };
+
155 
+
156 Radio RadioShield;
+
157 #endif
+
158 
+
159 #endif
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
diff --git a/_s_t_m32_w_lx_8h_source.html b/_s_t_m32_w_lx_8h_source.html index ed7e5215..d1caaa00 100644 --- a/_s_t_m32_w_lx_8h_source.html +++ b/_s_t_m32_w_lx_8h_source.html @@ -168,7 +168,7 @@ $(document).ready(function(){initNavTree('_s_t_m32_w_lx_8h_source.html',''); ini
@ MODE_IDLE
Definition: STM32WLx.h:55
int16_t beginFSK(float freq=434.0, float br=4.8, float freqDev=5.0, float rxBw=156.2, int8_t power=10, uint16_t preambleLength=16, float tcxoVoltage=1.6, bool useRegulatorLDO=false)
Initialization method for FSK modem.
Definition: STM32WLx.cpp:27
Derived class for SX1262 modules.
Definition: SX1262.h:22
-
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1374
+
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1378
diff --git a/_s_x126x_8h_source.html b/_s_x126x_8h_source.html index 72541c1a..5f8ccf13 100644 --- a/_s_x126x_8h_source.html +++ b/_s_x126x_8h_source.html @@ -570,280 +570,282 @@ $(document).ready(function(){initNavTree('_s_x126x_8h_source.html',''); initResi
584  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
585 
590  int16_t finishTransmit() override;
-
591 
-
607  int16_t startReceive(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE, size_t len = 0);
-
608 
-
619  int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
-
620 
-
635  int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength = 0, uint16_t minSymbols = 8, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
-
636 
-
641  uint16_t getIrqStatus();
-
642 
-
650  int16_t readData(uint8_t* data, size_t len) override;
-
651 
-
660  int16_t startChannelScan(uint8_t symbolNum = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin = RADIOLIB_SX126X_CAD_PARAM_DEFAULT);
-
661 
-
666  int16_t getChannelScanResult();
-
667 
-
668  // configuration methods
+
591 
+
598  int16_t startReceive();
+
599 
+
615  int16_t startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len);
+
616 
+
627  int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
+
628 
+
643  int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength = 0, uint16_t minSymbols = 8, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
+
644 
+
649  uint16_t getIrqStatus();
+
650 
+
658  int16_t readData(uint8_t* data, size_t len) override;
+
659 
+
668  int16_t startChannelScan(uint8_t symbolNum = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak = RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin = RADIOLIB_SX126X_CAD_PARAM_DEFAULT);
669 
-
675  int16_t setBandwidth(float bw);
-
676 
-
682  int16_t setSpreadingFactor(uint8_t sf);
-
683 
-
689  int16_t setCodingRate(uint8_t cr);
-
690 
-
697  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
+
674  int16_t getChannelScanResult();
+
675 
+
676  // configuration methods
+
677 
+
683  int16_t setBandwidth(float bw);
+
684 
+
690  int16_t setSpreadingFactor(uint8_t sf);
+
691 
+
697  int16_t setCodingRate(uint8_t cr);
698 
-
704  int16_t setCurrentLimit(float currentLimit);
-
705 
-
710  float getCurrentLimit();
-
711 
-
717  int16_t setPreambleLength(uint16_t preambleLength);
-
718 
-
724  int16_t setFrequencyDeviation(float freqDev) override;
-
725 
-
731  int16_t setBitRate(float br);
-
732 
-
739  int16_t setRxBandwidth(float rxBw);
+
705  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
+
706 
+
712  int16_t setCurrentLimit(float currentLimit);
+
713 
+
718  float getCurrentLimit();
+
719 
+
725  int16_t setPreambleLength(uint16_t preambleLength);
+
726 
+
732  int16_t setFrequencyDeviation(float freqDev) override;
+
733 
+
739  int16_t setBitRate(float br);
740 
-
749  int16_t setRxBoostedGainMode(bool rxbgm, bool persist = true);
-
750 
-
758  int16_t setDataShaping(uint8_t sh) override;
-
759 
-
766  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
+
747  int16_t setRxBandwidth(float rxBw);
+
748 
+
757  int16_t setRxBoostedGainMode(bool rxbgm, bool persist = true);
+
758 
+
766  int16_t setDataShaping(uint8_t sh) override;
767 
-
775  int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
-
776 
-
782  int16_t setNodeAddress(uint8_t nodeAddr);
-
783 
-
790  int16_t setBroadcastAddress(uint8_t broadAddr);
+
774  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
+
775 
+
783  int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen);
+
784 
+
790  int16_t setNodeAddress(uint8_t nodeAddr);
791 
-
796  int16_t disableAddressFiltering();
-
797 
-
806  int16_t setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021, bool inverted = true);
-
807 
-
815  int16_t setWhitening(bool enabled, uint16_t initial = 0x0100);
-
816 
-
826  int16_t setTCXO(float voltage, uint32_t delay = 5000);
-
827 
-
832  int16_t setDio2AsRfSwitch(bool enable = true);
-
833 
-
838  float getDataRate() const;
-
839 
-
845  float getRSSI(bool packet = true);
-
846 
-
851  float getSNR();
-
852 
-
860  float getFrequencyError();
-
861 
-
867  size_t getPacketLength(bool update = true) override;
-
868 
-
874  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
-
875 
-
881  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
-
882 
-
888  uint32_t getTimeOnAir(size_t len);
-
889 
-
895  int16_t implicitHeader(size_t len);
-
896 
-
901  int16_t explicitHeader();
-
902 
-
907  int16_t setRegulatorLDO();
-
908 
-
913  int16_t setRegulatorDCDC();
-
914 
-
920  int16_t setEncoding(uint8_t encoding) override;
-
921 
-
923  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
-
924 
-
926  void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
-
927 
-
936  int16_t forceLDRO(bool enable);
-
937 
-
944  int16_t autoLDRO();
+
798  int16_t setBroadcastAddress(uint8_t broadAddr);
+
799 
+
804  int16_t disableAddressFiltering();
+
805 
+
814  int16_t setCRC(uint8_t len, uint16_t initial = 0x1D0F, uint16_t polynomial = 0x1021, bool inverted = true);
+
815 
+
823  int16_t setWhitening(bool enabled, uint16_t initial = 0x0100);
+
824 
+
834  int16_t setTCXO(float voltage, uint32_t delay = 5000);
+
835 
+
840  int16_t setDio2AsRfSwitch(bool enable = true);
+
841 
+
846  float getDataRate() const;
+
847 
+
853  float getRSSI(bool packet = true);
+
854 
+
859  float getSNR();
+
860 
+
868  float getFrequencyError();
+
869 
+
875  size_t getPacketLength(bool update = true) override;
+
876 
+
882  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
+
883 
+
889  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX126X_MAX_PACKET_LENGTH);
+
890 
+
896  uint32_t getTimeOnAir(size_t len);
+
897 
+
903  int16_t implicitHeader(size_t len);
+
904 
+
909  int16_t explicitHeader();
+
910 
+
915  int16_t setRegulatorLDO();
+
916 
+
921  int16_t setRegulatorDCDC();
+
922 
+
928  int16_t setEncoding(uint8_t encoding) override;
+
929 
+
931  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
+
932 
+
934  void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
+
935 
+
944  int16_t forceLDRO(bool enable);
945 
-
950  uint8_t randomByte();
-
951 
-
957  int16_t invertIQ(bool enable);
-
958 
-
959  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
964  void setDirectAction(void (*func)(void));
-
965 
-
970  void readBit(uint32_t pin);
-
971  #endif
-
972 
-
982  int16_t uploadPatch(const uint32_t* patch, size_t len, bool nonvolatile = true);
-
983 
-
991  int16_t spectralScanStart(uint16_t numSamples, uint8_t window = RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval = RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US);
-
992 
-
996  void spectralScanAbort();
-
997 
-
1002  int16_t spectralScanGetStatus();
-
1003 
-
1009  int16_t spectralScanGetResult(uint16_t* results);
-
1010 
-
1011 #if !defined(RADIOLIB_GODMODE)
-
1012  protected:
-
1013 #endif
-
1014  // SX126x SPI command implementations
-
1015  int16_t setFs();
-
1016  int16_t setTx(uint32_t timeout = 0);
-
1017  int16_t setRx(uint32_t timeout);
-
1018  int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
-
1019  int16_t setPaConfig(uint8_t paDutyCycle, uint8_t deviceSel, uint8_t hpMax = RADIOLIB_SX126X_PA_CONFIG_HP_MAX, uint8_t paLut = RADIOLIB_SX126X_PA_CONFIG_PA_LUT);
-
1020  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
1021  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
1022  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
-
1023  int16_t readBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
-
1024  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
-
1025  virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
-
1026  int16_t setRfFrequency(uint32_t frf);
-
1027  int16_t calibrateImage(uint8_t* data);
-
1028  uint8_t getPacketType();
-
1029  int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
-
1030  int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
-
1031  int16_t setModulationParamsFSK(uint32_t br, uint8_t sh, uint8_t rxBw, uint32_t freqDev);
-
1032  int16_t setPacketParams(uint16_t preambleLen, uint8_t crcType, uint8_t payloadLen, uint8_t hdrType, uint8_t invertIQ);
-
1033  int16_t setPacketParamsFSK(uint16_t preambleLen, uint8_t crcType, uint8_t syncWordLen, uint8_t addrCmp, uint8_t whiten, uint8_t packType = RADIOLIB_SX126X_GFSK_PACKET_VARIABLE, uint8_t payloadLen = 0xFF, uint8_t preambleDetectorLen = RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16);
-
1034  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
-
1035  int16_t setRegulatorMode(uint8_t mode);
-
1036  uint8_t getStatus();
-
1037  uint32_t getPacketStatus();
-
1038  uint16_t getDeviceErrors();
-
1039  int16_t clearDeviceErrors();
-
1040 
-
1041  int16_t startReceiveCommon(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
-
1042  int16_t setFrequencyRaw(float freq);
-
1043  int16_t setPacketMode(uint8_t mode, uint8_t len);
-
1044  int16_t setHeaderType(uint8_t hdrType, size_t len = 0xFF);
-
1045  int16_t directMode();
-
1046  int16_t packetMode();
-
1047 
-
1048  // fixes to errata
-
1049  int16_t fixSensitivity();
-
1050  int16_t fixPaClamping(bool enable = true);
-
1051  int16_t fixImplicitTimeout();
-
1052  int16_t fixInvertedIQ(uint8_t iqConfig);
-
1053 
-
1054 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
1055  protected:
-
1056 #endif
-
1057  Module* mod;
-
1058 
-
1059  // common low-level SPI interface
-
1060  static int16_t SPIparseStatus(uint8_t in);
+
952  int16_t autoLDRO();
+
953 
+
958  uint8_t randomByte();
+
959 
+
965  int16_t invertIQ(bool enable);
+
966 
+
967  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
972  void setDirectAction(void (*func)(void));
+
973 
+
978  void readBit(uint32_t pin);
+
979  #endif
+
980 
+
990  int16_t uploadPatch(const uint32_t* patch, size_t len, bool nonvolatile = true);
+
991 
+
999  int16_t spectralScanStart(uint16_t numSamples, uint8_t window = RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval = RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US);
+
1000 
+
1004  void spectralScanAbort();
+
1005 
+
1010  int16_t spectralScanGetStatus();
+
1011 
+
1017  int16_t spectralScanGetResult(uint16_t* results);
+
1018 
+
1019 #if !defined(RADIOLIB_GODMODE)
+
1020  protected:
+
1021 #endif
+
1022  // SX126x SPI command implementations
+
1023  int16_t setFs();
+
1024  int16_t setTx(uint32_t timeout = 0);
+
1025  int16_t setRx(uint32_t timeout);
+
1026  int16_t setCad(uint8_t symbolNum, uint8_t detPeak, uint8_t detMin);
+
1027  int16_t setPaConfig(uint8_t paDutyCycle, uint8_t deviceSel, uint8_t hpMax = RADIOLIB_SX126X_PA_CONFIG_HP_MAX, uint8_t paLut = RADIOLIB_SX126X_PA_CONFIG_PA_LUT);
+
1028  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
1029  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
1030  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+
1031  int16_t readBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+
1032  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX126X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX126X_IRQ_NONE);
+
1033  virtual int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX126X_IRQ_ALL);
+
1034  int16_t setRfFrequency(uint32_t frf);
+
1035  int16_t calibrateImage(uint8_t* data);
+
1036  uint8_t getPacketType();
+
1037  int16_t setTxParams(uint8_t power, uint8_t rampTime = RADIOLIB_SX126X_PA_RAMP_200U);
+
1038  int16_t setModulationParams(uint8_t sf, uint8_t bw, uint8_t cr, uint8_t ldro);
+
1039  int16_t setModulationParamsFSK(uint32_t br, uint8_t sh, uint8_t rxBw, uint32_t freqDev);
+
1040  int16_t setPacketParams(uint16_t preambleLen, uint8_t crcType, uint8_t payloadLen, uint8_t hdrType, uint8_t invertIQ);
+
1041  int16_t setPacketParamsFSK(uint16_t preambleLen, uint8_t crcType, uint8_t syncWordLen, uint8_t addrCmp, uint8_t whiten, uint8_t packType = RADIOLIB_SX126X_GFSK_PACKET_VARIABLE, uint8_t payloadLen = 0xFF, uint8_t preambleDetectorLen = RADIOLIB_SX126X_GFSK_PREAMBLE_DETECT_16);
+
1042  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
+
1043  int16_t setRegulatorMode(uint8_t mode);
+
1044  uint8_t getStatus();
+
1045  uint32_t getPacketStatus();
+
1046  uint16_t getDeviceErrors();
+
1047  int16_t clearDeviceErrors();
+
1048 
+
1049  int16_t startReceiveCommon(uint32_t timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX126X_IRQ_RX_DONE);
+
1050  int16_t setFrequencyRaw(float freq);
+
1051  int16_t setPacketMode(uint8_t mode, uint8_t len);
+
1052  int16_t setHeaderType(uint8_t hdrType, size_t len = 0xFF);
+
1053  int16_t directMode();
+
1054  int16_t packetMode();
+
1055 
+
1056  // fixes to errata
+
1057  int16_t fixSensitivity();
+
1058  int16_t fixPaClamping(bool enable = true);
+
1059  int16_t fixImplicitTimeout();
+
1060  int16_t fixInvertedIQ(uint8_t iqConfig);
1061 
-
1062 #if !defined(RADIOLIB_GODMODE)
+
1062 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
1063  protected:
1064 #endif
-
1065 
-
1066  uint8_t bandwidth = 0, spreadingFactor = 0, codingRate = 0, ldrOptimize = 0, crcTypeLoRa = 0, headerType = 0;
-
1067  uint16_t preambleLengthLoRa = 0;
-
1068  float bandwidthKhz = 0;
-
1069  bool ldroAuto = true;
-
1070 
-
1071  uint32_t bitRate = 0, frequencyDev = 0;
-
1072  uint8_t rxBandwidth = 0, pulseShape = 0, crcTypeFSK = 0, syncWordLength = 0, addrComp = 0, whitening = 0, packetType = 0;
-
1073  uint16_t preambleLengthFSK = 0;
-
1074  float rxBandwidthKhz = 0;
-
1075 
-
1076  float dataRateMeasured = 0;
-
1077 
-
1078  uint32_t tcxoDelay = 0;
-
1079 
-
1080  size_t implicitLen = 0;
-
1081  uint8_t invertIQEnabled = RADIOLIB_SX126X_LORA_IQ_STANDARD;
-
1082  const char* chipType;
+
1065  Module* mod;
+
1066 
+
1067  // common low-level SPI interface
+
1068  static int16_t SPIparseStatus(uint8_t in);
+
1069 
+
1070 #if !defined(RADIOLIB_GODMODE)
+
1071  protected:
+
1072 #endif
+
1073 
+
1074  uint8_t bandwidth = 0, spreadingFactor = 0, codingRate = 0, ldrOptimize = 0, crcTypeLoRa = 0, headerType = 0;
+
1075  uint16_t preambleLengthLoRa = 0;
+
1076  float bandwidthKhz = 0;
+
1077  bool ldroAuto = true;
+
1078 
+
1079  uint32_t bitRate = 0, frequencyDev = 0;
+
1080  uint8_t rxBandwidth = 0, pulseShape = 0, crcTypeFSK = 0, syncWordLength = 0, addrComp = 0, whitening = 0, packetType = 0;
+
1081  uint16_t preambleLengthFSK = 0;
+
1082  float rxBandwidthKhz = 0;
1083 
-
1084  // Allow subclasses to define different TX modes
-
1085  uint8_t txMode = Module::MODE_TX;
-
1086 
-
1087  int16_t config(uint8_t modem);
-
1088  bool findChip(const char* verStr);
-
1089 };
-
1090 
-
1091 #endif
-
1092 
-
1093 #endif
+
1084  float dataRateMeasured = 0;
+
1085 
+
1086  uint32_t tcxoDelay = 0;
+
1087 
+
1088  size_t implicitLen = 0;
+
1089  uint8_t invertIQEnabled = RADIOLIB_SX126X_LORA_IQ_STANDARD;
+
1090  const char* chipType;
+
1091 
+
1092  // Allow subclasses to define different TX modes
+
1093  uint8_t txMode = Module::MODE_TX;
+
1094 
+
1095  int16_t config(uint8_t modem);
+
1096  bool findChip(const char* verStr);
+
1097 };
+
1098 
+
1099 #endif
+
1100 
+
1101 #endif
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:42
@ MODE_TX
Definition: Module.h:71
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
-
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
+
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:258
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
virtual int16_t sleep()
Sets module to sleep.
Definition: PhysicalLayer.cpp:118
Base class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from thi...
Definition: SX126x.h:443
-
float getFrequencyError()
Gets frequency error of the latest received packet. WARNING: This functionality is based on SX128x im...
Definition: SX126x.cpp:1261
-
int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)
Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages...
Definition: SX126x.cpp:583
-
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1370
+
float getFrequencyError()
Gets frequency error of the latest received packet. WARNING: This functionality is based on SX128x im...
Definition: SX126x.cpp:1265
+
int16_t startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)
Calls startReceiveDutyCycle with rxPeriod and sleepPeriod set so the unit shouldn't miss any messages...
Definition: SX126x.cpp:587
+
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1374
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:465
-
int16_t startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)
Interrupt-driven receive method. DIO1 will be activated when full packet is received.
Definition: SX126x.cpp:542
-
int16_t startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX126x.cpp:691
-
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX126x.cpp:1006
-
int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1358
-
int16_t invertIQ(bool enable)
Enable/disable inversion of the I and Q signals.
Definition: SX126x.cpp:1428
-
int16_t uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)
Upload binary patch into the SX126x device RAM. Patch is needed to e.g., enable spectral scan and mus...
Definition: SX126x.cpp:1452
-
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compat...
Definition: SX126x.cpp:1366
-
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1374
+
int16_t startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX126x.cpp:695
+
int16_t startReceive()
Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalL...
Definition: SX126x.cpp:542
+
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX126x.cpp:1010
+
int16_t setRegulatorLDO()
Set regulator mode to LDO.
Definition: SX126x.cpp:1362
+
int16_t invertIQ(bool enable)
Enable/disable inversion of the I and Q signals.
Definition: SX126x.cpp:1432
+
int16_t uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)
Upload binary patch into the SX126x device RAM. Patch is needed to e.g., enable spectral scan and mus...
Definition: SX126x.cpp:1456
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Available in FSK mode only. Serves only as alias for PhysicalLayer compat...
Definition: SX126x.cpp:1370
+
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX126x.cpp:1378
int16_t beginFSK(float br, float freqDev, float rxBw, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
Initialization method for FSK modem.
Definition: SX126x.cpp:97
-
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125....
Definition: SX126x.cpp:738
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
-
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1354
-
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1378
+
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 7.8, 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125....
Definition: SX126x.cpp:742
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
+
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX126x.cpp:1358
+
int16_t forceLDRO(bool enable)
Forces LoRa low data rate optimization. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1382
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only.
Definition: SX126x.cpp:1086
-
int16_t spectralScanGetStatus()
Read the status of spectral scan.
Definition: SX126x.cpp:1519
-
int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1539
-
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19....
Definition: SX126x.cpp:906
-
int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1362
-
int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)
Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen....
Definition: SX126x.cpp:556
-
int16_t setWhitening(bool enabled, uint16_t initial=0x0100)
Sets FSK whitening parameters.
Definition: SX126x.cpp:1190
+
int16_t setNodeAddress(uint8_t nodeAddr)
Sets node address. Calling this method will also enable address filtering for node address only.
Definition: SX126x.cpp:1090
+
int16_t spectralScanGetStatus()
Read the status of spectral scan.
Definition: SX126x.cpp:1523
+
int16_t setTCXO(float voltage, uint32_t delay=5000)
Sets TCXO (Temperature Compensated Crystal Oscillator) configuration.
Definition: SX126x.cpp:1543
+
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values are 4.8, 5.8, 7.3, 9.7, 11.7, 14.6, 19....
Definition: SX126x.cpp:910
+
int16_t setRegulatorDCDC()
Set regulator mode to DC-DC.
Definition: SX126x.cpp:1366
+
int16_t startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)
Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen....
Definition: SX126x.cpp:560
+
int16_t setWhitening(bool enabled, uint16_t initial=0x0100)
Sets FSK whitening parameters.
Definition: SX126x.cpp:1194
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX126x.cpp:469
int16_t scanChannel(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)
Performs scan for LoRa transmission in the current channel. Detects both preamble and payload.
Definition: SX126x.cpp:418
int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition: SX126x.cpp:448
-
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.
Definition: SX126x.cpp:861
-
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:885
-
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1315
-
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX126x.cpp:1399
-
void spectralScanAbort()
Abort an ongoing spectral scan.
Definition: SX126x.cpp:1515
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 200.0 kHz.
Definition: SX126x.cpp:865
+
int16_t setBitRate(float br)
Sets FSK bit rate. Allowed values range from 0.6 to 300.0 kbps.
Definition: SX126x.cpp:889
+
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX126x.cpp:1319
+
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX126x.cpp:1403
+
void spectralScanAbort()
Abort an ongoing spectral scan.
Definition: SX126x.cpp:1519
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX126x series does...
Definition: SX126x.cpp:344
-
int16_t spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)
Start spectral scan. Requires binary path to be uploaded.
Definition: SX126x.cpp:1499
-
void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode.
Definition: SX126x.cpp:1447
+
int16_t spectralScanStart(uint16_t numSamples, uint8_t window=RADIOLIB_SX126X_SPECTRAL_SCAN_WINDOW_DEFAULT, uint8_t interval=RADIOLIB_SX126X_SCAN_INTERVAL_8_20_US)
Start spectral scan. Requires binary path to be uploaded.
Definition: SX126x.cpp:1503
+
void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode.
Definition: SX126x.cpp:1451
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX126x.cpp:534
-
int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 2.5 mA steps.
Definition: SX126x.cpp:826
-
int16_t setRxBoostedGainMode(bool rxbgm, bool persist=true)
Enables or disables Rx Boosted Gain mode as described in SX126x datasheet section 9....
Definition: SX126x.cpp:969
+
int16_t setCurrentLimit(float currentLimit)
Sets current protection limit. Can be set in 2.5 mA steps.
Definition: SX126x.cpp:830
+
int16_t setRxBoostedGainMode(bool rxbgm, bool persist=true)
Enables or disables Rx Boosted Gain mode as described in SX126x datasheet section 9....
Definition: SX126x.cpp:973
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: SX126x.cpp:328
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
-
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1311
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
+
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1315
int16_t begin(uint8_t cr, uint8_t syncWord, uint16_t preambleLength, float tcxoVoltage, bool useRegulatorLDO=false)
Initialization method for LoRa modem.
Definition: SX126x.cpp:15
-
int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:1131
-
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1695
+
int16_t setCRC(uint8_t len, uint16_t initial=0x1D0F, uint16_t polynomial=0x1021, bool inverted=true)
Sets CRC configuration.
Definition: SX126x.cpp:1135
+
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX126x.cpp:1699
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX126x.cpp:191
-
int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:815
-
float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:839
+
int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits=0x44)
Sets LoRa sync word.
Definition: SX126x.cpp:819
+
float getCurrentLimit()
Reads current protection limit.
Definition: SX126x.cpp:843
SX126x(Module *mod)
Default constructor.
Definition: SX126x.cpp:6
-
int16_t setPreambleLength(uint16_t preambleLength)
Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535.
Definition: SX126x.cpp:848
+
int16_t setPreambleLength(uint16_t preambleLength)
Sets preamble length for LoRa or FSK modem. Allowed values range from 1 to 65535.
Definition: SX126x.cpp:852
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
-
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1390
-
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX126x.cpp:1443
-
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1307
-
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: SX126x.cpp:1103
-
int16_t getChannelScanResult()
Read the channel scan result.
Definition: SX126x.cpp:717
-
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1294
-
int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen)
Sets FSK sync word in the form of array of up to 8 bytes.
Definition: SX126x.cpp:1059
-
float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1227
+
int16_t autoLDRO()
Re-enables automatic LDRO configuration. Only available in LoRa mode. After calling this method,...
Definition: SX126x.cpp:1394
+
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX126x.cpp:1447
+
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX126X_MAX_PACKET_LENGTH)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX126x.cpp:1311
+
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets broadcast address. Calling this method will also enable address filtering for node and broadcast...
Definition: SX126x.cpp:1107
+
int16_t getChannelScanResult()
Read the channel scan result.
Definition: SX126x.cpp:721
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX126x.cpp:1298
+
int16_t setSyncBits(uint8_t *syncWord, uint8_t bitsLen)
Sets FSK sync word in the form of array of up to 8 bytes.
Definition: SX126x.cpp:1063
+
float getDataRate() const
Gets effective data rate for the last transmitted packet. The value is calculated only for payload by...
Definition: SX126x.cpp:1231
bool XTAL
Whether the module has an XTAL (true) or TCXO (false). Defaults to false.
Definition: SX126x.h:462
-
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1350
-
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: SX126x.cpp:1245
-
int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1592
-
int16_t spectralScanGetResult(uint16_t *results)
Read the result of spectral scan.
Definition: SX126x.cpp:1527
-
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:789
-
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:1120
-
int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:802
+
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX126x.cpp:1354
+
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa modem.
Definition: SX126x.cpp:1249
+
int16_t setDio2AsRfSwitch(bool enable=true)
Set DIO2 to function as RF switch (default in Semtech example designs).
Definition: SX126x.cpp:1596
+
int16_t spectralScanGetResult(uint16_t *results)
Read the result of spectral scan.
Definition: SX126x.cpp:1531
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX126x.cpp:793
+
int16_t disableAddressFiltering()
Disables address filtering. Calling this method will also erase previously set addresses.
Definition: SX126x.cpp:1124
+
int16_t setCodingRate(uint8_t cr)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX126x.cpp:806
Definition: Module.h:49
diff --git a/_s_x1272_8h_source.html b/_s_x1272_8h_source.html index b2d3f2fa..40a58e3f 100644 --- a/_s_x1272_8h_source.html +++ b/_s_x1272_8h_source.html @@ -244,7 +244,7 @@ $(document).ready(function(){initNavTree('_s_x1272_8h_source.html',''); initResi
279 
280 #endif
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
-
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
+
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:258
Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic...
Definition: SX1272.h:94
void reset() override
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX1272.cpp:74
int16_t setBandwidth(float bw)
Sets LoRa link bandwidth. Allowed values are 125, 250 and 500 kHz. Only available in LoRa mode.
Definition: SX1272.cpp:93
diff --git a/_s_x1278_8h_source.html b/_s_x1278_8h_source.html index f2c86fd4..4af1f4d5 100644 --- a/_s_x1278_8h_source.html +++ b/_s_x1278_8h_source.html @@ -253,7 +253,7 @@ $(document).ready(function(){initNavTree('_s_x1278_8h_source.html',''); initResi
288 
289 #endif
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
-
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
+
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:258
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:103
SX1278(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1278.cpp:5
int16_t setDataShapingOOK(uint8_t sh)
Sets filter cutoff frequency that will be used for data shaping. Allowed values are 1 for frequency e...
Definition: SX1278.cpp:356
diff --git a/_s_x127x_8h_source.html b/_s_x127x_8h_source.html index 487db109..506999f0 100644 --- a/_s_x127x_8h_source.html +++ b/_s_x127x_8h_source.html @@ -727,245 +727,247 @@ $(document).ready(function(){initNavTree('_s_x127x_8h_source.html',''); initResi
766  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
767 
772  int16_t finishTransmit() override;
-
773 
-
780  int16_t startReceive(uint8_t len = 0, uint8_t mode = RADIOLIB_SX127X_RXCONTINUOUS);
-
781 
-
790  int16_t startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len);
-
791 
-
799  int16_t readData(uint8_t* data, size_t len) override;
-
800 
-
806  int16_t startChannelScan();
-
807 
-
808  // configuration methods
-
809 
-
815  int16_t setSyncWord(uint8_t syncWord);
-
816 
-
822  int16_t setCurrentLimit(uint8_t currentLimit);
-
823 
-
829  int16_t setPreambleLength(uint16_t preambleLength);
-
830 
-
836  float getFrequencyError(bool autoCorrect = false);
-
837 
-
842  float getAFCError();
-
843 
-
848  float getSNR();
-
849 
-
854  float getDataRate() const;
-
855 
-
861  int16_t setFrequencyDeviation(float freqDev) override;
-
862 
-
868  int16_t setRxBandwidth(float rxBw);
-
869 
-
875  int16_t setAFCBandwidth(float afcBw);
-
876 
-
882  int16_t setAFC(bool isEnabled);
-
883 
-
889  int16_t setAFCAGCTrigger(uint8_t trigger);
-
890 
-
897  int16_t setSyncWord(uint8_t* syncWord, size_t len);
+
773 
+
779  int16_t startReceive();
+
780 
+
788  int16_t startReceive(uint8_t len, uint8_t mode);
+
789 
+
798  int16_t startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len);
+
799 
+
807  int16_t readData(uint8_t* data, size_t len) override;
+
808 
+
814  int16_t startChannelScan();
+
815 
+
816  // configuration methods
+
817 
+
823  int16_t setSyncWord(uint8_t syncWord);
+
824 
+
830  int16_t setCurrentLimit(uint8_t currentLimit);
+
831 
+
837  int16_t setPreambleLength(uint16_t preambleLength);
+
838 
+
844  float getFrequencyError(bool autoCorrect = false);
+
845 
+
850  float getAFCError();
+
851 
+
856  float getSNR();
+
857 
+
862  float getDataRate() const;
+
863 
+
869  int16_t setFrequencyDeviation(float freqDev) override;
+
870 
+
876  int16_t setRxBandwidth(float rxBw);
+
877 
+
883  int16_t setAFCBandwidth(float afcBw);
+
884 
+
890  int16_t setAFC(bool isEnabled);
+
891 
+
897  int16_t setAFCAGCTrigger(uint8_t trigger);
898 
-
904  int16_t setNodeAddress(uint8_t nodeAddr);
-
905 
-
911  int16_t setBroadcastAddress(uint8_t broadAddr);
-
912 
-
917  int16_t disableAddressFiltering();
-
918 
-
924  int16_t setOOK(bool enableOOK);
-
925 
-
931  int16_t setOokThresholdType(uint8_t type);
-
932 
-
938  int16_t setOokPeakThresholdDecrement(uint8_t value);
-
939 
-
945  int16_t setOokFixedOrFloorThreshold(uint8_t value);
-
946 
-
952  int16_t setOokPeakThresholdStep(uint8_t value);
-
953 
-
958  int16_t enableBitSync();
-
959 
-
964  int16_t disableBitSync();
-
965 
-
971  size_t getPacketLength(bool update = true) override;
-
972 
-
978  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
-
979 
-
985  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
-
986 
-
992  uint32_t getTimeOnAir(size_t len);
-
993 
-
999  int16_t setCrcFiltering(bool enable = true);
-
1000 
-
1008  int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset = 0);
-
1009 
-
1016  int16_t setEncoding(uint8_t encoding) override;
+
905  int16_t setSyncWord(uint8_t* syncWord, size_t len);
+
906 
+
912  int16_t setNodeAddress(uint8_t nodeAddr);
+
913 
+
919  int16_t setBroadcastAddress(uint8_t broadAddr);
+
920 
+
925  int16_t disableAddressFiltering();
+
926 
+
932  int16_t setOOK(bool enableOOK);
+
933 
+
939  int16_t setOokThresholdType(uint8_t type);
+
940 
+
946  int16_t setOokPeakThresholdDecrement(uint8_t value);
+
947 
+
953  int16_t setOokFixedOrFloorThreshold(uint8_t value);
+
954 
+
960  int16_t setOokPeakThresholdStep(uint8_t value);
+
961 
+
966  int16_t enableBitSync();
+
967 
+
972  int16_t disableBitSync();
+
973 
+
979  size_t getPacketLength(bool update = true) override;
+
980 
+
986  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
+
987 
+
993  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
+
994 
+
1000  uint32_t getTimeOnAir(size_t len);
+
1001 
+
1007  int16_t setCrcFiltering(bool enable = true);
+
1008 
+
1016  int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset = 0);
1017 
-
1024  uint16_t getIRQFlags();
+
1024  int16_t setEncoding(uint8_t encoding) override;
1025 
-
1030  uint8_t getModemStatus();
-
1031 
-
1037  int8_t getTempRaw();
-
1038 
-
1040  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
-
1041 
-
1043  void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
-
1044 
-
1049  uint8_t randomByte();
-
1050 
-
1055  int16_t getChipVersion();
-
1056 
-
1062  int16_t invertIQ(bool invertIQ);
-
1063 
-
1064  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
1069  void setDirectAction(void (*func)(void));
-
1070 
-
1075  void readBit(uint32_t pin);
-
1076  #endif
-
1077 
-
1083  int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod);
-
1084 
-
1089  uint8_t getFHSSHoppingPeriod(void);
-
1090 
-
1095  uint8_t getFHSSChannel(void);
-
1096 
-
1100  void clearFHSSInt(void);
-
1101 
-
1108  int16_t setDIOMapping(uint32_t pin, uint32_t value);
+
1032  uint16_t getIRQFlags();
+
1033 
+
1038  uint8_t getModemStatus();
+
1039 
+
1045  int8_t getTempRaw();
+
1046 
+
1048  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
+
1049 
+
1051  void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
+
1052 
+
1057  uint8_t randomByte();
+
1058 
+
1063  int16_t getChipVersion();
+
1064 
+
1070  int16_t invertIQ(bool invertIQ);
+
1071 
+
1072  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
1077  void setDirectAction(void (*func)(void));
+
1078 
+
1083  void readBit(uint32_t pin);
+
1084  #endif
+
1085 
+
1091  int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod);
+
1092 
+
1097  uint8_t getFHSSHoppingPeriod(void);
+
1098 
+
1103  uint8_t getFHSSChannel(void);
+
1104 
+
1108  void clearFHSSInt(void);
1109 
-
1115  int16_t setDIOPreambleDetect(bool usePreambleDetect);
-
1116 
-
1123  float getRSSI(bool packet, bool skipReceive, int16_t offset);
+
1116  int16_t setDIOMapping(uint32_t pin, uint32_t value);
+
1117 
+
1123  int16_t setDIOPreambleDetect(bool usePreambleDetect);
1124 
-
1130  int16_t setRSSIThreshold(float dbm);
-
1131 
-
1132 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
1133  protected:
-
1134 #endif
-
1135  Module* mod;
-
1136 
-
1137 #if !defined(RADIOLIB_GODMODE)
-
1138  protected:
-
1139 #endif
-
1140 
-
1141  float frequency = 0;
-
1142  float bandwidth = 0;
-
1143  uint8_t spreadingFactor = 0;
-
1144  uint8_t codingRate = 0;
-
1145  float bitRate = 0;
-
1146  bool ookEnabled = false;
-
1147  bool crcEnabled = false;
-
1148  bool crcOn = true; // default value used in FSK mode
-
1149  size_t packetLength = 0;
-
1150 
-
1151  int16_t setFrequencyRaw(float newFreq);
-
1152  int16_t setBitRateCommon(float br, uint8_t fracRegAddr);
-
1153  int16_t config();
-
1154  int16_t configFSK();
-
1155  int16_t getActiveModem();
-
1156  int16_t directMode();
-
1157  int16_t setPacketMode(uint8_t mode, uint8_t len);
+
1131  float getRSSI(bool packet, bool skipReceive, int16_t offset);
+
1132 
+
1138  int16_t setRSSIThreshold(float dbm);
+
1139 
+
1140 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
1141  protected:
+
1142 #endif
+
1143  Module* mod;
+
1144 
+
1145 #if !defined(RADIOLIB_GODMODE)
+
1146  protected:
+
1147 #endif
+
1148 
+
1149  float frequency = 0;
+
1150  float bandwidth = 0;
+
1151  uint8_t spreadingFactor = 0;
+
1152  uint8_t codingRate = 0;
+
1153  float bitRate = 0;
+
1154  bool ookEnabled = false;
+
1155  bool crcEnabled = false;
+
1156  bool crcOn = true; // default value used in FSK mode
+
1157  size_t packetLength = 0;
1158 
-
1159 #if !defined(RADIOLIB_GODMODE)
-
1160  private:
-
1161 #endif
-
1162  float dataRate = 0;
-
1163  bool packetLengthQueried = false; // FSK packet length is the first byte in FIFO, length can only be queried once
-
1164  uint8_t packetLengthConfig = RADIOLIB_SX127X_PACKET_VARIABLE;
-
1165 
-
1166  bool findChip(uint8_t ver);
-
1167  int16_t setMode(uint8_t mode);
-
1168  int16_t setActiveModem(uint8_t modem);
-
1169  void clearIRQFlags();
-
1170  void clearFIFO(size_t count); // used mostly to clear remaining bytes in FIFO after a packet read
-
1171 
-
1177  static uint8_t calculateBWManExp(float bandwidth);
-
1178 
-
1179  virtual void errataFix(bool rx) = 0;
-
1180 };
-
1181 
-
1182 #endif
-
1183 
-
1184 #endif
+
1159  int16_t setFrequencyRaw(float newFreq);
+
1160  int16_t setBitRateCommon(float br, uint8_t fracRegAddr);
+
1161  int16_t config();
+
1162  int16_t configFSK();
+
1163  int16_t getActiveModem();
+
1164  int16_t directMode();
+
1165  int16_t setPacketMode(uint8_t mode, uint8_t len);
+
1166 
+
1167 #if !defined(RADIOLIB_GODMODE)
+
1168  private:
+
1169 #endif
+
1170  float dataRate = 0;
+
1171  bool packetLengthQueried = false; // FSK packet length is the first byte in FIFO, length can only be queried once
+
1172  uint8_t packetLengthConfig = RADIOLIB_SX127X_PACKET_VARIABLE;
+
1173 
+
1174  bool findChip(uint8_t ver);
+
1175  int16_t setMode(uint8_t mode);
+
1176  int16_t setActiveModem(uint8_t modem);
+
1177  void clearIRQFlags();
+
1178  void clearFIFO(size_t count); // used mostly to clear remaining bytes in FIFO after a packet read
+
1179 
+
1185  static uint8_t calculateBWManExp(float bandwidth);
+
1186 
+
1187  virtual void errataFix(bool rx) = 0;
+
1188 };
+
1189 
+
1190 #endif
+
1191 
+
1192 #endif
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:42
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
-
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
+
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:258
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:582
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets....
Definition: SX127x.cpp:360
-
void clearFifoFullAction()
Clears interrupt service routine to call when FIFO is full.
Definition: SX127x.cpp:469
-
int16_t setDIOMapping(uint32_t pin, uint32_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: SX127x.cpp:1537
-
int16_t setOokFixedOrFloorThreshold(uint8_t value)
Fixed threshold for the Data Slicer in OOK mode or floor threshold for the Data Slicer in OOK when Pe...
Definition: SX127x.cpp:1033
-
int16_t enableBitSync()
Enable Bit synchronizer.
Definition: SX127x.cpp:1057
-
void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1511
-
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1137
-
int16_t startChannelScan()
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX127x.cpp:650
-
int16_t invertIQ(bool invertIQ)
Enable/disable inversion of the I and Q signals.
Definition: SX127x.cpp:1486
-
void setFifoFullAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is full.
Definition: SX127x.cpp:460
-
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: SX127x.cpp:1065
-
bool fifoGet(volatile uint8_t *data, int totalLen, volatile int *rcvLen)
Set interrupt service routine function to call when FIFO is sufficently full to read.
Definition: SX127x.cpp:497
-
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode.
Definition: SX127x.cpp:903
-
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1260
+
void clearFifoFullAction()
Clears interrupt service routine to call when FIFO is full.
Definition: SX127x.cpp:473
+
int16_t setDIOMapping(uint32_t pin, uint32_t value)
Configure DIO pin mapping to get a given signal on a DIO pin (if available).
Definition: SX127x.cpp:1541
+
int16_t setOokFixedOrFloorThreshold(uint8_t value)
Fixed threshold for the Data Slicer in OOK mode or floor threshold for the Data Slicer in OOK when Pe...
Definition: SX127x.cpp:1037
+
int16_t enableBitSync()
Enable Bit synchronizer.
Definition: SX127x.cpp:1061
+
void readBit(uint32_t pin)
Function to read and process data bit in direct reception mode.
Definition: SX127x.cpp:1515
+
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in variable packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1141
+
int16_t startChannelScan()
Interrupt-driven channel activity detection method. DIO0 will be activated when LoRa preamble is dete...
Definition: SX127x.cpp:654
+
int16_t invertIQ(bool invertIQ)
Enable/disable inversion of the I and Q signals.
Definition: SX127x.cpp:1490
+
void setFifoFullAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is full.
Definition: SX127x.cpp:464
+
int16_t setOOK(bool enableOOK)
Enables/disables OOK modulation instead of FSK.
Definition: SX127x.cpp:1069
+
bool fifoGet(volatile uint8_t *data, int totalLen, volatile int *rcvLen)
Set interrupt service routine function to call when FIFO is sufficently full to read.
Definition: SX127x.cpp:501
+
int16_t setRxBandwidth(float rxBw)
Sets FSK receiver bandwidth. Allowed values range from 2.6 to 250 kHz. Only available in FSK mode.
Definition: SX127x.cpp:907
+
uint8_t getModemStatus()
Reads modem status. Only available in LoRa mode.
Definition: SX127x.cpp:1264
virtual void reset()=0
Reset method. Will reset the chip to the default state using RST pin. Declared pure virtual since SX1...
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
-
bool fifoAdd(uint8_t *data, int totalLen, int *remLen)
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:474
-
int16_t setCurrentLimit(uint8_t currentLimit)
Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45...
Definition: SX127x.cpp:688
-
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1528
-
int16_t setAFC(bool isEnabled)
Enables or disables FSK automatic frequency correction(AFC)
Definition: SX127x.cpp:935
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
+
bool fifoAdd(uint8_t *data, int totalLen, int *remLen)
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:478
+
int16_t setCurrentLimit(uint8_t currentLimit)
Sets current limit for over current protection at transmitter amplifier. Allowed values range from 45...
Definition: SX127x.cpp:692
+
void clearFHSSInt(void)
Clear the FHSS interrupt.
Definition: SX127x.cpp:1532
+
int16_t setAFC(bool isEnabled)
Enables or disables FSK automatic frequency correction(AFC)
Definition: SX127x.cpp:939
int16_t sleep()
Sets the LoRa module to sleep to save power. Module will not be able to transmit or receive any data ...
Definition: SX127x.cpp:273
-
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
Definition: SX127x.cpp:861
-
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1105
-
int16_t setOokPeakThresholdStep(uint8_t value)
Size of each decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1049
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation from carrier frequency. Allowed values depend on bit rate setting and mu...
Definition: SX127x.cpp:865
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX127x.cpp:1109
+
int16_t setOokPeakThresholdStep(uint8_t value)
Size of each decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1053
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
float getAFCError()
Gets current AFC error.
Definition: SX127x.cpp:794
-
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1197
-
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1524
+
float getAFCError()
Gets current AFC error.
Definition: SX127x.cpp:798
+
int16_t setRSSIThreshold(float dbm)
Sets the RSSI value above which the RSSI interrupt is signaled.
Definition: SX127x.cpp:1201
+
uint8_t getFHSSChannel(void)
Gets the FHSS channel in use.
Definition: SX127x.cpp:1528
int16_t begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength)
Initialization method. Will be called with appropriate parameters when calling initialization method ...
Definition: SX127x.cpp:13
-
int16_t setAFCBandwidth(float afcBw)
Sets FSK automatic frequency correction bandwidth. Allowed values range from 2.6 to 250 kHz....
Definition: SX127x.cpp:919
-
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1278
-
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1133
-
void setFifoEmptyAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:451
-
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: SX127x.cpp:433
+
int16_t setAFCBandwidth(float afcBw)
Sets FSK automatic frequency correction bandwidth. Allowed values range from 2.6 to 250 kHz....
Definition: SX127x.cpp:923
+
uint8_t randomByte()
Get one truly random byte from RSSI noise.
Definition: SX127x.cpp:1282
+
int16_t fixedPacketLengthMode(uint8_t len=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)
Set modem in fixed packet length mode. Available in FSK mode only.
Definition: SX127x.cpp:1137
+
void setFifoEmptyAction(void(*func)(void))
Set interrupt service routine function to call when FIFO is empty.
Definition: SX127x.cpp:455
+
void clearDio0Action()
Clears interrupt service routine to call when DIO0 activates.
Definition: SX127x.cpp:437
int16_t beginFSK(uint8_t chipVersion, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK)
Initialization method for FSK modem. Will be called with appropriate parameters when calling FSK init...
Definition: SX127x.cpp:60
int16_t standby() override
Sets the LoRa module to standby.
Definition: SX127x.cpp:281
-
void setDio1Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO1 activates.
Definition: SX127x.cpp:437
-
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1547
-
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1516
-
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX127x.cpp:591
-
int16_t disableBitSync()
Disable Bit synchronizer (not allowed in Packet mode).
Definition: SX127x.cpp:1061
-
int16_t setOokThresholdType(uint8_t type)
Selects the type of threshold in the OOK data slicer.
Definition: SX127x.cpp:1025
-
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX127x.cpp:1270
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
-
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1307
-
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:444
-
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX127x.cpp:1507
+
void setDio1Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO1 activates.
Definition: SX127x.cpp:441
+
int16_t setDIOPreambleDetect(bool usePreambleDetect)
Configure DIO mapping to use RSSI or Preamble Detect for pins that support it.
Definition: SX127x.cpp:1551
+
int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod)
Sets the hopping period and enables FHSS.
Definition: SX127x.cpp:1520
+
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX127x.cpp:595
+
int16_t disableBitSync()
Disable Bit synchronizer (not allowed in Packet mode).
Definition: SX127x.cpp:1065
+
int16_t setOokThresholdType(uint8_t type)
Selects the type of threshold in the OOK data slicer.
Definition: SX127x.cpp:1029
+
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX127x.cpp:1274
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
+
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1311
+
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:448
+
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX127x.cpp:1511
int16_t receiveDirect() override
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:323
-
void clearFifoEmptyAction()
Clears interrupt service routine to call when FIFO is empty.
Definition: SX127x.cpp:456
-
int16_t setOokPeakThresholdDecrement(uint8_t value)
Period of decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1041
-
int16_t setAFCAGCTrigger(uint8_t trigger)
Controls trigger of AFC and AGC.
Definition: SX127x.cpp:945
-
int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1187
-
int16_t setPreambleLength(uint16_t preambleLength)
Sets LoRa or FSK preamble length. Allowed values range from 6 to 65535 in LoRa mode or 0 to 65535 in ...
Definition: SX127x.cpp:712
+
void clearFifoEmptyAction()
Clears interrupt service routine to call when FIFO is empty.
Definition: SX127x.cpp:460
+
int16_t setOokPeakThresholdDecrement(uint8_t value)
Period of decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1045
+
int16_t setAFCAGCTrigger(uint8_t trigger)
Controls trigger of AFC and AGC.
Definition: SX127x.cpp:949
+
int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1191
+
int16_t setPreambleLength(uint16_t preambleLength)
Sets LoRa or FSK preamble length. Allowed values range from 6 to 65535 in LoRa mode or 0 to 65535 in ...
Definition: SX127x.cpp:716
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
-
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX127x.cpp:1274
-
int16_t setNodeAddress(uint8_t nodeAddr)
Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode.
Definition: SX127x.cpp:979
-
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ,...
Definition: SX127x.cpp:1226
-
float getSNR()
Gets signal-to-noise ratio of the latest received packet. Only available in LoRa mode.
Definition: SX127x.cpp:810
-
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK ...
Definition: SX127x.cpp:993
-
int16_t setSyncWord(uint8_t syncWord)
Sets LoRa sync word. Only available in LoRa mode.
Definition: SX127x.cpp:675
-
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1245
+
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX127x.cpp:1278
+
int16_t setNodeAddress(uint8_t nodeAddr)
Sets FSK node address. Calling this method will enable address filtering. Only available in FSK mode.
Definition: SX127x.cpp:983
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ,...
Definition: SX127x.cpp:1230
+
float getSNR()
Gets signal-to-noise ratio of the latest received packet. Only available in LoRa mode.
Definition: SX127x.cpp:814
+
int16_t setBroadcastAddress(uint8_t broadAddr)
Sets FSK broadcast address. Calling this method will enable address filtering. Only available in FSK ...
Definition: SX127x.cpp:997
+
int16_t setSyncWord(uint8_t syncWord)
Sets LoRa sync word. Only available in LoRa mode.
Definition: SX127x.cpp:679
+
uint16_t getIRQFlags()
Reads currently active IRQ flags, can be used to check which event caused an interrupt....
Definition: SX127x.cpp:1249
SX127x(Module *mod)
Default constructor. Called internally when creating new LoRa instance.
Definition: SX127x.cpp:5
-
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1203
-
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1141
-
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1520
+
int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset=0)
Sets RSSI measurement configuration in FSK mode.
Definition: SX127x.cpp:1207
+
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX127x.cpp:1145
+
uint8_t getFHSSHoppingPeriod(void)
Gets FHSS hopping period.
Definition: SX127x.cpp:1524
int16_t scanChannel()
Performs scan for valid LoRa preamble in the current channel.
Definition: SX127x.cpp:257
-
float getDataRate() const
Get data rate of the latest transmitted packet.
Definition: SX127x.cpp:821
-
int16_t startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)
Interrupt-driven receive method. DIO0 will be activated when full valid packet is received.
Definition: SX127x.cpp:369
-
void setDio0Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO0 activates.
Definition: SX127x.cpp:429
-
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1303
+
float getDataRate() const
Get data rate of the latest transmitted packet.
Definition: SX127x.cpp:825
+
void setDio0Action(void(*func)(void), uint32_t dir)
Set interrupt service routine function to call when DIO0 activates.
Definition: SX127x.cpp:433
+
int16_t startReceive()
Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalL...
Definition: SX127x.cpp:369
+
int16_t getChipVersion()
Read version SPI register. Should return SX1278_CHIP_VERSION (0x12) or SX1272_CHIP_VERSION (0x22) if ...
Definition: SX127x.cpp:1307
int16_t transmitDirect(uint32_t frf=0) override
Enables direct transmission mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:294
-
float getFrequencyError(bool autoCorrect=false)
Gets frequency error of the latest received packet.
Definition: SX127x.cpp:741
-
int16_t disableAddressFiltering()
Disables FSK address filtering.
Definition: SX127x.cpp:1007
+
float getFrequencyError(bool autoCorrect=false)
Gets frequency error of the latest received packet.
Definition: SX127x.cpp:745
+
int16_t disableAddressFiltering()
Disables FSK address filtering.
Definition: SX127x.cpp:1011
Definition: Module.h:49
diff --git a/_s_x128x_8h_source.html b/_s_x128x_8h_source.html index b48a0a82..16a2ebe2 100644 --- a/_s_x128x_8h_source.html +++ b/_s_x128x_8h_source.html @@ -479,205 +479,207 @@ $(document).ready(function(){initNavTree('_s_x128x_8h_source.html',''); initResi
506  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
507 
512  int16_t finishTransmit() override;
-
513 
-
526  int16_t startReceive(uint16_t timeout = RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX128X_IRQ_RX_DONE, size_t len = 0);
-
527 
-
532  uint16_t getIrqStatus();
-
533 
-
541  int16_t readData(uint8_t* data, size_t len) override;
-
542 
-
543  // configuration methods
-
544 
-
550  int16_t setFrequency(float freq);
-
551 
-
557  int16_t setBandwidth(float bw);
-
558 
-
564  int16_t setSpreadingFactor(uint8_t sf);
-
565 
-
573  int16_t setCodingRate(uint8_t cr, bool longInterleaving = false);
-
574 
-
580  int16_t setOutputPower(int8_t pwr);
-
581 
-
587  int16_t setPreambleLength(uint32_t preambleLength);
-
588 
-
595  int16_t setBitRate(float br);
+
513 
+
520  int16_t startReceive();
+
521 
+
534  int16_t startReceive(uint16_t timeout = RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags = RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask = RADIOLIB_SX128X_IRQ_RX_DONE, size_t len = 0);
+
535 
+
540  uint16_t getIrqStatus();
+
541 
+
549  int16_t readData(uint8_t* data, size_t len) override;
+
550 
+
551  // configuration methods
+
552 
+
558  int16_t setFrequency(float freq);
+
559 
+
565  int16_t setBandwidth(float bw);
+
566 
+
572  int16_t setSpreadingFactor(uint8_t sf);
+
573 
+
581  int16_t setCodingRate(uint8_t cr, bool longInterleaving = false);
+
582 
+
588  int16_t setOutputPower(int8_t pwr);
+
589 
+
595  int16_t setPreambleLength(uint32_t preambleLength);
596 
-
602  int16_t setFrequencyDeviation(float freqDev) override;
-
603 
-
610  int16_t setDataShaping(uint8_t sh) override;
+
603  int16_t setBitRate(float br);
+
604 
+
610  int16_t setFrequencyDeviation(float freqDev) override;
611 
-
619  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
-
620 
-
627  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
+
618  int16_t setDataShaping(uint8_t sh) override;
+
619 
+
627  int16_t setSyncWord(uint8_t* syncWord, uint8_t len);
628 
-
636  int16_t setCRC(uint8_t len, uint32_t initial = 0x1D0F, uint16_t polynomial = 0x1021);
-
637 
-
643  int16_t setWhitening(bool enabled);
-
644 
-
650  int16_t setAccessAddress(uint32_t addr);
-
651 
-
657  int16_t setHighSensitivityMode(bool enable);
-
658 
-
664  int16_t setGainControl(uint8_t gain = 0);
-
665 
-
670  float getRSSI();
-
671 
-
676  float getSNR();
-
677 
-
682  float getFrequencyError();
-
683 
-
689  size_t getPacketLength(bool update = true) override;
-
690 
-
696  uint32_t getTimeOnAir(size_t len);
-
697 
-
702  int16_t implicitHeader(size_t len);
-
703 
-
709  int16_t explicitHeader();
-
710 
-
716  int16_t setEncoding(uint8_t encoding) override;
-
717 
-
719  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
-
720 
-
722  void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
-
723 
-
728  uint8_t randomByte();
-
729 
-
735  int16_t invertIQ(bool enable);
-
736 
-
737  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
742  void setDirectAction(void (*func)(void));
-
743 
-
748  void readBit(uint32_t pin);
-
749  #endif
-
750 
-
751 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
752  protected:
-
753 #endif
-
754  Module* mod;
-
755 
-
756 #if !defined(RADIOLIB_GODMODE)
-
757  protected:
-
758 #endif
-
759 
-
760  // cached LoRa parameters
-
761  float bandwidthKhz = 0;
-
762  uint8_t bandwidth = 0, spreadingFactor = 0, codingRateLoRa = 0;
-
763  uint8_t preambleLengthLoRa = 0, headerType = 0, payloadLen = 0, crcLoRa = 0;
-
764 
-
765  // SX128x SPI command implementations
-
766  uint8_t getStatus();
-
767  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
768  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
-
769  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
-
770  int16_t readBuffer(uint8_t* data, uint8_t numBytes);
-
771  int16_t setTx(uint16_t periodBaseCount = RADIOLIB_SX128X_TX_TIMEOUT_NONE, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
-
772  int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
-
773  int16_t setCad();
-
774  uint8_t getPacketType();
-
775  int16_t setRfFrequency(uint32_t frf);
-
776  int16_t setTxParams(uint8_t pwr, uint8_t rampTime = RADIOLIB_SX128X_PA_RAMP_10_US);
-
777  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
-
778  int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);
-
779  int16_t setPacketParamsGFSK(uint8_t preambleLen, uint8_t syncLen, uint8_t syncMatch, uint8_t crcLen, uint8_t whiten, uint8_t payLen = 0xFF, uint8_t hdrType = RADIOLIB_SX128X_GFSK_FLRC_PACKET_VARIABLE);
-
780  int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTest, uint8_t whiten);
-
781  int16_t setPacketParamsLoRa(uint8_t preambleLen, uint8_t hdrType, uint8_t payLen, uint8_t crc, uint8_t invIQ = RADIOLIB_SX128X_LORA_IQ_STANDARD);
-
782  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX128X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX128X_IRQ_NONE);
-
783  int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX128X_IRQ_ALL);
-
784  int16_t setRangingRole(uint8_t role);
-
785  int16_t setPacketType(uint8_t type);
-
786 
-
787  int16_t setHeaderType(uint8_t hdrType, size_t len = 0xFF);
-
788 
-
789 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
790  private:
-
791 #endif
-
792 
-
793  // common low-level SPI interface
-
794  static int16_t SPIparseStatus(uint8_t in);
-
795 
-
796 #if !defined(RADIOLIB_GODMODE)
-
797  private:
-
798 #endif
-
799  // common parameters
-
800  uint8_t power = 0;
-
801 
-
802  // cached LoRa parameters
-
803  uint8_t invertIQEnabled = RADIOLIB_SX128X_LORA_IQ_STANDARD;
-
804 
-
805  // cached GFSK parameters
-
806  float modIndexReal = 0;
-
807  uint16_t bitRateKbps = 0;
-
808  uint8_t bitRate = 0, modIndex = 0, shaping = 0;
-
809  uint8_t preambleLengthGFSK = 0, syncWordLen = 0, syncWordMatch = 0, crcGFSK = 0, whitening = 0;
-
810 
-
811  // cached FLRC parameters
-
812  uint8_t codingRateFLRC = 0;
-
813 
-
814  // cached BLE parameters
-
815  uint8_t connectionState = 0, crcBLE = 0, bleTestPayload = 0;
-
816 
-
817  int16_t config(uint8_t modem);
-
818 };
-
819 
-
820 #endif
+
635  int16_t setSyncWord(uint8_t syncWord, uint8_t controlBits = 0x44);
+
636 
+
644  int16_t setCRC(uint8_t len, uint32_t initial = 0x1D0F, uint16_t polynomial = 0x1021);
+
645 
+
651  int16_t setWhitening(bool enabled);
+
652 
+
658  int16_t setAccessAddress(uint32_t addr);
+
659 
+
665  int16_t setHighSensitivityMode(bool enable);
+
666 
+
672  int16_t setGainControl(uint8_t gain = 0);
+
673 
+
678  float getRSSI();
+
679 
+
684  float getSNR();
+
685 
+
690  float getFrequencyError();
+
691 
+
697  size_t getPacketLength(bool update = true) override;
+
698 
+
704  uint32_t getTimeOnAir(size_t len);
+
705 
+
710  int16_t implicitHeader(size_t len);
+
711 
+
717  int16_t explicitHeader();
+
718 
+
724  int16_t setEncoding(uint8_t encoding) override;
+
725 
+
727  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
+
728 
+
730  void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
+
731 
+
736  uint8_t randomByte();
+
737 
+
743  int16_t invertIQ(bool enable);
+
744 
+
745  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
+
750  void setDirectAction(void (*func)(void));
+
751 
+
756  void readBit(uint32_t pin);
+
757  #endif
+
758 
+
759 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
760  protected:
+
761 #endif
+
762  Module* mod;
+
763 
+
764 #if !defined(RADIOLIB_GODMODE)
+
765  protected:
+
766 #endif
+
767 
+
768  // cached LoRa parameters
+
769  float bandwidthKhz = 0;
+
770  uint8_t bandwidth = 0, spreadingFactor = 0, codingRateLoRa = 0;
+
771  uint8_t preambleLengthLoRa = 0, headerType = 0, payloadLen = 0, crcLoRa = 0;
+
772 
+
773  // SX128x SPI command implementations
+
774  uint8_t getStatus();
+
775  int16_t writeRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
776  int16_t readRegister(uint16_t addr, uint8_t* data, uint8_t numBytes);
+
777  int16_t writeBuffer(uint8_t* data, uint8_t numBytes, uint8_t offset = 0x00);
+
778  int16_t readBuffer(uint8_t* data, uint8_t numBytes);
+
779  int16_t setTx(uint16_t periodBaseCount = RADIOLIB_SX128X_TX_TIMEOUT_NONE, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
+
780  int16_t setRx(uint16_t periodBaseCount, uint8_t periodBase = RADIOLIB_SX128X_PERIOD_BASE_15_625_US);
+
781  int16_t setCad();
+
782  uint8_t getPacketType();
+
783  int16_t setRfFrequency(uint32_t frf);
+
784  int16_t setTxParams(uint8_t pwr, uint8_t rampTime = RADIOLIB_SX128X_PA_RAMP_10_US);
+
785  int16_t setBufferBaseAddress(uint8_t txBaseAddress = 0x00, uint8_t rxBaseAddress = 0x00);
+
786  int16_t setModulationParams(uint8_t modParam1, uint8_t modParam2, uint8_t modParam3);
+
787  int16_t setPacketParamsGFSK(uint8_t preambleLen, uint8_t syncLen, uint8_t syncMatch, uint8_t crcLen, uint8_t whiten, uint8_t payLen = 0xFF, uint8_t hdrType = RADIOLIB_SX128X_GFSK_FLRC_PACKET_VARIABLE);
+
788  int16_t setPacketParamsBLE(uint8_t connState, uint8_t crcLen, uint8_t bleTest, uint8_t whiten);
+
789  int16_t setPacketParamsLoRa(uint8_t preambleLen, uint8_t hdrType, uint8_t payLen, uint8_t crc, uint8_t invIQ = RADIOLIB_SX128X_LORA_IQ_STANDARD);
+
790  int16_t setDioIrqParams(uint16_t irqMask, uint16_t dio1Mask, uint16_t dio2Mask = RADIOLIB_SX128X_IRQ_NONE, uint16_t dio3Mask = RADIOLIB_SX128X_IRQ_NONE);
+
791  int16_t clearIrqStatus(uint16_t clearIrqParams = RADIOLIB_SX128X_IRQ_ALL);
+
792  int16_t setRangingRole(uint8_t role);
+
793  int16_t setPacketType(uint8_t type);
+
794 
+
795  int16_t setHeaderType(uint8_t hdrType, size_t len = 0xFF);
+
796 
+
797 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
+
798  private:
+
799 #endif
+
800 
+
801  // common low-level SPI interface
+
802  static int16_t SPIparseStatus(uint8_t in);
+
803 
+
804 #if !defined(RADIOLIB_GODMODE)
+
805  private:
+
806 #endif
+
807  // common parameters
+
808  uint8_t power = 0;
+
809 
+
810  // cached LoRa parameters
+
811  uint8_t invertIQEnabled = RADIOLIB_SX128X_LORA_IQ_STANDARD;
+
812 
+
813  // cached GFSK parameters
+
814  float modIndexReal = 0;
+
815  uint16_t bitRateKbps = 0;
+
816  uint8_t bitRate = 0, modIndex = 0, shaping = 0;
+
817  uint8_t preambleLengthGFSK = 0, syncWordLen = 0, syncWordMatch = 0, crcGFSK = 0, whitening = 0;
+
818 
+
819  // cached FLRC parameters
+
820  uint8_t codingRateFLRC = 0;
821 
-
822 #endif
+
822  // cached BLE parameters
+
823  uint8_t connectionState = 0, crcBLE = 0, bleTestPayload = 0;
+
824 
+
825  int16_t config(uint8_t modem);
+
826 };
+
827 
+
828 #endif
+
829 
+
830 #endif
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:42
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
virtual int16_t sleep()
Sets module to sleep.
Definition: PhysicalLayer.cpp:118
Base class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from thi...
Definition: SX128x.h:350
void setDio1Action(void(*func)(void))
Sets interrupt service routine to call when DIO1 activates.
Definition: SX128x.cpp:471
-
int16_t setSyncWord(uint8_t *syncWord, uint8_t len)
Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem,...
Definition: SX128x.cpp:901
-
int16_t invertIQ(bool enable)
Enable/disable inversion of the I and Q signals.
Definition: SX128x.cpp:1288
-
int16_t setPreambleLength(uint32_t preambleLength)
Sets preamble length for currently active modem. Allowed values range from 1 to 65535.
Definition: SX128x.cpp:733
-
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz.
Definition: SX128x.cpp:627
-
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX128x.cpp:1198
+
int16_t setSyncWord(uint8_t *syncWord, uint8_t len)
Sets FSK/FLRC sync word in the form of array of up to 5 bytes (FSK). For FLRC modem,...
Definition: SX128x.cpp:905
+
int16_t invertIQ(bool enable)
Enable/disable inversion of the I and Q signals.
Definition: SX128x.cpp:1292
+
int16_t setPreambleLength(uint32_t preambleLength)
Sets preamble length for currently active modem. Allowed values range from 1 to 65535.
Definition: SX128x.cpp:737
+
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values are in range from 2400.0 to 2500.0 MHz.
Definition: SX128x.cpp:631
+
uint32_t getTimeOnAir(size_t len)
Get expected time-on-air for a given size of payload.
Definition: SX128x.cpp:1202
int16_t reset(bool verify=true)
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX128x.cpp:263
-
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz.
Definition: SX128x.cpp:838
+
int16_t setFrequencyDeviation(float freqDev) override
Sets FSK frequency deviation. Allowed values range from 0.0 to 3200.0 kHz.
Definition: SX128x.cpp:842
int16_t begin(float freq=2400.0, float bw=812.5, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX128X_SYNC_WORD_PRIVATE, int8_t pwr=10, uint16_t preambleLength=12)
Initialization method for LoRa modem.
Definition: SX128x.cpp:13
-
float getFrequencyError()
Gets frequency error of the latest received packet.
Definition: SX128x.cpp:1152
+
float getFrequencyError()
Gets frequency error of the latest received packet.
Definition: SX128x.cpp:1156
int16_t standby() override
Sets the module to standby mode (overload for PhysicalLayer compatibility, uses 13 MHz RC oscillator)...
Definition: SX128x.cpp:454
int16_t beginFLRC(float freq=2400.0, uint16_t br=650, uint8_t cr=3, int8_t pwr=10, uint16_t preambleLength=16, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
Initialization method for FLRC modem.
Definition: SX128x.cpp:198
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
-
int16_t setGainControl(uint8_t gain=0)
Enables or disables receiver manual gain control.
Definition: SX128x.cpp:1072
-
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX128x.cpp:1185
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
+
int16_t setGainControl(uint8_t gain=0)
Enables or disables receiver manual gain control.
Definition: SX128x.cpp:1076
+
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: SX128x.cpp:1189
int16_t finishTransmit() override
Clean up after transmission is done.
Definition: SX128x.cpp:543
-
int16_t setBitRate(float br)
Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for ...
Definition: SX128x.cpp:781
+
int16_t setBitRate(float br)
Sets FSK or FLRC bit rate. Allowed values are 125, 250, 400, 500, 800, 1000, 1600 and 2000 kbps (for ...
Definition: SX128x.cpp:785
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
int16_t transmitDirect(uint32_t frf=0) override
Starts direct mode transmission.
Definition: SX128x.cpp:370
-
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX128x.cpp:1274
-
int16_t setHighSensitivityMode(bool enable)
Enables or disables receiver high sensitivity mode.
Definition: SX128x.cpp:1055
+
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX128x.cpp:1278
+
int16_t setHighSensitivityMode(bool enable)
Enables or disables receiver high sensitivity mode.
Definition: SX128x.cpp:1059
int16_t beginGFSK(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t pwr=10, uint16_t preambleLength=16)
Initialization method for GFSK modem.
Definition: SX128x.cpp:74
-
int16_t startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)
Interrupt-driven receive method. DIO1 will be activated when full packet is received.
Definition: SX128x.cpp:551
-
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility.
Definition: SX128x.cpp:1270
+
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Serves only as alias for PhysicalLayer compatibility.
Definition: SX128x.cpp:1274
int16_t scanChannel()
Performs scan for LoRa transmission in the current channel. Detects both preamble and payload.
Definition: SX128x.cpp:393
-
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging mode...
Definition: SX128x.cpp:1132
-
int16_t setWhitening(bool enabled)
Sets whitening parameters, not available for LoRa or FLRC modem.
Definition: SX128x.cpp:1024
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
-
int16_t setAccessAddress(uint32_t addr)
Sets BLE access address.
Definition: SX128x.cpp:1044
-
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX128x.cpp:1266
-
float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: SX128x.cpp:1108
-
uint8_t randomByte()
Dummy random method, to ensure PhysicalLayer compatibility.
Definition: SX128x.cpp:1282
-
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX128x.cpp:871
+
float getSNR()
Gets SNR (Signal to Noise Ratio) of the last received packet. Only available for LoRa or ranging mode...
Definition: SX128x.cpp:1136
+
int16_t setWhitening(bool enabled)
Sets whitening parameters, not available for LoRa or FLRC modem.
Definition: SX128x.cpp:1028
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
+
int16_t setAccessAddress(uint32_t addr)
Sets BLE access address.
Definition: SX128x.cpp:1048
+
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX128x.cpp:1270
+
float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: SX128x.cpp:1112
+
uint8_t randomByte()
Dummy random method, to ensure PhysicalLayer compatibility.
Definition: SX128x.cpp:1286
+
int16_t setDataShaping(uint8_t sh) override
Sets time-bandwidth product of Gaussian filter applied for shaping. Allowed values are RADIOLIB_SHAPI...
Definition: SX128x.cpp:875
SX128x(Module *mod)
Default constructor.
Definition: SX128x.cpp:5
-
int16_t setCodingRate(uint8_t cr, bool longInterleaving=false)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX128x.cpp:699
-
int16_t setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
Sets CRC configuration.
Definition: SX128x.cpp:960
+
int16_t setCodingRate(uint8_t cr, bool longInterleaving=false)
Sets LoRa coding rate denominator. Allowed values range from 5 to 8.
Definition: SX128x.cpp:703
+
int16_t setCRC(uint8_t len, uint32_t initial=0x1D0F, uint16_t polynomial=0x1021)
Sets CRC configuration.
Definition: SX128x.cpp:964
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX128x.cpp:475
-
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX128x.cpp:1262
+
int16_t implicitHeader(size_t len)
Set implicit header mode for future reception/transmission.
Definition: SX128x.cpp:1266
int16_t beginBLE(float freq=2400.0, uint16_t br=800, float freqDev=400.0, int8_t pwr=10, uint8_t dataShaping=RADIOLIB_SHAPING_0_5)
Initialization method for BLE modem.
Definition: SX128x.cpp:143
-
void readBit(uint32_t pin)
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX128x.cpp:1309
-
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX128x.cpp:1278
-
int16_t setOutputPower(int8_t pwr)
Sets output power. Allowed values are in range from -18 to 13 dBm.
Definition: SX128x.cpp:727
-
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX128x.cpp:1409
-
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX128x.cpp:665
-
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz.
Definition: SX128x.cpp:635
-
void setDirectAction(void(*func)(void))
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX128x.cpp:1303
+
void readBit(uint32_t pin)
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX128x.cpp:1313
+
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: SX128x.cpp:1282
+
int16_t setOutputPower(int8_t pwr)
Sets output power. Allowed values are in range from -18 to 13 dBm.
Definition: SX128x.cpp:731
+
uint16_t getIrqStatus()
Reads the current IRQ status.
Definition: SX128x.cpp:1413
+
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa spreading factor. Allowed values range from 5 to 12.
Definition: SX128x.cpp:669
+
int16_t setBandwidth(float bw)
Sets LoRa bandwidth. Allowed values are 203.125, 406.25, 812.5 and 1625.0 kHz.
Definition: SX128x.cpp:639
+
int16_t startReceive()
Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalL...
Definition: SX128x.cpp:551
+
void setDirectAction(void(*func)(void))
Dummy method, to ensure PhysicalLayer compatibility.
Definition: SX128x.cpp:1307
int16_t receiveDirect() override
Starts direct mode reception. Only implemented for PhysicalLayer compatibility, as SX128x series does...
Definition: SX128x.cpp:385
#define RADIOLIB_SHAPING_0_5
Gaussin shaping filter, BT = 0.5.
Definition: TypeDef.h:27
Definition: Module.h:49
diff --git a/_si443x_8h_source.html b/_si443x_8h_source.html index 4df43635..ac7f6092 100644 --- a/_si443x_8h_source.html +++ b/_si443x_8h_source.html @@ -758,16 +758,16 @@ $(document).ready(function(){initNavTree('_si443x_8h_source.html',''); initResiz
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:31
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:42
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
int16_t transmit(const char *str, uint8_t addr=0)
C-string transmit method.
Definition: PhysicalLayer.cpp:52
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
Base class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from thi...
Definition: Si443x.h:553
int16_t startReceive()
Interrupt-driven receive method. IRQ will be activated when full valid packet is received.
Definition: Si443x.cpp:266
int16_t setEncoding(uint8_t encoding) override
Sets transmission encoding. Only available in FSK mode. Allowed values are RADIOLIB_ENCODING_NRZ,...
Definition: Si443x.cpp:540
int16_t receiveDirect() override
Enables direct reception mode. While in direct mode, the module will not be able to transmit or recei...
Definition: Si443x.cpp:189
size_t getPacketLength(bool update=true) override
Query modem for the packet length of received payload.
Definition: Si443x.cpp:527
-
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:205
+
virtual int16_t readData(uint8_t *data, size_t len)
Reads data that was received after calling startReceive method.
Definition: PhysicalLayer.cpp:209
void setRfSwitchPins(uint32_t rxEn, uint32_t txEn)
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Si443x.cpp:579
int16_t begin(float br, float freqDev, float rxBw, uint8_t preambleLen)
Initialization method.
Definition: Si443x.cpp:13
int16_t setPreambleLength(uint8_t preambleLen)
Sets preamble length.
Definition: Si443x.cpp:511
@@ -784,7 +784,7 @@ $(document).ready(function(){initNavTree('_si443x_8h_source.html',''); initResiz
void setIrqAction(void(*func)(void))
Sets interrupt service routine to call when IRQ activates.
Definition: Si443x.cpp:209
void setRfSwitchTable(const uint32_t(&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[])
Some modules contain external RF switch controlled by pins. This function gives RadioLib control over...
Definition: Si443x.cpp:583
void clearIrqAction()
Clears interrupt service routine to call when IRQ activates.
Definition: Si443x.cpp:213
-
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:145
+
int16_t startTransmit(const char *str, uint8_t addr=0)
Interrupt-driven Arduino String transmit method. Unlike the standard transmit method,...
Definition: PhysicalLayer.cpp:149
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
int16_t variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SI443X_MAX_PACKET_LENGTH)
Set modem in variable packet length mode.
Definition: Si443x.cpp:624
int16_t standby() override
Sets the module to standby (with XTAL on).
Definition: Si443x.cpp:137
diff --git a/annotated.html b/annotated.html index 81a85a68..3e08d069 100644 --- a/annotated.html +++ b/annotated.html @@ -110,44 +110,45 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();  CnRF24Control class for nRF24 module  CPagerClientClient for Pager communication  CPhysicalLayerProvides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN. Also extracts some common module-independent methods. Using this interface class allows to use the protocols on various modules without much code duplicity. Because this class is used mainly as interface, all of its virtual members must be implemented in the module class - CRadioLibBCHClass 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) - CRadioLibCRCClass to calculate CRCs of varying formats - CRadioLibHal - CRadioLibPrint - CRF69Control class for RF69 module. Also serves as base class for SX1231 - CRFM22Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules - CRFM23Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules - CRFM95Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges - CRFM96Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges - CRFM97Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges - CRFM98Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules - CRTTYClientClient for RTTY communication. The public interface is the same as Arduino Serial - CSi4430Derived class for Si4430 modules - CSi4431Derived class for Si4431 modules - CSi4432Derived class for Si4432 modules - CSi443xBase class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - CSSTVClientClient for SSTV transmissions - CSSTVMode_tStructure to save data about supported SSTV modes - CSTM32WLxDerived class for STM32WL modules - CSTM32WLx_Module - CStm32wlxHal - CSX1231Control class for SX1231 module. Overrides some methods from RF69 due to different register values - CSX1261Derived class for SX1261 modules - CSX1262Derived class for SX1262 modules - CSX1268Derived class for SX1268 modules - CSX126xBase class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - CSX1272Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges - CSX1273Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges - CSX1276Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges - CSX1277Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges - CSX1278Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names) - CSX1279Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges - CSX127xBase class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - CSX1280Derived class for SX1280 modules - CSX1281Derived class for SX1281 modules - CSX1282Derived class for SX1282 modules - CSX128xBase class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes - Ctone_tStructure to save data about tone + CRadioLibAES128Class to perform AES encryption, decryption and CMAC + CRadioLibBCHClass 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) + CRadioLibCRCClass to calculate CRCs of varying formats + CRadioLibHal + CRadioLibPrint + CRF69Control class for RF69 module. Also serves as base class for SX1231 + CRFM22Only exists as alias for Si4432, since there seems to be no difference between RFM22 and Si4432 modules + CRFM23Only exists as alias for Si4431, since there seems to be no difference between RFM23 and Si4431 modules + CRFM95Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges + CRFM96Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges + CRFM97Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges + CRFM98Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules + CRTTYClientClient for RTTY communication. The public interface is the same as Arduino Serial + CSi4430Derived class for Si4430 modules + CSi4431Derived class for Si4431 modules + CSi4432Derived class for Si4432 modules + CSi443xBase class for Si443x series. All derived classes for Si443x (e.g. Si4431 or Si4432) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + CSSTVClientClient for SSTV transmissions + CSSTVMode_tStructure to save data about supported SSTV modes + CSTM32WLxDerived class for STM32WL modules + CSTM32WLx_Module + CStm32wlxHal + CSX1231Control class for SX1231 module. Overrides some methods from RF69 due to different register values + CSX1261Derived class for SX1261 modules + CSX1262Derived class for SX1262 modules + CSX1268Derived class for SX1268 modules + CSX126xBase class for SX126x series. All derived classes for SX126x (e.g. SX1262 or SX1268) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + CSX1272Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic hardware and only differ in parameter ranges + CSX1273Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter ranges + CSX1276Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter ranges + CSX1277Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter ranges + CSX1278Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279, RFM95 and RFM96. All of these modules use the same basic hardware and only differ in parameter ranges (and names) + CSX1279Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter ranges + CSX127xBase class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + CSX1280Derived class for SX1280 modules + CSX1281Derived class for SX1281 modules + CSX1282Derived class for SX1282 modules + CSX128xBase class for SX128x series. All derived classes for SX128x (e.g. SX1280 or SX1281) inherit from this base class. This class should not be instantiated directly from Arduino sketch, only from its derived classes + Ctone_tStructure to save data about tone diff --git a/annotated_dup.js b/annotated_dup.js index 91637ca5..b4f3be49 100644 --- a/annotated_dup.js +++ b/annotated_dup.js @@ -21,6 +21,7 @@ var annotated_dup = [ "nRF24", "classn_r_f24.html", "classn_r_f24" ], [ "PagerClient", "class_pager_client.html", "class_pager_client" ], [ "PhysicalLayer", "class_physical_layer.html", "class_physical_layer" ], + [ "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" ], [ "RadioLibCRC", "class_radio_lib_c_r_c.html", "class_radio_lib_c_r_c" ], [ "RadioLibHal", "class_radio_lib_hal.html", "class_radio_lib_hal" ], diff --git a/class_c_c1101-members.html b/class_c_c1101-members.html index 546f7f11..671286c6 100644 --- a/class_c_c1101-members.html +++ b/class_c_c1101-members.html @@ -150,7 +150,7 @@ $(document).ready(function(){initNavTree('class_c_c1101.html',''); initResizable standby() overrideCC1101virtual standby(uint8_t mode) overrideCC1101virtual startDirect()PhysicalLayer - startReceive()CC1101 + startReceive()CC1101virtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)CC1101virtual startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideCC1101virtual startTransmit(const char *str, uint8_t addr=0)CC1101 diff --git a/class_c_c1101.html b/class_c_c1101.html index 1c0f8ecd..7ab2e097 100644 --- a/class_c_c1101.html +++ b/class_c_c1101.html @@ -1820,6 +1820,9 @@ virtual void 
+ + + + + +
@@ -1828,11 +1831,18 @@ virtual void 
int16_t CC1101::startReceive
+
+virtual

Interrupt-driven receive method. GDO0 will be activated when full packet is received.

Returns
Status Codes
+

Reimplemented from PhysicalLayer.

+
diff --git a/class_external_radio-members.html b/class_external_radio-members.html index bd340e30..c370a04d 100644 --- a/class_external_radio-members.html +++ b/class_external_radio-members.html @@ -121,12 +121,13 @@ $(document).ready(function(){initNavTree('class_external_radio.html',''); initRe standby()PhysicalLayervirtual standby(uint8_t mode)PhysicalLayervirtual startDirect()PhysicalLayer - startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual - startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual - transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual - transmitDirect(uint32_t frf=0)PhysicalLayervirtual + startReceive()PhysicalLayervirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual + startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual + transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual + transmitDirect(uint32_t frf=0)PhysicalLayervirtual diff --git a/class_external_radio.html b/class_external_radio.html index 9ddd1d84..ac9036c8 100644 --- a/class_external_radio.html +++ b/class_external_radio.html @@ -126,6 +126,9 @@ Public Member Functions virtual int16_t standby (uint8_t mode)  Sets module to a specific standby mode. More...
  +virtual int16_t startReceive () + Sets module to received mode using its default configuration. More...
+  virtual int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method. A DIO pin will be activated when full packet is received. Must be implemented in module class. More...
  diff --git a/class_l_l_c_c68-members.html b/class_l_l_c_c68-members.html index 41be5531..7bab1df9 100644 --- a/class_l_l_c_c68-members.html +++ b/class_l_l_c_c68-members.html @@ -172,23 +172,24 @@ $(document).ready(function(){initNavTree('class_l_l_c_c68.html',''); initResizab PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)SX126x startDirect()PhysicalLayer - startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)SX126xvirtual - startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - startTransmit(const char *str, uint8_t addr=0)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1262(Module *mod)SX1262 - SX126x(Module *mod)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - transmit(const char *str, uint8_t addr=0)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX126xvirtual - uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x - XTALSX126x + startReceive()SX126xvirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)SX126xvirtual + startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + startTransmit(const char *str, uint8_t addr=0)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1262(Module *mod)SX1262 + SX126x(Module *mod)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + transmit(const char *str, uint8_t addr=0)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX126xvirtual + uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x + XTALSX126x diff --git a/class_l_l_c_c68.html b/class_l_l_c_c68.html index 58f4bca1..38692a21 100644 --- a/class_l_l_c_c68.html +++ b/class_l_l_c_c68.html @@ -192,9 +192,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0) - Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len) + Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
+  int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)  Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
  diff --git a/class_physical_layer-members.html b/class_physical_layer-members.html index 774eab8a..7b7078c0 100644 --- a/class_physical_layer-members.html +++ b/class_physical_layer-members.html @@ -97,11 +97,13 @@ $(document).ready(function(){initNavTree('class_physical_layer.html',''); initRe dropSync()PhysicalLayer finishTransmit()PhysicalLayervirtual FSK4Client (defined in PhysicalLayer)PhysicalLayerfriend - getFreqStep() constPhysicalLayer - getPacketLength(bool update=true)PhysicalLayervirtual - getRSSI()PhysicalLayervirtual - getSNR()PhysicalLayervirtual - HellClient (defined in PhysicalLayer)PhysicalLayerfriend + FT8Client (defined in PhysicalLayer)PhysicalLayerfriend + getFreqStep() constPhysicalLayer + getPacketLength(bool update=true)PhysicalLayervirtual + getRSSI()PhysicalLayervirtual + getSNR()PhysicalLayervirtual + HellClient (defined in PhysicalLayer)PhysicalLayerfriend + LoRaWANNode (defined in PhysicalLayer)PhysicalLayerfriend MorseClient (defined in PhysicalLayer)PhysicalLayerfriend PagerClient (defined in PhysicalLayer)PhysicalLayerfriend PhysicalLayer(float step, size_t maxLen)PhysicalLayer @@ -128,12 +130,13 @@ $(document).ready(function(){initNavTree('class_physical_layer.html',''); initRe standby()PhysicalLayervirtual standby(uint8_t mode)PhysicalLayervirtual startDirect()PhysicalLayer - startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual - startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual - transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual - transmitDirect(uint32_t frf=0)PhysicalLayervirtual + startReceive()PhysicalLayervirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual + startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual + transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmit(uint8_t *data, size_t len, uint8_t addr=0)PhysicalLayervirtual + transmitDirect(uint32_t frf=0)PhysicalLayervirtual diff --git a/class_physical_layer.html b/class_physical_layer.html index 178a349a..4ddb9702 100644 --- a/class_physical_layer.html +++ b/class_physical_layer.html @@ -132,6 +132,9 @@ Public Member Functions virtual int16_t standby (uint8_t mode)  Sets module to a specific standby mode. More...
  +virtual int16_t startReceive () + Sets module to received mode using its default configuration. More...
+  virtual int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method. A DIO pin will be activated when full packet is received. Must be implemented in module class. More...
  @@ -254,6 +257,12 @@ class PagerClient class BellClient   + +class FT8Client +  + +class LoRaWANNode

Detailed Description

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.

@@ -1199,10 +1208,40 @@ class BellClient<

Configure module parameters for direct modes. Must be called prior to "ham" modes like RTTY or AX.25. Only available in FSK mode.

Returns
Status Codes
+
+ + +

◆ startReceive() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
int16_t PhysicalLayer::startReceive ()
+
+virtual
+
+ +

Sets module to received mode using its default configuration.

+
Returns
Status Codes
+ +

Reimplemented in SX128x, SX127x, SX126x, Si443x, RF69, nRF24, and CC1101.

+
-

◆ startReceive()

+

◆ startReceive() [2/2]

@@ -1259,7 +1298,7 @@ class BellClient<
Returns
Status Codes
-

Reimplemented in SX126x, Si443x, RF69, nRF24, CC1101, and SX127x.

+

Reimplemented in SX126x, Si443x, RF69, nRF24, CC1101, and SX127x.

diff --git a/class_physical_layer.js b/class_physical_layer.js index ae94edae..8390d6f4 100644 --- a/class_physical_layer.js +++ b/class_physical_layer.js @@ -30,6 +30,7 @@ var class_physical_layer = [ "standby", "class_physical_layer.html#acbcaf6aefcb77a354797e66222fe5018", null ], [ "standby", "class_physical_layer.html#a7d5da4311092e3df6b193ff303a0c5e8", null ], [ "startDirect", "class_physical_layer.html#a88a10657bd2215a11a2331f937414b55", null ], + [ "startReceive", "class_physical_layer.html#a18664ad615c5507ff1690baaca90b094", null ], [ "startReceive", "class_physical_layer.html#a13dbafeeb9dd9ede72cc4d907738ac48", null ], [ "startTransmit", "class_physical_layer.html#a923654706eff5118ef6e84214e837f27", null ], [ "startTransmit", "class_physical_layer.html#ad59e37ce0606dc8051e40be9d14cfec3", null ], @@ -40,7 +41,9 @@ var class_physical_layer = [ "AX25Client", "class_physical_layer.html#a0012621c1414f4c7573e961b57884a5b", null ], [ "BellClient", "class_physical_layer.html#af9f435b28f04a142bdf136fc6fdc49b3", null ], [ "FSK4Client", "class_physical_layer.html#ac0313fe86041eb37d290019203e095d3", null ], + [ "FT8Client", "class_physical_layer.html#a3870f0bd18d0a60e195bc7d39058190c", null ], [ "HellClient", "class_physical_layer.html#afeb005bab389f137def61f1acc3714d3", null ], + [ "LoRaWANNode", "class_physical_layer.html#a9ec0776e58831979405850594429e2d2", null ], [ "MorseClient", "class_physical_layer.html#ae5c5757c553100373984a416b6c3690a", null ], [ "PagerClient", "class_physical_layer.html#a41ff2710d9e3a626becfa7a093900052", null ], [ "RTTYClient", "class_physical_layer.html#a018393f703a257e39cd263cccf4ffad5", null ], diff --git a/class_r_f69-members.html b/class_r_f69-members.html index 48edfbd4..e3895295 100644 --- a/class_r_f69-members.html +++ b/class_r_f69-members.html @@ -164,7 +164,7 @@ $(document).ready(function(){initNavTree('class_r_f69.html',''); initResizable() standby() overrideRF69virtual standby(uint8_t mode) overrideRF69virtual startDirect()PhysicalLayer - startReceive()RF69 + startReceive()RF69virtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)RF69virtual startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideRF69virtual startTransmit(const char *str, uint8_t addr=0)RF69 diff --git a/class_r_f69.html b/class_r_f69.html index b7eae2ae..b2912390 100644 --- a/class_r_f69.html +++ b/class_r_f69.html @@ -2214,6 +2214,9 @@ void 
+ + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
@@ -2222,11 +2225,18 @@ void  + +
int16_t RF69::startReceive +virtual

Interrupt-driven receive method. GDO0 will be activated when full packet is received.

Returns
Status Codes
+

Reimplemented from PhysicalLayer.

+
diff --git a/class_r_f_m95-members.html b/class_r_f_m95-members.html index 6e1bf1c8..da22f0d6 100644 --- a/class_r_f_m95-members.html +++ b/class_r_f_m95-members.html @@ -191,20 +191,21 @@ $(document).ready(function(){initNavTree('class_r_f_m95.html',''); initResizable
standby(uint8_t mode) overrideSX127xvirtual
startChannelScan()SX127x
startDirect()PhysicalLayer
startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x
startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
startTransmit(const char *str, uint8_t addr=0)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
transmit(const char *str, uint8_t addr=0)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x
startReceive()SX127xvirtual
startReceive(uint8_t len, uint8_t mode)SX127x
startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual
startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
startTransmit(const char *str, uint8_t addr=0)SX127x
startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x
PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer
SX1278(Module *mod)SX1278
SX127x(Module *mod)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual
transmit(const char *str, uint8_t addr=0)SX127x
transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x
PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer
transmitDirect(uint32_t frf=0) overrideSX127xvirtual
variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x
diff --git a/class_r_f_m95.html b/class_r_f_m95.html index 33e07cdd..b781f1b7 100644 --- a/class_r_f_m95.html +++ b/class_r_f_m95.html @@ -260,9 +260,12 @@ void 
int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_r_f_m96-members.html b/class_r_f_m96-members.html index f778c013..c45ca1a0 100644 --- a/class_r_f_m96-members.html +++ b/class_r_f_m96-members.html @@ -191,20 +191,21 @@ $(document).ready(function(){initNavTree('class_r_f_m96.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1278(Module *mod)SX1278 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1278(Module *mod)SX1278 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_r_f_m96.html b/class_r_f_m96.html index 051bb850..e1bb95c0 100644 --- a/class_r_f_m96.html +++ b/class_r_f_m96.html @@ -259,9 +259,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_r_f_m97-members.html b/class_r_f_m97-members.html index b75e3c64..d2c87b11 100644 --- a/class_r_f_m97-members.html +++ b/class_r_f_m97-members.html @@ -192,20 +192,21 @@ $(document).ready(function(){initNavTree('class_r_f_m97.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1278(Module *mod)SX1278 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1278(Module *mod)SX1278 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_r_f_m97.html b/class_r_f_m97.html index 9dd94c6b..72502c5a 100644 --- a/class_r_f_m97.html +++ b/class_r_f_m97.html @@ -267,9 +267,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_radio_lib_a_e_s128-members.html b/class_radio_lib_a_e_s128-members.html new file mode 100644 index 00000000..1328eb01 --- /dev/null +++ b/class_radio_lib_a_e_s128-members.html @@ -0,0 +1,107 @@ + + + + + + + +RadioLib: Member List + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
RadioLibAES128 Member List
+
+
+ +

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

+ + + + + + + +
decryptECB(uint8_t *in, size_t len, uint8_t *out)RadioLibAES128
encryptECB(uint8_t *in, size_t len, uint8_t *out)RadioLibAES128
generateCMAC(uint8_t *in, size_t len, uint8_t *cmac)RadioLibAES128
init(uint8_t *key)RadioLibAES128
RadioLibAES128()RadioLibAES128
verifyCMAC(uint8_t *in, size_t len, uint8_t *cmac)RadioLibAES128
+
+ + + + diff --git a/class_radio_lib_a_e_s128.html b/class_radio_lib_a_e_s128.html new file mode 100644 index 00000000..9a45af50 --- /dev/null +++ b/class_radio_lib_a_e_s128.html @@ -0,0 +1,343 @@ + + + + + + + +RadioLib: RadioLibAES128 Class Reference + + + + + + + + + + + + + +
+
+ + + + + + +
+
RadioLib +
+
Universal wireless communication library for Arduino
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
RadioLibAES128 Class Reference
+
+
+ +

Class to perform AES encryption, decryption and CMAC. + More...

+ +

#include <Cryptography.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

RadioLibAES128 ()
 Default constructor.
 
void init (uint8_t *key)
 Initialize the AES. More...
 
size_t encryptECB (uint8_t *in, size_t len, uint8_t *out)
 Perform ECB-type AES encryption. More...
 
size_t decryptECB (uint8_t *in, size_t len, uint8_t *out)
 Perform ECB-type AES decryption. More...
 
void generateCMAC (uint8_t *in, size_t len, uint8_t *cmac)
 Calculate message authentication code according to RFC4493. More...
 
bool verifyCMAC (uint8_t *in, size_t len, uint8_t *cmac)
 Verify the recevied CMAC. This just calculates the CMAC again and compares the results. More...
 
+

Detailed Description

+

Class to perform AES encryption, decryption and CMAC.

+

Most of the implementation here is adapted from https://github.com/kokke/tiny-AES-c Additional code and CMAC calculation is from https://github.com/megrxu/AES-CMAC

+

Member Function Documentation

+ +

◆ decryptECB()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t RadioLibAES128::decryptECB (uint8_t * in,
size_t len,
uint8_t * out 
)
+
+ +

Perform ECB-type AES decryption.

+
Parameters
+ + + + +
inInput ciphertext data.
lenLength of the input data.
outBuffer to save the output plaintext into. It is up to the caller to ensure the buffer is sufficiently large to save the data!
+
+
+
Returns
The number of bytes saved into the output buffer.
+ +
+
+ +

◆ encryptECB()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
size_t RadioLibAES128::encryptECB (uint8_t * in,
size_t len,
uint8_t * out 
)
+
+ +

Perform ECB-type AES encryption.

+
Parameters
+ + + + +
inInput plaintext data (unpadded).
lenLength of the input data.
outBuffer to save the output ciphertext into. It is up to the caller to ensure the buffer is sufficiently large to save the data!
+
+
+
Returns
The number of bytes saved into the output buffer.
+ +
+
+ +

◆ generateCMAC()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void RadioLibAES128::generateCMAC (uint8_t * in,
size_t len,
uint8_t * cmac 
)
+
+ +

Calculate message authentication code according to RFC4493.

+
Parameters
+ + + + +
inInput data (unpadded).
lenLength of the input data.
cmacBuffer to save the output MAC into. The buffer must be at least 16 bytes long!
+
+
+ +
+
+ +

◆ init()

+ +
+
+ + + + + + + + +
void RadioLibAES128::init (uint8_t * key)
+
+ +

Initialize the AES.

+
Parameters
+ + +
keyAES key to use.
+
+
+ +
+
+ +

◆ verifyCMAC()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool RadioLibAES128::verifyCMAC (uint8_t * in,
size_t len,
uint8_t * cmac 
)
+
+ +

Verify the recevied CMAC. This just calculates the CMAC again and compares the results.

+
Parameters
+ + + + +
inInput data (unpadded).
lenLength of the input data.
cmacCMAC to verify.
+
+
+
Returns
True if valid, false otherwise.
+ +
+
+
The documentation for this class was generated from the following files: +
+
+ + + + diff --git a/class_radio_lib_a_e_s128.js b/class_radio_lib_a_e_s128.js new file mode 100644 index 00000000..78fe3489 --- /dev/null +++ b/class_radio_lib_a_e_s128.js @@ -0,0 +1,9 @@ +var class_radio_lib_a_e_s128 = +[ + [ "RadioLibAES128", "class_radio_lib_a_e_s128.html#a11f816221d1c06432ff80f2678ef46fe", null ], + [ "decryptECB", "class_radio_lib_a_e_s128.html#abe0e368c6a94b2caf1559add1c262a98", null ], + [ "encryptECB", "class_radio_lib_a_e_s128.html#a4c7b49c3ed16f3849d8050a24a11c3c1", null ], + [ "generateCMAC", "class_radio_lib_a_e_s128.html#a260a1ac84386141781b3d7c213ff161c", null ], + [ "init", "class_radio_lib_a_e_s128.html#a2f688dbdf2b0506c077ca4501e40e22e", null ], + [ "verifyCMAC", "class_radio_lib_a_e_s128.html#a382e9dfdc10b7dd58e2bd0aa15f5e1dd", null ] +]; \ No newline at end of file diff --git a/class_s_t_m32_w_lx-members.html b/class_s_t_m32_w_lx-members.html index 1ceae179..6748e7c7 100644 --- a/class_s_t_m32_w_lx-members.html +++ b/class_s_t_m32_w_lx-members.html @@ -178,24 +178,25 @@ $(document).ready(function(){initNavTree('class_s_t_m32_w_lx.html',''); initResi PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)SX126x startDirect()PhysicalLayer - startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)SX126xvirtual - startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - startTransmit(const char *str, uint8_t addr=0)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - STM32WLx(STM32WLx_Module *mod)STM32WLx - SX1262(Module *mod)SX1262 - SX126x(Module *mod)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - transmit(const char *str, uint8_t addr=0)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX126xvirtual - uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x - XTALSX126x + startReceive()SX126xvirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)SX126xvirtual + startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + startTransmit(const char *str, uint8_t addr=0)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + STM32WLx(STM32WLx_Module *mod)STM32WLx + SX1262(Module *mod)SX1262 + SX126x(Module *mod)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + transmit(const char *str, uint8_t addr=0)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX126xvirtual + uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x + XTALSX126x diff --git a/class_s_t_m32_w_lx.html b/class_s_t_m32_w_lx.html index ecd1adde..a8e55190 100644 --- a/class_s_t_m32_w_lx.html +++ b/class_s_t_m32_w_lx.html @@ -214,9 +214,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0) - Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len) + Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
+  int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)  Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
  diff --git a/class_s_x1231-members.html b/class_s_x1231-members.html index 4c1efbef..a5356494 100644 --- a/class_s_x1231-members.html +++ b/class_s_x1231-members.html @@ -164,7 +164,7 @@ $(document).ready(function(){initNavTree('class_s_x1231.html',''); initResizable standby() overrideRF69virtual standby(uint8_t mode) overrideRF69virtual startDirect()PhysicalLayer - startReceive()RF69 + startReceive()RF69virtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)RF69virtual startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideRF69virtual startTransmit(const char *str, uint8_t addr=0)RF69 diff --git a/class_s_x1261-members.html b/class_s_x1261-members.html index e45c789b..18547958 100644 --- a/class_s_x1261-members.html +++ b/class_s_x1261-members.html @@ -171,24 +171,25 @@ $(document).ready(function(){initNavTree('class_s_x1261.html',''); initResizable PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)SX126x startDirect()PhysicalLayer - startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)SX126xvirtual - startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - startTransmit(const char *str, uint8_t addr=0)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1261(Module *mod)SX1261 - SX1262(Module *mod)SX1262 - SX126x(Module *mod)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - transmit(const char *str, uint8_t addr=0)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX126xvirtual - uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x - XTALSX126x + startReceive()SX126xvirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)SX126xvirtual + startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + startTransmit(const char *str, uint8_t addr=0)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1261(Module *mod)SX1261 + SX1262(Module *mod)SX1262 + SX126x(Module *mod)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + transmit(const char *str, uint8_t addr=0)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX126xvirtual + uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x + XTALSX126x diff --git a/class_s_x1261.html b/class_s_x1261.html index 327e5d73..94d52629 100644 --- a/class_s_x1261.html +++ b/class_s_x1261.html @@ -183,9 +183,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0) - Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len) + Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
+  int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)  Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
  diff --git a/class_s_x1262-members.html b/class_s_x1262-members.html index 1198a789..daef681a 100644 --- a/class_s_x1262-members.html +++ b/class_s_x1262-members.html @@ -171,23 +171,24 @@ $(document).ready(function(){initNavTree('class_s_x1262.html',''); initResizable PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)SX126x startDirect()PhysicalLayer - startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)SX126xvirtual - startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - startTransmit(const char *str, uint8_t addr=0)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1262(Module *mod)SX1262 - SX126x(Module *mod)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - transmit(const char *str, uint8_t addr=0)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX126xvirtual - uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x - XTALSX126x + startReceive()SX126xvirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)SX126xvirtual + startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + startTransmit(const char *str, uint8_t addr=0)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1262(Module *mod)SX1262 + SX126x(Module *mod)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + transmit(const char *str, uint8_t addr=0)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX126xvirtual + uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x + XTALSX126x diff --git a/class_s_x1262.html b/class_s_x1262.html index 064dc028..b14cdc3c 100644 --- a/class_s_x1262.html +++ b/class_s_x1262.html @@ -181,9 +181,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0) - Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len) + Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
+  int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)  Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
  diff --git a/class_s_x1268-members.html b/class_s_x1268-members.html index 9a9b1e25..a2cf1e8e 100644 --- a/class_s_x1268-members.html +++ b/class_s_x1268-members.html @@ -171,23 +171,24 @@ $(document).ready(function(){initNavTree('class_s_x1268.html',''); initResizable PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)SX126x startDirect()PhysicalLayer - startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)SX126xvirtual - startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - startTransmit(const char *str, uint8_t addr=0)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1268(Module *mod)SX1268 - SX126x(Module *mod)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - transmit(const char *str, uint8_t addr=0)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX126xvirtual - uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x - XTALSX126x + startReceive()SX126xvirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)SX126xvirtual + startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + startTransmit(const char *str, uint8_t addr=0)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1268(Module *mod)SX1268 + SX126x(Module *mod)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + transmit(const char *str, uint8_t addr=0)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX126xvirtual + uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x + XTALSX126x diff --git a/class_s_x1268.html b/class_s_x1268.html index ddc0cbcd..65377b5f 100644 --- a/class_s_x1268.html +++ b/class_s_x1268.html @@ -178,9 +178,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0) - Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len) + Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
+  int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)  Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
  diff --git a/class_s_x126x-members.html b/class_s_x126x-members.html index 888d574d..31185ab7 100644 --- a/class_s_x126x-members.html +++ b/class_s_x126x-members.html @@ -167,22 +167,23 @@ $(document).ready(function(){initNavTree('class_s_x126x.html',''); initResizable PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startChannelScan(uint8_t symbolNum=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detPeak=RADIOLIB_SX126X_CAD_PARAM_DEFAULT, uint8_t detMin=RADIOLIB_SX126X_CAD_PARAM_DEFAULT)SX126x startDirect()PhysicalLayer - startReceive(uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0)SX126xvirtual - startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - startTransmit(const char *str, uint8_t addr=0)SX126x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX126x(Module *mod)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual - transmit(const char *str, uint8_t addr=0)SX126x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX126xvirtual - uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x - XTALSX126x + startReceive()SX126xvirtual + startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)SX126xvirtual + startReceiveDutyCycle(uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startReceiveDutyCycleAuto(uint16_t senderPreambleLength=0, uint16_t minSymbols=8, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + startTransmit(const char *str, uint8_t addr=0)SX126x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX126x(Module *mod)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX126xvirtual + transmit(const char *str, uint8_t addr=0)SX126x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX126x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX126xvirtual + uploadPatch(const uint32_t *patch, size_t len, bool nonvolatile=true)SX126x + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX126X_MAX_PACKET_LENGTH)SX126x + XTALSX126x diff --git a/class_s_x126x.html b/class_s_x126x.html index ef2dcd30..5e0f1035 100644 --- a/class_s_x126x.html +++ b/class_s_x126x.html @@ -164,9 +164,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint32_t timeout=RADIOLIB_SX126X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE, size_t len=0) - Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len) + Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
+  int16_t startReceiveDutyCycle (uint32_t rxPeriod, uint32_t sleepPeriod, uint16_t irqFlags=RADIOLIB_SX126X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX126X_IRQ_RX_DONE)  Interrupt-driven receive method where the device mostly sleeps and periodically wakes to listen. Note that this function assumes the unit will take 500us + TCXO_delay to change state. See datasheet section 13.1.7, version 1.2. More...
  @@ -2401,8 +2404,38 @@ bool  -

◆ startReceive()

+ +

◆ startReceive() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX126x::startReceive ()
+
+virtual
+
+ +

Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer.

+
Returns
Status Codes
+ +

Reimplemented from PhysicalLayer.

+ +
+
+ +

◆ startReceive() [2/2]

@@ -2414,25 +2447,25 @@ bool int16_t SX126x::startReceive ( uint32_t  - timeout = RADIOLIB_SX126X_RX_TIMEOUT_INF, + timeout, uint16_t  - irqFlags = RADIOLIB_SX126X_IRQ_RX_DEFAULT, + irqFlags, uint16_t  - irqMask = RADIOLIB_SX126X_IRQ_RX_DONE, + irqMask, size_t  - len = 0  + len  @@ -2451,8 +2484,8 @@ bool 
Parameters
- - + +
timeoutReceive mode type and/or raw timeout value, expressed as multiples of 15.625 us. When set to RADIOLIB_SX126X_RX_TIMEOUT_INF, the timeout will be infinite and the device will remain in Rx mode until explicitly commanded to stop (Rx continuous mode). When set to RADIOLIB_SX126X_RX_TIMEOUT_NONE, there will be no timeout and the device will return to standby when a packet is received (Rx single mode). For any other value, timeout will be applied and signal will be generated on DIO1 for conditions defined by irqFlags and irqMask.
irqFlagsSets the IRQ flags, defaults to RADIOLIB_SX126X_IRQ_RX_DEFAULT.
irqMaskSets the mask of IRQ flags that will trigger DIO1, defaults to RADIOLIB_SX126X_IRQ_RX_DONE.
irqFlagsSets the IRQ flags.
irqMaskSets the mask of IRQ flags that will trigger DIO1.
lenOnly for PhysicalLayer compatibility, not used.
diff --git a/class_s_x126x.js b/class_s_x126x.js index 2e5696b6..a9968cf5 100644 --- a/class_s_x126x.js +++ b/class_s_x126x.js @@ -65,7 +65,8 @@ var class_s_x126x = [ "standby", "class_s_x126x.html#a7a1579e2557c36a4a34b09039c0d0c71", null ], [ "standby", "class_s_x126x.html#a2fa0384a529746811e2dcb2eeb4188ec", null ], [ "startChannelScan", "class_s_x126x.html#a10a0e75571350fb05fa100e5d5151be2", null ], - [ "startReceive", "class_s_x126x.html#a0ec1b926c93885739b546a7f39e8b09c", null ], + [ "startReceive", "class_s_x126x.html#a16e8b271dc5e9af3015dd2901153cbde", null ], + [ "startReceive", "class_s_x126x.html#a013065f21a7c029f310178f884a60898", null ], [ "startReceiveDutyCycle", "class_s_x126x.html#a5b4f8a41b593436b8c7a2a2d46ac387e", null ], [ "startReceiveDutyCycleAuto", "class_s_x126x.html#a077f180905ce4818cbdacad0cd9fe841", null ], [ "startTransmit", "class_s_x126x.html#a923654706eff5118ef6e84214e837f27", null ], diff --git a/class_s_x1272-members.html b/class_s_x1272-members.html index 5605c4e3..7f5c5f14 100644 --- a/class_s_x1272-members.html +++ b/class_s_x1272-members.html @@ -190,20 +190,21 @@ $(document).ready(function(){initNavTree('class_s_x1272.html',''); initResizable
standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1272(Module *mod)SX1272 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1272(Module *mod)SX1272 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x
diff --git a/class_s_x1272.html b/class_s_x1272.html index 35a05585..58bb5f51 100644 --- a/class_s_x1272.html +++ b/class_s_x1272.html @@ -246,9 +246,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_s_x1273-members.html b/class_s_x1273-members.html index cdf244e6..1ab79693 100644 --- a/class_s_x1273-members.html +++ b/class_s_x1273-members.html @@ -190,21 +190,22 @@ $(document).ready(function(){initNavTree('class_s_x1273.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1272(Module *mod)SX1272 - SX1273(Module *mod)SX1273 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1272(Module *mod)SX1272 + SX1273(Module *mod)SX1273 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_s_x1273.html b/class_s_x1273.html index 8091f5c7..3fd3a3a6 100644 --- a/class_s_x1273.html +++ b/class_s_x1273.html @@ -256,9 +256,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_s_x1276-members.html b/class_s_x1276-members.html index f20502c4..7e13abe2 100644 --- a/class_s_x1276-members.html +++ b/class_s_x1276-members.html @@ -190,21 +190,22 @@ $(document).ready(function(){initNavTree('class_s_x1276.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1276(Module *mod)SX1276 - SX1278(Module *mod)SX1278 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1276(Module *mod)SX1276 + SX1278(Module *mod)SX1278 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_s_x1276.html b/class_s_x1276.html index e5271547..fe1c32d3 100644 --- a/class_s_x1276.html +++ b/class_s_x1276.html @@ -259,9 +259,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_s_x1277-members.html b/class_s_x1277-members.html index 5162bc47..de39e82f 100644 --- a/class_s_x1277-members.html +++ b/class_s_x1277-members.html @@ -190,21 +190,22 @@ $(document).ready(function(){initNavTree('class_s_x1277.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1277(Module *mod)SX1277 - SX1278(Module *mod)SX1278 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1277(Module *mod)SX1277 + SX1278(Module *mod)SX1278 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_s_x1277.html b/class_s_x1277.html index 9bd6eb52..c82e4593 100644 --- a/class_s_x1277.html +++ b/class_s_x1277.html @@ -262,9 +262,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_s_x1278-members.html b/class_s_x1278-members.html index 9163eca4..23d5cf40 100644 --- a/class_s_x1278-members.html +++ b/class_s_x1278-members.html @@ -190,20 +190,21 @@ $(document).ready(function(){initNavTree('class_s_x1278.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1278(Module *mod)SX1278 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1278(Module *mod)SX1278 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_s_x1278.html b/class_s_x1278.html index 190c0d89..23deae8d 100644 --- a/class_s_x1278.html +++ b/class_s_x1278.html @@ -251,9 +251,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_s_x1279-members.html b/class_s_x1279-members.html index 30100008..b207dc69 100644 --- a/class_s_x1279-members.html +++ b/class_s_x1279-members.html @@ -190,21 +190,22 @@ $(document).ready(function(){initNavTree('class_s_x1279.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1278(Module *mod)SX1278 - SX1279(Module *mod)SX1279 - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1278(Module *mod)SX1278 + SX1279(Module *mod)SX1279 + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_s_x1279.html b/class_s_x1279.html index 9eea7ea2..3030011f 100644 --- a/class_s_x1279.html +++ b/class_s_x1279.html @@ -256,9 +256,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  diff --git a/class_s_x127x-members.html b/class_s_x127x-members.html index d1829635..c9c99b83 100644 --- a/class_s_x127x-members.html +++ b/class_s_x127x-members.html @@ -176,19 +176,20 @@ $(document).ready(function(){initNavTree('class_s_x127x.html',''); initResizable standby(uint8_t mode) overrideSX127xvirtual startChannelScan()SX127x startDirect()PhysicalLayer - startReceive(uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS)SX127x - startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - startTransmit(const char *str, uint8_t addr=0)SX127x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX127x(Module *mod)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual - transmit(const char *str, uint8_t addr=0)SX127x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX127xvirtual - variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x + startReceive()SX127xvirtual + startReceive(uint8_t len, uint8_t mode)SX127x + startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)SX127xvirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + startTransmit(const char *str, uint8_t addr=0)SX127x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX127x(Module *mod)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX127xvirtual + transmit(const char *str, uint8_t addr=0)SX127x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX127x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX127xvirtual + variablePacketLengthMode(uint8_t maxLen=RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK)SX127x diff --git a/class_s_x127x.html b/class_s_x127x.html index b6bbd7bd..d44571e8 100644 --- a/class_s_x127x.html +++ b/class_s_x127x.html @@ -198,9 +198,12 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  -int16_t startReceive (uint8_t len=0, uint8_t mode=RADIOLIB_SX127X_RXCONTINUOUS) - Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
-  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  +int16_t startReceive (uint8_t len, uint8_t mode) + Interrupt-driven receive method. DIO0 will be activated when full valid packet is received. More...
+  int16_t startReceive (uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len)  Interrupt-driven receive method, implemented for compatibility with PhysicalLayer. More...
  @@ -2463,10 +2466,40 @@ void 
Returns
Status Codes
+ + + +

◆ startReceive() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX127x::startReceive ()
+
+virtual
+
+ +

Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer.

+
Returns
Status Codes
+ +

Reimplemented from PhysicalLayer.

+
-

◆ startReceive() [1/2]

+

◆ startReceive() [2/3]

@@ -2527,8 +2560,8 @@ void  -

◆ startReceive() [2/2]

+ +

◆ startReceive() [3/3]

@@ -2537,13 +2570,13 @@ void int16_t SX127x::startReceive ( uint8_t  - len = 0, + len, uint8_t  - mode = RADIOLIB_SX127X_RXCONTINUOUS  + mode  @@ -2556,8 +2589,8 @@ void 
Parameters
- - + +
lenExpected length of packet to be received. Required for LoRa spreading factor 6.
modeReceive mode to be used. Defaults to RxContinuous.
lenExpected length of packet to be received, or 0 when unused. Defaults to 0, non-zero required for LoRa spreading factor 6.
modeReceive mode to be used.
diff --git a/class_s_x127x.js b/class_s_x127x.js index 138b512f..5f570562 100644 --- a/class_s_x127x.js +++ b/class_s_x127x.js @@ -74,8 +74,9 @@ var class_s_x127x = [ "standby", "class_s_x127x.html#a760b8c5103128f122fbe489c6529ce41", null ], [ "standby", "class_s_x127x.html#aa565bbff460e487672953dc05d335cb0", null ], [ "startChannelScan", "class_s_x127x.html#a1d4631691c16d6ecf38815dc4e59a059", null ], + [ "startReceive", "class_s_x127x.html#ae90a5df2d414dfcafd1e3b8aa790f9fd", null ], [ "startReceive", "class_s_x127x.html#a0ae533401c801f1d4034eb3db8b1f30c", null ], - [ "startReceive", "class_s_x127x.html#adffb96b7f80dc43909bb4cebde68fe9d", null ], + [ "startReceive", "class_s_x127x.html#acaa90f7b8fcb4c41e2672923945d8ea7", null ], [ "startTransmit", "class_s_x127x.html#a923654706eff5118ef6e84214e837f27", null ], [ "startTransmit", "class_s_x127x.html#ad59e37ce0606dc8051e40be9d14cfec3", null ], [ "startTransmit", "class_s_x127x.html#adc2f1379573b7a7b5ee8125ea3752083", null ], diff --git a/class_s_x1280-members.html b/class_s_x1280-members.html index da45a022..58f8fae6 100644 --- a/class_s_x1280-members.html +++ b/class_s_x1280-members.html @@ -153,20 +153,21 @@ $(document).ready(function(){initNavTree('class_s_x1280.html',''); initResizable
PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startDirect()PhysicalLayer startRanging(bool master, uint32_t addr, uint16_t calTable[3][6]=NULL)SX1280 - startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x - PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - startTransmit(const char *str, uint8_t addr=0)SX128x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1280(Module *mod)SX1280 - SX1281(Module *mod)SX1281 - SX128x(Module *mod)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - transmit(const char *str, uint8_t addr=0)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX128xvirtual + startReceive()SX128xvirtual + startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x + PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + startTransmit(const char *str, uint8_t addr=0)SX128x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1280(Module *mod)SX1280 + SX1281(Module *mod)SX1281 + SX128x(Module *mod)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + transmit(const char *str, uint8_t addr=0)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX128xvirtual
diff --git a/class_s_x1280.html b/class_s_x1280.html index 3955e62b..1780d134 100644 --- a/class_s_x1280.html +++ b/class_s_x1280.html @@ -184,6 +184,9 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  int16_t startReceive (uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)  Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
  diff --git a/class_s_x1281-members.html b/class_s_x1281-members.html index 4a0927dc..a5aaf00a 100644 --- a/class_s_x1281-members.html +++ b/class_s_x1281-members.html @@ -150,19 +150,20 @@ $(document).ready(function(){initNavTree('class_s_x1281.html',''); initResizable standby(uint8_t mode, bool wakeup=false)SX128x PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startDirect()PhysicalLayer - startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x - PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - startTransmit(const char *str, uint8_t addr=0)SX128x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1281(Module *mod)SX1281 - SX128x(Module *mod)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - transmit(const char *str, uint8_t addr=0)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX128xvirtual + startReceive()SX128xvirtual + startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x + PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + startTransmit(const char *str, uint8_t addr=0)SX128x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1281(Module *mod)SX1281 + SX128x(Module *mod)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + transmit(const char *str, uint8_t addr=0)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX128xvirtual
diff --git a/class_s_x1281.html b/class_s_x1281.html index 3f81d13f..47872528 100644 --- a/class_s_x1281.html +++ b/class_s_x1281.html @@ -171,6 +171,9 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  int16_t startReceive (uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)  Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
  diff --git a/class_s_x1282-members.html b/class_s_x1282-members.html index 91661377..72371ff4 100644 --- a/class_s_x1282-members.html +++ b/class_s_x1282-members.html @@ -153,21 +153,22 @@ $(document).ready(function(){initNavTree('class_s_x1282.html',''); initResizable PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startDirect()PhysicalLayer startRanging(bool master, uint32_t addr, uint16_t calTable[3][6]=NULL)SX1280 - startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x - PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - startTransmit(const char *str, uint8_t addr=0)SX128x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX1280(Module *mod)SX1280 - SX1281(Module *mod)SX1281 - SX1282(Module *mod)SX1282 - SX128x(Module *mod)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - transmit(const char *str, uint8_t addr=0)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX128xvirtual + startReceive()SX128xvirtual + startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x + PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + startTransmit(const char *str, uint8_t addr=0)SX128x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX1280(Module *mod)SX1280 + SX1281(Module *mod)SX1281 + SX1282(Module *mod)SX1282 + SX128x(Module *mod)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + transmit(const char *str, uint8_t addr=0)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX128xvirtual diff --git a/class_s_x1282.html b/class_s_x1282.html index e6ed9c41..821487b4 100644 --- a/class_s_x1282.html +++ b/class_s_x1282.html @@ -188,6 +188,9 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  int16_t startReceive (uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)  Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
  diff --git a/class_s_x128x-members.html b/class_s_x128x-members.html index 8d733168..648862df 100644 --- a/class_s_x128x-members.html +++ b/class_s_x128x-members.html @@ -150,18 +150,19 @@ $(document).ready(function(){initNavTree('class_s_x128x.html',''); initResizable standby(uint8_t mode, bool wakeup=false)SX128x PhysicalLayer::standby(uint8_t mode)PhysicalLayervirtual startDirect()PhysicalLayer - startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x - PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual - startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - startTransmit(const char *str, uint8_t addr=0)SX128x - startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer - SX128x(Module *mod)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual - transmit(const char *str, uint8_t addr=0)SX128x - transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x - PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer - transmitDirect(uint32_t frf=0) overrideSX128xvirtual + startReceive()SX128xvirtual + startReceive(uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)SX128x + PhysicalLayer::startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)PhysicalLayervirtual + startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + startTransmit(const char *str, uint8_t addr=0)SX128x + startTransmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::startTransmit(const char *str, uint8_t addr=0)PhysicalLayer + SX128x(Module *mod)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSX128xvirtual + transmit(const char *str, uint8_t addr=0)SX128x + transmit(uint8_t *data, size_t len, uint8_t addr=0)SX128x + PhysicalLayer::transmit(const char *str, uint8_t addr=0)PhysicalLayer + transmitDirect(uint32_t frf=0) overrideSX128xvirtual diff --git a/class_s_x128x.html b/class_s_x128x.html index 11ec93ad..eb2ddc7e 100644 --- a/class_s_x128x.html +++ b/class_s_x128x.html @@ -167,6 +167,9 @@ void int16_t finishTransmit () override  Clean up after transmission is done. More...
  +int16_t startReceive () + Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer. More...
+  int16_t startReceive (uint16_t timeout=RADIOLIB_SX128X_RX_TIMEOUT_INF, uint16_t irqFlags=RADIOLIB_SX128X_IRQ_RX_DEFAULT, uint16_t irqMask=RADIOLIB_SX128X_IRQ_RX_DONE, size_t len=0)  Interrupt-driven receive method. DIO1 will be activated when full packet is received. More...
  @@ -2004,10 +2007,40 @@ void 
Returns
Status Codes
+ + + +

◆ startReceive() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
int16_t SX128x::startReceive ()
+
+virtual
+
+ +

Interrupt-driven receive method with default parameters. Implemented for compatibility with PhysicalLayer.

+
Returns
Status Codes
+ +

Reimplemented from PhysicalLayer.

+
-

◆ startReceive()

+

◆ startReceive() [2/2]

diff --git a/class_s_x128x.js b/class_s_x128x.js index 8873def1..a44f1b00 100644 --- a/class_s_x128x.js +++ b/class_s_x128x.js @@ -50,6 +50,7 @@ var class_s_x128x = [ "sleep", "class_s_x128x.html#a1d15e13e15b060ddbbe84257d5fcb66f", null ], [ "standby", "class_s_x128x.html#a2be8cc6c3b61b59cb6a6ca4f6a030b45", null ], [ "standby", "class_s_x128x.html#a389aab93e24ec8c7cc9c14de90e5dfae", null ], + [ "startReceive", "class_s_x128x.html#afe700968c1e02e335c389b59d950ca39", null ], [ "startReceive", "class_s_x128x.html#a8530aaeacc4c12736ce5aa5b5460ee19", null ], [ "startTransmit", "class_s_x128x.html#a923654706eff5118ef6e84214e837f27", null ], [ "startTransmit", "class_s_x128x.html#ad59e37ce0606dc8051e40be9d14cfec3", null ], diff --git a/class_si4430-members.html b/class_si4430-members.html index 6d555eae..200b8009 100644 --- a/class_si4430-members.html +++ b/class_si4430-members.html @@ -139,7 +139,7 @@ $(document).ready(function(){initNavTree('class_si4430.html',''); initResizable( standby() overrideSi443xvirtual standby(uint8_t mode) overrideSi443xvirtual startDirect()PhysicalLayer - startReceive()Si443x + startReceive()Si443xvirtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)Si443xvirtual startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual startTransmit(const char *str, uint8_t addr=0)Si443x diff --git a/class_si4431-members.html b/class_si4431-members.html index 7c4d195a..42106e6c 100644 --- a/class_si4431-members.html +++ b/class_si4431-members.html @@ -139,7 +139,7 @@ $(document).ready(function(){initNavTree('class_si4431.html',''); initResizable( standby() overrideSi443xvirtual standby(uint8_t mode) overrideSi443xvirtual startDirect()PhysicalLayer - startReceive()Si443x + startReceive()Si443xvirtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)Si443xvirtual startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual startTransmit(const char *str, uint8_t addr=0)Si443x diff --git a/class_si4432-members.html b/class_si4432-members.html index 3343c827..5fa2c631 100644 --- a/class_si4432-members.html +++ b/class_si4432-members.html @@ -138,7 +138,7 @@ $(document).ready(function(){initNavTree('class_si4432.html',''); initResizable( standby() overrideSi443xvirtual standby(uint8_t mode) overrideSi443xvirtual startDirect()PhysicalLayer - startReceive()Si443x + startReceive()Si443xvirtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)Si443xvirtual startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual startTransmit(const char *str, uint8_t addr=0)Si443x diff --git a/class_si443x-members.html b/class_si443x-members.html index 6b4490f9..94c1a92c 100644 --- a/class_si443x-members.html +++ b/class_si443x-members.html @@ -135,7 +135,7 @@ $(document).ready(function(){initNavTree('class_si443x.html',''); initResizable( standby() overrideSi443xvirtual standby(uint8_t mode) overrideSi443xvirtual startDirect()PhysicalLayer - startReceive()Si443x + startReceive()Si443xvirtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)Si443xvirtual startTransmit(uint8_t *data, size_t len, uint8_t addr=0) overrideSi443xvirtual startTransmit(const char *str, uint8_t addr=0)Si443x diff --git a/class_si443x.html b/class_si443x.html index 35c03067..2aaa522a 100644 --- a/class_si443x.html +++ b/class_si443x.html @@ -1256,6 +1256,9 @@ virtual void 
+ + + + + +
@@ -1264,11 +1267,18 @@ virtual void 
int16_t Si443x::startReceive
+
+virtual
diff --git a/classes.html b/classes.html index 8413985b..c47ba342 100644 --- a/classes.html +++ b/classes.html @@ -123,7 +123,7 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
PagerClient
PhysicalLayer
R
-
RadioLibBCH
RadioLibCRC
RadioLibHal
RadioLibPrint
RF69
RFM22
RFM23
RFM95
RFM96
RFM97
RFM98
Module::RfSwitchMode_t
RTTYClient
+
RadioLibAES128
RadioLibBCH
RadioLibCRC
RadioLibHal
RadioLibPrint
RF69
RFM22
RFM23
RFM95
RFM96
RFM97
RFM98
Module::RfSwitchMode_t
RTTYClient
S
Si4430
Si4431
Si4432
Si443x
SSTVClient
SSTVMode_t
STM32WLx
STM32WLx_Module
Stm32wlxHal
SX1231
SX1261
SX1262
SX1268
SX126x
SX1272
SX1273
SX1276
SX1277
SX1278
SX1279
SX127x
SX1280
SX1281
SX1282
SX128x
diff --git a/classn_r_f24-members.html b/classn_r_f24-members.html index 7e74b5ce..7d089172 100644 --- a/classn_r_f24-members.html +++ b/classn_r_f24-members.html @@ -136,7 +136,7 @@ $(document).ready(function(){initNavTree('classn_r_f24.html',''); initResizable( standby() overridenRF24virtual standby(uint8_t mode) overridenRF24virtual startDirect()PhysicalLayer - startReceive()nRF24 + startReceive()nRF24virtual startReceive(uint32_t timeout, uint16_t irqFlags, uint16_t irqMask, size_t len)nRF24virtual startTransmit(uint8_t *data, size_t len, uint8_t addr) overridenRF24virtual startTransmit(const char *str, uint8_t addr=0)nRF24 diff --git a/classn_r_f24.html b/classn_r_f24.html index 1af9fa70..6e665bed 100644 --- a/classn_r_f24.html +++ b/classn_r_f24.html @@ -1243,6 +1243,9 @@ virtual void 
+ + + + + +
@@ -1251,11 +1254,18 @@ virtual void 
int16_t nRF24::startReceive
+
+virtual
diff --git a/dir_313caf1132e152dd9b58bea13a4052ca.js b/dir_313caf1132e152dd9b58bea13a4052ca.js index 88a3da41..c7ac7ecb 100644 --- a/dir_313caf1132e152dd9b58bea13a4052ca.js +++ b/dir_313caf1132e152dd9b58bea13a4052ca.js @@ -1,5 +1,6 @@ var dir_313caf1132e152dd9b58bea13a4052ca = [ [ "CRC.h", "_c_r_c_8h_source.html", null ], + [ "Cryptography.h", "_cryptography_8h_source.html", null ], [ "FEC.h", "_f_e_c_8h_source.html", null ] ]; \ No newline at end of file diff --git a/files.html b/files.html index b878fa00..209cd524 100644 --- a/files.html +++ b/files.html @@ -164,14 +164,15 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); });  SSTV.h   utils  CRC.h - FEC.h - ArduinoHal.h - BuildOpt.h - BuildOptUser.h - Hal.h - Module.h - RadioLib.h - TypeDef.h + Cryptography.h + FEC.h + ArduinoHal.h + BuildOpt.h + BuildOptUser.h + Hal.h + Module.h + RadioLib.h + TypeDef.h diff --git a/functions_d.html b/functions_d.html index e5bd1fcc..33d23785 100644 --- a/functions_d.html +++ b/functions_d.html @@ -88,6 +88,9 @@ $(document).ready(function(){initNavTree('functions_d.html',''); initResizable()
  • decode() : MorseClient
  • +
  • decryptECB() +: RadioLibAES128 +
  • delay() : RadioLibHal
  • diff --git a/functions_e.html b/functions_e.html index cbde3ce2..f07f8cc8 100644 --- a/functions_e.html +++ b/functions_e.html @@ -101,6 +101,9 @@ $(document).ready(function(){initNavTree('functions_e.html',''); initResizable()
  • encode() : RadioLibBCH
  • +
  • encryptECB() +: RadioLibAES128 +
  • explicitHeader() : SX126x , SX1272 diff --git a/functions_func_d.html b/functions_func_d.html index 7ddecd59..693a99f8 100644 --- a/functions_func_d.html +++ b/functions_func_d.html @@ -88,6 +88,9 @@ $(document).ready(function(){initNavTree('functions_func_d.html',''); initResiza
  • decode() : MorseClient
  • +
  • decryptECB() +: RadioLibAES128 +
  • delay() : RadioLibHal
  • diff --git a/functions_func_e.html b/functions_func_e.html index 7c580bdb..c5da1b62 100644 --- a/functions_func_e.html +++ b/functions_func_e.html @@ -101,6 +101,9 @@ $(document).ready(function(){initNavTree('functions_func_e.html',''); initResiza
  • encode() : RadioLibBCH
  • +
  • encryptECB() +: RadioLibAES128 +
  • explicitHeader() : SX126x , SX1272 diff --git a/functions_func_g.html b/functions_func_g.html index 09572c00..bc026f15 100644 --- a/functions_func_g.html +++ b/functions_func_g.html @@ -85,6 +85,9 @@ $(document).ready(function(){initNavTree('functions_func_g.html',''); initResiza  

    - g -