diff --git a/_r_f_m95_8h_source.html b/_r_f_m95_8h_source.html index 29ffa1d8..d2b403b7 100644 --- a/_r_f_m95_8h_source.html +++ b/_r_f_m95_8h_source.html @@ -98,42 +98,42 @@ $(document).ready(function(){initNavTree('_r_f_m95_8h_source.html',''); initResi
10 #include "../SX127x/SX1278.h"
11 
12 // SX127X_REG_VERSION
-
13 #define RADIOLIB_RFM9X_CHIP_VERSION_OFFICIAL 0x11
-
14 #define RADIOLIB_RFM9X_CHIP_VERSION_UNOFFICIAL 0x12 // according to datasheet, only 0x11 should be possible, but some modules seem to have 0x12
+
13 #define RADIOLIB_RFM9X_CHIP_VERSION_OFFICIAL 0x11
+
14 #define RADIOLIB_RFM9X_CHIP_VERSION_UNOFFICIAL 0x12 // according to datasheet, only 0x11 should be possible, but some modules seem to have 0x12
15 
-
21 class RFM95: public SX1278 {
-
22  public:
-
23 
-
24  // constructor
-
25 
-
31  RFM95(Module* mod);
+
20 class RFM95: public SX1278 {
+
21  public:
+
22 
+
23  // constructor
+
24 
+
29  RFM95(Module* mod);
+
30 
+
31  // basic methods
32 
-
33  // basic methods
-
34 
-
58  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
59 
-
80  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
-
81 
-
82  // configuration methods
-
83 
-
91  int16_t setFrequency(float freq);
-
92 
-
93 #if !defined(RADIOLIB_GODMODE)
-
94  private:
-
95 #endif
-
96 
-
97 };
-
98 
-
99 #endif
-
100 
-
101 #endif
+
47  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
48 
+
61  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
+
62 
+
63  // configuration methods
+
64 
+
70  int16_t setFrequency(float freq);
+
71 
+
72 #if !defined(RADIOLIB_GODMODE)
+
73  private:
+
74 #endif
+
75 
+
76 };
+
77 
+
78 #endif
+
79 
+
80 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
-
RFM95
Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM95.h:21
+
RFM95
Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM95.h:20
RFM95::begin
int16_t begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: RFM95.cpp:8
RFM95::beginFSK
int16_t beginFSK(float freq=434.0, float br=4.8, float freqDev=5.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: RFM95.cpp:43
RFM95::RFM95
RFM95(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: RFM95.cpp:4
RFM95::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 868.0 MHz to 915.0 MHz.
Definition: RFM95.cpp:82
-
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:104
+
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:103
diff --git a/_r_f_m96_8h_source.html b/_r_f_m96_8h_source.html index 6df24817..32ae5d22 100644 --- a/_r_f_m96_8h_source.html +++ b/_r_f_m96_8h_source.html @@ -98,45 +98,45 @@ $(document).ready(function(){initNavTree('_r_f_m96_8h_source.html',''); initResi
10 #include "../SX127x/SX1278.h"
11 
12 // SX127X_REG_VERSION
-
13 #define RADIOLIB_RFM9X_CHIP_VERSION_OFFICIAL 0x11
-
14 #define RADIOLIB_RFM9X_CHIP_VERSION_UNOFFICIAL 0x12 // according to datasheet, only 0x11 should be possible, but some modules seem to have 0x12
+
13 #define RADIOLIB_RFM9X_CHIP_VERSION_OFFICIAL 0x11
+
14 #define RADIOLIB_RFM9X_CHIP_VERSION_UNOFFICIAL 0x12 // according to datasheet, only 0x11 should be possible, but some modules seem to have 0x12
15 
-
21 class RFM96: public SX1278 {
-
22  public:
-
23 
-
24  // constructor
-
25 
-
31  RFM96(Module* mod);
+
20 class RFM96: public SX1278 {
+
21  public:
+
22 
+
23  // constructor
+
24 
+
29  RFM96(Module* mod);
+
30 
+
31  // basic methods
32 
-
33  // basic methods
-
34 
-
58  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
59 
-
80  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
-
81 
-
82  // configuration methods
-
83 
-
91  int16_t setFrequency(float freq);
-
92 
-
93 #if !defined(RADIOLIB_GODMODE)
-
94  private:
-
95 #endif
-
96 
-
97 };
-
98 
-
104 RADIOLIB_TYPE_ALIAS(RFM96, RFM98);
-
105 
-
106 #endif
-
107 
-
108 #endif
+
48  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
49 
+
63  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
+
64 
+
65  // configuration methods
+
66 
+
72  int16_t setFrequency(float freq);
+
73 
+
74 #if !defined(RADIOLIB_GODMODE)
+
75  private:
+
76 #endif
+
77 
+
78 };
+
79 
+
84 RADIOLIB_TYPE_ALIAS(RFM96, RFM98);
+
85 
+
86 #endif
+
87 
+
88 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
-
RFM96
Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM96.h:21
+
RFM96
Derived class for RFM96 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM96.h:20
RFM96::beginFSK
int16_t beginFSK(float freq=434.0, float br=4.8, float freqDev=5.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: RFM96.cpp:44
RFM96::RFM96
RFM96(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: RFM96.cpp:4
RFM96::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 433.0 MHz to 470.0 MHz.
Definition: RFM96.cpp:83
RFM96::begin
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: RFM96.cpp:8
RFM98
Only exists as alias for RFM96, since there seems to be no difference between RFM96 and RFM98 modules...
-
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:104
+
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:103
diff --git a/_r_f_m97_8h_source.html b/_r_f_m97_8h_source.html index 6c0fa85e..ec58b28a 100644 --- a/_r_f_m97_8h_source.html +++ b/_r_f_m97_8h_source.html @@ -98,29 +98,29 @@ $(document).ready(function(){initNavTree('_r_f_m97_8h_source.html',''); initResi
10 #include "../SX127x/SX1278.h"
11 #include "RFM95.h"
12 
-
18 class RFM97: public RFM95 {
-
19  public:
-
20 
-
21  // constructor
-
22 
-
28  RFM97(Module* mod);
+
17 class RFM97: public RFM95 {
+
18  public:
+
19 
+
20  // constructor
+
21 
+
26  RFM97(Module* mod);
+
27 
+
28  // configuration methods
29 
-
30  // configuration methods
-
31 
-
39  int16_t setSpreadingFactor(uint8_t sf);
+
35  int16_t setSpreadingFactor(uint8_t sf);
+
36 
+
37 #if !defined(RADIOLIB_GODMODE)
+
38  private:
+
39 #endif
40 
-
41 #if !defined(RADIOLIB_GODMODE)
-
42  private:
+
41 };
+
42 
43 #endif
44 
-
45 };
-
46 
-
47 #endif
-
48 
-
49 #endif
+
45 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
-
RFM95
Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM95.h:21
-
RFM97
Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges.
Definition: RFM97.h:18
+
RFM95
Derived class for RFM95 modules. Overrides some methods from SX1278 due to different parameter ranges...
Definition: RFM95.h:20
+
RFM97
Derived class for RFM97 modules. Overrides some methods from RFM95 due to different parameter ranges.
Definition: RFM97.h:17
RFM97::RFM97
RFM97(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: RFM97.cpp:4
RFM97::setSpreadingFactor
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode.
Definition: RFM97.cpp:8
diff --git a/_s_x1272_8h_source.html b/_s_x1272_8h_source.html index ad18ce6d..839da7b3 100644 --- a/_s_x1272_8h_source.html +++ b/_s_x1272_8h_source.html @@ -97,155 +97,155 @@ $(document).ready(function(){initNavTree('_s_x1272_8h_source.html',''); initResi
9 #include "SX127x.h"
10 
11 // SX1272 specific register map
-
12 #define RADIOLIB_SX1272_REG_AGC_REF 0x43
-
13 #define RADIOLIB_SX1272_REG_AGC_THRESH_1 0x44
-
14 #define RADIOLIB_SX1272_REG_AGC_THRESH_2 0x45
-
15 #define RADIOLIB_SX1272_REG_AGC_THRESH_3 0x46
-
16 #define RADIOLIB_SX1272_REG_PLL_HOP 0x4B
-
17 #define RADIOLIB_SX1272_REG_TCXO 0x58
-
18 #define RADIOLIB_SX1272_REG_PA_DAC 0x5A
-
19 #define RADIOLIB_SX1272_REG_PLL 0x5C
-
20 #define RADIOLIB_SX1272_REG_PLL_LOW_PN 0x5E
-
21 #define RADIOLIB_SX1272_REG_FORMER_TEMP 0x6C
-
22 #define RADIOLIB_SX1272_REG_BIT_RATE_FRAC 0x70
+
12 #define RADIOLIB_SX1272_REG_AGC_REF 0x43
+
13 #define RADIOLIB_SX1272_REG_AGC_THRESH_1 0x44
+
14 #define RADIOLIB_SX1272_REG_AGC_THRESH_2 0x45
+
15 #define RADIOLIB_SX1272_REG_AGC_THRESH_3 0x46
+
16 #define RADIOLIB_SX1272_REG_PLL_HOP 0x4B
+
17 #define RADIOLIB_SX1272_REG_TCXO 0x58
+
18 #define RADIOLIB_SX1272_REG_PA_DAC 0x5A
+
19 #define RADIOLIB_SX1272_REG_PLL 0x5C
+
20 #define RADIOLIB_SX1272_REG_PLL_LOW_PN 0x5E
+
21 #define RADIOLIB_SX1272_REG_FORMER_TEMP 0x6C
+
22 #define RADIOLIB_SX1272_REG_BIT_RATE_FRAC 0x70
23 
24 // SX1272 LoRa modem settings
25 // RADIOLIB_SX1272_REG_FRF_MSB + REG_FRF_MID + REG_FRF_LSB
-
26 #define RADIOLIB_SX1272_FRF_MSB 0xE4 // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19
-
27 #define RADIOLIB_SX1272_FRF_MID 0xC0 // 7 0 where F(XOSC) = 32 MHz
-
28 #define RADIOLIB_SX1272_FRF_LSB 0x00 // 7 0 FRF = 3 byte value of FRF registers
+
26 #define RADIOLIB_SX1272_FRF_MSB 0xE4 // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19
+
27 #define RADIOLIB_SX1272_FRF_MID 0xC0 // 7 0 where F(XOSC) = 32 MHz
+
28 #define RADIOLIB_SX1272_FRF_LSB 0x00 // 7 0 FRF = 3 byte value of FRF registers
29 
30 // RADIOLIB_SX127X_REG_MODEM_CONFIG_1
-
31 #define RADIOLIB_SX1272_BW_125_00_KHZ 0b00000000 // 7 6 bandwidth: 125 kHz
-
32 #define RADIOLIB_SX1272_BW_250_00_KHZ 0b01000000 // 7 6 250 kHz
-
33 #define RADIOLIB_SX1272_BW_500_00_KHZ 0b10000000 // 7 6 500 kHz
-
34 #define RADIOLIB_SX1272_CR_4_5 0b00001000 // 5 3 error coding rate: 4/5
-
35 #define RADIOLIB_SX1272_CR_4_6 0b00010000 // 5 3 4/6
-
36 #define RADIOLIB_SX1272_CR_4_7 0b00011000 // 5 3 4/7
-
37 #define RADIOLIB_SX1272_CR_4_8 0b00100000 // 5 3 4/8
-
38 #define RADIOLIB_SX1272_HEADER_EXPL_MODE 0b00000000 // 2 2 explicit header mode
-
39 #define RADIOLIB_SX1272_HEADER_IMPL_MODE 0b00000100 // 2 2 implicit header mode
-
40 #define RADIOLIB_SX1272_RX_CRC_MODE_OFF 0b00000000 // 1 1 CRC disabled
-
41 #define RADIOLIB_SX1272_RX_CRC_MODE_ON 0b00000010 // 1 1 CRC enabled
-
42 #define RADIOLIB_SX1272_LOW_DATA_RATE_OPT_OFF 0b00000000 // 0 0 low data rate optimization disabled
-
43 #define RADIOLIB_SX1272_LOW_DATA_RATE_OPT_ON 0b00000001 // 0 0 low data rate optimization enabled, mandatory for SF 11 and 12 with BW 125 kHz
+
31 #define RADIOLIB_SX1272_BW_125_00_KHZ 0b00000000 // 7 6 bandwidth: 125 kHz
+
32 #define RADIOLIB_SX1272_BW_250_00_KHZ 0b01000000 // 7 6 250 kHz
+
33 #define RADIOLIB_SX1272_BW_500_00_KHZ 0b10000000 // 7 6 500 kHz
+
34 #define RADIOLIB_SX1272_CR_4_5 0b00001000 // 5 3 error coding rate: 4/5
+
35 #define RADIOLIB_SX1272_CR_4_6 0b00010000 // 5 3 4/6
+
36 #define RADIOLIB_SX1272_CR_4_7 0b00011000 // 5 3 4/7
+
37 #define RADIOLIB_SX1272_CR_4_8 0b00100000 // 5 3 4/8
+
38 #define RADIOLIB_SX1272_HEADER_EXPL_MODE 0b00000000 // 2 2 explicit header mode
+
39 #define RADIOLIB_SX1272_HEADER_IMPL_MODE 0b00000100 // 2 2 implicit header mode
+
40 #define RADIOLIB_SX1272_RX_CRC_MODE_OFF 0b00000000 // 1 1 CRC disabled
+
41 #define RADIOLIB_SX1272_RX_CRC_MODE_ON 0b00000010 // 1 1 CRC enabled
+
42 #define RADIOLIB_SX1272_LOW_DATA_RATE_OPT_OFF 0b00000000 // 0 0 low data rate optimization disabled
+
43 #define RADIOLIB_SX1272_LOW_DATA_RATE_OPT_ON 0b00000001 // 0 0 low data rate optimization enabled, mandatory for SF 11 and 12 with BW 125 kHz
44 
45 // RADIOLIB_SX127X_REG_MODEM_CONFIG_2
-
46 #define RADIOLIB_SX1272_AGC_AUTO_OFF 0b00000000 // 2 2 LNA gain set by REG_LNA
-
47 #define RADIOLIB_SX1272_AGC_AUTO_ON 0b00000100 // 2 2 LNA gain set by internal AGC loop
+
46 #define RADIOLIB_SX1272_AGC_AUTO_OFF 0b00000000 // 2 2 LNA gain set by REG_LNA
+
47 #define RADIOLIB_SX1272_AGC_AUTO_ON 0b00000100 // 2 2 LNA gain set by internal AGC loop
48 
49 // RADIOLIB_SX127X_REG_VERSION
-
50 #define RADIOLIB_SX1272_CHIP_VERSION 0x22
+
50 #define RADIOLIB_SX1272_CHIP_VERSION 0x22
51 
52 // SX1272 FSK modem settings
53 // RADIOLIB_SX127X_REG_OP_MODE
-
54 #define RADIOLIB_SX1272_NO_SHAPING 0b00000000 // 4 3 data shaping: no shaping (default)
-
55 #define RADIOLIB_SX1272_FSK_GAUSSIAN_1_0 0b00001000 // 4 3 FSK modulation Gaussian filter, BT = 1.0
-
56 #define RADIOLIB_SX1272_FSK_GAUSSIAN_0_5 0b00010000 // 4 3 FSK modulation Gaussian filter, BT = 0.5
-
57 #define RADIOLIB_SX1272_FSK_GAUSSIAN_0_3 0b00011000 // 4 3 FSK modulation Gaussian filter, BT = 0.3
-
58 #define RADIOLIB_SX1272_OOK_FILTER_BR 0b00001000 // 4 3 OOK modulation filter, f_cutoff = BR
-
59 #define RADIOLIB_SX1272_OOK_FILTER_2BR 0b00010000 // 4 3 OOK modulation filter, f_cutoff = 2*BR
+
54 #define RADIOLIB_SX1272_NO_SHAPING 0b00000000 // 4 3 data shaping: no shaping (default)
+
55 #define RADIOLIB_SX1272_FSK_GAUSSIAN_1_0 0b00001000 // 4 3 FSK modulation Gaussian filter, BT = 1.0
+
56 #define RADIOLIB_SX1272_FSK_GAUSSIAN_0_5 0b00010000 // 4 3 FSK modulation Gaussian filter, BT = 0.5
+
57 #define RADIOLIB_SX1272_FSK_GAUSSIAN_0_3 0b00011000 // 4 3 FSK modulation Gaussian filter, BT = 0.3
+
58 #define RADIOLIB_SX1272_OOK_FILTER_BR 0b00001000 // 4 3 OOK modulation filter, f_cutoff = BR
+
59 #define RADIOLIB_SX1272_OOK_FILTER_2BR 0b00010000 // 4 3 OOK modulation filter, f_cutoff = 2*BR
60 
61 // RADIOLIB_SX127X_REG_PA_RAMP
-
62 #define RADIOLIB_SX1272_LOW_PN_TX_PLL_OFF 0b00010000 // 4 4 use standard PLL in transmit mode (default)
-
63 #define RADIOLIB_SX1272_LOW_PN_TX_PLL_ON 0b00000000 // 4 4 use lower phase noise PLL in transmit mode
+
62 #define RADIOLIB_SX1272_LOW_PN_TX_PLL_OFF 0b00010000 // 4 4 use standard PLL in transmit mode (default)
+
63 #define RADIOLIB_SX1272_LOW_PN_TX_PLL_ON 0b00000000 // 4 4 use lower phase noise PLL in transmit mode
64 
65 // RADIOLIB_SX127X_REG_SYNC_CONFIG
-
66 #define RADIOLIB_SX1272_FIFO_FILL_CONDITION_SYNC_ADDRESS 0b00000000 // 3 3 FIFO will be filled when sync address interrupt occurs (default)
-
67 #define RADIOLIB_SX1272_FIFO_FILL_CONDITION_ALWAYS 0b00001000 // 3 3 FIFO will be filled as long as this bit is set
+
66 #define RADIOLIB_SX1272_FIFO_FILL_CONDITION_SYNC_ADDRESS 0b00000000 // 3 3 FIFO will be filled when sync address interrupt occurs (default)
+
67 #define RADIOLIB_SX1272_FIFO_FILL_CONDITION_ALWAYS 0b00001000 // 3 3 FIFO will be filled as long as this bit is set
68 
69 // RADIOLIB_SX1272_REG_AGC_REF
-
70 #define RADIOLIB_SX1272_AGC_REFERENCE_LEVEL 0x13 // 5 0 floor reference for AGC thresholds: AgcRef = -174 + 10*log(2*RxBw) + 8 + AGC_REFERENCE_LEVEL [dBm]
+
70 #define RADIOLIB_SX1272_AGC_REFERENCE_LEVEL 0x13 // 5 0 floor reference for AGC thresholds: AgcRef = -174 + 10*log(2*RxBw) + 8 + AGC_REFERENCE_LEVEL [dBm]
71 
72 // RADIOLIB_SX1272_REG_AGC_THRESH_1
-
73 #define RADIOLIB_SX1272_AGC_STEP_1 0x0E // 4 0 1st AGC threshold
+
73 #define RADIOLIB_SX1272_AGC_STEP_1 0x0E // 4 0 1st AGC threshold
74 
75 // RADIOLIB_SX1272_REG_AGC_THRESH_2
-
76 #define RADIOLIB_SX1272_AGC_STEP_2 0x50 // 7 4 2nd AGC threshold
-
77 #define RADIOLIB_SX1272_AGC_STEP_3 0x0B // 4 0 3rd AGC threshold
+
76 #define RADIOLIB_SX1272_AGC_STEP_2 0x50 // 7 4 2nd AGC threshold
+
77 #define RADIOLIB_SX1272_AGC_STEP_3 0x0B // 4 0 3rd AGC threshold
78 
79 // RADIOLIB_SX1272_REG_AGC_THRESH_3
-
80 #define RADIOLIB_SX1272_AGC_STEP_4 0xD0 // 7 4 4th AGC threshold
-
81 #define RADIOLIB_SX1272_AGC_STEP_5 0x0B // 4 0 5th AGC threshold
+
80 #define RADIOLIB_SX1272_AGC_STEP_4 0xD0 // 7 4 4th AGC threshold
+
81 #define RADIOLIB_SX1272_AGC_STEP_5 0x0B // 4 0 5th AGC threshold
82 
83 // RADIOLIB_SX1272_REG_PLL_LOW_PN
-
84 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_75_KHZ 0b00000000 // 7 6 low phase noise PLL bandwidth: 75 kHz
-
85 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_150_KHZ 0b01000000 // 7 6 150 kHz
-
86 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_225_KHZ 0b10000000 // 7 6 225 kHz
-
87 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_300_KHZ 0b11000000 // 7 6 300 kHz (default)
+
84 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_75_KHZ 0b00000000 // 7 6 low phase noise PLL bandwidth: 75 kHz
+
85 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_150_KHZ 0b01000000 // 7 6 150 kHz
+
86 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_225_KHZ 0b10000000 // 7 6 225 kHz
+
87 #define RADIOLIB_SX1272_PLL_LOW_PN_BANDWIDTH_300_KHZ 0b11000000 // 7 6 300 kHz (default)
88 
-
95 class SX1272: public SX127x {
-
96  public:
-
97 
-
98  // constructor
-
99 
-
105  SX1272(Module* mod);
+
94 class SX1272: public SX127x {
+
95  public:
+
96 
+
97  // constructor
+
98 
+
103  SX1272(Module* mod);
+
104 
+
105  // basic methods
106 
-
107  // basic methods
-
108 
-
133  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
134 
-
155  int16_t beginFSK(float freq = 915.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
-
156 
-
160  void reset() override;
-
161 
-
162  // configuration methods
-
163 
-
171  int16_t setFrequency(float freq);
+
122  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
123 
+
136  int16_t beginFSK(float freq = 915.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
+
137 
+
141  void reset() override;
+
142 
+
143  // configuration methods
+
144 
+
150  int16_t setFrequency(float freq);
+
151 
+
157  int16_t setBandwidth(float bw);
+
158 
+
164  int16_t setSpreadingFactor(uint8_t sf);
+
165 
+
171  int16_t setCodingRate(uint8_t cr);
172 
-
180  int16_t setBandwidth(float bw);
-
181 
-
189  int16_t setSpreadingFactor(uint8_t sf);
-
190 
-
198  int16_t setCodingRate(uint8_t cr);
-
199 
-
207  int16_t setBitRate(float br) override;
-
208 
-
218  int16_t setOutputPower(int8_t power, bool useRfo = false);
-
219 
-
228  int16_t setGain(uint8_t gain);
-
229 
-
238  int16_t setDataShaping(uint8_t sh) override;
-
239 
-
249  int16_t setDataShapingOOK(uint8_t sh);
-
250 
-
260  float getRSSI(bool packet = true, bool skipReceive = false);
-
261 
-
271  int16_t setCRC(bool enable, bool mode = false);
-
272 
-
281  int16_t forceLDRO(bool enable);
-
282 
-
289  int16_t autoLDRO();
-
290 
-
298  int16_t implicitHeader(size_t len);
-
299 
-
305  int16_t explicitHeader();
-
306 
-
307 #if !defined(RADIOLIB_GODMODE)
-
308  protected:
-
309 #endif
-
310  int16_t setBandwidthRaw(uint8_t newBandwidth);
-
311  int16_t setSpreadingFactorRaw(uint8_t newSpreadingFactor);
-
312  int16_t setCodingRateRaw(uint8_t newCodingRate);
-
313  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
-
314 
-
315  int16_t configFSK();
-
316  void errataFix(bool rx);
-
317 
-
318 #if !defined(RADIOLIB_GODMODE)
-
319  private:
-
320 #endif
-
321  bool _ldroAuto = true;
-
322  bool _ldroEnabled = false;
-
323 
-
324 };
-
325 
-
326 #endif
-
327 
-
328 #endif
+
178  int16_t setBitRate(float br) override;
+
179 
+
186  int16_t setOutputPower(int8_t power, bool useRfo = false);
+
187 
+
194  int16_t setGain(uint8_t gain);
+
195 
+
202  int16_t setDataShaping(uint8_t sh) override;
+
203 
+
211  int16_t setDataShapingOOK(uint8_t sh);
+
212 
+
219  float getRSSI(bool packet = true, bool skipReceive = false);
+
220 
+
229  int16_t setCRC(bool enable, bool mode = false);
+
230 
+
237  int16_t forceLDRO(bool enable);
+
238 
+
244  int16_t autoLDRO();
+
245 
+
251  int16_t implicitHeader(size_t len);
+
252 
+
257  int16_t explicitHeader();
+
258 
+
259 #if !defined(RADIOLIB_GODMODE)
+
260  protected:
+
261 #endif
+
262  int16_t setBandwidthRaw(uint8_t newBandwidth);
+
263  int16_t setSpreadingFactorRaw(uint8_t newSpreadingFactor);
+
264  int16_t setCodingRateRaw(uint8_t newCodingRate);
+
265  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
+
266 
+
267  int16_t configFSK();
+
268  void errataFix(bool rx);
+
269 
+
270 #if !defined(RADIOLIB_GODMODE)
+
271  private:
+
272 #endif
+
273  bool ldroAuto = true;
+
274  bool ldroEnabled = false;
+
275 
+
276 };
+
277 
+
278 #endif
+
279 
+
280 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
PhysicalLayer::getRSSI
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
-
SX1272
Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic...
Definition: SX1272.h:95
+
SX1272
Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic...
Definition: SX1272.h:94
SX1272::reset
void reset() override
Reset method. Will reset the chip to the default state using RST pin.
Definition: SX1272.cpp:74
SX1272::setBandwidth
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
SX1272::setDataShapingOOK
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: SX1272.cpp:326
@@ -264,7 +264,7 @@ $(document).ready(function(){initNavTree('_s_x1272_8h_source.html',''); initResi
SX1272::explicitHeader
int16_t explicitHeader()
Set explicit header mode for future reception/transmission.
Definition: SX1272.cpp:417
SX1272::begin
int16_t begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1272.cpp:9
SX1272::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 860.0 MHz to 1020.0 MHz.
Definition: SX1272.cpp:82
-
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:583
+
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:582
diff --git a/_s_x1273_8h_source.html b/_s_x1273_8h_source.html index b0324b93..84ba8132 100644 --- a/_s_x1273_8h_source.html +++ b/_s_x1273_8h_source.html @@ -95,33 +95,33 @@ $(document).ready(function(){initNavTree('_s_x1273_8h_source.html',''); initResi
7 
8 #include "SX1272.h"
9 
-
15 class SX1273: public SX1272 {
-
16  public:
-
17 
-
18  // constructor
-
19 
-
25  SX1273(Module* mod);
+
14 class SX1273: public SX1272 {
+
15  public:
+
16 
+
17  // constructor
+
18 
+
23  SX1273(Module* mod);
+
24 
+
25  // basic methods
26 
-
27  // basic methods
-
28 
-
52  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
53 
-
54  // configuration methods
+
41  int16_t begin(float freq = 915.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
42 
+
43  // configuration methods
+
44 
+
50  int16_t setSpreadingFactor(uint8_t sf);
+
51 
+
52 #if !defined(RADIOLIB_GODMODE)
+
53  private:
+
54 #endif
55 
-
63  int16_t setSpreadingFactor(uint8_t sf);
-
64 
-
65 #if !defined(RADIOLIB_GODMODE)
-
66  private:
-
67 #endif
-
68 
-
69 };
-
70 
-
71 #endif
-
72 
-
73 #endif
+
56 };
+
57 
+
58 #endif
+
59 
+
60 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
-
SX1272
Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic...
Definition: SX1272.h:95
-
SX1273
Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter range...
Definition: SX1273.h:15
+
SX1272
Derived class for SX1272 modules. Also used as base class for SX1273. Both modules use the same basic...
Definition: SX1272.h:94
+
SX1273
Derived class for SX1273 modules. Overrides some methods from SX1272 due to different parameter range...
Definition: SX1273.h:14
SX1273::begin
int16_t begin(float freq=915.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1273.cpp:8
SX1273::setSpreadingFactor
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode.
Definition: SX1273.cpp:39
SX1273::SX1273
SX1273(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1273.cpp:4
diff --git a/_s_x1276_8h_source.html b/_s_x1276_8h_source.html index 18d66a56..f3c1d707 100644 --- a/_s_x1276_8h_source.html +++ b/_s_x1276_8h_source.html @@ -95,39 +95,39 @@ $(document).ready(function(){initNavTree('_s_x1276_8h_source.html',''); initResi
7 
8 #include "SX1278.h"
9 
-
15 class SX1276: public SX1278 {
-
16  public:
-
17 
-
18  // constructor
-
19 
-
25  SX1276(Module* mod);
+
14 class SX1276: public SX1278 {
+
15  public:
+
16 
+
17  // constructor
+
18 
+
23  SX1276(Module* mod);
+
24 
+
25  // basic methods
26 
-
27  // basic methods
-
28 
-
52  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
53 
-
74  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
-
75 
-
76  // configuration methods
-
77 
-
85  int16_t setFrequency(float freq);
-
86 
-
87 #if !defined(RADIOLIB_GODMODE)
-
88  private:
-
89 #endif
-
90 
-
91 };
-
92 
-
93 #endif
-
94 
-
95 #endif
+
41  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
42 
+
55  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
+
56 
+
57  // configuration methods
+
58 
+
64  int16_t setFrequency(float freq);
+
65 
+
66 #if !defined(RADIOLIB_GODMODE)
+
67  private:
+
68 #endif
+
69 
+
70 };
+
71 
+
72 #endif
+
73 
+
74 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
-
SX1276
Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1276.h:15
+
SX1276
Derived class for SX1276 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1276.h:14
SX1276::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz.
Definition: SX1276.cpp:69
SX1276::SX1276
SX1276(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1276.cpp:4
SX1276::begin
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1276.cpp:8
SX1276::beginFSK
int16_t beginFSK(float freq=434.0, float br=4.8, float freqDev=5.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1276.cpp:39
-
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:104
+
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:103
diff --git a/_s_x1277_8h_source.html b/_s_x1277_8h_source.html index 8669221b..954abf61 100644 --- a/_s_x1277_8h_source.html +++ b/_s_x1277_8h_source.html @@ -95,42 +95,42 @@ $(document).ready(function(){initNavTree('_s_x1277_8h_source.html',''); initResi
7 
8 #include "SX1278.h"
9 
-
15 class SX1277: public SX1278 {
-
16  public:
-
17 
-
18  // constructor
-
19 
-
25  SX1277(Module* mod);
+
14 class SX1277: public SX1278 {
+
15  public:
+
16 
+
17  // constructor
+
18 
+
23  SX1277(Module* mod);
+
24 
+
25  // basic methods
26 
-
27  // basic methods
-
28 
-
52  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
53 
-
74  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
-
75 
-
76  // configuration methods
-
77 
-
85  int16_t setFrequency(float freq);
-
86 
-
94  int16_t setSpreadingFactor(uint8_t sf);
-
95 
-
96 #if !defined(RADIOLIB_GODMODE)
-
97  private:
-
98 #endif
-
99 
-
100 };
-
101 
-
102 #endif
-
103 
-
104 #endif
+
41  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
42 
+
55  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
+
56 
+
57  // configuration methods
+
58 
+
64  int16_t setFrequency(float freq);
+
65 
+
71  int16_t setSpreadingFactor(uint8_t sf);
+
72 
+
73 #if !defined(RADIOLIB_GODMODE)
+
74  private:
+
75 #endif
+
76 
+
77 };
+
78 
+
79 #endif
+
80 
+
81 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
-
SX1277
Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1277.h:15
+
SX1277
Derived class for SX1277 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1277.h:14
SX1277::setSpreadingFactor
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 9. Only available in LoRa mode.
Definition: SX1277.cpp:80
SX1277::SX1277
SX1277(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1277.cpp:4
SX1277::setFrequency
int16_t setFrequency(float freq)
Sets carrier frequency. Allowed values range from 137.0 MHz to 1020.0 MHz.
Definition: SX1277.cpp:69
SX1277::begin
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1277.cpp:8
SX1277::beginFSK
int16_t beginFSK(float freq=434.0, float br=4.8, float freqDev=5.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1277.cpp:39
-
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:104
+
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:103
diff --git a/_s_x1278_8h_source.html b/_s_x1278_8h_source.html index be170ddd..25bb2e71 100644 --- a/_s_x1278_8h_source.html +++ b/_s_x1278_8h_source.html @@ -97,164 +97,164 @@ $(document).ready(function(){initNavTree('_s_x1278_8h_source.html',''); initResi
9 #include "SX127x.h"
10 
11 // SX1278 specific register map
-
12 #define RADIOLIB_SX1278_REG_MODEM_CONFIG_3 0x26
-
13 #define RADIOLIB_SX1278_REG_PLL_HOP 0x44
-
14 #define RADIOLIB_SX1278_REG_TCXO 0x4B
-
15 #define RADIOLIB_SX1278_REG_PA_DAC 0x4D
-
16 #define RADIOLIB_SX1278_REG_FORMER_TEMP 0x5B
-
17 #define RADIOLIB_SX1278_REG_BIT_RATE_FRAC 0x5D
-
18 #define RADIOLIB_SX1278_REG_AGC_REF 0x61
-
19 #define RADIOLIB_SX1278_REG_AGC_THRESH_1 0x62
-
20 #define RADIOLIB_SX1278_REG_AGC_THRESH_2 0x63
-
21 #define RADIOLIB_SX1278_REG_AGC_THRESH_3 0x64
-
22 #define RADIOLIB_SX1278_REG_PLL 0x70
+
12 #define RADIOLIB_SX1278_REG_MODEM_CONFIG_3 0x26
+
13 #define RADIOLIB_SX1278_REG_PLL_HOP 0x44
+
14 #define RADIOLIB_SX1278_REG_TCXO 0x4B
+
15 #define RADIOLIB_SX1278_REG_PA_DAC 0x4D
+
16 #define RADIOLIB_SX1278_REG_FORMER_TEMP 0x5B
+
17 #define RADIOLIB_SX1278_REG_BIT_RATE_FRAC 0x5D
+
18 #define RADIOLIB_SX1278_REG_AGC_REF 0x61
+
19 #define RADIOLIB_SX1278_REG_AGC_THRESH_1 0x62
+
20 #define RADIOLIB_SX1278_REG_AGC_THRESH_2 0x63
+
21 #define RADIOLIB_SX1278_REG_AGC_THRESH_3 0x64
+
22 #define RADIOLIB_SX1278_REG_PLL 0x70
23 
24 // SX1278 LoRa modem settings
-
25 // RADIOLIB_SX1278_REG_OP_MODE MSB LSB DESCRIPTION
-
26 #define RADIOLIB_SX1278_HIGH_FREQ 0b00000000 // 3 3 access HF test registers
-
27 #define RADIOLIB_SX1278_LOW_FREQ 0b00001000 // 3 3 access LF test registers
+
25 // RADIOLIB_SX1278_REG_OP_MODE MSB LSB DESCRIPTION
+
26 #define RADIOLIB_SX1278_HIGH_FREQ 0b00000000 // 3 3 access HF test registers
+
27 #define RADIOLIB_SX1278_LOW_FREQ 0b00001000 // 3 3 access LF test registers
28 
29 // RADIOLIB_SX1278_REG_FRF_MSB + REG_FRF_MID + REG_FRF_LSB
-
30 #define RADIOLIB_SX1278_FRF_MSB 0x6C // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19
-
31 #define RADIOLIB_SX1278_FRF_MID 0x80 // 7 0 where F(XOSC) = 32 MHz
-
32 #define RADIOLIB_SX1278_FRF_LSB 0x00 // 7 0 FRF = 3 byte value of FRF registers
+
30 #define RADIOLIB_SX1278_FRF_MSB 0x6C // 7 0 carrier frequency setting: f_RF = (F(XOSC) * FRF)/2^19
+
31 #define RADIOLIB_SX1278_FRF_MID 0x80 // 7 0 where F(XOSC) = 32 MHz
+
32 #define RADIOLIB_SX1278_FRF_LSB 0x00 // 7 0 FRF = 3 byte value of FRF registers
33 
34 // RADIOLIB_SX1278_REG_PA_CONFIG
-
35 #define RADIOLIB_SX1278_MAX_POWER 0b01110000 // 6 4 max power: P_max = 10.8 + 0.6*MAX_POWER [dBm]; P_max(MAX_POWER = 0b111) = 15 dBm
-
36 #define RADIOLIB_SX1278_LOW_POWER 0b00100000 // 6 4
+
35 #define RADIOLIB_SX1278_MAX_POWER 0b01110000 // 6 4 max power: P_max = 10.8 + 0.6*MAX_POWER [dBm]; P_max(MAX_POWER = 0b111) = 15 dBm
+
36 #define RADIOLIB_SX1278_LOW_POWER 0b00100000 // 6 4
37 
38 // RADIOLIB_SX1278_REG_LNA
-
39 #define RADIOLIB_SX1278_LNA_BOOST_LF_OFF 0b00000000 // 4 3 default LNA current
+
39 #define RADIOLIB_SX1278_LNA_BOOST_LF_OFF 0b00000000 // 4 3 default LNA current
40 
41 // SX127X_REG_MODEM_CONFIG_1
-
42 #define RADIOLIB_SX1278_BW_7_80_KHZ 0b00000000 // 7 4 bandwidth: 7.80 kHz
-
43 #define RADIOLIB_SX1278_BW_10_40_KHZ 0b00010000 // 7 4 10.40 kHz
-
44 #define RADIOLIB_SX1278_BW_15_60_KHZ 0b00100000 // 7 4 15.60 kHz
-
45 #define RADIOLIB_SX1278_BW_20_80_KHZ 0b00110000 // 7 4 20.80 kHz
-
46 #define RADIOLIB_SX1278_BW_31_25_KHZ 0b01000000 // 7 4 31.25 kHz
-
47 #define RADIOLIB_SX1278_BW_41_70_KHZ 0b01010000 // 7 4 41.70 kHz
-
48 #define RADIOLIB_SX1278_BW_62_50_KHZ 0b01100000 // 7 4 62.50 kHz
-
49 #define RADIOLIB_SX1278_BW_125_00_KHZ 0b01110000 // 7 4 125.00 kHz
-
50 #define RADIOLIB_SX1278_BW_250_00_KHZ 0b10000000 // 7 4 250.00 kHz
-
51 #define RADIOLIB_SX1278_BW_500_00_KHZ 0b10010000 // 7 4 500.00 kHz
-
52 #define RADIOLIB_SX1278_CR_4_5 0b00000010 // 3 1 error coding rate: 4/5
-
53 #define RADIOLIB_SX1278_CR_4_6 0b00000100 // 3 1 4/6
-
54 #define RADIOLIB_SX1278_CR_4_7 0b00000110 // 3 1 4/7
-
55 #define RADIOLIB_SX1278_CR_4_8 0b00001000 // 3 1 4/8
-
56 #define RADIOLIB_SX1278_HEADER_EXPL_MODE 0b00000000 // 0 0 explicit header mode
-
57 #define RADIOLIB_SX1278_HEADER_IMPL_MODE 0b00000001 // 0 0 implicit header mode
+
42 #define RADIOLIB_SX1278_BW_7_80_KHZ 0b00000000 // 7 4 bandwidth: 7.80 kHz
+
43 #define RADIOLIB_SX1278_BW_10_40_KHZ 0b00010000 // 7 4 10.40 kHz
+
44 #define RADIOLIB_SX1278_BW_15_60_KHZ 0b00100000 // 7 4 15.60 kHz
+
45 #define RADIOLIB_SX1278_BW_20_80_KHZ 0b00110000 // 7 4 20.80 kHz
+
46 #define RADIOLIB_SX1278_BW_31_25_KHZ 0b01000000 // 7 4 31.25 kHz
+
47 #define RADIOLIB_SX1278_BW_41_70_KHZ 0b01010000 // 7 4 41.70 kHz
+
48 #define RADIOLIB_SX1278_BW_62_50_KHZ 0b01100000 // 7 4 62.50 kHz
+
49 #define RADIOLIB_SX1278_BW_125_00_KHZ 0b01110000 // 7 4 125.00 kHz
+
50 #define RADIOLIB_SX1278_BW_250_00_KHZ 0b10000000 // 7 4 250.00 kHz
+
51 #define RADIOLIB_SX1278_BW_500_00_KHZ 0b10010000 // 7 4 500.00 kHz
+
52 #define RADIOLIB_SX1278_CR_4_5 0b00000010 // 3 1 error coding rate: 4/5
+
53 #define RADIOLIB_SX1278_CR_4_6 0b00000100 // 3 1 4/6
+
54 #define RADIOLIB_SX1278_CR_4_7 0b00000110 // 3 1 4/7
+
55 #define RADIOLIB_SX1278_CR_4_8 0b00001000 // 3 1 4/8
+
56 #define RADIOLIB_SX1278_HEADER_EXPL_MODE 0b00000000 // 0 0 explicit header mode
+
57 #define RADIOLIB_SX1278_HEADER_IMPL_MODE 0b00000001 // 0 0 implicit header mode
58 
59 // SX127X_REG_MODEM_CONFIG_2
-
60 #define RADIOLIB_SX1278_RX_CRC_MODE_OFF 0b00000000 // 2 2 CRC disabled
-
61 #define RADIOLIB_SX1278_RX_CRC_MODE_ON 0b00000100 // 2 2 CRC enabled
+
60 #define RADIOLIB_SX1278_RX_CRC_MODE_OFF 0b00000000 // 2 2 CRC disabled
+
61 #define RADIOLIB_SX1278_RX_CRC_MODE_ON 0b00000100 // 2 2 CRC enabled
62 
63 // RADIOLIB_SX1278_REG_MODEM_CONFIG_3
-
64 #define RADIOLIB_SX1278_LOW_DATA_RATE_OPT_OFF 0b00000000 // 3 3 low data rate optimization disabled
-
65 #define RADIOLIB_SX1278_LOW_DATA_RATE_OPT_ON 0b00001000 // 3 3 low data rate optimization enabled
-
66 #define RADIOLIB_SX1278_AGC_AUTO_OFF 0b00000000 // 2 2 LNA gain set by REG_LNA
-
67 #define RADIOLIB_SX1278_AGC_AUTO_ON 0b00000100 // 2 2 LNA gain set by internal AGC loop
+
64 #define RADIOLIB_SX1278_LOW_DATA_RATE_OPT_OFF 0b00000000 // 3 3 low data rate optimization disabled
+
65 #define RADIOLIB_SX1278_LOW_DATA_RATE_OPT_ON 0b00001000 // 3 3 low data rate optimization enabled
+
66 #define RADIOLIB_SX1278_AGC_AUTO_OFF 0b00000000 // 2 2 LNA gain set by REG_LNA
+
67 #define RADIOLIB_SX1278_AGC_AUTO_ON 0b00000100 // 2 2 LNA gain set by internal AGC loop
68 
69 // SX127X_REG_VERSION
-
70 #define RADIOLIB_SX1278_CHIP_VERSION 0x12
+
70 #define RADIOLIB_SX1278_CHIP_VERSION 0x12
71 
72 // SX1278 FSK modem settings
73 // SX127X_REG_PA_RAMP
-
74 #define RADIOLIB_SX1278_NO_SHAPING 0b00000000 // 6 5 data shaping: no shaping (default)
-
75 #define RADIOLIB_SX1278_FSK_GAUSSIAN_1_0 0b00100000 // 6 5 FSK modulation Gaussian filter, BT = 1.0
-
76 #define RADIOLIB_SX1278_FSK_GAUSSIAN_0_5 0b01000000 // 6 5 FSK modulation Gaussian filter, BT = 0.5
-
77 #define RADIOLIB_SX1278_FSK_GAUSSIAN_0_3 0b01100000 // 6 5 FSK modulation Gaussian filter, BT = 0.3
-
78 #define RADIOLIB_SX1278_OOK_FILTER_BR 0b00100000 // 6 5 OOK modulation filter, f_cutoff = BR
-
79 #define RADIOLIB_SX1278_OOK_FILTER_2BR 0b01000000 // 6 5 OOK modulation filter, f_cutoff = 2*BR
+
74 #define RADIOLIB_SX1278_NO_SHAPING 0b00000000 // 6 5 data shaping: no shaping (default)
+
75 #define RADIOLIB_SX1278_FSK_GAUSSIAN_1_0 0b00100000 // 6 5 FSK modulation Gaussian filter, BT = 1.0
+
76 #define RADIOLIB_SX1278_FSK_GAUSSIAN_0_5 0b01000000 // 6 5 FSK modulation Gaussian filter, BT = 0.5
+
77 #define RADIOLIB_SX1278_FSK_GAUSSIAN_0_3 0b01100000 // 6 5 FSK modulation Gaussian filter, BT = 0.3
+
78 #define RADIOLIB_SX1278_OOK_FILTER_BR 0b00100000 // 6 5 OOK modulation filter, f_cutoff = BR
+
79 #define RADIOLIB_SX1278_OOK_FILTER_2BR 0b01000000 // 6 5 OOK modulation filter, f_cutoff = 2*BR
80 
81 // RADIOLIB_SX1278_REG_AGC_REF
-
82 #define RADIOLIB_SX1278_AGC_REFERENCE_LEVEL_LF 0x19 // 5 0 floor reference for AGC thresholds: AgcRef = -174 + 10*log(2*RxBw) + 8 + AGC_REFERENCE_LEVEL [dBm]: below 525 MHz
-
83 #define RADIOLIB_SX1278_AGC_REFERENCE_LEVEL_HF 0x1C // 5 0 above 779 MHz
+
82 #define RADIOLIB_SX1278_AGC_REFERENCE_LEVEL_LF 0x19 // 5 0 floor reference for AGC thresholds: AgcRef = -174 + 10*log(2*RxBw) + 8 + AGC_REFERENCE_LEVEL [dBm]: below 525 MHz
+
83 #define RADIOLIB_SX1278_AGC_REFERENCE_LEVEL_HF 0x1C // 5 0 above 779 MHz
84 
85 // RADIOLIB_SX1278_REG_AGC_THRESH_1
-
86 #define RADIOLIB_SX1278_AGC_STEP_1_LF 0x0C // 4 0 1st AGC threshold: below 525 MHz
-
87 #define RADIOLIB_SX1278_AGC_STEP_1_HF 0x0E // 4 0 above 779 MHz
+
86 #define RADIOLIB_SX1278_AGC_STEP_1_LF 0x0C // 4 0 1st AGC threshold: below 525 MHz
+
87 #define RADIOLIB_SX1278_AGC_STEP_1_HF 0x0E // 4 0 above 779 MHz
88 
89 // RADIOLIB_SX1278_REG_AGC_THRESH_2
-
90 #define RADIOLIB_SX1278_AGC_STEP_2_LF 0x40 // 7 4 2nd AGC threshold: below 525 MHz
-
91 #define RADIOLIB_SX1278_AGC_STEP_2_HF 0x50 // 7 4 above 779 MHz
-
92 #define RADIOLIB_SX1278_AGC_STEP_3 0x0B // 3 0 3rd AGC threshold
+
90 #define RADIOLIB_SX1278_AGC_STEP_2_LF 0x40 // 7 4 2nd AGC threshold: below 525 MHz
+
91 #define RADIOLIB_SX1278_AGC_STEP_2_HF 0x50 // 7 4 above 779 MHz
+
92 #define RADIOLIB_SX1278_AGC_STEP_3 0x0B // 3 0 3rd AGC threshold
93 
94 // RADIOLIB_SX1278_REG_AGC_THRESH_3
-
95 #define RADIOLIB_SX1278_AGC_STEP_4 0xC0 // 7 4 4th AGC threshold
-
96 #define RADIOLIB_SX1278_AGC_STEP_5 0x0C // 4 0 5th AGC threshold
+
95 #define RADIOLIB_SX1278_AGC_STEP_4 0xC0 // 7 4 4th AGC threshold
+
96 #define RADIOLIB_SX1278_AGC_STEP_5 0x0C // 4 0 5th AGC threshold
97 
-
104 class SX1278: public SX127x {
-
105  public:
-
106 
-
107  // constructor
-
108 
-
114  SX1278(Module* mod);
+
103 class SX1278: public SX127x {
+
104  public:
+
105 
+
106  // constructor
+
107 
+
112  SX1278(Module* mod);
+
113 
+
114  // basic methods
115 
-
116  // basic methods
-
117 
-
141  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
142 
-
163  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
-
164 
-
168  void reset() override;
-
169 
-
170  // configuration methods
-
171 
-
179  int16_t setFrequency(float freq);
+
130  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
131 
+
144  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
+
145 
+
149  void reset() override;
+
150 
+
151  // configuration methods
+
152 
+
158  int16_t setFrequency(float freq);
+
159 
+
165  int16_t setBandwidth(float bw);
+
166 
+
172  int16_t setSpreadingFactor(uint8_t sf);
+
173 
+
179  int16_t setCodingRate(uint8_t cr);
180 
-
188  int16_t setBandwidth(float bw);
-
189 
-
197  int16_t setSpreadingFactor(uint8_t sf);
-
198 
-
206  int16_t setCodingRate(uint8_t cr);
-
207 
-
215  int16_t setBitRate(float br) override;
-
216 
-
227  int16_t setOutputPower(int8_t power, bool useRfo = false);
-
228 
-
237  int16_t setGain(uint8_t gain);
+
186  int16_t setBitRate(float br) override;
+
187 
+
195  int16_t setOutputPower(int8_t power, bool useRfo = false);
+
196 
+
203  int16_t setGain(uint8_t gain);
+
204 
+
211  int16_t setDataShaping(uint8_t sh) override;
+
212 
+
220  int16_t setDataShapingOOK(uint8_t sh);
+
221 
+
228  float getRSSI(bool packet = true, bool skipReceive = false);
+
229 
+
237  int16_t setCRC(bool enable, bool mode = false);
238 
-
247  int16_t setDataShaping(uint8_t sh) override;
-
248 
-
258  int16_t setDataShapingOOK(uint8_t sh);
-
259 
-
269  float getRSSI(bool packet = true, bool skipReceive = false);
-
270 
-
280  int16_t setCRC(bool enable, bool mode = false);
-
281 
-
290  int16_t forceLDRO(bool enable);
-
291 
-
298  int16_t autoLDRO();
-
299 
-
307  int16_t implicitHeader(size_t len);
-
308 
-
314  int16_t explicitHeader();
-
315 
-
316 #if !defined(RADIOLIB_GODMODE)
-
317  protected:
-
318 #endif
-
319  int16_t setBandwidthRaw(uint8_t newBandwidth);
-
320  int16_t setSpreadingFactorRaw(uint8_t newSpreadingFactor);
-
321  int16_t setCodingRateRaw(uint8_t newCodingRate);
-
322  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
-
323 
-
324  int16_t configFSK();
-
325  void errataFix(bool rx);
-
326 
-
327 #if !defined(RADIOLIB_GODMODE)
-
328  private:
-
329 #endif
-
330  bool _ldroAuto = true;
-
331  bool _ldroEnabled = false;
-
332 
-
333 };
-
334 
-
335 #endif
-
336 
-
337 #endif
+
246  int16_t forceLDRO(bool enable);
+
247 
+
253  int16_t autoLDRO();
+
254 
+
260  int16_t implicitHeader(size_t len);
+
261 
+
266  int16_t explicitHeader();
+
267 
+
268 #if !defined(RADIOLIB_GODMODE)
+
269  protected:
+
270 #endif
+
271  int16_t setBandwidthRaw(uint8_t newBandwidth);
+
272  int16_t setSpreadingFactorRaw(uint8_t newSpreadingFactor);
+
273  int16_t setCodingRateRaw(uint8_t newCodingRate);
+
274  int16_t setHeaderType(uint8_t headerType, size_t len = 0xFF);
+
275 
+
276  int16_t configFSK();
+
277  void errataFix(bool rx);
+
278 
+
279 #if !defined(RADIOLIB_GODMODE)
+
280  private:
+
281 #endif
+
282  bool ldroAuto = true;
+
283  bool ldroEnabled = false;
+
284 
+
285 };
+
286 
+
287 #endif
+
288 
+
289 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
PhysicalLayer::getRSSI
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
-
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:104
+
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:103
SX1278::SX1278
SX1278(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1278.cpp:5
SX1278::setDataShapingOOK
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
SX1278::setBandwidth
int16_t setBandwidth(float bw)
Sets LoRa link bandwidth. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125,...
Definition: SX1278.cpp:93
@@ -273,7 +273,7 @@ $(document).ready(function(){initNavTree('_s_x1278_8h_source.html',''); initResi
SX1278::setSpreadingFactor
int16_t setSpreadingFactor(uint8_t sf)
Sets LoRa link spreading factor. Allowed values range from 6 to 12. Only available in LoRa mode.
Definition: SX1278.cpp:145
SX1278::setDataShaping
int16_t setDataShaping(uint8_t sh) override
Sets Gaussian filter bandwidth-time product that will be used for data shaping. Only available in FSK...
Definition: SX1278.cpp:321
SX1278::setBitRate
int16_t setBitRate(float br) override
Sets FSK bit rate. Allowed values range from 0.5 to 300 kbps. Only available in FSK mode.
Definition: SX1278.cpp:233
-
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:583
+
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:582
diff --git a/_s_x1279_8h_source.html b/_s_x1279_8h_source.html index 2c379900..89451d1d 100644 --- a/_s_x1279_8h_source.html +++ b/_s_x1279_8h_source.html @@ -95,35 +95,35 @@ $(document).ready(function(){initNavTree('_s_x1279_8h_source.html',''); initResi
7 
8 #include "SX1278.h"
9 
-
15 class SX1279: public SX1278 {
-
16  public:
-
17 
-
18  // constructor
-
19 
-
25  SX1279(Module* mod);
+
14 class SX1279: public SX1278 {
+
15  public:
+
16 
+
17  // constructor
+
18 
+
23  SX1279(Module* mod);
+
24 
+
25  // basic methods
26 
-
27  // basic methods
-
28 
-
52  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
-
53 
-
74  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
-
75 
-
76  // configuration methods
-
77 
-
85  int16_t setFrequency(float freq);
-
86 
-
87 #if !defined(RADIOLIB_GODMODE)
-
88  private:
-
89 #endif
-
90 
-
91 };
-
92 
-
93 #endif
-
94 
-
95 #endif
+
41  int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_SX127X_SYNC_WORD, int8_t power = 10, uint16_t preambleLength = 8, uint8_t gain = 0);
+
42 
+
55  int16_t beginFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 125.0, int8_t power = 10, uint16_t preambleLength = 16, bool enableOOK = false);
+
56 
+
57  // configuration methods
+
58 
+
64  int16_t setFrequency(float freq);
+
65 
+
66 #if !defined(RADIOLIB_GODMODE)
+
67  private:
+
68 #endif
+
69 
+
70 };
+
71 
+
72 #endif
+
73 
+
74 #endif
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
-
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:104
-
SX1279
Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1279.h:15
+
SX1278
Derived class for SX1278 modules. Also used as base class for SX1276, SX1277, SX1279,...
Definition: SX1278.h:103
+
SX1279
Derived class for SX1279 modules. Overrides some methods from SX1278 due to different parameter range...
Definition: SX1279.h:14
SX1279::begin
int16_t begin(float freq=434.0, float bw=125.0, uint8_t sf=9, uint8_t cr=7, uint8_t syncWord=RADIOLIB_SX127X_SYNC_WORD, int8_t power=10, uint16_t preambleLength=8, uint8_t gain=0)
LoRa modem initialization method. Must be called at least once from Arduino sketch to initialize the ...
Definition: SX1279.cpp:8
SX1279::beginFSK
int16_t beginFSK(float freq=434.0, float br=4.8, float freqDev=5.0, float rxBw=125.0, int8_t power=10, uint16_t preambleLength=16, bool enableOOK=false)
FSK modem initialization method. Must be called at least once from Arduino sketch to initialize the m...
Definition: SX1279.cpp:39
SX1279::SX1279
SX1279(Module *mod)
Default constructor. Called from Arduino sketch when creating new LoRa instance.
Definition: SX1279.cpp:4
diff --git a/_s_x127x_8h_source.html b/_s_x127x_8h_source.html index be6113a2..1b9774da 100644 --- a/_s_x127x_8h_source.html +++ b/_s_x127x_8h_source.html @@ -98,791 +98,792 @@ $(document).ready(function(){initNavTree('_s_x127x_8h_source.html',''); initResi
10 #include "../../protocols/PhysicalLayer/PhysicalLayer.h"
11 
12 // SX127x physical layer properties
-
13 #define RADIOLIB_SX127X_FREQUENCY_STEP_SIZE 61.03515625
-
14 #define RADIOLIB_SX127X_MAX_PACKET_LENGTH 255
-
15 #define RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK 64
-
16 #define RADIOLIB_SX127X_CRYSTAL_FREQ 32.0
-
17 #define RADIOLIB_SX127X_DIV_EXPONENT 19
+
13 #define RADIOLIB_SX127X_FREQUENCY_STEP_SIZE 61.03515625
+
14 #define RADIOLIB_SX127X_MAX_PACKET_LENGTH 255
+
15 #define RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK 64
+
16 #define RADIOLIB_SX127X_CRYSTAL_FREQ 32.0
+
17 #define RADIOLIB_SX127X_DIV_EXPONENT 19
18 
19 // SX127x series common LoRa registers
-
20 #define RADIOLIB_SX127X_REG_FIFO 0x00
-
21 #define RADIOLIB_SX127X_REG_OP_MODE 0x01
-
22 #define RADIOLIB_SX127X_REG_FRF_MSB 0x06
-
23 #define RADIOLIB_SX127X_REG_FRF_MID 0x07
-
24 #define RADIOLIB_SX127X_REG_FRF_LSB 0x08
-
25 #define RADIOLIB_SX127X_REG_PA_CONFIG 0x09
-
26 #define RADIOLIB_SX127X_REG_PA_RAMP 0x0A
-
27 #define RADIOLIB_SX127X_REG_OCP 0x0B
-
28 #define RADIOLIB_SX127X_REG_LNA 0x0C
-
29 #define RADIOLIB_SX127X_REG_FIFO_ADDR_PTR 0x0D
-
30 #define RADIOLIB_SX127X_REG_FIFO_TX_BASE_ADDR 0x0E
-
31 #define RADIOLIB_SX127X_REG_FIFO_RX_BASE_ADDR 0x0F
-
32 #define RADIOLIB_SX127X_REG_FIFO_RX_CURRENT_ADDR 0x10
-
33 #define RADIOLIB_SX127X_REG_IRQ_FLAGS_MASK 0x11
-
34 #define RADIOLIB_SX127X_REG_IRQ_FLAGS 0x12
-
35 #define RADIOLIB_SX127X_REG_RX_NB_BYTES 0x13
-
36 #define RADIOLIB_SX127X_REG_RX_HEADER_CNT_VALUE_MSB 0x14
-
37 #define RADIOLIB_SX127X_REG_RX_HEADER_CNT_VALUE_LSB 0x15
-
38 #define RADIOLIB_SX127X_REG_RX_PACKET_CNT_VALUE_MSB 0x16
-
39 #define RADIOLIB_SX127X_REG_RX_PACKET_CNT_VALUE_LSB 0x17
-
40 #define RADIOLIB_SX127X_REG_MODEM_STAT 0x18
-
41 #define RADIOLIB_SX127X_REG_PKT_SNR_VALUE 0x19
-
42 #define RADIOLIB_SX127X_REG_PKT_RSSI_VALUE 0x1A
-
43 #define RADIOLIB_SX127X_REG_RSSI_VALUE 0x1B
-
44 #define RADIOLIB_SX127X_REG_HOP_CHANNEL 0x1C
-
45 #define RADIOLIB_SX127X_REG_MODEM_CONFIG_1 0x1D
-
46 #define RADIOLIB_SX127X_REG_MODEM_CONFIG_2 0x1E
-
47 #define RADIOLIB_SX127X_REG_SYMB_TIMEOUT_LSB 0x1F
-
48 #define RADIOLIB_SX127X_REG_PREAMBLE_MSB 0x20
-
49 #define RADIOLIB_SX127X_REG_PREAMBLE_LSB 0x21
-
50 #define RADIOLIB_SX127X_REG_PAYLOAD_LENGTH 0x22
-
51 #define RADIOLIB_SX127X_REG_MAX_PAYLOAD_LENGTH 0x23
-
52 #define RADIOLIB_SX127X_REG_HOP_PERIOD 0x24
-
53 #define RADIOLIB_SX127X_REG_FIFO_RX_BYTE_ADDR 0x25
-
54 #define RADIOLIB_SX127X_REG_FEI_MSB 0x28
-
55 #define RADIOLIB_SX127X_REG_FEI_MID 0x29
-
56 #define RADIOLIB_SX127X_REG_FEI_LSB 0x2A
-
57 #define RADIOLIB_SX127X_REG_RSSI_WIDEBAND 0x2C
-
58 #define RADIOLIB_SX127X_REG_DETECT_OPTIMIZE 0x31
-
59 #define RADIOLIB_SX127X_REG_INVERT_IQ 0x33
-
60 #define RADIOLIB_SX127X_REG_DETECTION_THRESHOLD 0x37
-
61 #define RADIOLIB_SX127X_REG_SYNC_WORD 0x39
-
62 #define RADIOLIB_SX127X_REG_INVERT_IQ2 0x3B
-
63 #define RADIOLIB_SX127X_REG_DIO_MAPPING_1 0x40
-
64 #define RADIOLIB_SX127X_REG_DIO_MAPPING_2 0x41
-
65 #define RADIOLIB_SX127X_REG_VERSION 0x42
+
20 #define RADIOLIB_SX127X_REG_FIFO 0x00
+
21 #define RADIOLIB_SX127X_REG_OP_MODE 0x01
+
22 #define RADIOLIB_SX127X_REG_FRF_MSB 0x06
+
23 #define RADIOLIB_SX127X_REG_FRF_MID 0x07
+
24 #define RADIOLIB_SX127X_REG_FRF_LSB 0x08
+
25 #define RADIOLIB_SX127X_REG_PA_CONFIG 0x09
+
26 #define RADIOLIB_SX127X_REG_PA_RAMP 0x0A
+
27 #define RADIOLIB_SX127X_REG_OCP 0x0B
+
28 #define RADIOLIB_SX127X_REG_LNA 0x0C
+
29 #define RADIOLIB_SX127X_REG_FIFO_ADDR_PTR 0x0D
+
30 #define RADIOLIB_SX127X_REG_FIFO_TX_BASE_ADDR 0x0E
+
31 #define RADIOLIB_SX127X_REG_FIFO_RX_BASE_ADDR 0x0F
+
32 #define RADIOLIB_SX127X_REG_FIFO_RX_CURRENT_ADDR 0x10
+
33 #define RADIOLIB_SX127X_REG_IRQ_FLAGS_MASK 0x11
+
34 #define RADIOLIB_SX127X_REG_IRQ_FLAGS 0x12
+
35 #define RADIOLIB_SX127X_REG_RX_NB_BYTES 0x13
+
36 #define RADIOLIB_SX127X_REG_RX_HEADER_CNT_VALUE_MSB 0x14
+
37 #define RADIOLIB_SX127X_REG_RX_HEADER_CNT_VALUE_LSB 0x15
+
38 #define RADIOLIB_SX127X_REG_RX_PACKET_CNT_VALUE_MSB 0x16
+
39 #define RADIOLIB_SX127X_REG_RX_PACKET_CNT_VALUE_LSB 0x17
+
40 #define RADIOLIB_SX127X_REG_MODEM_STAT 0x18
+
41 #define RADIOLIB_SX127X_REG_PKT_SNR_VALUE 0x19
+
42 #define RADIOLIB_SX127X_REG_PKT_RSSI_VALUE 0x1A
+
43 #define RADIOLIB_SX127X_REG_RSSI_VALUE 0x1B
+
44 #define RADIOLIB_SX127X_REG_HOP_CHANNEL 0x1C
+
45 #define RADIOLIB_SX127X_REG_MODEM_CONFIG_1 0x1D
+
46 #define RADIOLIB_SX127X_REG_MODEM_CONFIG_2 0x1E
+
47 #define RADIOLIB_SX127X_REG_SYMB_TIMEOUT_LSB 0x1F
+
48 #define RADIOLIB_SX127X_REG_PREAMBLE_MSB 0x20
+
49 #define RADIOLIB_SX127X_REG_PREAMBLE_LSB 0x21
+
50 #define RADIOLIB_SX127X_REG_PAYLOAD_LENGTH 0x22
+
51 #define RADIOLIB_SX127X_REG_MAX_PAYLOAD_LENGTH 0x23
+
52 #define RADIOLIB_SX127X_REG_HOP_PERIOD 0x24
+
53 #define RADIOLIB_SX127X_REG_FIFO_RX_BYTE_ADDR 0x25
+
54 #define RADIOLIB_SX127X_REG_FEI_MSB 0x28
+
55 #define RADIOLIB_SX127X_REG_FEI_MID 0x29
+
56 #define RADIOLIB_SX127X_REG_FEI_LSB 0x2A
+
57 #define RADIOLIB_SX127X_REG_RSSI_WIDEBAND 0x2C
+
58 #define RADIOLIB_SX127X_REG_DETECT_OPTIMIZE 0x31
+
59 #define RADIOLIB_SX127X_REG_INVERT_IQ 0x33
+
60 #define RADIOLIB_SX127X_REG_DETECTION_THRESHOLD 0x37
+
61 #define RADIOLIB_SX127X_REG_SYNC_WORD 0x39
+
62 #define RADIOLIB_SX127X_REG_INVERT_IQ2 0x3B
+
63 #define RADIOLIB_SX127X_REG_DIO_MAPPING_1 0x40
+
64 #define RADIOLIB_SX127X_REG_DIO_MAPPING_2 0x41
+
65 #define RADIOLIB_SX127X_REG_VERSION 0x42
66 
67 // SX127x common LoRa modem settings
-
68 // SX127X_REG_OP_MODE MSB LSB DESCRIPTION
-
69 #define RADIOLIB_SX127X_FSK_OOK 0b00000000 // 7 7 FSK/OOK mode
-
70 #define RADIOLIB_SX127X_LORA 0b10000000 // 7 7 LoRa mode
-
71 #define RADIOLIB_SX127X_ACCESS_SHARED_REG_OFF 0b00000000 // 6 6 access LoRa registers (0x0D:0x3F) in LoRa mode
-
72 #define RADIOLIB_SX127X_ACCESS_SHARED_REG_ON 0b01000000 // 6 6 access FSK registers (0x0D:0x3F) in LoRa mode
-
73 #define RADIOLIB_SX127X_SLEEP 0b00000000 // 2 0 sleep
-
74 #define RADIOLIB_SX127X_STANDBY 0b00000001 // 2 0 standby
-
75 #define RADIOLIB_SX127X_FSTX 0b00000010 // 2 0 frequency synthesis TX
-
76 #define RADIOLIB_SX127X_TX 0b00000011 // 2 0 transmit
-
77 #define RADIOLIB_SX127X_FSRX 0b00000100 // 2 0 frequency synthesis RX
-
78 #define RADIOLIB_SX127X_RXCONTINUOUS 0b00000101 // 2 0 receive continuous
-
79 #define RADIOLIB_SX127X_RXSINGLE 0b00000110 // 2 0 receive single
-
80 #define RADIOLIB_SX127X_CAD 0b00000111 // 2 0 channel activity detection
+
68 // RADIOLIB_SX127X_REG_OP_MODE MSB LSB DESCRIPTION
+
69 #define RADIOLIB_SX127X_FSK_OOK 0b00000000 // 7 7 FSK/OOK mode
+
70 #define RADIOLIB_SX127X_LORA 0b10000000 // 7 7 LoRa mode
+
71 #define RADIOLIB_SX127X_ACCESS_SHARED_REG_OFF 0b00000000 // 6 6 access LoRa registers (0x0D:0x3F) in LoRa mode
+
72 #define RADIOLIB_SX127X_ACCESS_SHARED_REG_ON 0b01000000 // 6 6 access FSK registers (0x0D:0x3F) in LoRa mode
+
73 #define RADIOLIB_SX127X_SLEEP 0b00000000 // 2 0 sleep
+
74 #define RADIOLIB_SX127X_STANDBY 0b00000001 // 2 0 standby
+
75 #define RADIOLIB_SX127X_FSTX 0b00000010 // 2 0 frequency synthesis TX
+
76 #define RADIOLIB_SX127X_TX 0b00000011 // 2 0 transmit
+
77 #define RADIOLIB_SX127X_FSRX 0b00000100 // 2 0 frequency synthesis RX
+
78 #define RADIOLIB_SX127X_RXCONTINUOUS 0b00000101 // 2 0 receive continuous
+
79 #define RADIOLIB_SX127X_RXSINGLE 0b00000110 // 2 0 receive single
+
80 #define RADIOLIB_SX127X_CAD 0b00000111 // 2 0 channel activity detection
81 
-
82 // SX127X_REG_PA_CONFIG
-
83 #define RADIOLIB_SX127X_PA_SELECT_RFO 0b00000000 // 7 7 RFO pin output, power limited to +14 dBm
-
84 #define RADIOLIB_SX127X_PA_SELECT_BOOST 0b10000000 // 7 7 PA_BOOST pin output, power limited to +20 dBm
-
85 #define RADIOLIB_SX127X_OUTPUT_POWER 0b00001111 // 3 0 output power: P_out = 2 + OUTPUT_POWER [dBm] for PA_SELECT_BOOST
-
86  // P_out = -1 + OUTPUT_POWER [dBm] for PA_SELECT_RFO
+
82 // RADIOLIB_SX127X_REG_PA_CONFIG
+
83 #define RADIOLIB_SX127X_PA_SELECT_RFO 0b00000000 // 7 7 RFO pin output, power limited to +14 dBm
+
84 #define RADIOLIB_SX127X_PA_SELECT_BOOST 0b10000000 // 7 7 PA_BOOST pin output, power limited to +20 dBm
+
85 #define RADIOLIB_SX127X_OUTPUT_POWER 0b00001111 // 3 0 output power: P_out = 2 + OUTPUT_POWER [dBm] for PA_SELECT_BOOST
+
86  // P_out = -1 + OUTPUT_POWER [dBm] for PA_SELECT_RFO
87 
-
88 // SX127X_REG_OCP
-
89 #define RADIOLIB_SX127X_OCP_OFF 0b00000000 // 5 5 PA overload current protection disabled
-
90 #define RADIOLIB_SX127X_OCP_ON 0b00100000 // 5 5 PA overload current protection enabled
-
91 #define RADIOLIB_SX127X_OCP_TRIM 0b00001011 // 4 0 OCP current: I_max(OCP_TRIM = 0b1011) = 100 mA
+
88 // RADIOLIB_SX127X_REG_OCP
+
89 #define RADIOLIB_SX127X_OCP_OFF 0b00000000 // 5 5 PA overload current protection disabled
+
90 #define RADIOLIB_SX127X_OCP_ON 0b00100000 // 5 5 PA overload current protection enabled
+
91 #define RADIOLIB_SX127X_OCP_TRIM 0b00001011 // 4 0 OCP current: I_max(OCP_TRIM = 0b1011) = 100 mA
92 
-
93 // SX127X_REG_LNA
-
94 #define RADIOLIB_SX127X_LNA_GAIN_1 0b00100000 // 7 5 LNA gain setting: max gain
-
95 #define RADIOLIB_SX127X_LNA_GAIN_2 0b01000000 // 7 5 .
-
96 #define RADIOLIB_SX127X_LNA_GAIN_3 0b01100000 // 7 5 .
-
97 #define RADIOLIB_SX127X_LNA_GAIN_4 0b10000000 // 7 5 .
-
98 #define RADIOLIB_SX127X_LNA_GAIN_5 0b10100000 // 7 5 .
-
99 #define RADIOLIB_SX127X_LNA_GAIN_6 0b11000000 // 7 5 min gain
-
100 #define RADIOLIB_SX127X_LNA_BOOST_OFF 0b00000000 // 1 0 default LNA current
-
101 #define RADIOLIB_SX127X_LNA_BOOST_ON 0b00000011 // 1 0 150% LNA current
+
93 // RADIOLIB_SX127X_REG_LNA
+
94 #define RADIOLIB_SX127X_LNA_GAIN_1 0b00100000 // 7 5 LNA gain setting: max gain
+
95 #define RADIOLIB_SX127X_LNA_GAIN_2 0b01000000 // 7 5 .
+
96 #define RADIOLIB_SX127X_LNA_GAIN_3 0b01100000 // 7 5 .
+
97 #define RADIOLIB_SX127X_LNA_GAIN_4 0b10000000 // 7 5 .
+
98 #define RADIOLIB_SX127X_LNA_GAIN_5 0b10100000 // 7 5 .
+
99 #define RADIOLIB_SX127X_LNA_GAIN_6 0b11000000 // 7 5 min gain
+
100 #define RADIOLIB_SX127X_LNA_BOOST_OFF 0b00000000 // 1 0 default LNA current
+
101 #define RADIOLIB_SX127X_LNA_BOOST_ON 0b00000011 // 1 0 150% LNA current
102 
-
103 // SX127X_REG_MODEM_CONFIG_2
-
104 #define RADIOLIB_SX127X_SF_6 0b01100000 // 7 4 spreading factor: 64 chips/bit
-
105 #define RADIOLIB_SX127X_SF_7 0b01110000 // 7 4 128 chips/bit
-
106 #define RADIOLIB_SX127X_SF_8 0b10000000 // 7 4 256 chips/bit
-
107 #define RADIOLIB_SX127X_SF_9 0b10010000 // 7 4 512 chips/bit
-
108 #define RADIOLIB_SX127X_SF_10 0b10100000 // 7 4 1024 chips/bit
-
109 #define RADIOLIB_SX127X_SF_11 0b10110000 // 7 4 2048 chips/bit
-
110 #define RADIOLIB_SX127X_SF_12 0b11000000 // 7 4 4096 chips/bit
-
111 #define RADIOLIB_SX127X_TX_MODE_SINGLE 0b00000000 // 3 3 single TX
-
112 #define RADIOLIB_SX127X_TX_MODE_CONT 0b00001000 // 3 3 continuous TX
-
113 #define RADIOLIB_SX127X_RX_TIMEOUT_MSB 0b00000000 // 1 0
+
103 // RADIOLIB_SX127X_REG_MODEM_CONFIG_2
+
104 #define RADIOLIB_SX127X_SF_6 0b01100000 // 7 4 spreading factor: 64 chips/bit
+
105 #define RADIOLIB_SX127X_SF_7 0b01110000 // 7 4 128 chips/bit
+
106 #define RADIOLIB_SX127X_SF_8 0b10000000 // 7 4 256 chips/bit
+
107 #define RADIOLIB_SX127X_SF_9 0b10010000 // 7 4 512 chips/bit
+
108 #define RADIOLIB_SX127X_SF_10 0b10100000 // 7 4 1024 chips/bit
+
109 #define RADIOLIB_SX127X_SF_11 0b10110000 // 7 4 2048 chips/bit
+
110 #define RADIOLIB_SX127X_SF_12 0b11000000 // 7 4 4096 chips/bit
+
111 #define RADIOLIB_SX127X_TX_MODE_SINGLE 0b00000000 // 3 3 single TX
+
112 #define RADIOLIB_SX127X_TX_MODE_CONT 0b00001000 // 3 3 continuous TX
+
113 #define RADIOLIB_SX127X_RX_TIMEOUT_MSB 0b00000000 // 1 0
114 
-
115 // SX127X_REG_SYMB_TIMEOUT_LSB
-
116 #define RADIOLIB_SX127X_RX_TIMEOUT_LSB 0b01100100 // 7 0 10 bit RX operation timeout
+
115 // RADIOLIB_SX127X_REG_SYMB_TIMEOUT_LSB
+
116 #define RADIOLIB_SX127X_RX_TIMEOUT_LSB 0b01100100 // 7 0 10-bit RX operation timeout
117 
-
118 // SX127X_REG_PREAMBLE_MSB + REG_PREAMBLE_LSB
-
119 #define RADIOLIB_SX127X_PREAMBLE_LENGTH_MSB 0b00000000 // 7 0 2 byte preamble length setting: l_P = PREAMBLE_LENGTH + 4.25
-
120 #define RADIOLIB_SX127X_PREAMBLE_LENGTH_LSB 0b00001000 // 7 0 where l_p = preamble length
+
118 // RADIOLIB_SX127X_REG_PREAMBLE_MSB + REG_PREAMBLE_LSB
+
119 #define RADIOLIB_SX127X_PREAMBLE_LENGTH_MSB 0b00000000 // 7 0 2-byte preamble length setting: l_P = PREAMBLE_LENGTH + 4.25
+
120 #define RADIOLIB_SX127X_PREAMBLE_LENGTH_LSB 0b00001000 // 7 0 where l_p = preamble length
121 
-
122 // SX127X_REG_DETECT_OPTIMIZE
-
123 #define RADIOLIB_SX127X_DETECT_OPTIMIZE_SF_6 0b00000101 // 2 0 SF6 detection optimization
-
124 #define RADIOLIB_SX127X_DETECT_OPTIMIZE_SF_7_12 0b00000011 // 2 0 SF7 to SF12 detection optimization
+
122 // RADIOLIB_SX127X_REG_DETECT_OPTIMIZE
+
123 #define RADIOLIB_SX127X_DETECT_OPTIMIZE_SF_6 0b00000101 // 2 0 SF6 detection optimization
+
124 #define RADIOLIB_SX127X_DETECT_OPTIMIZE_SF_7_12 0b00000011 // 2 0 SF7 to SF12 detection optimization
125 
-
126 // SX127X_REG_INVERT_IQ
-
127 #define RADIOLIB_SX127X_INVERT_IQ_RXPATH_ON 0b01000000 // 6 6 I and Q signals are inverted
-
128 #define RADIOLIB_SX127X_INVERT_IQ_RXPATH_OFF 0b00000000 // 6 6 normal mode
-
129 #define RADIOLIB_SX127X_INVERT_IQ_TXPATH_ON 0b00000001 // 0 0 I and Q signals are inverted
-
130 #define RADIOLIB_SX127X_INVERT_IQ_TXPATH_OFF 0b00000000 // 0 0 normal mode
+
126 // RADIOLIB_SX127X_REG_INVERT_IQ
+
127 #define RADIOLIB_SX127X_INVERT_IQ_RXPATH_ON 0b01000000 // 6 6 I and Q signals are inverted
+
128 #define RADIOLIB_SX127X_INVERT_IQ_RXPATH_OFF 0b00000000 // 6 6 normal mode
+
129 #define RADIOLIB_SX127X_INVERT_IQ_TXPATH_ON 0b00000001 // 0 0 I and Q signals are inverted
+
130 #define RADIOLIB_SX127X_INVERT_IQ_TXPATH_OFF 0b00000000 // 0 0 normal mode
131 
-
132 // SX127X_REG_DETECTION_THRESHOLD
-
133 #define RADIOLIB_SX127X_DETECTION_THRESHOLD_SF_6 0b00001100 // 7 0 SF6 detection threshold
-
134 #define RADIOLIB_SX127X_DETECTION_THRESHOLD_SF_7_12 0b00001010 // 7 0 SF7 to SF12 detection threshold
+
132 // RADIOLIB_SX127X_REG_DETECTION_THRESHOLD
+
133 #define RADIOLIB_SX127X_DETECTION_THRESHOLD_SF_6 0b00001100 // 7 0 SF6 detection threshold
+
134 #define RADIOLIB_SX127X_DETECTION_THRESHOLD_SF_7_12 0b00001010 // 7 0 SF7 to SF12 detection threshold
135 
-
136 // SX127X_REG_PA_DAC
-
137 #define RADIOLIB_SX127X_PA_BOOST_OFF 0b00000100 // 2 0 PA_BOOST disabled
-
138 #define RADIOLIB_SX127X_PA_BOOST_ON 0b00000111 // 2 0 +20 dBm on PA_BOOST when OUTPUT_POWER = 0b1111
+
136 // RADIOLIB_SX127X_REG_PA_DAC
+
137 #define RADIOLIB_SX127X_PA_BOOST_OFF 0b00000100 // 2 0 PA_BOOST disabled
+
138 #define RADIOLIB_SX127X_PA_BOOST_ON 0b00000111 // 2 0 +20 dBm on PA_BOOST when OUTPUT_POWER = 0b1111
139 
-
140 // SX127X_REG_HOP_PERIOD
-
141 #define RADIOLIB_SX127X_HOP_PERIOD_OFF 0b00000000 // 7 0 number of periods between frequency hops; 0 = disabled
-
142 #define RADIOLIB_SX127X_HOP_PERIOD_MAX 0b11111111 // 7 0
+
140 // RADIOLIB_SX127X_REG_HOP_PERIOD
+
141 #define RADIOLIB_SX127X_HOP_PERIOD_OFF 0b00000000 // 7 0 number of periods between frequency hops; 0 = disabled
+
142 #define RADIOLIB_SX127X_HOP_PERIOD_MAX 0b11111111 // 7 0
143 
-
144 // SX127X_REG_IRQ_FLAGS
-
145 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_RX_TIMEOUT 0b10000000 // 7 7 timeout
-
146 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_RX_DONE 0b01000000 // 6 6 packet reception complete
-
147 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_PAYLOAD_CRC_ERROR 0b00100000 // 5 5 payload CRC error
-
148 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_VALID_HEADER 0b00010000 // 4 4 valid header received
-
149 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_TX_DONE 0b00001000 // 3 3 payload transmission complete
-
150 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_CAD_DONE 0b00000100 // 2 2 CAD complete
-
151 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_FHSS_CHANGE_CHANNEL 0b00000010 // 1 1 FHSS change channel
-
152 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_CAD_DETECTED 0b00000001 // 0 0 valid LoRa signal detected during CAD operation
+
144 // RADIOLIB_SX127X_REG_IRQ_FLAGS
+
145 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_RX_TIMEOUT 0b10000000 // 7 7 timeout
+
146 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_RX_DONE 0b01000000 // 6 6 packet reception complete
+
147 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_PAYLOAD_CRC_ERROR 0b00100000 // 5 5 payload CRC error
+
148 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_VALID_HEADER 0b00010000 // 4 4 valid header received
+
149 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_TX_DONE 0b00001000 // 3 3 payload transmission complete
+
150 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_CAD_DONE 0b00000100 // 2 2 CAD complete
+
151 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_FHSS_CHANGE_CHANNEL 0b00000010 // 1 1 FHSS change channel
+
152 #define RADIOLIB_SX127X_CLEAR_IRQ_FLAG_CAD_DETECTED 0b00000001 // 0 0 valid LoRa signal detected during CAD operation
153 
-
154 // SX127X_REG_IRQ_FLAGS_MASK
-
155 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_RX_TIMEOUT 0b01111111 // 7 7 timeout
-
156 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_RX_DONE 0b10111111 // 6 6 packet reception complete
-
157 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_PAYLOAD_CRC_ERROR 0b11011111 // 5 5 payload CRC error
-
158 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_VALID_HEADER 0b11101111 // 4 4 valid header received
-
159 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_TX_DONE 0b11110111 // 3 3 payload transmission complete
-
160 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_CAD_DONE 0b11111011 // 2 2 CAD complete
-
161 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_FHSS_CHANGE_CHANNEL 0b11111101 // 1 1 FHSS change channel
-
162 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_CAD_DETECTED 0b11111110 // 0 0 valid LoRa signal detected during CAD operation
+
154 // RADIOLIB_SX127X_REG_IRQ_FLAGS_MASK
+
155 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_RX_TIMEOUT 0b01111111 // 7 7 timeout
+
156 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_RX_DONE 0b10111111 // 6 6 packet reception complete
+
157 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_PAYLOAD_CRC_ERROR 0b11011111 // 5 5 payload CRC error
+
158 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_VALID_HEADER 0b11101111 // 4 4 valid header received
+
159 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_TX_DONE 0b11110111 // 3 3 payload transmission complete
+
160 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_CAD_DONE 0b11111011 // 2 2 CAD complete
+
161 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_FHSS_CHANGE_CHANNEL 0b11111101 // 1 1 FHSS change channel
+
162 #define RADIOLIB_SX127X_MASK_IRQ_FLAG_CAD_DETECTED 0b11111110 // 0 0 valid LoRa signal detected during CAD operation
163 
-
164 // SX127X_REG_FIFO_TX_BASE_ADDR
-
165 #define RADIOLIB_SX127X_FIFO_TX_BASE_ADDR_MAX 0b00000000 // 7 0 allocate the entire FIFO buffer for TX only
+
164 // RADIOLIB_SX127X_REG_FIFO_TX_BASE_ADDR
+
165 #define RADIOLIB_SX127X_FIFO_TX_BASE_ADDR_MAX 0b00000000 // 7 0 allocate the entire FIFO buffer for TX only
166 
-
167 // SX127X_REG_FIFO_RX_BASE_ADDR
-
168 #define RADIOLIB_SX127X_FIFO_RX_BASE_ADDR_MAX 0b00000000 // 7 0 allocate the entire FIFO buffer for RX only
+
167 // RADIOLIB_SX127X_REG_FIFO_RX_BASE_ADDR
+
168 #define RADIOLIB_SX127X_FIFO_RX_BASE_ADDR_MAX 0b00000000 // 7 0 allocate the entire FIFO buffer for RX only
169 
-
170 // SX127X_REG_SYNC_WORD
-
171 #define RADIOLIB_SX127X_SYNC_WORD 0x12 // 7 0 default LoRa sync word
-
172 #define RADIOLIB_SX127X_SYNC_WORD_LORAWAN 0x34 // 7 0 sync word reserved for LoRaWAN networks
+
170 // RADIOLIB_SX127X_REG_SYNC_WORD
+
171 #define RADIOLIB_SX127X_SYNC_WORD 0x12 // 7 0 default LoRa sync word
+
172 #define RADIOLIB_SX127X_SYNC_WORD_LORAWAN 0x34 // 7 0 sync word reserved for LoRaWAN networks
173 
-
174 // SX127X_REG_INVERT_IQ2
-
175 #define RADIOLIB_SX127X_IQ2_ENABLE 0x19 // 7 0 enable optimize for inverted IQ
-
176 #define RADIOLIB_SX127X_IQ2_DISABLE 0x1D // 7 0 reset optimize for inverted IQ
+
174 // RADIOLIB_SX127X_REG_INVERT_IQ2
+
175 #define RADIOLIB_SX127X_IQ2_ENABLE 0x19 // 7 0 enable optimize for inverted IQ
+
176 #define RADIOLIB_SX127X_IQ2_DISABLE 0x1D // 7 0 reset optimize for inverted IQ
177 
178 // SX127x series common FSK registers
179 // NOTE: FSK register names that are conflicting with LoRa registers are marked with "_FSK" suffix
-
180 #define RADIOLIB_SX127X_REG_BITRATE_MSB 0x02
-
181 #define RADIOLIB_SX127X_REG_BITRATE_LSB 0x03
-
182 #define RADIOLIB_SX127X_REG_FDEV_MSB 0x04
-
183 #define RADIOLIB_SX127X_REG_FDEV_LSB 0x05
-
184 #define RADIOLIB_SX127X_REG_RX_CONFIG 0x0D
-
185 #define RADIOLIB_SX127X_REG_RSSI_CONFIG 0x0E
-
186 #define RADIOLIB_SX127X_REG_RSSI_COLLISION 0x0F
-
187 #define RADIOLIB_SX127X_REG_RSSI_THRESH 0x10
-
188 #define RADIOLIB_SX127X_REG_RSSI_VALUE_FSK 0x11
-
189 #define RADIOLIB_SX127X_REG_RX_BW 0x12
-
190 #define RADIOLIB_SX127X_REG_AFC_BW 0x13
-
191 #define RADIOLIB_SX127X_REG_OOK_PEAK 0x14
-
192 #define RADIOLIB_SX127X_REG_OOK_FIX 0x15
-
193 #define RADIOLIB_SX127X_REG_OOK_AVG 0x16
-
194 #define RADIOLIB_SX127X_REG_AFC_FEI 0x1A
-
195 #define RADIOLIB_SX127X_REG_AFC_MSB 0x1B
-
196 #define RADIOLIB_SX127X_REG_AFC_LSB 0x1C
-
197 #define RADIOLIB_SX127X_REG_FEI_MSB_FSK 0x1D
-
198 #define RADIOLIB_SX127X_REG_FEI_LSB_FSK 0x1E
-
199 #define RADIOLIB_SX127X_REG_PREAMBLE_DETECT 0x1F
-
200 #define RADIOLIB_SX127X_REG_RX_TIMEOUT_1 0x20
-
201 #define RADIOLIB_SX127X_REG_RX_TIMEOUT_2 0x21
-
202 #define RADIOLIB_SX127X_REG_RX_TIMEOUT_3 0x22
-
203 #define RADIOLIB_SX127X_REG_RX_DELAY 0x23
-
204 #define RADIOLIB_SX127X_REG_OSC 0x24
-
205 #define RADIOLIB_SX127X_REG_PREAMBLE_MSB_FSK 0x25
-
206 #define RADIOLIB_SX127X_REG_PREAMBLE_LSB_FSK 0x26
-
207 #define RADIOLIB_SX127X_REG_SYNC_CONFIG 0x27
-
208 #define RADIOLIB_SX127X_REG_SYNC_VALUE_1 0x28
-
209 #define RADIOLIB_SX127X_REG_SYNC_VALUE_2 0x29
-
210 #define RADIOLIB_SX127X_REG_SYNC_VALUE_3 0x2A
-
211 #define RADIOLIB_SX127X_REG_SYNC_VALUE_4 0x2B
-
212 #define RADIOLIB_SX127X_REG_SYNC_VALUE_5 0x2C
-
213 #define RADIOLIB_SX127X_REG_SYNC_VALUE_6 0x2D
-
214 #define RADIOLIB_SX127X_REG_SYNC_VALUE_7 0x2E
-
215 #define RADIOLIB_SX127X_REG_SYNC_VALUE_8 0x2F
-
216 #define RADIOLIB_SX127X_REG_PACKET_CONFIG_1 0x30
-
217 #define RADIOLIB_SX127X_REG_PACKET_CONFIG_2 0x31
-
218 #define RADIOLIB_SX127X_REG_PAYLOAD_LENGTH_FSK 0x32
-
219 #define RADIOLIB_SX127X_REG_NODE_ADRS 0x33
-
220 #define RADIOLIB_SX127X_REG_BROADCAST_ADRS 0x34
-
221 #define RADIOLIB_SX127X_REG_FIFO_THRESH 0x35
-
222 #define RADIOLIB_SX127X_REG_SEQ_CONFIG_1 0x36
-
223 #define RADIOLIB_SX127X_REG_SEQ_CONFIG_2 0x37
-
224 #define RADIOLIB_SX127X_REG_TIMER_RESOL 0x38
-
225 #define RADIOLIB_SX127X_REG_TIMER1_COEF 0x39
-
226 #define RADIOLIB_SX127X_REG_TIMER2_COEF 0x3A
-
227 #define RADIOLIB_SX127X_REG_IMAGE_CAL 0x3B
-
228 #define RADIOLIB_SX127X_REG_TEMP 0x3C
-
229 #define RADIOLIB_SX127X_REG_LOW_BAT 0x3D
-
230 #define RADIOLIB_SX127X_REG_IRQ_FLAGS_1 0x3E
-
231 #define RADIOLIB_SX127X_REG_IRQ_FLAGS_2 0x3F
+
180 #define RADIOLIB_SX127X_REG_BITRATE_MSB 0x02
+
181 #define RADIOLIB_SX127X_REG_BITRATE_LSB 0x03
+
182 #define RADIOLIB_SX127X_REG_FDEV_MSB 0x04
+
183 #define RADIOLIB_SX127X_REG_FDEV_LSB 0x05
+
184 #define RADIOLIB_SX127X_REG_RX_CONFIG 0x0D
+
185 #define RADIOLIB_SX127X_REG_RSSI_CONFIG 0x0E
+
186 #define RADIOLIB_SX127X_REG_RSSI_COLLISION 0x0F
+
187 #define RADIOLIB_SX127X_REG_RSSI_THRESH 0x10
+
188 #define RADIOLIB_SX127X_REG_RSSI_VALUE_FSK 0x11
+
189 #define RADIOLIB_SX127X_REG_RX_BW 0x12
+
190 #define RADIOLIB_SX127X_REG_AFC_BW 0x13
+
191 #define RADIOLIB_SX127X_REG_OOK_PEAK 0x14
+
192 #define RADIOLIB_SX127X_REG_OOK_FIX 0x15
+
193 #define RADIOLIB_SX127X_REG_OOK_AVG 0x16
+
194 #define RADIOLIB_SX127X_REG_AFC_FEI 0x1A
+
195 #define RADIOLIB_SX127X_REG_AFC_MSB 0x1B
+
196 #define RADIOLIB_SX127X_REG_AFC_LSB 0x1C
+
197 #define RADIOLIB_SX127X_REG_FEI_MSB_FSK 0x1D
+
198 #define RADIOLIB_SX127X_REG_FEI_LSB_FSK 0x1E
+
199 #define RADIOLIB_SX127X_REG_PREAMBLE_DETECT 0x1F
+
200 #define RADIOLIB_SX127X_REG_RX_TIMEOUT_1 0x20
+
201 #define RADIOLIB_SX127X_REG_RX_TIMEOUT_2 0x21
+
202 #define RADIOLIB_SX127X_REG_RX_TIMEOUT_3 0x22
+
203 #define RADIOLIB_SX127X_REG_RX_DELAY 0x23
+
204 #define RADIOLIB_SX127X_REG_OSC 0x24
+
205 #define RADIOLIB_SX127X_REG_PREAMBLE_MSB_FSK 0x25
+
206 #define RADIOLIB_SX127X_REG_PREAMBLE_LSB_FSK 0x26
+
207 #define RADIOLIB_SX127X_REG_SYNC_CONFIG 0x27
+
208 #define RADIOLIB_SX127X_REG_SYNC_VALUE_1 0x28
+
209 #define RADIOLIB_SX127X_REG_SYNC_VALUE_2 0x29
+
210 #define RADIOLIB_SX127X_REG_SYNC_VALUE_3 0x2A
+
211 #define RADIOLIB_SX127X_REG_SYNC_VALUE_4 0x2B
+
212 #define RADIOLIB_SX127X_REG_SYNC_VALUE_5 0x2C
+
213 #define RADIOLIB_SX127X_REG_SYNC_VALUE_6 0x2D
+
214 #define RADIOLIB_SX127X_REG_SYNC_VALUE_7 0x2E
+
215 #define RADIOLIB_SX127X_REG_SYNC_VALUE_8 0x2F
+
216 #define RADIOLIB_SX127X_REG_PACKET_CONFIG_1 0x30
+
217 #define RADIOLIB_SX127X_REG_PACKET_CONFIG_2 0x31
+
218 #define RADIOLIB_SX127X_REG_PAYLOAD_LENGTH_FSK 0x32
+
219 #define RADIOLIB_SX127X_REG_NODE_ADRS 0x33
+
220 #define RADIOLIB_SX127X_REG_BROADCAST_ADRS 0x34
+
221 #define RADIOLIB_SX127X_REG_FIFO_THRESH 0x35
+
222 #define RADIOLIB_SX127X_REG_SEQ_CONFIG_1 0x36
+
223 #define RADIOLIB_SX127X_REG_SEQ_CONFIG_2 0x37
+
224 #define RADIOLIB_SX127X_REG_TIMER_RESOL 0x38
+
225 #define RADIOLIB_SX127X_REG_TIMER1_COEF 0x39
+
226 #define RADIOLIB_SX127X_REG_TIMER2_COEF 0x3A
+
227 #define RADIOLIB_SX127X_REG_IMAGE_CAL 0x3B
+
228 #define RADIOLIB_SX127X_REG_TEMP 0x3C
+
229 #define RADIOLIB_SX127X_REG_LOW_BAT 0x3D
+
230 #define RADIOLIB_SX127X_REG_IRQ_FLAGS_1 0x3E
+
231 #define RADIOLIB_SX127X_REG_IRQ_FLAGS_2 0x3F
232 
233 // SX127x common FSK modem settings
-
234 // SX127X_REG_OP_MODE
-
235 #define RADIOLIB_SX127X_MODULATION_FSK 0b00000000 // 6 5 FSK modulation scheme
-
236 #define RADIOLIB_SX127X_MODULATION_OOK 0b00100000 // 6 5 OOK modulation scheme
-
237 #define RADIOLIB_SX127X_RX 0b00000101 // 2 0 receiver mode
+
234 // RADIOLIB_SX127X_REG_OP_MODE
+
235 #define RADIOLIB_SX127X_MODULATION_FSK 0b00000000 // 6 5 FSK modulation scheme
+
236 #define RADIOLIB_SX127X_MODULATION_OOK 0b00100000 // 6 5 OOK modulation scheme
+
237 #define RADIOLIB_SX127X_RX 0b00000101 // 2 0 receiver mode
238 
-
239 // SX127X_REG_BITRATE_MSB + SX127X_REG_BITRATE_LSB
-
240 #define RADIOLIB_SX127X_BITRATE_MSB 0x1A // 7 0 bit rate setting: BitRate = F(XOSC)/(BITRATE + BITRATE_FRAC/16)
-
241 #define RADIOLIB_SX127X_BITRATE_LSB 0x0B // 7 0 default value: 4.8 kbps
+
239 // RADIOLIB_SX127X_REG_BITRATE_MSB + SX127X_REG_BITRATE_LSB
+
240 #define RADIOLIB_SX127X_BITRATE_MSB 0x1A // 7 0 bit rate setting: BitRate = F(XOSC)/(BITRATE + BITRATE_FRAC/16)
+
241 #define RADIOLIB_SX127X_BITRATE_LSB 0x0B // 7 0 default value: 4.8 kbps
242 
-
243 // SX127X_REG_FDEV_MSB + SX127X_REG_FDEV_LSB
-
244 #define RADIOLIB_SX127X_FDEV_MSB 0x00 // 5 0 frequency deviation: Fdev = Fstep * FDEV
-
245 #define RADIOLIB_SX127X_FDEV_LSB 0x52 // 7 0 default value: 5 kHz
+
243 // RADIOLIB_SX127X_REG_FDEV_MSB + SX127X_REG_FDEV_LSB
+
244 #define RADIOLIB_SX127X_FDEV_MSB 0x00 // 5 0 frequency deviation: Fdev = Fstep * FDEV
+
245 #define RADIOLIB_SX127X_FDEV_LSB 0x52 // 7 0 default value: 5 kHz
246 
-
247 // SX127X_REG_RX_CONFIG
-
248 #define RADIOLIB_SX127X_RESTART_RX_ON_COLLISION_OFF 0b00000000 // 7 7 automatic receiver restart disabled (default)
-
249 #define RADIOLIB_SX127X_RESTART_RX_ON_COLLISION_ON 0b10000000 // 7 7 automatically restart receiver if it gets saturated or on packet collision
-
250 #define RADIOLIB_SX127X_RESTART_RX_WITHOUT_PLL_LOCK 0b01000000 // 6 6 manually restart receiver without frequency change
-
251 #define RADIOLIB_SX127X_RESTART_RX_WITH_PLL_LOCK 0b00100000 // 5 5 manually restart receiver with frequency change
-
252 #define RADIOLIB_SX127X_AFC_AUTO_OFF 0b00000000 // 4 4 no AFC performed (default)
-
253 #define RADIOLIB_SX127X_AFC_AUTO_ON 0b00010000 // 4 4 AFC performed at each receiver startup
-
254 #define RADIOLIB_SX127X_AGC_AUTO_OFF 0b00000000 // 3 3 LNA gain set manually by register
-
255 #define RADIOLIB_SX127X_AGC_AUTO_ON 0b00001000 // 3 3 LNA gain controlled by AGC
-
256 #define RADIOLIB_SX127X_RX_TRIGGER_NONE 0b00000000 // 2 0 receiver startup at: none
-
257 #define RADIOLIB_SX127X_RX_TRIGGER_RSSI_INTERRUPT 0b00000001 // 2 0 RSSI interrupt
-
258 #define RADIOLIB_SX127X_RX_TRIGGER_PREAMBLE_DETECT 0b00000110 // 2 0 preamble detected
-
259 #define RADIOLIB_SX127X_RX_TRIGGER_BOTH 0b00000111 // 2 0 RSSI interrupt and preamble detected
+
247 // RADIOLIB_SX127X_REG_RX_CONFIG
+
248 #define RADIOLIB_SX127X_RESTART_RX_ON_COLLISION_OFF 0b00000000 // 7 7 automatic receiver restart disabled (default)
+
249 #define RADIOLIB_SX127X_RESTART_RX_ON_COLLISION_ON 0b10000000 // 7 7 automatically restart receiver if it gets saturated or on packet collision
+
250 #define RADIOLIB_SX127X_RESTART_RX_WITHOUT_PLL_LOCK 0b01000000 // 6 6 manually restart receiver without frequency change
+
251 #define RADIOLIB_SX127X_RESTART_RX_WITH_PLL_LOCK 0b00100000 // 5 5 manually restart receiver with frequency change
+
252 #define RADIOLIB_SX127X_AFC_AUTO_OFF 0b00000000 // 4 4 no AFC performed (default)
+
253 #define RADIOLIB_SX127X_AFC_AUTO_ON 0b00010000 // 4 4 AFC performed at each receiver startup
+
254 #define RADIOLIB_SX127X_AGC_AUTO_OFF 0b00000000 // 3 3 LNA gain set manually by register
+
255 #define RADIOLIB_SX127X_AGC_AUTO_ON 0b00001000 // 3 3 LNA gain controlled by AGC
+
256 #define RADIOLIB_SX127X_RX_TRIGGER_NONE 0b00000000 // 2 0 receiver startup at: none
+
257 #define RADIOLIB_SX127X_RX_TRIGGER_RSSI_INTERRUPT 0b00000001 // 2 0 RSSI interrupt
+
258 #define RADIOLIB_SX127X_RX_TRIGGER_PREAMBLE_DETECT 0b00000110 // 2 0 preamble detected
+
259 #define RADIOLIB_SX127X_RX_TRIGGER_BOTH 0b00000111 // 2 0 RSSI interrupt and preamble detected
260 
-
261 // SX127X_REG_RSSI_CONFIG
-
262 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_2 0b00000000 // 2 0 number of samples for RSSI average: 2
-
263 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_4 0b00000001 // 2 0 4
-
264 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_8 0b00000010 // 2 0 8 (default)
-
265 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_16 0b00000011 // 2 0 16
-
266 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_32 0b00000100 // 2 0 32
-
267 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_64 0b00000101 // 2 0 64
-
268 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_128 0b00000110 // 2 0 128
-
269 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_256 0b00000111 // 2 0 256
+
261 // RADIOLIB_SX127X_REG_RSSI_CONFIG
+
262 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_2 0b00000000 // 2 0 number of samples for RSSI average: 2
+
263 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_4 0b00000001 // 2 0 4
+
264 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_8 0b00000010 // 2 0 8 (default)
+
265 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_16 0b00000011 // 2 0 16
+
266 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_32 0b00000100 // 2 0 32
+
267 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_64 0b00000101 // 2 0 64
+
268 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_128 0b00000110 // 2 0 128
+
269 #define RADIOLIB_SX127X_RSSI_SMOOTHING_SAMPLES_256 0b00000111 // 2 0 256
270 
-
271 // SX127X_REG_RSSI_COLLISION
-
272 #define RADIOLIB_SX127X_RSSI_COLLISION_THRESHOLD 0x0A // 7 0 RSSI threshold in dB that will be considered a collision, default value: 10 dB
+
271 // RADIOLIB_SX127X_REG_RSSI_COLLISION
+
272 #define RADIOLIB_SX127X_RSSI_COLLISION_THRESHOLD 0x0A // 7 0 RSSI threshold in dB that will be considered a collision, default value: 10 dB
273 
-
274 // SX127X_REG_RSSI_THRESH
-
275 #define RADIOLIB_SX127X_RSSI_THRESHOLD 0xFF // 7 0 RSSI threshold that will trigger RSSI interrupt, RssiThreshold = RSSI_THRESHOLD / 2 [dBm]
+
274 // RADIOLIB_SX127X_REG_RSSI_THRESH
+
275 #define RADIOLIB_SX127X_RSSI_THRESHOLD 0xFF // 7 0 RSSI threshold that will trigger RSSI interrupt, RssiThreshold = RSSI_THRESHOLD / 2 [dBm]
276 
-
277 // SX127X_REG_RX_BW
-
278 #define RADIOLIB_SX127X_RX_BW_MANT_16 0b00000000 // 4 3 channel filter bandwidth: RxBw = F(XOSC) / (RxBwMant * 2^(RxBwExp + 2)) [kHz]
-
279 #define RADIOLIB_SX127X_RX_BW_MANT_20 0b00001000 // 4 3
-
280 #define RADIOLIB_SX127X_RX_BW_MANT_24 0b00010000 // 4 3 default RxBwMant parameter
-
281 #define RADIOLIB_SX127X_RX_BW_EXP 0b00000101 // 2 0 default RxBwExp parameter
+
277 // RADIOLIB_SX127X_REG_RX_BW
+
278 #define RADIOLIB_SX127X_RX_BW_MANT_16 0b00000000 // 4 3 channel filter bandwidth: RxBw = F(XOSC) / (RxBwMant * 2^(RxBwExp + 2)) [kHz]
+
279 #define RADIOLIB_SX127X_RX_BW_MANT_20 0b00001000 // 4 3
+
280 #define RADIOLIB_SX127X_RX_BW_MANT_24 0b00010000 // 4 3 default RxBwMant parameter
+
281 #define RADIOLIB_SX127X_RX_BW_EXP 0b00000101 // 2 0 default RxBwExp parameter
282 
-
283 // SX127X_REG_AFC_BW
-
284 #define RADIOLIB_SX127X_RX_BW_MANT_AFC 0b00001000 // 4 3 default RxBwMant parameter used during AFC
-
285 #define RADIOLIB_SX127X_RX_BW_EXP_AFC 0b00000011 // 2 0 default RxBwExp parameter used during AFC
+
283 // RADIOLIB_SX127X_REG_AFC_BW
+
284 #define RADIOLIB_SX127X_RX_BW_MANT_AFC 0b00001000 // 4 3 default RxBwMant parameter used during AFC
+
285 #define RADIOLIB_SX127X_RX_BW_EXP_AFC 0b00000011 // 2 0 default RxBwExp parameter used during AFC
286 
-
287 // SX127X_REG_OOK_PEAK
-
288 #define RADIOLIB_SX127X_BIT_SYNC_OFF 0b00000000 // 5 5 bit synchronizer disabled (not allowed in packet mode)
-
289 #define RADIOLIB_SX127X_BIT_SYNC_ON 0b00100000 // 5 5 bit synchronizer enabled (default)
-
290 #define RADIOLIB_SX127X_OOK_THRESH_FIXED 0b00000000 // 4 3 OOK threshold type: fixed value
-
291 #define RADIOLIB_SX127X_OOK_THRESH_PEAK 0b00001000 // 4 3 peak mode (default)
-
292 #define RADIOLIB_SX127X_OOK_THRESH_AVERAGE 0b00010000 // 4 3 average mode
-
293 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_0_5_DB 0b00000000 // 2 0 OOK demodulator step size: 0.5 dB (default)
-
294 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_0_DB 0b00000001 // 2 0 1.0 dB
-
295 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_5_DB 0b00000010 // 2 0 1.5 dB
-
296 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_2_0_DB 0b00000011 // 2 0 2.0 dB
-
297 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_3_0_DB 0b00000100 // 2 0 3.0 dB
-
298 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_4_0_DB 0b00000101 // 2 0 4.0 dB
-
299 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_5_0_DB 0b00000110 // 2 0 5.0 dB
-
300 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_6_0_DB 0b00000111 // 2 0 6.0 dB
+
287 // RADIOLIB_SX127X_REG_OOK_PEAK
+
288 #define RADIOLIB_SX127X_BIT_SYNC_OFF 0b00000000 // 5 5 bit synchronizer disabled (not allowed in packet mode)
+
289 #define RADIOLIB_SX127X_BIT_SYNC_ON 0b00100000 // 5 5 bit synchronizer enabled (default)
+
290 #define RADIOLIB_SX127X_OOK_THRESH_FIXED 0b00000000 // 4 3 OOK threshold type: fixed value
+
291 #define RADIOLIB_SX127X_OOK_THRESH_PEAK 0b00001000 // 4 3 peak mode (default)
+
292 #define RADIOLIB_SX127X_OOK_THRESH_AVERAGE 0b00010000 // 4 3 average mode
+
293 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_0_5_DB 0b00000000 // 2 0 OOK demodulator step size: 0.5 dB (default)
+
294 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_0_DB 0b00000001 // 2 0 1.0 dB
+
295 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_5_DB 0b00000010 // 2 0 1.5 dB
+
296 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_2_0_DB 0b00000011 // 2 0 2.0 dB
+
297 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_3_0_DB 0b00000100 // 2 0 3.0 dB
+
298 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_4_0_DB 0b00000101 // 2 0 4.0 dB
+
299 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_5_0_DB 0b00000110 // 2 0 5.0 dB
+
300 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_6_0_DB 0b00000111 // 2 0 6.0 dB
301 
-
302 // SX127X_REG_OOK_FIX
-
303 #define RADIOLIB_SX127X_OOK_FIXED_THRESHOLD 0x0C // 7 0 default fixed threshold for OOK data slicer
+
302 // RADIOLIB_SX127X_REG_OOK_FIX
+
303 #define RADIOLIB_SX127X_OOK_FIXED_THRESHOLD 0x0C // 7 0 default fixed threshold for OOK data slicer
304 
-
305 // SX127X_REG_OOK_AVG
-
306 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_1_CHIP 0b00000000 // 7 5 OOK demodulator step period: once per chip (default)
-
307 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_2_CHIP 0b00100000 // 7 5 once every 2 chips
-
308 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_4_CHIP 0b01000000 // 7 5 once every 4 chips
-
309 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_8_CHIP 0b01100000 // 7 5 once every 8 chips
-
310 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_2_1_CHIP 0b10000000 // 7 5 2 times per chip
-
311 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_4_1_CHIP 0b10100000 // 7 5 4 times per chip
-
312 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_8_1_CHIP 0b11000000 // 7 5 8 times per chip
-
313 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_16_1_CHIP 0b11100000 // 7 5 16 times per chip
-
314 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_0_DB 0b00000000 // 3 2 OOK average threshold offset: 0.0 dB (default)
-
315 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_2_DB 0b00000100 // 3 2 2.0 dB
-
316 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_4_DB 0b00001000 // 3 2 4.0 dB
-
317 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_6_DB 0b00001100 // 3 2 6.0 dB
-
318 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_32_PI 0b00000000 // 1 0 OOK average filter coefficient: chip rate / 32*pi
-
319 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_8_PI 0b00000001 // 1 0 chip rate / 8*pi
-
320 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_4_PI 0b00000010 // 1 0 chip rate / 4*pi (default)
-
321 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_2_PI 0b00000011 // 1 0 chip rate / 2*pi
+
305 // RADIOLIB_SX127X_REG_OOK_AVG
+
306 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_1_CHIP 0b00000000 // 7 5 OOK demodulator step period: once per chip (default)
+
307 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_2_CHIP 0b00100000 // 7 5 once every 2 chips
+
308 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_4_CHIP 0b01000000 // 7 5 once every 4 chips
+
309 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_1_8_CHIP 0b01100000 // 7 5 once every 8 chips
+
310 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_2_1_CHIP 0b10000000 // 7 5 2 times per chip
+
311 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_4_1_CHIP 0b10100000 // 7 5 4 times per chip
+
312 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_8_1_CHIP 0b11000000 // 7 5 8 times per chip
+
313 #define RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_16_1_CHIP 0b11100000 // 7 5 16 times per chip
+
314 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_0_DB 0b00000000 // 3 2 OOK average threshold offset: 0.0 dB (default)
+
315 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_2_DB 0b00000100 // 3 2 2.0 dB
+
316 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_4_DB 0b00001000 // 3 2 4.0 dB
+
317 #define RADIOLIB_SX127X_OOK_AVERAGE_OFFSET_6_DB 0b00001100 // 3 2 6.0 dB
+
318 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_32_PI 0b00000000 // 1 0 OOK average filter coefficient: chip rate / 32*pi
+
319 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_8_PI 0b00000001 // 1 0 chip rate / 8*pi
+
320 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_4_PI 0b00000010 // 1 0 chip rate / 4*pi (default)
+
321 #define RADIOLIB_SX127X_OOK_AVG_THRESH_FILT_2_PI 0b00000011 // 1 0 chip rate / 2*pi
322 
-
323 // SX127X_REG_AFC_FEI
-
324 #define RADIOLIB_SX127X_AGC_START 0b00010000 // 4 4 manually start AGC sequence
-
325 #define RADIOLIB_SX127X_AFC_CLEAR 0b00000010 // 1 1 manually clear AFC register
-
326 #define RADIOLIB_SX127X_AFC_AUTO_CLEAR_OFF 0b00000000 // 0 0 AFC register will not be cleared at the start of AFC (default)
-
327 #define RADIOLIB_SX127X_AFC_AUTO_CLEAR_ON 0b00000001 // 0 0 AFC register will be cleared at the start of AFC
+
323 // RADIOLIB_SX127X_REG_AFC_FEI
+
324 #define RADIOLIB_SX127X_AGC_START 0b00010000 // 4 4 manually start AGC sequence
+
325 #define RADIOLIB_SX127X_AFC_CLEAR 0b00000010 // 1 1 manually clear AFC register
+
326 #define RADIOLIB_SX127X_AFC_AUTO_CLEAR_OFF 0b00000000 // 0 0 AFC register will not be cleared at the start of AFC (default)
+
327 #define RADIOLIB_SX127X_AFC_AUTO_CLEAR_ON 0b00000001 // 0 0 AFC register will be cleared at the start of AFC
328 
-
329 // SX127X_REG_PREAMBLE_DETECT
-
330 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_OFF 0b00000000 // 7 7 preamble detection disabled
-
331 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_ON 0b10000000 // 7 7 preamble detection enabled (default)
-
332 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_1_BYTE 0b00000000 // 6 5 preamble detection size: 1 byte (default)
-
333 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_2_BYTE 0b00100000 // 6 5 2 bytes
-
334 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_3_BYTE 0b01000000 // 6 5 3 bytes
-
335 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_TOL 0x0A // 4 0 default number of tolerated errors per chip (4 chips per bit)
+
329 // RADIOLIB_SX127X_REG_PREAMBLE_DETECT
+
330 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_OFF 0b00000000 // 7 7 preamble detection disabled
+
331 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_ON 0b10000000 // 7 7 preamble detection enabled (default)
+
332 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_1_BYTE 0b00000000 // 6 5 preamble detection size: 1 byte (default)
+
333 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_2_BYTE 0b00100000 // 6 5 2 bytes
+
334 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_3_BYTE 0b01000000 // 6 5 3 bytes
+
335 #define RADIOLIB_SX127X_PREAMBLE_DETECTOR_TOL 0x0A // 4 0 default number of tolerated errors per chip (4 chips per bit)
336 
-
337 // SX127X_REG_RX_TIMEOUT_1
-
338 #define RADIOLIB_SX127X_TIMEOUT_RX_RSSI_OFF 0x00 // 7 0 disable receiver timeout when RSSI interrupt doesn't occur (default)
+
337 // RADIOLIB_SX127X_REG_RX_TIMEOUT_1
+
338 #define RADIOLIB_SX127X_TIMEOUT_RX_RSSI_OFF 0x00 // 7 0 disable receiver timeout when RSSI interrupt doesn't occur (default)
339 
-
340 // SX127X_REG_RX_TIMEOUT_2
-
341 #define RADIOLIB_SX127X_TIMEOUT_RX_PREAMBLE_OFF 0x00 // 7 0 disable receiver timeout when preamble interrupt doesn't occur (default)
+
340 // RADIOLIB_SX127X_REG_RX_TIMEOUT_2
+
341 #define RADIOLIB_SX127X_TIMEOUT_RX_PREAMBLE_OFF 0x00 // 7 0 disable receiver timeout when preamble interrupt doesn't occur (default)
342 
-
343 // SX127X_REG_RX_TIMEOUT_3
-
344 #define RADIOLIB_SX127X_TIMEOUT_SIGNAL_SYNC_OFF 0x00 // 7 0 disable receiver timeout when sync address interrupt doesn't occur (default)
+
343 // RADIOLIB_SX127X_REG_RX_TIMEOUT_3
+
344 #define RADIOLIB_SX127X_TIMEOUT_SIGNAL_SYNC_OFF 0x00 // 7 0 disable receiver timeout when sync address interrupt doesn't occur (default)
345 
-
346 // SX127X_REG_OSC
-
347 #define RADIOLIB_SX127X_RC_CAL_START 0b00000000 // 3 3 manually start RC oscillator calibration
-
348 #define RADIOLIB_SX127X_CLK_OUT_FXOSC 0b00000000 // 2 0 ClkOut frequency: F(XOSC)
-
349 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_2 0b00000001 // 2 0 F(XOSC) / 2
-
350 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_4 0b00000010 // 2 0 F(XOSC) / 4
-
351 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_8 0b00000011 // 2 0 F(XOSC) / 8
-
352 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_16 0b00000100 // 2 0 F(XOSC) / 16
-
353 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_32 0b00000101 // 2 0 F(XOSC) / 32
-
354 #define RADIOLIB_SX127X_CLK_OUT_RC 0b00000110 // 2 0 RC
-
355 #define RADIOLIB_SX127X_CLK_OUT_OFF 0b00000111 // 2 0 disabled (default)
+
346 // RADIOLIB_SX127X_REG_OSC
+
347 #define RADIOLIB_SX127X_RC_CAL_START 0b00000000 // 3 3 manually start RC oscillator calibration
+
348 #define RADIOLIB_SX127X_CLK_OUT_FXOSC 0b00000000 // 2 0 ClkOut frequency: F(XOSC)
+
349 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_2 0b00000001 // 2 0 F(XOSC) / 2
+
350 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_4 0b00000010 // 2 0 F(XOSC) / 4
+
351 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_8 0b00000011 // 2 0 F(XOSC) / 8
+
352 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_16 0b00000100 // 2 0 F(XOSC) / 16
+
353 #define RADIOLIB_SX127X_CLK_OUT_FXOSC_32 0b00000101 // 2 0 F(XOSC) / 32
+
354 #define RADIOLIB_SX127X_CLK_OUT_RC 0b00000110 // 2 0 RC
+
355 #define RADIOLIB_SX127X_CLK_OUT_OFF 0b00000111 // 2 0 disabled (default)
356 
-
357 // SX127X_REG_PREAMBLE_MSB_FSK + SX127X_REG_PREAMBLE_LSB_FSK
-
358 #define RADIOLIB_SX127X_PREAMBLE_SIZE_MSB 0x00 // 7 0 preamble size in bytes
-
359 #define RADIOLIB_SX127X_PREAMBLE_SIZE_LSB 0x03 // 7 0 default value: 3 bytes
+
357 // RADIOLIB_SX127X_REG_PREAMBLE_MSB_FSK + SX127X_REG_PREAMBLE_LSB_FSK
+
358 #define RADIOLIB_SX127X_PREAMBLE_SIZE_MSB 0x00 // 7 0 preamble size in bytes
+
359 #define RADIOLIB_SX127X_PREAMBLE_SIZE_LSB 0x03 // 7 0 default value: 3 bytes
360 
-
361 // SX127X_REG_SYNC_CONFIG
-
362 #define RADIOLIB_SX127X_AUTO_RESTART_RX_MODE_OFF 0b00000000 // 7 6 Rx mode restart after packet reception: disabled
-
363 #define RADIOLIB_SX127X_AUTO_RESTART_RX_MODE_NO_PLL 0b01000000 // 7 6 enabled, don't wait for PLL lock
-
364 #define RADIOLIB_SX127X_AUTO_RESTART_RX_MODE_PLL 0b10000000 // 7 6 enabled, wait for PLL lock (default)
-
365 #define RADIOLIB_SX127X_PREAMBLE_POLARITY_AA 0b00000000 // 5 5 preamble polarity: 0xAA = 0b10101010 (default)
-
366 #define RADIOLIB_SX127X_PREAMBLE_POLARITY_55 0b00100000 // 5 5 0x55 = 0b01010101
-
367 #define RADIOLIB_SX127X_SYNC_OFF 0b00000000 // 4 4 sync word disabled
-
368 #define RADIOLIB_SX127X_SYNC_ON 0b00010000 // 4 4 sync word enabled (default)
-
369 #define RADIOLIB_SX127X_SYNC_SIZE 0x03 // 2 0 sync word size in bytes, SyncSize = SYNC_SIZE + 1 bytes
+
361 // RADIOLIB_SX127X_REG_SYNC_CONFIG
+
362 #define RADIOLIB_SX127X_AUTO_RESTART_RX_MODE_OFF 0b00000000 // 7 6 Rx mode restart after packet reception: disabled
+
363 #define RADIOLIB_SX127X_AUTO_RESTART_RX_MODE_NO_PLL 0b01000000 // 7 6 enabled, don't wait for PLL lock
+
364 #define RADIOLIB_SX127X_AUTO_RESTART_RX_MODE_PLL 0b10000000 // 7 6 enabled, wait for PLL lock (default)
+
365 #define RADIOLIB_SX127X_PREAMBLE_POLARITY_AA 0b00000000 // 5 5 preamble polarity: 0xAA = 0b10101010 (default)
+
366 #define RADIOLIB_SX127X_PREAMBLE_POLARITY_55 0b00100000 // 5 5 0x55 = 0b01010101
+
367 #define RADIOLIB_SX127X_SYNC_OFF 0b00000000 // 4 4 sync word disabled
+
368 #define RADIOLIB_SX127X_SYNC_ON 0b00010000 // 4 4 sync word enabled (default)
+
369 #define RADIOLIB_SX127X_SYNC_SIZE 0x03 // 2 0 sync word size in bytes, SyncSize = SYNC_SIZE + 1 bytes
370 
-
371 // SX127X_REG_SYNC_VALUE_1 - SX127X_REG_SYNC_VALUE_8
-
372 #define RADIOLIB_SX127X_SYNC_VALUE_1 0x01 // 7 0 sync word: 1st byte (MSB)
-
373 #define RADIOLIB_SX127X_SYNC_VALUE_2 0x01 // 7 0 2nd byte
-
374 #define RADIOLIB_SX127X_SYNC_VALUE_3 0x01 // 7 0 3rd byte
-
375 #define RADIOLIB_SX127X_SYNC_VALUE_4 0x01 // 7 0 4th byte
-
376 #define RADIOLIB_SX127X_SYNC_VALUE_5 0x01 // 7 0 5th byte
-
377 #define RADIOLIB_SX127X_SYNC_VALUE_6 0x01 // 7 0 6th byte
-
378 #define RADIOLIB_SX127X_SYNC_VALUE_7 0x01 // 7 0 7th byte
-
379 #define RADIOLIB_SX127X_SYNC_VALUE_8 0x01 // 7 0 8th byte (LSB)
+
371 // RADIOLIB_SX127X_REG_SYNC_VALUE_1 - SX127X_REG_SYNC_VALUE_8
+
372 #define RADIOLIB_SX127X_SYNC_VALUE_1 0x01 // 7 0 sync word: 1st byte (MSB)
+
373 #define RADIOLIB_SX127X_SYNC_VALUE_2 0x01 // 7 0 2nd byte
+
374 #define RADIOLIB_SX127X_SYNC_VALUE_3 0x01 // 7 0 3rd byte
+
375 #define RADIOLIB_SX127X_SYNC_VALUE_4 0x01 // 7 0 4th byte
+
376 #define RADIOLIB_SX127X_SYNC_VALUE_5 0x01 // 7 0 5th byte
+
377 #define RADIOLIB_SX127X_SYNC_VALUE_6 0x01 // 7 0 6th byte
+
378 #define RADIOLIB_SX127X_SYNC_VALUE_7 0x01 // 7 0 7th byte
+
379 #define RADIOLIB_SX127X_SYNC_VALUE_8 0x01 // 7 0 8th byte (LSB)
380 
-
381 // SX127X_REG_PACKET_CONFIG_1
-
382 #define RADIOLIB_SX127X_PACKET_FIXED 0b00000000 // 7 7 packet format: fixed length
-
383 #define RADIOLIB_SX127X_PACKET_VARIABLE 0b10000000 // 7 7 variable length (default)
-
384 #define RADIOLIB_SX127X_DC_FREE_NONE 0b00000000 // 6 5 DC-free encoding: disabled (default)
-
385 #define RADIOLIB_SX127X_DC_FREE_MANCHESTER 0b00100000 // 6 5 Manchester
-
386 #define RADIOLIB_SX127X_DC_FREE_WHITENING 0b01000000 // 6 5 Whitening
-
387 #define RADIOLIB_SX127X_CRC_OFF 0b00000000 // 4 4 CRC disabled
-
388 #define RADIOLIB_SX127X_CRC_ON 0b00010000 // 4 4 CRC enabled (default)
-
389 #define RADIOLIB_SX127X_CRC_AUTOCLEAR_OFF 0b00001000 // 3 3 keep FIFO on CRC mismatch, issue payload ready interrupt
-
390 #define RADIOLIB_SX127X_CRC_AUTOCLEAR_ON 0b00000000 // 3 3 clear FIFO on CRC mismatch, do not issue payload ready interrupt
-
391 #define RADIOLIB_SX127X_ADDRESS_FILTERING_OFF 0b00000000 // 2 1 address filtering: none (default)
-
392 #define RADIOLIB_SX127X_ADDRESS_FILTERING_NODE 0b00000010 // 2 1 node
-
393 #define RADIOLIB_SX127X_ADDRESS_FILTERING_NODE_BROADCAST 0b00000100 // 2 1 node or broadcast
-
394 #define RADIOLIB_SX127X_CRC_WHITENING_TYPE_CCITT 0b00000000 // 0 0 CRC and whitening algorithms: CCITT CRC with standard whitening (default)
-
395 #define RADIOLIB_SX127X_CRC_WHITENING_TYPE_IBM 0b00000001 // 0 0 IBM CRC with alternate whitening
+
381 // RADIOLIB_SX127X_REG_PACKET_CONFIG_1
+
382 #define RADIOLIB_SX127X_PACKET_FIXED 0b00000000 // 7 7 packet format: fixed length
+
383 #define RADIOLIB_SX127X_PACKET_VARIABLE 0b10000000 // 7 7 variable length (default)
+
384 #define RADIOLIB_SX127X_DC_FREE_NONE 0b00000000 // 6 5 DC-free encoding: disabled (default)
+
385 #define RADIOLIB_SX127X_DC_FREE_MANCHESTER 0b00100000 // 6 5 Manchester
+
386 #define RADIOLIB_SX127X_DC_FREE_WHITENING 0b01000000 // 6 5 Whitening
+
387 #define RADIOLIB_SX127X_CRC_OFF 0b00000000 // 4 4 CRC disabled
+
388 #define RADIOLIB_SX127X_CRC_ON 0b00010000 // 4 4 CRC enabled (default)
+
389 #define RADIOLIB_SX127X_CRC_AUTOCLEAR_OFF 0b00001000 // 3 3 keep FIFO on CRC mismatch, issue payload ready interrupt
+
390 #define RADIOLIB_SX127X_CRC_AUTOCLEAR_ON 0b00000000 // 3 3 clear FIFO on CRC mismatch, do not issue payload ready interrupt
+
391 #define RADIOLIB_SX127X_ADDRESS_FILTERING_OFF 0b00000000 // 2 1 address filtering: none (default)
+
392 #define RADIOLIB_SX127X_ADDRESS_FILTERING_NODE 0b00000010 // 2 1 node
+
393 #define RADIOLIB_SX127X_ADDRESS_FILTERING_NODE_BROADCAST 0b00000100 // 2 1 node or broadcast
+
394 #define RADIOLIB_SX127X_CRC_WHITENING_TYPE_CCITT 0b00000000 // 0 0 CRC and whitening algorithms: CCITT CRC with standard whitening (default)
+
395 #define RADIOLIB_SX127X_CRC_WHITENING_TYPE_IBM 0b00000001 // 0 0 IBM CRC with alternate whitening
396 
-
397 // SX127X_REG_PACKET_CONFIG_2
-
398 #define RADIOLIB_SX127X_DATA_MODE_PACKET 0b01000000 // 6 6 data mode: packet (default)
-
399 #define RADIOLIB_SX127X_DATA_MODE_CONTINUOUS 0b00000000 // 6 6 continuous
-
400 #define RADIOLIB_SX127X_IO_HOME_OFF 0b00000000 // 5 5 io-homecontrol compatibility disabled (default)
-
401 #define RADIOLIB_SX127X_IO_HOME_ON 0b00100000 // 5 5 io-homecontrol compatibility enabled
+
397 // RADIOLIB_SX127X_REG_PACKET_CONFIG_2
+
398 #define RADIOLIB_SX127X_DATA_MODE_PACKET 0b01000000 // 6 6 data mode: packet (default)
+
399 #define RADIOLIB_SX127X_DATA_MODE_CONTINUOUS 0b00000000 // 6 6 continuous
+
400 #define RADIOLIB_SX127X_IO_HOME_OFF 0b00000000 // 5 5 io-homecontrol compatibility disabled (default)
+
401 #define RADIOLIB_SX127X_IO_HOME_ON 0b00100000 // 5 5 io-homecontrol compatibility enabled
402 
-
403 // SX127X_REG_FIFO_THRESH
-
404 #define RADIOLIB_SX127X_TX_START_FIFO_LEVEL 0b00000000 // 7 7 start packet transmission when: number of bytes in FIFO exceeds FIFO_THRESHOLD
-
405 #define RADIOLIB_SX127X_TX_START_FIFO_NOT_EMPTY 0b10000000 // 7 7 at least one byte in FIFO (default)
-
406 #define RADIOLIB_SX127X_FIFO_THRESH 0x1F // 5 0 FIFO level threshold
+
403 // RADIOLIB_SX127X_REG_FIFO_THRESH
+
404 #define RADIOLIB_SX127X_TX_START_FIFO_LEVEL 0b00000000 // 7 7 start packet transmission when: number of bytes in FIFO exceeds FIFO_THRESHOLD
+
405 #define RADIOLIB_SX127X_TX_START_FIFO_NOT_EMPTY 0b10000000 // 7 7 at least one byte in FIFO (default)
+
406 #define RADIOLIB_SX127X_FIFO_THRESH 0x1F // 5 0 FIFO level threshold
407 
-
408 // SX127X_REG_SEQ_CONFIG_1
-
409 #define RADIOLIB_SX127X_SEQUENCER_START 0b10000000 // 7 7 manually start sequencer
-
410 #define RADIOLIB_SX127X_SEQUENCER_STOP 0b01000000 // 6 6 manually stop sequencer
-
411 #define RADIOLIB_SX127X_IDLE_MODE_STANDBY 0b00000000 // 5 5 chip mode during sequencer idle mode: standby (default)
-
412 #define RADIOLIB_SX127X_IDLE_MODE_SLEEP 0b00100000 // 5 5 sleep
-
413 #define RADIOLIB_SX127X_FROM_START_LP_SELECTION 0b00000000 // 4 3 mode that will be set after starting sequencer: low power selection (default)
-
414 #define RADIOLIB_SX127X_FROM_START_RECEIVE 0b00001000 // 4 3 receive
-
415 #define RADIOLIB_SX127X_FROM_START_TRANSMIT 0b00010000 // 4 3 transmit
-
416 #define RADIOLIB_SX127X_FROM_START_TRANSMIT_FIFO_LEVEL 0b00011000 // 4 3 transmit on a FIFO level interrupt
-
417 #define RADIOLIB_SX127X_LP_SELECTION_SEQ_OFF 0b00000000 // 2 2 mode that will be set after exiting low power selection: sequencer off (default)
-
418 #define RADIOLIB_SX127X_LP_SELECTION_IDLE 0b00000100 // 2 2 idle state
-
419 #define RADIOLIB_SX127X_FROM_IDLE_TRANSMIT 0b00000000 // 1 1 mode that will be set after exiting idle mode: transmit (default)
-
420 #define RADIOLIB_SX127X_FROM_IDLE_RECEIVE 0b00000010 // 1 1 receive
-
421 #define RADIOLIB_SX127X_FROM_TRANSMIT_LP_SELECTION 0b00000000 // 0 0 mode that will be set after exiting transmit mode: low power selection (default)
-
422 #define RADIOLIB_SX127X_FROM_TRANSMIT_RECEIVE 0b00000001 // 0 0 receive
+
408 // RADIOLIB_SX127X_REG_SEQ_CONFIG_1
+
409 #define RADIOLIB_SX127X_SEQUENCER_START 0b10000000 // 7 7 manually start sequencer
+
410 #define RADIOLIB_SX127X_SEQUENCER_STOP 0b01000000 // 6 6 manually stop sequencer
+
411 #define RADIOLIB_SX127X_IDLE_MODE_STANDBY 0b00000000 // 5 5 chip mode during sequencer idle mode: standby (default)
+
412 #define RADIOLIB_SX127X_IDLE_MODE_SLEEP 0b00100000 // 5 5 sleep
+
413 #define RADIOLIB_SX127X_FROM_START_LP_SELECTION 0b00000000 // 4 3 mode that will be set after starting sequencer: low power selection (default)
+
414 #define RADIOLIB_SX127X_FROM_START_RECEIVE 0b00001000 // 4 3 receive
+
415 #define RADIOLIB_SX127X_FROM_START_TRANSMIT 0b00010000 // 4 3 transmit
+
416 #define RADIOLIB_SX127X_FROM_START_TRANSMIT_FIFO_LEVEL 0b00011000 // 4 3 transmit on a FIFO level interrupt
+
417 #define RADIOLIB_SX127X_LP_SELECTION_SEQ_OFF 0b00000000 // 2 2 mode that will be set after exiting low power selection: sequencer off (default)
+
418 #define RADIOLIB_SX127X_LP_SELECTION_IDLE 0b00000100 // 2 2 idle state
+
419 #define RADIOLIB_SX127X_FROM_IDLE_TRANSMIT 0b00000000 // 1 1 mode that will be set after exiting idle mode: transmit (default)
+
420 #define RADIOLIB_SX127X_FROM_IDLE_RECEIVE 0b00000010 // 1 1 receive
+
421 #define RADIOLIB_SX127X_FROM_TRANSMIT_LP_SELECTION 0b00000000 // 0 0 mode that will be set after exiting transmit mode: low power selection (default)
+
422 #define RADIOLIB_SX127X_FROM_TRANSMIT_RECEIVE 0b00000001 // 0 0 receive
423 
-
424 // SX127X_REG_SEQ_CONFIG_2
-
425 #define RADIOLIB_SX127X_FROM_RECEIVE_PACKET_RECEIVED_PAYLOAD 0b00100000 // 7 5 mode that will be set after exiting receive mode: packet received on payload ready interrupt (default)
-
426 #define RADIOLIB_SX127X_FROM_RECEIVE_LP_SELECTION 0b01000000 // 7 5 low power selection
-
427 #define RADIOLIB_SX127X_FROM_RECEIVE_PACKET_RECEIVED_CRC_OK 0b01100000 // 7 5 packet received on CRC OK interrupt
-
428 #define RADIOLIB_SX127X_FROM_RECEIVE_SEQ_OFF_RSSI 0b10000000 // 7 5 sequencer off on RSSI interrupt
-
429 #define RADIOLIB_SX127X_FROM_RECEIVE_SEQ_OFF_SYNC_ADDR 0b10100000 // 7 5 sequencer off on sync address interrupt
-
430 #define RADIOLIB_SX127X_FROM_RECEIVE_SEQ_OFF_PREAMBLE_DETECT 0b11000000 // 7 5 sequencer off on preamble detect interrupt
-
431 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_RECEIVE 0b00000000 // 4 3 mode that will be set after Rx timeout: receive (default)
-
432 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_TRANSMIT 0b00001000 // 4 3 transmit
-
433 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_LP_SELECTION 0b00010000 // 4 3 low power selection
-
434 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_SEQ_OFF 0b00011000 // 4 3 sequencer off
-
435 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_SEQ_OFF 0b00000000 // 2 0 mode that will be set after packet received: sequencer off (default)
-
436 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_TRANSMIT 0b00000001 // 2 0 transmit
-
437 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_LP_SELECTION 0b00000010 // 2 0 low power selection
-
438 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_RECEIVE_FS 0b00000011 // 2 0 receive via FS
-
439 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_RECEIVE 0b00000100 // 2 0 receive
+
424 // RADIOLIB_SX127X_REG_SEQ_CONFIG_2
+
425 #define RADIOLIB_SX127X_FROM_RECEIVE_PACKET_RECEIVED_PAYLOAD 0b00100000 // 7 5 mode that will be set after exiting receive mode: packet received on payload ready interrupt (default)
+
426 #define RADIOLIB_SX127X_FROM_RECEIVE_LP_SELECTION 0b01000000 // 7 5 low power selection
+
427 #define RADIOLIB_SX127X_FROM_RECEIVE_PACKET_RECEIVED_CRC_OK 0b01100000 // 7 5 packet received on CRC OK interrupt
+
428 #define RADIOLIB_SX127X_FROM_RECEIVE_SEQ_OFF_RSSI 0b10000000 // 7 5 sequencer off on RSSI interrupt
+
429 #define RADIOLIB_SX127X_FROM_RECEIVE_SEQ_OFF_SYNC_ADDR 0b10100000 // 7 5 sequencer off on sync address interrupt
+
430 #define RADIOLIB_SX127X_FROM_RECEIVE_SEQ_OFF_PREAMBLE_DETECT 0b11000000 // 7 5 sequencer off on preamble detect interrupt
+
431 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_RECEIVE 0b00000000 // 4 3 mode that will be set after Rx timeout: receive (default)
+
432 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_TRANSMIT 0b00001000 // 4 3 transmit
+
433 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_LP_SELECTION 0b00010000 // 4 3 low power selection
+
434 #define RADIOLIB_SX127X_FROM_RX_TIMEOUT_SEQ_OFF 0b00011000 // 4 3 sequencer off
+
435 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_SEQ_OFF 0b00000000 // 2 0 mode that will be set after packet received: sequencer off (default)
+
436 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_TRANSMIT 0b00000001 // 2 0 transmit
+
437 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_LP_SELECTION 0b00000010 // 2 0 low power selection
+
438 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_RECEIVE_FS 0b00000011 // 2 0 receive via FS
+
439 #define RADIOLIB_SX127X_FROM_PACKET_RECEIVED_RECEIVE 0b00000100 // 2 0 receive
440 
-
441 // SX127X_REG_TIMER_RESOL
-
442 #define RADIOLIB_SX127X_TIMER1_OFF 0b00000000 // 3 2 timer 1 resolution: disabled (default)
-
443 #define RADIOLIB_SX127X_TIMER1_RESOLUTION_64_US 0b00000100 // 3 2 64 us
-
444 #define RADIOLIB_SX127X_TIMER1_RESOLUTION_4_1_MS 0b00001000 // 3 2 4.1 ms
-
445 #define RADIOLIB_SX127X_TIMER1_RESOLUTION_262_MS 0b00001100 // 3 2 262 ms
-
446 #define RADIOLIB_SX127X_TIMER2_OFF 0b00000000 // 3 2 timer 2 resolution: disabled (default)
-
447 #define RADIOLIB_SX127X_TIMER2_RESOLUTION_64_US 0b00000001 // 3 2 64 us
-
448 #define RADIOLIB_SX127X_TIMER2_RESOLUTION_4_1_MS 0b00000010 // 3 2 4.1 ms
-
449 #define RADIOLIB_SX127X_TIMER2_RESOLUTION_262_MS 0b00000011 // 3 2 262 ms
+
441 // RADIOLIB_SX127X_REG_TIMER_RESOL
+
442 #define RADIOLIB_SX127X_TIMER1_OFF 0b00000000 // 3 2 timer 1 resolution: disabled (default)
+
443 #define RADIOLIB_SX127X_TIMER1_RESOLUTION_64_US 0b00000100 // 3 2 64 us
+
444 #define RADIOLIB_SX127X_TIMER1_RESOLUTION_4_1_MS 0b00001000 // 3 2 4.1 ms
+
445 #define RADIOLIB_SX127X_TIMER1_RESOLUTION_262_MS 0b00001100 // 3 2 262 ms
+
446 #define RADIOLIB_SX127X_TIMER2_OFF 0b00000000 // 3 2 timer 2 resolution: disabled (default)
+
447 #define RADIOLIB_SX127X_TIMER2_RESOLUTION_64_US 0b00000001 // 3 2 64 us
+
448 #define RADIOLIB_SX127X_TIMER2_RESOLUTION_4_1_MS 0b00000010 // 3 2 4.1 ms
+
449 #define RADIOLIB_SX127X_TIMER2_RESOLUTION_262_MS 0b00000011 // 3 2 262 ms
450 
-
451 // SX127X_REG_TIMER1_COEF
-
452 #define RADIOLIB_SX127X_TIMER1_COEFFICIENT 0xF5 // 7 0 multiplication coefficient for timer 1
+
451 // RADIOLIB_SX127X_REG_TIMER1_COEF
+
452 #define RADIOLIB_SX127X_TIMER1_COEFFICIENT 0xF5 // 7 0 multiplication coefficient for timer 1
453 
-
454 // SX127X_REG_TIMER2_COEF
-
455 #define RADIOLIB_SX127X_TIMER2_COEFFICIENT 0x20 // 7 0 multiplication coefficient for timer 2
+
454 // RADIOLIB_SX127X_REG_TIMER2_COEF
+
455 #define RADIOLIB_SX127X_TIMER2_COEFFICIENT 0x20 // 7 0 multiplication coefficient for timer 2
456 
-
457 // SX127X_REG_IMAGE_CAL
-
458 #define RADIOLIB_SX127X_AUTO_IMAGE_CAL_OFF 0b00000000 // 7 7 temperature calibration disabled (default)
-
459 #define RADIOLIB_SX127X_AUTO_IMAGE_CAL_ON 0b10000000 // 7 7 temperature calibration enabled
-
460 #define RADIOLIB_SX127X_IMAGE_CAL_START 0b01000000 // 6 6 start temperature calibration
-
461 #define RADIOLIB_SX127X_IMAGE_CAL_RUNNING 0b00100000 // 5 5 temperature calibration is on-going
-
462 #define RADIOLIB_SX127X_IMAGE_CAL_COMPLETE 0b00000000 // 5 5 temperature calibration finished
-
463 #define RADIOLIB_SX127X_TEMP_CHANGED 0b00001000 // 3 3 temperature changed more than TEMP_THRESHOLD since last calibration
-
464 #define RADIOLIB_SX127X_TEMP_THRESHOLD_5_DEG_C 0b00000000 // 2 1 temperature change threshold: 5 deg. C
-
465 #define RADIOLIB_SX127X_TEMP_THRESHOLD_10_DEG_C 0b00000010 // 2 1 10 deg. C (default)
-
466 #define RADIOLIB_SX127X_TEMP_THRESHOLD_15_DEG_C 0b00000100 // 2 1 15 deg. C
-
467 #define RADIOLIB_SX127X_TEMP_THRESHOLD_20_DEG_C 0b00000110 // 2 1 20 deg. C
-
468 #define RADIOLIB_SX127X_TEMP_MONITOR_ON 0b00000000 // 0 0 temperature monitoring enabled (default)
-
469 #define RADIOLIB_SX127X_TEMP_MONITOR_OFF 0b00000001 // 0 0 temperature monitoring disabled
+
457 // RADIOLIB_SX127X_REG_IMAGE_CAL
+
458 #define RADIOLIB_SX127X_AUTO_IMAGE_CAL_OFF 0b00000000 // 7 7 temperature calibration disabled (default)
+
459 #define RADIOLIB_SX127X_AUTO_IMAGE_CAL_ON 0b10000000 // 7 7 temperature calibration enabled
+
460 #define RADIOLIB_SX127X_IMAGE_CAL_START 0b01000000 // 6 6 start temperature calibration
+
461 #define RADIOLIB_SX127X_IMAGE_CAL_RUNNING 0b00100000 // 5 5 temperature calibration is on-going
+
462 #define RADIOLIB_SX127X_IMAGE_CAL_COMPLETE 0b00000000 // 5 5 temperature calibration finished
+
463 #define RADIOLIB_SX127X_TEMP_CHANGED 0b00001000 // 3 3 temperature changed more than TEMP_THRESHOLD since last calibration
+
464 #define RADIOLIB_SX127X_TEMP_THRESHOLD_5_DEG_C 0b00000000 // 2 1 temperature change threshold: 5 deg. C
+
465 #define RADIOLIB_SX127X_TEMP_THRESHOLD_10_DEG_C 0b00000010 // 2 1 10 deg. C (default)
+
466 #define RADIOLIB_SX127X_TEMP_THRESHOLD_15_DEG_C 0b00000100 // 2 1 15 deg. C
+
467 #define RADIOLIB_SX127X_TEMP_THRESHOLD_20_DEG_C 0b00000110 // 2 1 20 deg. C
+
468 #define RADIOLIB_SX127X_TEMP_MONITOR_ON 0b00000000 // 0 0 temperature monitoring enabled (default)
+
469 #define RADIOLIB_SX127X_TEMP_MONITOR_OFF 0b00000001 // 0 0 temperature monitoring disabled
470 
-
471 // SX127X_REG_LOW_BAT
-
472 #define RADIOLIB_SX127X_LOW_BAT_OFF 0b00000000 // 3 3 low battery detector disabled
-
473 #define RADIOLIB_SX127X_LOW_BAT_ON 0b00001000 // 3 3 low battery detector enabled
-
474 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_695_V 0b00000000 // 2 0 battery voltage threshold: 1.695 V
-
475 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_764_V 0b00000001 // 2 0 1.764 V
-
476 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_835_V 0b00000010 // 2 0 1.835 V (default)
-
477 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_905_V 0b00000011 // 2 0 1.905 V
-
478 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_976_V 0b00000100 // 2 0 1.976 V
-
479 #define RADIOLIB_SX127X_LOW_BAT_TRIM_2_045_V 0b00000101 // 2 0 2.045 V
-
480 #define RADIOLIB_SX127X_LOW_BAT_TRIM_2_116_V 0b00000110 // 2 0 2.116 V
-
481 #define RADIOLIB_SX127X_LOW_BAT_TRIM_2_185_V 0b00000111 // 2 0 2.185 V
+
471 // RADIOLIB_SX127X_REG_LOW_BAT
+
472 #define RADIOLIB_SX127X_LOW_BAT_OFF 0b00000000 // 3 3 low battery detector disabled
+
473 #define RADIOLIB_SX127X_LOW_BAT_ON 0b00001000 // 3 3 low battery detector enabled
+
474 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_695_V 0b00000000 // 2 0 battery voltage threshold: 1.695 V
+
475 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_764_V 0b00000001 // 2 0 1.764 V
+
476 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_835_V 0b00000010 // 2 0 1.835 V (default)
+
477 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_905_V 0b00000011 // 2 0 1.905 V
+
478 #define RADIOLIB_SX127X_LOW_BAT_TRIM_1_976_V 0b00000100 // 2 0 1.976 V
+
479 #define RADIOLIB_SX127X_LOW_BAT_TRIM_2_045_V 0b00000101 // 2 0 2.045 V
+
480 #define RADIOLIB_SX127X_LOW_BAT_TRIM_2_116_V 0b00000110 // 2 0 2.116 V
+
481 #define RADIOLIB_SX127X_LOW_BAT_TRIM_2_185_V 0b00000111 // 2 0 2.185 V
482 
-
483 // SX127X_REG_IRQ_FLAGS_1
-
484 #define RADIOLIB_SX127X_FLAG_MODE_READY 0b10000000 // 7 7 requested mode is ready
-
485 #define RADIOLIB_SX127X_FLAG_RX_READY 0b01000000 // 6 6 reception ready (after RSSI, AGC, AFC)
-
486 #define RADIOLIB_SX127X_FLAG_TX_READY 0b00100000 // 5 5 transmission ready (after PA ramp-up)
-
487 #define RADIOLIB_SX127X_FLAG_PLL_LOCK 0b00010000 // 4 4 PLL locked
-
488 #define RADIOLIB_SX127X_FLAG_RSSI 0b00001000 // 3 3 RSSI value exceeds RSSI threshold
-
489 #define RADIOLIB_SX127X_FLAG_TIMEOUT 0b00000100 // 2 2 timeout occurred
-
490 #define RADIOLIB_SX127X_FLAG_PREAMBLE_DETECT 0b00000010 // 1 1 valid preamble was detected
-
491 #define RADIOLIB_SX127X_FLAG_SYNC_ADDRESS_MATCH 0b00000001 // 0 0 sync address matched
+
483 // RADIOLIB_SX127X_REG_IRQ_FLAGS_1
+
484 #define RADIOLIB_SX127X_FLAG_MODE_READY 0b10000000 // 7 7 requested mode is ready
+
485 #define RADIOLIB_SX127X_FLAG_RX_READY 0b01000000 // 6 6 reception ready (after RSSI, AGC, AFC)
+
486 #define RADIOLIB_SX127X_FLAG_TX_READY 0b00100000 // 5 5 transmission ready (after PA ramp-up)
+
487 #define RADIOLIB_SX127X_FLAG_PLL_LOCK 0b00010000 // 4 4 PLL locked
+
488 #define RADIOLIB_SX127X_FLAG_RSSI 0b00001000 // 3 3 RSSI value exceeds RSSI threshold
+
489 #define RADIOLIB_SX127X_FLAG_TIMEOUT 0b00000100 // 2 2 timeout occurred
+
490 #define RADIOLIB_SX127X_FLAG_PREAMBLE_DETECT 0b00000010 // 1 1 valid preamble was detected
+
491 #define RADIOLIB_SX127X_FLAG_SYNC_ADDRESS_MATCH 0b00000001 // 0 0 sync address matched
492 
-
493 // SX127X_REG_IRQ_FLAGS_2
-
494 #define RADIOLIB_SX127X_FLAG_FIFO_FULL 0b10000000 // 7 7 FIFO is full
-
495 #define RADIOLIB_SX127X_FLAG_FIFO_EMPTY 0b01000000 // 6 6 FIFO is empty
-
496 #define RADIOLIB_SX127X_FLAG_FIFO_LEVEL 0b00100000 // 5 5 number of bytes in FIFO exceeds FIFO_THRESHOLD
-
497 #define RADIOLIB_SX127X_FLAG_FIFO_OVERRUN 0b00010000 // 4 4 FIFO overrun occurred
-
498 #define RADIOLIB_SX127X_FLAG_PACKET_SENT 0b00001000 // 3 3 packet was successfully sent
-
499 #define RADIOLIB_SX127X_FLAG_PAYLOAD_READY 0b00000100 // 2 2 packet was successfully received
-
500 #define RADIOLIB_SX127X_FLAG_CRC_OK 0b00000010 // 1 1 CRC check passed
-
501 #define RADIOLIB_SX127X_FLAG_LOW_BAT 0b00000001 // 0 0 battery voltage dropped below threshold
+
493 // RADIOLIB_SX127X_REG_IRQ_FLAGS_2
+
494 #define RADIOLIB_SX127X_FLAG_FIFO_FULL 0b10000000 // 7 7 FIFO is full
+
495 #define RADIOLIB_SX127X_FLAG_FIFO_EMPTY 0b01000000 // 6 6 FIFO is empty
+
496 #define RADIOLIB_SX127X_FLAG_FIFO_LEVEL 0b00100000 // 5 5 number of bytes in FIFO exceeds FIFO_THRESHOLD
+
497 #define RADIOLIB_SX127X_FLAG_FIFO_OVERRUN 0b00010000 // 4 4 FIFO overrun occurred
+
498 #define RADIOLIB_SX127X_FLAG_PACKET_SENT 0b00001000 // 3 3 packet was successfully sent
+
499 #define RADIOLIB_SX127X_FLAG_PAYLOAD_READY 0b00000100 // 2 2 packet was successfully received
+
500 #define RADIOLIB_SX127X_FLAG_CRC_OK 0b00000010 // 1 1 CRC check passed
+
501 #define RADIOLIB_SX127X_FLAG_LOW_BAT 0b00000001 // 0 0 battery voltage dropped below threshold
502 
-
503 // SX127X_REG_DIO_MAPPING_1
-
504 #define RADIOLIB_SX127X_DIO0_LORA_RX_DONE 0b00000000 // 7 6
-
505 #define RADIOLIB_SX127X_DIO0_LORA_TX_DONE 0b01000000 // 7 6
-
506 #define RADIOLIB_SX127X_DIO0_LORA_CAD_DONE 0b10000000 // 7 6
-
507 #define RADIOLIB_SX127X_DIO0_CONT_MODE_READY 0b11000000 // 7 6
-
508 #define RADIOLIB_SX127X_DIO0_CONT_SYNC_ADDRESS 0b00000000 // 7 6
-
509 #define RADIOLIB_SX127X_DIO0_CONT_RSSI_PREAMBLE_DETECT 0b01000000 // 7 6
-
510 #define RADIOLIB_SX127X_DIO0_CONT_RX_READY 0b10000000 // 7 6
-
511 #define RADIOLIB_SX127X_DIO0_CONT_TX_READY 0b00000000 // 7 6
-
512 #define RADIOLIB_SX127X_DIO0_PACK_PAYLOAD_READY 0b00000000 // 7 6
-
513 #define RADIOLIB_SX127X_DIO0_PACK_PACKET_SENT 0b00000000 // 7 6
-
514 #define RADIOLIB_SX127X_DIO0_PACK_CRC_OK 0b01000000 // 7 6
-
515 #define RADIOLIB_SX127X_DIO0_PACK_TEMP_CHANGE_LOW_BAT 0b11000000 // 7 6
-
516 #define RADIOLIB_SX127X_DIO1_LORA_RX_TIMEOUT 0b00000000 // 5 4
-
517 #define RADIOLIB_SX127X_DIO1_LORA_FHSS_CHANGE_CHANNEL 0b00010000 // 5 4
-
518 #define RADIOLIB_SX127X_DIO1_LORA_CAD_DETECTED 0b00100000 // 5 4
-
519 #define RADIOLIB_SX127X_DIO1_CONT_DCLK 0b00000000 // 5 4
-
520 #define RADIOLIB_SX127X_DIO1_CONT_RSSI_PREAMBLE_DETECT 0b00010000 // 5 4
-
521 #define RADIOLIB_SX127X_DIO1_PACK_FIFO_LEVEL 0b00000000 // 5 4
-
522 #define RADIOLIB_SX127X_DIO1_PACK_FIFO_EMPTY 0b00010000 // 5 4
-
523 #define RADIOLIB_SX127X_DIO1_PACK_FIFO_FULL 0b00100000 // 5 4
-
524 #define RADIOLIB_SX127X_DIO2_LORA_FHSS_CHANGE_CHANNEL 0b00000000 // 3 2
-
525 #define RADIOLIB_SX127X_DIO2_CONT_DATA 0b00000000 // 3 2
-
526 #define RADIOLIB_SX127X_DIO2_PACK_FIFO_FULL 0b00000000 // 3 2
-
527 #define RADIOLIB_SX127X_DIO2_PACK_RX_READY 0b00000100 // 3 2
-
528 #define RADIOLIB_SX127X_DIO2_PACK_TIMEOUT 0b00001000 // 3 2
-
529 #define RADIOLIB_SX127X_DIO2_PACK_SYNC_ADDRESS 0b00011000 // 3 2
-
530 #define RADIOLIB_SX127X_DIO3_LORA_CAD_DONE 0b00000000 // 1 0
-
531 #define RADIOLIB_SX127X_DIO3_LORA_VALID_HEADER 0b00000001 // 1 0
-
532 #define RADIOLIB_SX127X_DIO3_LORA_PAYLOAD_CRC_ERROR 0b00000010 // 1 0
-
533 #define RADIOLIB_SX127X_DIO3_CONT_TIMEOUT 0b00000000 // 1 0
-
534 #define RADIOLIB_SX127X_DIO3_CONT_RSSI_PREAMBLE_DETECT 0b00000001 // 1 0
-
535 #define RADIOLIB_SX127X_DIO3_CONT_TEMP_CHANGE_LOW_BAT 0b00000011 // 1 0
-
536 #define RADIOLIB_SX127X_DIO3_PACK_FIFO_EMPTY 0b00000000 // 1 0
-
537 #define RADIOLIB_SX127X_DIO3_PACK_TX_READY 0b00000001 // 1 0
+
503 // RADIOLIB_SX127X_REG_DIO_MAPPING_1
+
504 #define RADIOLIB_SX127X_DIO0_LORA_RX_DONE 0b00000000 // 7 6
+
505 #define RADIOLIB_SX127X_DIO0_LORA_TX_DONE 0b01000000 // 7 6
+
506 #define RADIOLIB_SX127X_DIO0_LORA_CAD_DONE 0b10000000 // 7 6
+
507 #define RADIOLIB_SX127X_DIO0_CONT_MODE_READY 0b11000000 // 7 6
+
508 #define RADIOLIB_SX127X_DIO0_CONT_SYNC_ADDRESS 0b00000000 // 7 6
+
509 #define RADIOLIB_SX127X_DIO0_CONT_RSSI_PREAMBLE_DETECT 0b01000000 // 7 6
+
510 #define RADIOLIB_SX127X_DIO0_CONT_RX_READY 0b10000000 // 7 6
+
511 #define RADIOLIB_SX127X_DIO0_CONT_TX_READY 0b00000000 // 7 6
+
512 #define RADIOLIB_SX127X_DIO0_PACK_PAYLOAD_READY 0b00000000 // 7 6
+
513 #define RADIOLIB_SX127X_DIO0_PACK_PACKET_SENT 0b00000000 // 7 6
+
514 #define RADIOLIB_SX127X_DIO0_PACK_CRC_OK 0b01000000 // 7 6
+
515 #define RADIOLIB_SX127X_DIO0_PACK_TEMP_CHANGE_LOW_BAT 0b11000000 // 7 6
+
516 #define RADIOLIB_SX127X_DIO1_LORA_RX_TIMEOUT 0b00000000 // 5 4
+
517 #define RADIOLIB_SX127X_DIO1_LORA_FHSS_CHANGE_CHANNEL 0b00010000 // 5 4
+
518 #define RADIOLIB_SX127X_DIO1_LORA_CAD_DETECTED 0b00100000 // 5 4
+
519 #define RADIOLIB_SX127X_DIO1_CONT_DCLK 0b00000000 // 5 4
+
520 #define RADIOLIB_SX127X_DIO1_CONT_RSSI_PREAMBLE_DETECT 0b00010000 // 5 4
+
521 #define RADIOLIB_SX127X_DIO1_PACK_FIFO_LEVEL 0b00000000 // 5 4
+
522 #define RADIOLIB_SX127X_DIO1_PACK_FIFO_EMPTY 0b00010000 // 5 4
+
523 #define RADIOLIB_SX127X_DIO1_PACK_FIFO_FULL 0b00100000 // 5 4
+
524 #define RADIOLIB_SX127X_DIO2_LORA_FHSS_CHANGE_CHANNEL 0b00000000 // 3 2
+
525 #define RADIOLIB_SX127X_DIO2_CONT_DATA 0b00000000 // 3 2
+
526 #define RADIOLIB_SX127X_DIO2_PACK_FIFO_FULL 0b00000000 // 3 2
+
527 #define RADIOLIB_SX127X_DIO2_PACK_RX_READY 0b00000100 // 3 2
+
528 #define RADIOLIB_SX127X_DIO2_PACK_TIMEOUT 0b00001000 // 3 2
+
529 #define RADIOLIB_SX127X_DIO2_PACK_SYNC_ADDRESS 0b00011000 // 3 2
+
530 #define RADIOLIB_SX127X_DIO3_LORA_CAD_DONE 0b00000000 // 1 0
+
531 #define RADIOLIB_SX127X_DIO3_LORA_VALID_HEADER 0b00000001 // 1 0
+
532 #define RADIOLIB_SX127X_DIO3_LORA_PAYLOAD_CRC_ERROR 0b00000010 // 1 0
+
533 #define RADIOLIB_SX127X_DIO3_CONT_TIMEOUT 0b00000000 // 1 0
+
534 #define RADIOLIB_SX127X_DIO3_CONT_RSSI_PREAMBLE_DETECT 0b00000001 // 1 0
+
535 #define RADIOLIB_SX127X_DIO3_CONT_TEMP_CHANGE_LOW_BAT 0b00000011 // 1 0
+
536 #define RADIOLIB_SX127X_DIO3_PACK_FIFO_EMPTY 0b00000000 // 1 0
+
537 #define RADIOLIB_SX127X_DIO3_PACK_TX_READY 0b00000001 // 1 0
538 
-
539 // SX127X_REG_DIO_MAPPING_2
-
540 #define RADIOLIB_SX127X_DIO4_LORA_CAD_DETECTED 0b10000000 // 7 6
-
541 #define RADIOLIB_SX127X_DIO4_LORA_PLL_LOCK 0b01000000 // 7 6
-
542 #define RADIOLIB_SX127X_DIO4_CONT_TEMP_CHANGE_LOW_BAT 0b00000000 // 7 6
-
543 #define RADIOLIB_SX127X_DIO4_CONT_PLL_LOCK 0b01000000 // 7 6
-
544 #define RADIOLIB_SX127X_DIO4_CONT_TIMEOUT 0b10000000 // 7 6
-
545 #define RADIOLIB_SX127X_DIO4_CONT_MODE_READY 0b11000000 // 7 6
-
546 #define RADIOLIB_SX127X_DIO4_PACK_TEMP_CHANGE_LOW_BAT 0b00000000 // 7 6
-
547 #define RADIOLIB_SX127X_DIO4_PACK_PLL_LOCK 0b01000000 // 7 6
-
548 #define RADIOLIB_SX127X_DIO4_PACK_TIMEOUT 0b10000000 // 7 6
-
549 #define RADIOLIB_SX127X_DIO4_PACK_RSSI_PREAMBLE_DETECT 0b11000000 // 7 6
-
550 #define RADIOLIB_SX127X_DIO5_LORA_MODE_READY 0b00000000 // 5 4
-
551 #define RADIOLIB_SX127X_DIO5_LORA_CLK_OUT 0b00010000 // 5 4
-
552 #define RADIOLIB_SX127X_DIO5_CONT_CLK_OUT 0b00000000 // 5 4
-
553 #define RADIOLIB_SX127X_DIO5_CONT_PLL_LOCK 0b00010000 // 5 4
-
554 #define RADIOLIB_SX127X_DIO5_CONT_RSSI_PREAMBLE_DETECT 0b00100000 // 5 4
-
555 #define RADIOLIB_SX127X_DIO5_CONT_MODE_READY 0b00110000 // 5 4
-
556 #define RADIOLIB_SX127X_DIO5_PACK_CLK_OUT 0b00000000 // 5 4
-
557 #define RADIOLIB_SX127X_DIO5_PACK_PLL_LOCK 0b00010000 // 5 4
-
558 #define RADIOLIB_SX127X_DIO5_PACK_DATA 0b00100000 // 5 4
-
559 #define RADIOLIB_SX127X_DIO5_PACK_MODE_READY 0b00110000 // 5 4
-
560 #define RADIOLIB_SX127X_DIO_MAP_PREAMBLE_DETECT 0b00000001 // 0 0
-
561 #define RADIOLIB_SX127X_DIO_MAP_RSSI 0b00000000 // 0 0
+
539 // RADIOLIB_SX127X_REG_DIO_MAPPING_2
+
540 #define RADIOLIB_SX127X_DIO4_LORA_CAD_DETECTED 0b10000000 // 7 6
+
541 #define RADIOLIB_SX127X_DIO4_LORA_PLL_LOCK 0b01000000 // 7 6
+
542 #define RADIOLIB_SX127X_DIO4_CONT_TEMP_CHANGE_LOW_BAT 0b00000000 // 7 6
+
543 #define RADIOLIB_SX127X_DIO4_CONT_PLL_LOCK 0b01000000 // 7 6
+
544 #define RADIOLIB_SX127X_DIO4_CONT_TIMEOUT 0b10000000 // 7 6
+
545 #define RADIOLIB_SX127X_DIO4_CONT_MODE_READY 0b11000000 // 7 6
+
546 #define RADIOLIB_SX127X_DIO4_PACK_TEMP_CHANGE_LOW_BAT 0b00000000 // 7 6
+
547 #define RADIOLIB_SX127X_DIO4_PACK_PLL_LOCK 0b01000000 // 7 6
+
548 #define RADIOLIB_SX127X_DIO4_PACK_TIMEOUT 0b10000000 // 7 6
+
549 #define RADIOLIB_SX127X_DIO4_PACK_RSSI_PREAMBLE_DETECT 0b11000000 // 7 6
+
550 #define RADIOLIB_SX127X_DIO5_LORA_MODE_READY 0b00000000 // 5 4
+
551 #define RADIOLIB_SX127X_DIO5_LORA_CLK_OUT 0b00010000 // 5 4
+
552 #define RADIOLIB_SX127X_DIO5_CONT_CLK_OUT 0b00000000 // 5 4
+
553 #define RADIOLIB_SX127X_DIO5_CONT_PLL_LOCK 0b00010000 // 5 4
+
554 #define RADIOLIB_SX127X_DIO5_CONT_RSSI_PREAMBLE_DETECT 0b00100000 // 5 4
+
555 #define RADIOLIB_SX127X_DIO5_CONT_MODE_READY 0b00110000 // 5 4
+
556 #define RADIOLIB_SX127X_DIO5_PACK_CLK_OUT 0b00000000 // 5 4
+
557 #define RADIOLIB_SX127X_DIO5_PACK_PLL_LOCK 0b00010000 // 5 4
+
558 #define RADIOLIB_SX127X_DIO5_PACK_DATA 0b00100000 // 5 4
+
559 #define RADIOLIB_SX127X_DIO5_PACK_MODE_READY 0b00110000 // 5 4
+
560 #define RADIOLIB_SX127X_DIO_MAP_PREAMBLE_DETECT 0b00000001 // 0 0
+
561 #define RADIOLIB_SX127X_DIO_MAP_RSSI 0b00000000 // 0 0
562 
563 // SX1272_REG_PLL_HOP + SX1278_REG_PLL_HOP
-
564 #define RADIOLIB_SX127X_FAST_HOP_OFF 0b00000000 // 7 7 carrier frequency validated when FRF registers are written
-
565 #define RADIOLIB_SX127X_FAST_HOP_ON 0b10000000 // 7 7 carrier frequency validated when FS modes are requested
+
564 #define RADIOLIB_SX127X_FAST_HOP_OFF 0b00000000 // 7 7 carrier frequency validated when FRF registers are written
+
565 #define RADIOLIB_SX127X_FAST_HOP_ON 0b10000000 // 7 7 carrier frequency validated when FS modes are requested
566 
567 // SX1272_REG_TCXO + SX1278_REG_TCXO
-
568 #define RADIOLIB_SX127X_TCXO_INPUT_EXTERNAL 0b00000000 // 4 4 use external crystal oscillator
-
569 #define RADIOLIB_SX127X_TCXO_INPUT_EXTERNAL_CLIPPED 0b00010000 // 4 4 use external crystal oscillator clipped sine connected to XTA pin
+
568 #define RADIOLIB_SX127X_TCXO_INPUT_EXTERNAL 0b00000000 // 4 4 use external crystal oscillator
+
569 #define RADIOLIB_SX127X_TCXO_INPUT_EXTERNAL_CLIPPED 0b00010000 // 4 4 use external crystal oscillator clipped sine connected to XTA pin
570 
571 // SX1272_REG_PLL + SX1278_REG_PLL
-
572 #define RADIOLIB_SX127X_PLL_BANDWIDTH_75_KHZ 0b00000000 // 7 6 PLL bandwidth: 75 kHz
-
573 #define RADIOLIB_SX127X_PLL_BANDWIDTH_150_KHZ 0b01000000 // 7 6 150 kHz
-
574 #define RADIOLIB_SX127X_PLL_BANDWIDTH_225_KHZ 0b10000000 // 7 6 225 kHz
-
575 #define RADIOLIB_SX127X_PLL_BANDWIDTH_300_KHZ 0b11000000 // 7 6 300 kHz (default)
+
572 #define RADIOLIB_SX127X_PLL_BANDWIDTH_75_KHZ 0b00000000 // 7 6 PLL bandwidth: 75 kHz
+
573 #define RADIOLIB_SX127X_PLL_BANDWIDTH_150_KHZ 0b01000000 // 7 6 150 kHz
+
574 #define RADIOLIB_SX127X_PLL_BANDWIDTH_225_KHZ 0b10000000 // 7 6 225 kHz
+
575 #define RADIOLIB_SX127X_PLL_BANDWIDTH_300_KHZ 0b11000000 // 7 6 300 kHz (default)
576 
-
583 class SX127x: public PhysicalLayer {
-
584  public:
-
585  // introduce PhysicalLayer overloads
-
586  using PhysicalLayer::transmit;
-
587  using PhysicalLayer::receive;
-
588  using PhysicalLayer::startTransmit;
-
589  using PhysicalLayer::readData;
-
590 
-
591  // constructor
-
592 
-
598  SX127x(Module* mod);
+
582 class SX127x: public PhysicalLayer {
+
583  public:
+
584  // introduce PhysicalLayer overloads
+
585  using PhysicalLayer::transmit;
+
586  using PhysicalLayer::receive;
+
587  using PhysicalLayer::startTransmit;
+
588  using PhysicalLayer::readData;
+
589 
+
590  // constructor
+
591 
+
596  SX127x(Module* mod);
+
597 
+
598  Module* getMod();
599 
-
600  Module* getMod();
+
600  // basic methods
601 
-
602  // basic methods
-
603 
-
615  int16_t begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength);
-
616 
-
620  virtual void reset() = 0;
-
621 
-
637  int16_t beginFSK(uint8_t chipVersion, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK);
-
638 
-
651  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
-
652 
-
663  int16_t receive(uint8_t* data, size_t len) override;
+
609  int16_t begin(uint8_t chipVersion, uint8_t syncWord, uint16_t preambleLength);
+
610 
+
614  virtual void reset() = 0;
+
615 
+
625  int16_t beginFSK(uint8_t chipVersion, float freqDev, float rxBw, uint16_t preambleLength, bool enableOOK);
+
626 
+
635  int16_t transmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
+
636 
+
644  int16_t receive(uint8_t* data, size_t len) override;
+
645 
+
650  int16_t scanChannel();
+
651 
+
657  int16_t sleep();
+
658 
+
663  int16_t standby() override;
664 
-
670  int16_t scanChannel();
+
670  int16_t standby(uint8_t mode) override;
671 
-
678  int16_t sleep();
+
678  int16_t transmitDirect(uint32_t frf = 0) override;
679 
-
685  int16_t standby() override;
+
685  int16_t receiveDirect() override;
686 
-
694  int16_t standby(uint8_t mode) override;
-
695 
-
704  int16_t transmitDirect(uint32_t frf = 0) override;
-
705 
-
712  int16_t receiveDirect() override;
+
691  int16_t packetMode();
+
692 
+
693  // interrupt methods
+
694 
+
700  void setDio0Action(void (*func)(void), uint32_t dir);
+
701 
+
705  void clearDio0Action();
+
706 
+
712  void setDio1Action(void (*func)(void), uint32_t dir);
713 
-
719  int16_t packetMode();
-
720 
-
721  // interrupt methods
-
722 
-
730  void setDio0Action(void (*func)(void), uint32_t dir);
-
731 
-
735  void clearDio0Action();
-
736 
-
744  void setDio1Action(void (*func)(void), uint32_t dir);
-
745 
-
749  void clearDio1Action();
-
750 
-
756  void setFifoEmptyAction(void (*func)(void));
-
757 
-
761  void clearFifoEmptyAction();
-
762 
-
768  void setFifoFullAction(void (*func)(void));
-
769 
-
773  void clearFifoFullAction();
-
774 
-
786  bool fifoAdd(uint8_t* data, int totalLen, int* remLen);
-
787 
-
799  bool fifoGet(volatile uint8_t* data, int totalLen, volatile int* rcvLen);
+
717  void clearDio1Action();
+
718 
+
723  void setFifoEmptyAction(void (*func)(void));
+
724 
+
728  void clearFifoEmptyAction();
+
729 
+
734  void setFifoFullAction(void (*func)(void));
+
735 
+
739  void clearFifoFullAction();
+
740 
+
748  bool fifoAdd(uint8_t* data, int totalLen, int* remLen);
+
749 
+
757  bool fifoGet(volatile uint8_t* data, int totalLen, volatile int* rcvLen);
+
758 
+
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 
-
812  int16_t startTransmit(uint8_t* data, size_t len, uint8_t addr = 0) override;
-
813 
-
819  int16_t finishTransmit() override;
-
820 
-
830  int16_t startReceive(uint8_t len = 0, uint8_t mode = RADIOLIB_SX127X_RXCONTINUOUS);
-
831 
-
845  int16_t startReceive(uint32_t mode, uint16_t irqFlags, uint16_t irqMask, size_t len);
-
846 
-
857  int16_t readData(uint8_t* data, size_t len) override;
-
858 
-
865  int16_t startChannelScan();
-
866 
-
867  // configuration methods
-
868 
-
876  int16_t setSyncWord(uint8_t syncWord);
-
877 
-
885  int16_t setCurrentLimit(uint8_t currentLimit);
-
886 
-
894  int16_t setPreambleLength(uint16_t preambleLength);
-
895 
-
903  float getFrequencyError(bool autoCorrect = false);
-
904 
-
910  float getAFCError();
-
911 
-
917  float getSNR();
+
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);
+
898 
+
904  int16_t setNodeAddress(uint8_t nodeAddr);
+
905 
+
911  int16_t setBroadcastAddress(uint8_t broadAddr);
+
912 
+
917  int16_t disableAddressFiltering();
918 
-
924  float getDataRate() const;
+
924  int16_t setOOK(bool enableOOK);
925 
-
933  int16_t setFrequencyDeviation(float freqDev) override;
-
934 
-
942  int16_t setRxBandwidth(float rxBw);
-
943 
-
951  int16_t setAFCBandwidth(float afcBw);
-
952 
-
960  int16_t setAFC(bool isEnabled);
-
961 
-
969  int16_t setAFCAGCTrigger(uint8_t trigger);
-
970 
-
980  int16_t setSyncWord(uint8_t* syncWord, size_t len);
-
981 
-
989  int16_t setNodeAddress(uint8_t nodeAddr);
-
990 
-
998  int16_t setBroadcastAddress(uint8_t broadAddr);
-
999 
-
1005  int16_t disableAddressFiltering();
-
1006 
-
1014  int16_t setOOK(bool enableOOK);
-
1015 
-
1023  int16_t setOokThresholdType(uint8_t type);
-
1024 
-
1032  int16_t setOokPeakThresholdDecrement(uint8_t value);
-
1033 
-
1041  int16_t setOokFixedOrFloorThreshold(uint8_t value);
-
1042 
-
1050  int16_t setOokPeakThresholdStep(uint8_t value);
-
1051 
-
1057  int16_t enableBitSync();
-
1058 
-
1064  int16_t disableBitSync();
-
1065 
-
1073  size_t getPacketLength(bool update = true) override;
-
1074 
-
1082  int16_t fixedPacketLengthMode(uint8_t len = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
-
1083 
-
1091  int16_t variablePacketLengthMode(uint8_t maxLen = RADIOLIB_SX127X_MAX_PACKET_LENGTH_FSK);
-
1092 
-
1100  uint32_t getTimeOnAir(size_t len);
+
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;
+
1017 
+
1024  uint16_t getIRQFlags();
+
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 
-
1109  int16_t setCrcFiltering(bool crcOn = true);
-
1110 
-
1121  int16_t setRSSIConfig(uint8_t smoothingSamples, int8_t offset = 0);
-
1122 
-
1131  int16_t setEncoding(uint8_t encoding) override;
-
1132 
-
1140  uint16_t getIRQFlags();
-
1141 
-
1147  uint8_t getModemStatus();
-
1148 
-
1155  int8_t getTempRaw();
-
1156 
-
1158  void setRfSwitchPins(uint32_t rxEn, uint32_t txEn);
-
1159 
-
1161  void setRfSwitchTable(const uint32_t (&pins)[Module::RFSWITCH_MAX_PINS], const Module::RfSwitchMode_t table[]);
-
1162 
-
1168  uint8_t randomByte();
-
1169 
-
1175  int16_t getChipVersion();
-
1176 
-
1184  int16_t invertIQ(bool invertIQ);
-
1185 
-
1186  #if !defined(RADIOLIB_EXCLUDE_DIRECT_RECEIVE)
-
1192  void setDirectAction(void (*func)(void));
-
1193 
-
1199  void readBit(uint32_t pin);
-
1200  #endif
-
1201 
-
1209  int16_t setFHSSHoppingPeriod(uint8_t freqHoppingPeriod);
-
1210 
-
1216  uint8_t getFHSSHoppingPeriod(void);
-
1217 
-
1223  uint8_t getFHSSChannel(void);
-
1224 
-
1228  void clearFHSSInt(void);
-
1229 
-
1239  int16_t setDIOMapping(uint32_t pin, uint32_t value);
-
1240 
-
1248  int16_t setDIOPreambleDetect(bool usePreambleDetect);
-
1249 
-
1259  float getRSSI(bool packet, bool skipReceive, int16_t offset);
-
1260 
-
1268  int16_t setRSSIThreshold(float dbm);
-
1269 
-
1270 #if !defined(RADIOLIB_GODMODE) && !defined(RADIOLIB_LOW_LEVEL)
-
1271  protected:
-
1272 #endif
-
1273  Module* _mod;
-
1274 
-
1275 #if !defined(RADIOLIB_GODMODE)
-
1276  protected:
-
1277 #endif
-
1278 
-
1279  float _freq = 0;
-
1280  float _bw = 0;
-
1281  uint8_t _sf = 0;
-
1282  uint8_t _cr = 0;
-
1283  float _br = 0;
-
1284  bool _ook = false;
-
1285  bool _crcEnabled = false;
-
1286  bool _crcOn = true; // default value used in FSK mode
-
1287  size_t _packetLength = 0;
-
1288 
-
1289  int16_t setFrequencyRaw(float newFreq);
-
1290  int16_t setBitRateCommon(float br, uint8_t fracRegAddr);
-
1291  int16_t config();
-
1292  int16_t configFSK();
-
1293  int16_t getActiveModem();
-
1294  int16_t directMode();
-
1295  int16_t setPacketMode(uint8_t mode, uint8_t len);
-
1296 
-
1297 #if !defined(RADIOLIB_GODMODE)
-
1298  private:
-
1299 #endif
-
1300  float _dataRate = 0;
-
1301  bool _packetLengthQueried = false; // FSK packet length is the first byte in FIFO, length can only be queried once
-
1302  uint8_t _packetLengthConfig = RADIOLIB_SX127X_PACKET_VARIABLE;
-
1303 
-
1304  bool findChip(uint8_t ver);
-
1305  int16_t setMode(uint8_t mode);
-
1306  int16_t setActiveModem(uint8_t modem);
-
1307  void clearIRQFlags();
-
1308  void clearFIFO(size_t count); // used mostly to clear remaining bytes in FIFO after a packet read
-
1316  static uint8_t calculateBWManExp(float bandwidth);
-
1317 
-
1318  virtual void errataFix(bool rx) = 0;
-
1319 };
-
1320 
-
1321 #endif
-
1322 
-
1323 #endif
+
1108  int16_t setDIOMapping(uint32_t pin, uint32_t value);
+
1109 
+
1115  int16_t setDIOPreambleDetect(bool usePreambleDetect);
+
1116 
+
1123  float getRSSI(bool packet, bool skipReceive, int16_t offset);
+
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);
+
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
Module
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:28
Module::RFSWITCH_MAX_PINS
static const size_t RFSWITCH_MAX_PINS
The maximum number of pins supported by the RF switch code.
Definition: Module.h:39
PhysicalLayer
Provides common interface for protocols that run on LoRa/FSK modules, such as RTTY or LoRaWAN....
Definition: PhysicalLayer.h:15
@@ -891,7 +892,7 @@ $(document).ready(function(){initNavTree('_s_x127x_8h_source.html',''); initResi
PhysicalLayer::startTransmit
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
PhysicalLayer::getRSSI
virtual float getRSSI()
Gets RSSI (Recorded Signal Strength Indicator) of the last received packet.
Definition: PhysicalLayer.cpp:254
PhysicalLayer::receive
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
-
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:583
+
SX127x
Base class for SX127x series. All derived classes for SX127x (e.g. SX1278 or SX1272) inherit from thi...
Definition: SX127x.h:582
SX127x::packetMode
int16_t packetMode()
Disables direct mode and enables packet mode, allowing the module to receive packets....
Definition: SX127x.cpp:360
SX127x::clearFifoFullAction
void clearFifoFullAction()
Clears interrupt service routine to call when FIFO is full.
Definition: SX127x.cpp:469
SX127x::setDIOMapping
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
@@ -937,13 +938,13 @@ $(document).ready(function(){initNavTree('_s_x127x_8h_source.html',''); initResi
SX127x::setRfSwitchPins
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
SX127x::startTransmit
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
SX127x::getTempRaw
int8_t getTempRaw()
Reads uncalibrated temperature value. This function will change operating mode and should not be call...
Definition: SX127x.cpp:1307
-
SX127x::setCrcFiltering
int16_t setCrcFiltering(bool crcOn=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1187
SX127x::clearDio1Action
void clearDio1Action()
Clears interrupt service routine to call when DIO1 activates.
Definition: SX127x.cpp:444
SX127x::setDirectAction
void setDirectAction(void(*func)(void))
Set interrupt service routine function to call when data bit is receveid in direct mode.
Definition: SX127x.cpp:1507
SX127x::receiveDirect
int16_t receiveDirect() override
Enables direct reception mode on pins DIO1 (clock) and DIO2 (data). While in direct mode,...
Definition: SX127x.cpp:323
SX127x::clearFifoEmptyAction
void clearFifoEmptyAction()
Clears interrupt service routine to call when FIFO is empty.
Definition: SX127x.cpp:456
SX127x::setOokPeakThresholdDecrement
int16_t setOokPeakThresholdDecrement(uint8_t value)
Period of decrement of the RSSI threshold in the OOK demodulator.
Definition: SX127x.cpp:1041
SX127x::setAFCAGCTrigger
int16_t setAFCAGCTrigger(uint8_t trigger)
Controls trigger of AFC and AGC.
Definition: SX127x.cpp:945
+
SX127x::setCrcFiltering
int16_t setCrcFiltering(bool enable=true)
Enable CRC filtering and generation.
Definition: SX127x.cpp:1187
SX127x::setPreambleLength
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
SX127x::receive
virtual int16_t receive(uint8_t *data, size_t len)
Binary receive method. Must be implemented in module class.
Definition: PhysicalLayer.cpp:112
SX127x::setRfSwitchTable
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
diff --git a/class_r_f_m95-members.html b/class_r_f_m95-members.html index c00f3f02..6e1bf1c8 100644 --- a/class_r_f_m95-members.html +++ b/class_r_f_m95-members.html @@ -152,7 +152,7 @@ $(document).ready(function(){initNavTree('class_r_f_m95.html',''); initResizable setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1278 setCRC(bool enable, bool mode=false)SX1278 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1278virtual setDataShapingOOK(uint8_t sh)SX1278 diff --git a/class_r_f_m95.html b/class_r_f_m95.html index d611cf0e..33e07cdd 100644 --- a/class_r_f_m95.html +++ b/class_r_f_m95.html @@ -353,9 +353,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -572,14 +572,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 868.0 MHz to 915.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 868.0 MHz to 915.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -646,13 +646,13 @@ void 
Parameters
- - - - - - - + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
@@ -687,7 +687,7 @@ void 
Parameters
- +
freqCarrier frequency to be set in MHz.
freqCarrier frequency to be set in MHz.
diff --git a/class_r_f_m96-members.html b/class_r_f_m96-members.html index 420394dc..f778c013 100644 --- a/class_r_f_m96-members.html +++ b/class_r_f_m96-members.html @@ -152,7 +152,7 @@ $(document).ready(function(){initNavTree('class_r_f_m96.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1278 setCRC(bool enable, bool mode=false)SX1278 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1278virtual setDataShapingOOK(uint8_t sh)SX1278 diff --git a/class_r_f_m96.html b/class_r_f_m96.html index 281282d9..051bb850 100644 --- a/class_r_f_m96.html +++ b/class_r_f_m96.html @@ -352,9 +352,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -571,14 +571,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 433.0 MHz to 470.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 433.0 MHz to 470.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -645,13 +645,13 @@ void 
Parameters
- - - - - - - + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
@@ -686,7 +686,7 @@ void 
Parameters
- +
freqCarrier frequency to be set in MHz.
freqCarrier frequency to be set in MHz.
diff --git a/class_r_f_m97-members.html b/class_r_f_m97-members.html index a0689f1d..b75e3c64 100644 --- a/class_r_f_m97-members.html +++ b/class_r_f_m97-members.html @@ -153,7 +153,7 @@ $(document).ready(function(){initNavTree('class_r_f_m97.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1278 setCRC(bool enable, bool mode=false)SX1278 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1278virtual setDataShapingOOK(uint8_t sh)SX1278 diff --git a/class_r_f_m97.html b/class_r_f_m97.html index 61ebce12..9dd94c6b 100644 --- a/class_r_f_m97.html +++ b/class_r_f_m97.html @@ -360,9 +360,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -533,7 +533,7 @@ void 
Parameters
- +
sfLoRa link spreading factor to be set.
sfLoRa link spreading factor to be set.
diff --git a/class_s_x1272-members.html b/class_s_x1272-members.html index 78e28656..5605c4e3 100644 --- a/class_s_x1272-members.html +++ b/class_s_x1272-members.html @@ -151,7 +151,7 @@ $(document).ready(function(){initNavTree('class_s_x1272.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1272 setCRC(bool enable, bool mode=false)SX1272 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1272virtual setDataShapingOOK(uint8_t sh)SX1272 diff --git a/class_s_x1272.html b/class_s_x1272.html index c0a97bcd..35a05585 100644 --- a/class_s_x1272.html +++ b/class_s_x1272.html @@ -339,9 +339,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -578,14 +578,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
currentLimitTrim value for OCP (over current protection) in mA. Can be set to multiplies of 5 in range 45 to 120 mA and to multiples of 10 in range 120 to 240 mA. Set to 0 to disable OCP (not recommended).
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
currentLimitTrim value for OCP (over current protection) in mA. Can be set to multiplies of 5 in range 45 to 120 mA and to multiples of 10 in range 120 to 240 mA. Set to 0 to disable OCP (not recommended).
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -652,13 +652,13 @@ void 
Parameters
- - - - - - - + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
@@ -705,7 +705,7 @@ void 
SX1278::autoLDRO()

Parameters
- +
enableForce LDRO to be always enabled (true) or disabled (false).
enableForce LDRO to be always enabled (true) or disabled (false).
@@ -742,8 +742,8 @@ void 
Parameters
- - + +
packetWhether to read last packet RSSI, or the current value. LoRa mode only, ignored for FSK.
skipReceiveSet to true to skip putting radio in receive mode for the RSSI measurement in FSK/OOK mode.
packetWhether to read last packet RSSI, or the current value. LoRa mode only, ignored for FSK.
skipReceiveSet to true to skip putting radio in receive mode for the RSSI measurement in FSK/OOK mode.
@@ -770,7 +770,7 @@ void 
Parameters
- +
lenPayload length in bytes.
lenPayload length in bytes.
@@ -797,7 +797,7 @@ void 
Parameters
- +
bwLoRa link bandwidth to be set in kHz.
bwLoRa link bandwidth to be set in kHz.
@@ -832,7 +832,7 @@ void 
Parameters
- +
brBit rate to be set (in kbps).
brBit rate to be set (in kbps).
@@ -861,7 +861,7 @@ void 
Parameters
- +
crLoRa link coding rate denominator to be set.
crLoRa link coding rate denominator to be set.
@@ -898,8 +898,8 @@ void 
Parameters
- - + +
enableEnable (true) or disable (false) CRC.
modeSet CRC mode to RADIOLIB_SX127X_CRC_WHITENING_TYPE_CCITT for CCITT, polynomial X16 + X12 + X5 + 1 (false) or RADIOLIB_SX127X_CRC_WHITENING_TYPE_IBM for IBM, polynomial X16 + X15 + X2 + 1 (true). Only valid in FSK mode.
enableEnable (true) or disable (false) CRC.
modeSet CRC mode to RADIOLIB_SX127X_CRC_WHITENING_TYPE_CCITT for CCITT, polynomial X16 + X12 + X5 + 1 (false) or RADIOLIB_SX127X_CRC_WHITENING_TYPE_IBM for IBM, polynomial X16 + X15 + X2 + 1 (true). Only valid in FSK mode.
@@ -934,7 +934,7 @@ void 
Parameters
- +
shGaussian shaping bandwidth-time product that will be used for data shaping
shGaussian shaping bandwidth-time product that will be used for data shaping
@@ -963,7 +963,7 @@ void 
Parameters
- +
shCutoff frequency that will be used for data shaping
shCutoff frequency that will be used for data shaping
@@ -998,7 +998,7 @@ void 
Parameters
- +
freqCarrier frequency to be set in MHz.
freqCarrier frequency to be set in MHz.
@@ -1027,7 +1027,7 @@ void 
Parameters
- +
gainGain of receiver LNA (low-noise amplifier) to be set.
gainGain of receiver LNA (low-noise amplifier) to be set.
@@ -1064,8 +1064,8 @@ void 
Parameters
- - + +
powerTransmission output power in dBm.
useRfoWhether to use the RFO (true) or the PA_BOOST (false) pin for the RF output. Defaults to PA_BOOST.
powerTransmission output power in dBm.
useRfoWhether to use the RFO (true) or the PA_BOOST (false) pin for the RF output. Defaults to PA_BOOST.
@@ -1092,7 +1092,7 @@ void 
Parameters
- +
sfLoRa link spreading factor to be set.
sfLoRa link spreading factor to be set.
diff --git a/class_s_x1273-members.html b/class_s_x1273-members.html index c72eb394..cdf244e6 100644 --- a/class_s_x1273-members.html +++ b/class_s_x1273-members.html @@ -151,7 +151,7 @@ $(document).ready(function(){initNavTree('class_s_x1273.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1272 setCRC(bool enable, bool mode=false)SX1272 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1272virtual setDataShapingOOK(uint8_t sh)SX1272 diff --git a/class_s_x1273.html b/class_s_x1273.html index 4630be20..8091f5c7 100644 --- a/class_s_x1273.html +++ b/class_s_x1273.html @@ -349,9 +349,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -568,14 +568,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 9.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 860.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 9.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -602,7 +602,7 @@ void 
Parameters
- +
sfLoRa link spreading factor to be set.
sfLoRa link spreading factor to be set.
diff --git a/class_s_x1276-members.html b/class_s_x1276-members.html index 7b8fe8e4..f20502c4 100644 --- a/class_s_x1276-members.html +++ b/class_s_x1276-members.html @@ -151,7 +151,7 @@ $(document).ready(function(){initNavTree('class_s_x1276.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1278 setCRC(bool enable, bool mode=false)SX1278 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1278virtual setDataShapingOOK(uint8_t sh)SX1278 diff --git a/class_s_x1276.html b/class_s_x1276.html index ce908f49..e5271547 100644 --- a/class_s_x1276.html +++ b/class_s_x1276.html @@ -352,9 +352,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -571,14 +571,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -645,13 +645,13 @@ void 
Parameters
- - - - - - - + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
@@ -686,7 +686,7 @@ void 
Parameters
- +
freqCarrier frequency to be set in MHz.
freqCarrier frequency to be set in MHz.
diff --git a/class_s_x1277-members.html b/class_s_x1277-members.html index 685e7a37..5162bc47 100644 --- a/class_s_x1277-members.html +++ b/class_s_x1277-members.html @@ -151,7 +151,7 @@ $(document).ready(function(){initNavTree('class_s_x1277.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1278 setCRC(bool enable, bool mode=false)SX1278 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1278virtual setDataShapingOOK(uint8_t sh)SX1278 diff --git a/class_s_x1277.html b/class_s_x1277.html index 0e839b40..9bd6eb52 100644 --- a/class_s_x1277.html +++ b/class_s_x1277.html @@ -355,9 +355,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -574,14 +574,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 9.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 1020.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 9.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -648,13 +648,13 @@ void 
Parameters
- - - - - - - + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
@@ -689,7 +689,7 @@ void 
Parameters
- +
freqCarrier frequency to be set in MHz.
freqCarrier frequency to be set in MHz.
@@ -718,7 +718,7 @@ void 
Parameters
- +
sfLoRa link spreading factor to be set.
sfLoRa link spreading factor to be set.
diff --git a/class_s_x1278-members.html b/class_s_x1278-members.html index 9b0101d8..9163eca4 100644 --- a/class_s_x1278-members.html +++ b/class_s_x1278-members.html @@ -151,7 +151,7 @@ $(document).ready(function(){initNavTree('class_s_x1278.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1278 setCRC(bool enable, bool mode=false)SX1278 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1278virtual setDataShapingOOK(uint8_t sh)SX1278 diff --git a/class_s_x1278.html b/class_s_x1278.html index 69458a20..190c0d89 100644 --- a/class_s_x1278.html +++ b/class_s_x1278.html @@ -344,9 +344,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -583,14 +583,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -657,13 +657,13 @@ void 
Parameters
- - - - - - - + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
@@ -710,7 +710,7 @@ void 
SX1278::autoLDRO()

Parameters
- +
enableForce LDRO to be always enabled (true) or disabled (false).
enableForce LDRO to be always enabled (true) or disabled (false).
@@ -747,8 +747,8 @@ void 
Parameters
- - + +
packetWhether to read last packet RSSI, or the current value. LoRa mode only, ignored for FSK.
skipReceiveSet to true to skip putting radio in receive mode for the RSSI measurement in FSK/OOK mode.
packetWhether to read last packet RSSI, or the current value. LoRa mode only, ignored for FSK.
skipReceiveSet to true to skip putting radio in receive mode for the RSSI measurement in FSK/OOK mode.
@@ -775,7 +775,7 @@ void 
Parameters
- +
lenPayload length in bytes.
lenPayload length in bytes.
@@ -802,7 +802,7 @@ void 
Parameters
- +
bwLoRa link bandwidth to be set in kHz.
bwLoRa link bandwidth to be set in kHz.
@@ -837,7 +837,7 @@ void 
Parameters
- +
brBit rate to be set (in kbps).
brBit rate to be set (in kbps).
@@ -866,7 +866,7 @@ void 
Parameters
- +
crLoRa link coding rate denominator to be set.
crLoRa link coding rate denominator to be set.
@@ -903,8 +903,8 @@ void 
Parameters
- - + +
enableEnable (true) or disable (false) CRC.
modeSet CRC mode to SX127X_CRC_WHITENING_TYPE_CCITT for CCITT, polynomial X16 + X12 + X5 + 1 (false) or SX127X_CRC_WHITENING_TYPE_IBM for IBM, polynomial X16 + X15 + X2 + 1 (true). Only valid in FSK mode.
enableEnable (true) or disable (false) CRC.
modeSet CRC mode to SX127X_CRC_WHITENING_TYPE_CCITT for CCITT, polynomial X16 + X12 + X5 + 1 (false) or SX127X_CRC_WHITENING_TYPE_IBM for IBM, polynomial X16 + X15 + X2 + 1 (true). Only valid in FSK mode.
@@ -939,7 +939,7 @@ void 
Parameters
- +
shGaussian shaping bandwidth-time product that will be used for data shaping
shGaussian shaping bandwidth-time product that will be used for data shaping
@@ -968,7 +968,7 @@ void 
Parameters
- +
shCutoff frequency that will be used for data shaping
shCutoff frequency that will be used for data shaping
@@ -1003,7 +1003,7 @@ void 
Parameters
- +
freqCarrier frequency to be set in MHz.
freqCarrier frequency to be set in MHz.
@@ -1034,7 +1034,7 @@ void 
Parameters
- +
gainGain of receiver LNA (low-noise amplifier) to be set.
gainGain of receiver LNA (low-noise amplifier) to be set.
@@ -1071,8 +1071,8 @@ void 
Parameters
- - + +
powerTransmission output power in dBm.
useRfoWhether to use the RFO (true) or the PA_BOOST (false) pin for the RF output. Defaults to PA_BOOST.
powerTransmission output power in dBm.
useRfoWhether to use the RFO (true) or the PA_BOOST (false) pin for the RF output. Defaults to PA_BOOST.
@@ -1099,7 +1099,7 @@ void 
Parameters
- +
sfLoRa link spreading factor to be set.
sfLoRa link spreading factor to be set.
diff --git a/class_s_x1279-members.html b/class_s_x1279-members.html index fb4997e2..30100008 100644 --- a/class_s_x1279-members.html +++ b/class_s_x1279-members.html @@ -151,7 +151,7 @@ $(document).ready(function(){initNavTree('class_s_x1279.html',''); initResizable
setBroadcastAddress(uint8_t broadAddr)SX127x setCodingRate(uint8_t cr)SX1278 setCRC(bool enable, bool mode=false)SX1278 - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh) overrideSX1278virtual setDataShapingOOK(uint8_t sh)SX1278 diff --git a/class_s_x1279.html b/class_s_x1279.html index 88d8f927..9eea7ea2 100644 --- a/class_s_x1279.html +++ b/class_s_x1279.html @@ -349,9 +349,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -568,14 +568,14 @@ void 
Parameters
- - - - - - - - + + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 960.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 960.0 MHz.
bwLoRa link bandwidth in kHz. Allowed values are 10.4, 15.6, 20.8, 31.25, 41.7, 62.5, 125, 250 and 500 kHz.
sfLoRa link spreading factor. Allowed values range from 6 to 12.
crLoRa link coding rate denominator. Allowed values range from 5 to 8.
syncWordLoRa sync word. Can be used to distinguish different networks. Note that value 0x34 is reserved for LoRaWAN networks.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of LoRa transmission preamble in symbols. The actual preamble length is 4.25 symbols longer than the set number. Allowed values range from 6 to 65535.
gainGain of receiver LNA (low-noise amplifier). Can be set to any integer in range 1 to 6 where 1 is the highest gain. Set to 0 to enable automatic gain control (recommended).
@@ -642,13 +642,13 @@ void 
Parameters
- - - - - - - + + + + + + +
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
freqCarrier frequency in MHz. Allowed values range from 137.0 MHz to 525.0 MHz.
brBit rate of the FSK transmission in kbps (kilobits per second). Allowed values range from 1.2 to 300.0 kbps.
freqDevFrequency deviation of the FSK transmission in kHz. Allowed values range from 0.6 to 200.0 kHz. Note that the allowed range changes based on bit rate setting, so that the condition FreqDev + BitRate/2 <= 250 kHz is always met.
rxBwReceiver bandwidth in kHz. Allowed values are 2.6, 3.1, 3.9, 5.2, 6.3, 7.8, 10.4, 12.5, 15.6, 20.8, 25, 31.3, 41.7, 50, 62.5, 83.3, 100, 125, 166.7, 200 and 250 kHz.
powerTransmission output power in dBm. Allowed values range from 2 to 17 dBm.
preambleLengthLength of FSK preamble in bits.
enableOOKUse OOK modulation instead of FSK.
@@ -683,7 +683,7 @@ void 
Parameters
- +
freqCarrier frequency to be set in MHz.
freqCarrier frequency to be set in MHz.
diff --git a/class_s_x127x-members.html b/class_s_x127x-members.html index c9dc3c8f..d1829635 100644 --- a/class_s_x127x-members.html +++ b/class_s_x127x-members.html @@ -141,7 +141,7 @@ $(document).ready(function(){initNavTree('class_s_x127x.html',''); initResizable
setAFCBandwidth(float afcBw)SX127x setBitRate(float br)PhysicalLayervirtual setBroadcastAddress(uint8_t broadAddr)SX127x - setCrcFiltering(bool crcOn=true)SX127x + setCrcFiltering(bool enable=true)SX127x setCurrentLimit(uint8_t currentLimit)SX127x setDataShaping(uint8_t sh)PhysicalLayervirtual setDio0Action(void(*func)(void), uint32_t dir)SX127x diff --git a/class_s_x127x.html b/class_s_x127x.html index 67d1d4ca..cacc6ec0 100644 --- a/class_s_x127x.html +++ b/class_s_x127x.html @@ -291,9 +291,9 @@ void uint32_t getTimeOnAir (size_t len)  Get expected time-on-air for a given size of payload. More...
  -int16_t setCrcFiltering (bool crcOn=true) - Enable CRC filtering and generation. More...
-  +int16_t setCrcFiltering (bool enable=true) + Enable CRC filtering and generation. More...
+  int16_t setRSSIConfig (uint8_t smoothingSamples, int8_t offset=0)  Sets RSSI measurement configuration in FSK mode. More...
  @@ -489,9 +489,9 @@ void 
Parameters
- - - + + +
chipVersionValue in SPI version register. Used to verify the connection and hardware version.
syncWordLoRa sync word.
preambleLengthLength of LoRa transmission preamble in symbols.
chipVersionValue in SPI version register. Used to verify the connection and hardware version.
syncWordLoRa sync word.
preambleLengthLength of LoRa transmission preamble in symbols.
@@ -546,11 +546,11 @@ void 
Parameters
- - - - - + + + + +
chipVersionValue in SPI version register. Used to verify the connection and hardware version.
freqDevFrequency deviation of the FSK transmission in kHz.
rxBwReceiver bandwidth in kHz.
preambleLengthLength of FSK preamble in bits.
enableOOKFlag to specify OOK mode. This modulation is similar to FSK.
chipVersionValue in SPI version register. Used to verify the connection and hardware version.
freqDevFrequency deviation of the FSK transmission in kHz.
rxBwReceiver bandwidth in kHz.
preambleLengthLength of FSK preamble in bits.
enableOOKFlag to specify OOK mode. This modulation is similar to FSK.
@@ -653,9 +653,9 @@ void 
Parameters
- - - + + +
dataPointer to the transmission buffer.
totalLenTotal number of bytes to transmit.
remLenPointer to a counter holding the number of bytes that have been transmitted so far.
dataPointer to the transmission buffer.
totalLenTotal number of bytes to transmit.
remLenPointer to a counter holding the number of bytes that have been transmitted so far.
@@ -698,9 +698,9 @@ void 
Parameters
- - - + + +
dataPointer to a buffer that stores the receive data.
totalLenTotal number of bytes to receive.
rcvLenPointer to a counter holding the number of bytes that have been received so far.
dataPointer to a buffer that stores the receive data.
totalLenTotal number of bytes to receive.
rcvLenPointer to a counter holding the number of bytes that have been received so far.
@@ -757,7 +757,7 @@ void 
Parameters
- +
lenPacket length.
lenPacket length.
@@ -886,7 +886,7 @@ void 
Parameters
- +
autoCorrectWhen set to true, frequency will be automatically corrected.
autoCorrectWhen set to true, frequency will be automatically corrected.
@@ -961,7 +961,7 @@ void 
Parameters
- +
updateUpdate received packet length. Will return cached value when set to false.
updateUpdate received packet length. Will return cached value when set to false.
@@ -1006,8 +1006,8 @@ void 
Parameters
- - + +
packetWhether to read last packet RSSI, or the current value. LoRa mode only, ignored for FSK.
skipReceiveSet to true to skip putting radio in receive mode for the RSSI measurement in FSK/OOK mode.
packetWhether to read last packet RSSI, or the current value. LoRa mode only, ignored for FSK.
skipReceiveSet to true to skip putting radio in receive mode for the RSSI measurement in FSK/OOK mode.
@@ -1084,7 +1084,7 @@ void 
Parameters
- +
lenPayload length in bytes.
lenPayload length in bytes.
@@ -1111,7 +1111,7 @@ void 
Parameters
- +
invertIQQI inversion enabled (true) or disabled (false);
invertIQQI inversion enabled (true) or disabled (false);
@@ -1266,8 +1266,8 @@ void 
Parameters
- - + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be read. When set to 0, the packet length will be retreived automatically. When more bytes than received are requested, only the number of bytes requested will be returned.
dataPointer to array to save the received binary data.
lenNumber of bytes that will be read. When set to 0, the packet length will be retreived automatically. When more bytes than received are requested, only the number of bytes requested will be returned.
@@ -1338,8 +1338,8 @@ void 
PhysicalLayer::receive.

Parameters
- - + +
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
dataPointer to array to save the received binary data.
lenNumber of bytes that will be received. Must be known in advance for binary transmissions.
@@ -1418,7 +1418,7 @@ void 
Parameters
- +
isEnabledAFC enabled or disabled
isEnabledAFC enabled or disabled
@@ -1445,7 +1445,7 @@ void 
Parameters
- +
triggerone from SX127X_RX_TRIGGER_NONE, SX127X_RX_TRIGGER_RSSI_INTERRUPT, SX127X_RX_TRIGGER_PREAMBLE_DETECT, SX127X_RX_TRIGGER_BOTH
triggerone from SX127X_RX_TRIGGER_NONE, SX127X_RX_TRIGGER_RSSI_INTERRUPT, SX127X_RX_TRIGGER_PREAMBLE_DETECT, SX127X_RX_TRIGGER_BOTH
@@ -1472,7 +1472,7 @@ void 
Parameters
- +
rxBwReceiver AFC bandwidth to be set (in kHz).
rxBwReceiver AFC bandwidth to be set (in kHz).
@@ -1499,7 +1499,7 @@ void 
Parameters
- +
broadAddrBroadcast address to be set.
broadAddrBroadcast address to be set.
@@ -1507,8 +1507,8 @@ void 
-

◆ setCrcFiltering()

+ +

◆ setCrcFiltering()

@@ -1517,7 +1517,7 @@ void int16_t SX127x::setCrcFiltering ( bool  - crcOn = true) + enable = true) @@ -1526,7 +1526,7 @@ void 
Parameters
- +
crcOnSet or unset CRC filtering and generation.
enableSet or unset CRC filtering and generation.
@@ -1553,7 +1553,7 @@ void 
Parameters
- +
currentLimitCurrent limit to be set (in mA).
currentLimitCurrent limit to be set (in mA).
@@ -1590,7 +1590,7 @@ void 
Parameters
- +
funcPointer to interrupt service routine.
funcPointer to interrupt service routine.
dirSignal change direction.
@@ -1627,7 +1627,7 @@ void 
Parameters
- +
funcPointer to interrupt service routine.
funcPointer to interrupt service routine.
dirSignal change direction.
@@ -1672,8 +1672,8 @@ void 
Parameters
- - + +
pinPin number onto which a signal is to be placed.
valueThe value that indicates which function to place on that pin. See chip datasheet for details.
pinPin number onto which a signal is to be placed.
valueThe value that indicates which function to place on that pin. See chip datasheet for details.
@@ -1702,7 +1702,7 @@ void 
Parameters
- +
usePreambleDetectWhether to use PreambleDetect (true) or RSSI (false) on the pins that are mapped to this function.
usePreambleDetectWhether to use PreambleDetect (true) or RSSI (false) on the pins that are mapped to this function.
@@ -1773,7 +1773,7 @@ void 
Parameters
- +
encodingEncoding to be used.
encodingEncoding to be used.
@@ -1802,7 +1802,7 @@ void 
Parameters
- +
freqHoppingPeriodInteger multiple of symbol periods between hops
freqHoppingPeriodInteger multiple of symbol periods between hops
@@ -1889,7 +1889,7 @@ void 
Parameters
- +
freqDevFrequency deviation to be set (in kHz).
freqDevFrequency deviation to be set (in kHz).
@@ -1918,7 +1918,7 @@ void 
Parameters
- +
nodeAddrNode address to be set.
nodeAddrNode address to be set.
@@ -1945,7 +1945,7 @@ void 
Parameters
- +
enableOOKEnable (true) or disable (false) OOK.
enableOOKEnable (true) or disable (false) OOK.
@@ -1972,7 +1972,7 @@ void 
Parameters
- +
valueThreshold level in steps of 0.5 dB.
valueThreshold level in steps of 0.5 dB.
@@ -1999,7 +1999,7 @@ void 
Parameters
- +
valueUse defines RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_X_X_CHIP
valueUse defines RADIOLIB_SX127X_OOK_PEAK_THRESH_DEC_X_X_CHIP
@@ -2026,7 +2026,7 @@ void 
Parameters
- +
valueStep size: RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_0_5_DB (default), RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_5_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_2_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_3_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_4_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_5_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_6_0_DB
valueStep size: RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_0_5_DB (default), RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_1_5_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_2_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_3_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_4_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_5_0_DB, RADIOLIB_SX127X_OOK_PEAK_THRESH_STEP_6_0_DB
@@ -2053,7 +2053,7 @@ void 
Parameters
- +
typeThreshold type: SX127X_OOK_THRESH_PEAK(default), SX127X_OOK_THRESH_FIXED, SX127X_OOK_THRESH_AVERAGE
typeThreshold type: SX127X_OOK_THRESH_PEAK(default), SX127X_OOK_THRESH_FIXED, SX127X_OOK_THRESH_AVERAGE
@@ -2080,7 +2080,7 @@ void 
Parameters
- +
preambleLengthPreamble length to be set (in symbols when in LoRa mode or bits in FSK mode).
preambleLengthPreamble length to be set (in symbols when in LoRa mode or bits in FSK mode).
@@ -2220,8 +2220,8 @@ void 
Parameters
- - + +
smoothingSamplesNumber of samples taken to average the RSSI result. numSamples = 2 ^ (1 + smoothingSamples), allowed values are in range 0 (2 samples) - 7 (256 samples)
offsetSigned RSSI offset that will be automatically compensated. 1 dB per LSB, defaults to 0, allowed values are in range -16 dB to +15 dB.
smoothingSamplesNumber of samples taken to average the RSSI result. numSamples = 2 ^ (1 + smoothingSamples), allowed values are in range 0 (2 samples) - 7 (256 samples)
offsetSigned RSSI offset that will be automatically compensated. 1 dB per LSB, defaults to 0, allowed values are in range -16 dB to +15 dB.
@@ -2248,7 +2248,7 @@ void 
Parameters
- +
dbmA dBm value between -127.5 and 0 inclusive
dbmA dBm value between -127.5 and 0 inclusive
@@ -2275,7 +2275,7 @@ void 
Parameters
- +
rxBwReceiver bandwidth to be set (in kHz).
rxBwReceiver bandwidth to be set (in kHz).
@@ -2312,8 +2312,8 @@ void 
Parameters
- - + +
syncWordSync word array.
lenSync word length (in bytes).
syncWordSync word array.
lenSync word length (in bytes).
@@ -2340,7 +2340,7 @@ void 
Parameters
- +
syncWordSync word to be set.
syncWordSync word to be set.
@@ -2435,7 +2435,7 @@ void 
Parameters
- +
modeStandby mode to be used. No effect, implemented only for PhysicalLayer compatibility.
modeStandby mode to be used. No effect, implemented only for PhysicalLayer compatibility.
@@ -2514,10 +2514,10 @@ void 
PhysicalLayer.

Parameters
- - - - + + + +
modeReceive mode to be used.
irqFlagsIgnored.
irqMaskIgnored.
lenExpected length of packet to be received. Required for LoRa spreading factor 6.
modeReceive mode to be used.
irqFlagsIgnored.
irqMaskIgnored.
lenExpected length of packet to be received. Required for LoRa spreading factor 6.
@@ -2556,8 +2556,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. Required for LoRa spreading factor 6.
modeReceive mode to be used. Defaults to RxContinuous.
@@ -2657,9 +2657,9 @@ void 
Parameters
- - - + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
@@ -2761,9 +2761,9 @@ void 
PhysicalLayer::transmit.

Parameters
- - - + + +
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
dataBinary data that will be transmitted.
lenLength of binary data to transmit (in bytes).
addrNode address to transmit the packet to. Only used in FSK mode.
@@ -2800,7 +2800,7 @@ void 
Parameters
- +
frf24-bit raw frequency value to start transmitting at. Required for quick frequency shifts in RTTY.
frf24-bit raw frequency value to start transmitting at. Required for quick frequency shifts in RTTY.
@@ -2829,7 +2829,7 @@ void 
Parameters
- +
lenMaximum packet length.
lenMaximum packet length.
diff --git a/class_s_x127x.js b/class_s_x127x.js index 1f7b5d51..138b512f 100644 --- a/class_s_x127x.js +++ b/class_s_x127x.js @@ -44,7 +44,7 @@ var class_s_x127x = [ "setAFCAGCTrigger", "class_s_x127x.html#ab0f67330124cefc07a462e77922453d0", null ], [ "setAFCBandwidth", "class_s_x127x.html#a63e00b1ecf1b0dcb6d8a91fc9b8ea5ef", null ], [ "setBroadcastAddress", "class_s_x127x.html#abc51ce6718153e4963128f25bb5aab40", null ], - [ "setCrcFiltering", "class_s_x127x.html#a9b3a76eb89cad60dcad92513e6848f5a", null ], + [ "setCrcFiltering", "class_s_x127x.html#ab531ad461b250a060e92d9c744e79070", null ], [ "setCurrentLimit", "class_s_x127x.html#a400575e3d83977bd250c5cb382fc7002", null ], [ "setDio0Action", "class_s_x127x.html#ae75bc48cc74a407370cd9f4bf95e9e30", null ], [ "setDio1Action", "class_s_x127x.html#a7b4bce81839b105c464ebf922602e58b", null ], diff --git a/functions_func_s.html b/functions_func_s.html index 35909ee4..d9b46723 100644 --- a/functions_func_s.html +++ b/functions_func_s.html @@ -177,7 +177,7 @@ $(document).ready(function(){initNavTree('functions_func_s.html',''); initResiza :
CC1101 , nRF24 , RF69 -, SX127x +, SX127x
  • setCurrentLimit() : SX126x diff --git a/functions_s.html b/functions_s.html index ba53dfd0..5c10ee06 100644 --- a/functions_s.html +++ b/functions_s.html @@ -183,7 +183,7 @@ $(document).ready(function(){initNavTree('functions_s.html',''); initResizable() : CC1101 , nRF24 , RF69 -, SX127x +, SX127x
  • setCurrentLimit() : SX126x diff --git a/navtreeindex2.js b/navtreeindex2.js index 9ab6f5d4..b7a58ffc 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -216,7 +216,6 @@ var NAVTREEINDEX2 = "class_s_x127x.html#a8ca9edcae05060cce3ff7ee58faeb4e2":[3,0,45,63], "class_s_x127x.html#a923654706eff5118ef6e84214e837f27":[3,0,45,76], "class_s_x127x.html#a95bc32a555675879ad9e2a9e399dc6c1":[3,0,45,27], -"class_s_x127x.html#a9b3a76eb89cad60dcad92513e6848f5a":[3,0,45,44], "class_s_x127x.html#a9b6532a25e1730973ac08146008adca5":[3,0,45,4], "class_s_x127x.html#a9b7afe338fd5b81122c369ecaf0c3ebc":[3,0,45,68], "class_s_x127x.html#a9c4ea3285922bf01cebd2c8a706d9a29":[3,0,45,81], @@ -226,6 +225,7 @@ var NAVTREEINDEX2 = "class_s_x127x.html#aaa6eb4363badc1c3450ad7a4d11af4b1":[3,0,45,6], "class_s_x127x.html#aac2f43d70b5f94e49e09b4c9f082f46d":[3,0,45,59], "class_s_x127x.html#ab0f67330124cefc07a462e77922453d0":[3,0,45,41], +"class_s_x127x.html#ab531ad461b250a060e92d9c744e79070":[3,0,45,44], "class_s_x127x.html#ab608c45e0dcc44280df29580dc0a31ed":[3,0,45,62], "class_s_x127x.html#ab82617fa3fa9f21d4cd427314ecc4af8":[3,0,45,35], "class_s_x127x.html#ab9625a5246a45112267ce441ac2de254":[3,0,45,64], diff --git a/search/all_f.js b/search/all_f.js index 4a4a2362..b8612dd9 100644 --- a/search/all_f.js +++ b/search/all_f.js @@ -23,7 +23,7 @@ var searchData= ['setcodingrate_256',['setCodingRate',['../class_s_x126x.html#afd3113858966e878e9c67a1e710bd586',1,'SX126x::setCodingRate()'],['../class_s_x1272.html#a960913438feccad4c1913a9222384a5f',1,'SX1272::setCodingRate()'],['../class_s_x1278.html#a834f26a0bd3fc8a03fa7e68aa4daf9e1',1,'SX1278::setCodingRate()'],['../class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a',1,'SX128x::setCodingRate()']]], ['setcorrection_257',['setCorrection',['../class_f_s_k4_client.html#aab85cb6519e5448dc332bf17bd60f90a',1,'FSK4Client::setCorrection()'],['../class_s_s_t_v_client.html#a0e9cc17123f26d1e7ae2a2b93546515e',1,'SSTVClient::setCorrection()'],['../class_a_x25_client.html#a74a43c60c84e4150b9508c83e461d24e',1,'AX25Client::setCorrection()']]], ['setcrc_258',['setCRC',['../class_s_x126x.html#a95007639c2648a1dbb614493224606f1',1,'SX126x::setCRC()'],['../class_s_x1272.html#abd912314a977f92c464d36d862329ffc',1,'SX1272::setCRC()'],['../class_s_x1278.html#ac0be7586b8e40355bbd29d78ae9941d1',1,'SX1278::setCRC()'],['../class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe',1,'SX128x::setCRC()']]], - ['setcrcfiltering_259',['setCrcFiltering',['../class_c_c1101.html#a60695681fc74a37f2a31a9638552e877',1,'CC1101::setCrcFiltering()'],['../classn_r_f24.html#a3eb45884a5730ac1c339c7ba4f7b5282',1,'nRF24::setCrcFiltering()'],['../class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e',1,'RF69::setCrcFiltering()'],['../class_s_x127x.html#a9b3a76eb89cad60dcad92513e6848f5a',1,'SX127x::setCrcFiltering()']]], + ['setcrcfiltering_259',['setCrcFiltering',['../class_c_c1101.html#a60695681fc74a37f2a31a9638552e877',1,'CC1101::setCrcFiltering()'],['../classn_r_f24.html#a3eb45884a5730ac1c339c7ba4f7b5282',1,'nRF24::setCrcFiltering()'],['../class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e',1,'RF69::setCrcFiltering()'],['../class_s_x127x.html#ab531ad461b250a060e92d9c744e79070',1,'SX127x::setCrcFiltering()']]], ['setcurrentlimit_260',['setCurrentLimit',['../class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e',1,'SX126x::setCurrentLimit()'],['../class_s_x127x.html#a400575e3d83977bd250c5cb382fc7002',1,'SX127x::setCurrentLimit()']]], ['setdatashaping_261',['setDataShaping',['../class_c_c1101.html#adf96e77f25b7e256891601bef04f35a6',1,'CC1101::setDataShaping()'],['../class_r_f69.html#a42b99e437454e92c6932c3b7acc1fc4a',1,'RF69::setDataShaping()'],['../class_si443x.html#ade08c79074c7e4414d34eefa25cee168',1,'Si443x::setDataShaping()'],['../class_s_x126x.html#a1d8f4deb555844b24c2426dd86e69676',1,'SX126x::setDataShaping()'],['../class_s_x1272.html#a91aca64124321c07a67f26b3c6934aea',1,'SX1272::setDataShaping()'],['../class_s_x1278.html#afb740a4925b64d83d5edca10d93f0563',1,'SX1278::setDataShaping()'],['../class_s_x128x.html#a99491c705e88dddc820f884b778f1660',1,'SX128x::setDataShaping()'],['../class_physical_layer.html#aeba04366a0cf05ff3d8227c4f7c8e1e9',1,'PhysicalLayer::setDataShaping()'],['../classn_r_f24.html#a0db248d2bcdb4ca2b401e8e638442916',1,'nRF24::setDataShaping()']]], ['setdatashapingook_262',['setDataShapingOOK',['../class_s_x1272.html#a3a377445cb4b8fd41781a3210a819a47',1,'SX1272::setDataShapingOOK()'],['../class_s_x1278.html#a1ccc4d5062f739d534ab22562c7efca4',1,'SX1278::setDataShapingOOK()']]], diff --git a/search/functions_f.js b/search/functions_f.js index 5143f120..ce36b045 100644 --- a/search/functions_f.js +++ b/search/functions_f.js @@ -21,7 +21,7 @@ var searchData= ['setcodingrate_589',['setCodingRate',['../class_s_x126x.html#afd3113858966e878e9c67a1e710bd586',1,'SX126x::setCodingRate()'],['../class_s_x1272.html#a960913438feccad4c1913a9222384a5f',1,'SX1272::setCodingRate()'],['../class_s_x1278.html#a834f26a0bd3fc8a03fa7e68aa4daf9e1',1,'SX1278::setCodingRate()'],['../class_s_x128x.html#a9da544e4a6120f73a078b46c6138505a',1,'SX128x::setCodingRate()']]], ['setcorrection_590',['setCorrection',['../class_a_x25_client.html#a74a43c60c84e4150b9508c83e461d24e',1,'AX25Client::setCorrection()'],['../class_f_s_k4_client.html#aab85cb6519e5448dc332bf17bd60f90a',1,'FSK4Client::setCorrection()'],['../class_s_s_t_v_client.html#a0e9cc17123f26d1e7ae2a2b93546515e',1,'SSTVClient::setCorrection()']]], ['setcrc_591',['setCRC',['../class_s_x128x.html#aa4b1e0b96347011522e053f30202c0fe',1,'SX128x::setCRC()'],['../class_s_x1278.html#ac0be7586b8e40355bbd29d78ae9941d1',1,'SX1278::setCRC()'],['../class_s_x126x.html#a95007639c2648a1dbb614493224606f1',1,'SX126x::setCRC()'],['../class_s_x1272.html#abd912314a977f92c464d36d862329ffc',1,'SX1272::setCRC()']]], - ['setcrcfiltering_592',['setCrcFiltering',['../classn_r_f24.html#a3eb45884a5730ac1c339c7ba4f7b5282',1,'nRF24::setCrcFiltering()'],['../class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e',1,'RF69::setCrcFiltering()'],['../class_s_x127x.html#a9b3a76eb89cad60dcad92513e6848f5a',1,'SX127x::setCrcFiltering()'],['../class_c_c1101.html#a60695681fc74a37f2a31a9638552e877',1,'CC1101::setCrcFiltering()']]], + ['setcrcfiltering_592',['setCrcFiltering',['../classn_r_f24.html#a3eb45884a5730ac1c339c7ba4f7b5282',1,'nRF24::setCrcFiltering()'],['../class_r_f69.html#ac205bc487833dc4eae4bb0069c0c4d1e',1,'RF69::setCrcFiltering()'],['../class_s_x127x.html#ab531ad461b250a060e92d9c744e79070',1,'SX127x::setCrcFiltering()'],['../class_c_c1101.html#a60695681fc74a37f2a31a9638552e877',1,'CC1101::setCrcFiltering()']]], ['setcurrentlimit_593',['setCurrentLimit',['../class_s_x126x.html#a8f971dca834be7e0470a9a9f0c01854e',1,'SX126x::setCurrentLimit()'],['../class_s_x127x.html#a400575e3d83977bd250c5cb382fc7002',1,'SX127x::setCurrentLimit()']]], ['setdatashaping_594',['setDataShaping',['../class_si443x.html#ade08c79074c7e4414d34eefa25cee168',1,'Si443x::setDataShaping()'],['../class_physical_layer.html#aeba04366a0cf05ff3d8227c4f7c8e1e9',1,'PhysicalLayer::setDataShaping()'],['../class_s_x128x.html#a99491c705e88dddc820f884b778f1660',1,'SX128x::setDataShaping()'],['../class_s_x1278.html#afb740a4925b64d83d5edca10d93f0563',1,'SX1278::setDataShaping()'],['../class_s_x1272.html#a91aca64124321c07a67f26b3c6934aea',1,'SX1272::setDataShaping()'],['../class_s_x126x.html#a1d8f4deb555844b24c2426dd86e69676',1,'SX126x::setDataShaping()'],['../class_r_f69.html#a42b99e437454e92c6932c3b7acc1fc4a',1,'RF69::setDataShaping()'],['../classn_r_f24.html#a0db248d2bcdb4ca2b401e8e638442916',1,'nRF24::setDataShaping()'],['../class_c_c1101.html#adf96e77f25b7e256891601bef04f35a6',1,'CC1101::setDataShaping()']]], ['setdatashapingook_595',['setDataShapingOOK',['../class_s_x1272.html#a3a377445cb4b8fd41781a3210a819a47',1,'SX1272::setDataShapingOOK()'],['../class_s_x1278.html#a1ccc4d5062f739d534ab22562c7efca4',1,'SX1278::setDataShapingOOK()']]],