RadioLib
Universal wireless communication library for Arduino
Loading...
Searching...
No Matches
LR1120.h
1#if !defined(_RADIOLIB_LR1120_H)
2#define _RADIOLIB_LR1120_H
3
4#include "../../TypeDef.h"
5
6#if !RADIOLIB_EXCLUDE_LR11X0
7
8#include "../../Module.h"
9#include "LR11x0.h"
10
15class LR1120: public LR11x0 {
16 public:
21 LR1120(Module* mod); // cppcheck-suppress noExplicitConstructor
22
23 // basic methods
24
32 int16_t begin(const ConfigLoRa_t& config);
33
49 int16_t begin(float freq = 434.0, float bw = 125.0, uint8_t sf = 9, uint8_t cr = 7, uint8_t syncWord = RADIOLIB_LR11X0_LORA_SYNC_WORD_PRIVATE, int8_t power = 10, uint16_t preambleLength = 8, float tcxoVoltage = 1.6);
50
58 int16_t beginGFSK(const ConfigFSK_t& config);
59
73 int16_t beginGFSK(float freq = 434.0, float br = 4.8, float freqDev = 5.0, float rxBw = 156.2, int8_t power = 10, uint16_t preambleLength = 16, float tcxoVoltage = 1.6);
74
82 int16_t beginLRFHSS(const ConfigLRFHSS_t& config);
83
96 int16_t beginLRFHSS(float freq = 434.0, uint8_t bw = RADIOLIB_LRXXXX_LR_FHSS_BW_722_66, uint8_t cr = RADIOLIB_LRXXXX_LR_FHSS_CR_2_3, bool narrowGrid = true, int8_t power = 10, float tcxoVoltage = 1.6);
97
98 // configuration methods
99
110 int16_t setFrequency(float freq) override;
111
126 int16_t setFrequency(float freq, bool skipCalibration, float band = 4);
127
133 int16_t setOutputPower(int8_t power) override;
134
147 int16_t setOutputPower(int8_t power, bool forceHighPower, uint32_t rampTimeUs = 48);
148
156 int16_t checkOutputPower(int8_t power, int8_t* clipped) override;
157
167 int16_t checkOutputPower(int8_t power, int8_t* clipped, bool forceHighPower);
168
175 int16_t setModem(ModemType_t modem) override;
176
177#if !RADIOLIB_GODMODE
178 private:
179#endif
180 // flag to determine whether we are in the sub-GHz or 2.4 GHz range
181 // this is needed to automatically detect which PA to use
182 bool highFreq = false;
183
184};
185
186#endif
187
188#endif
Derived class for LR1120 modules.
Definition LR1120.h:15
int16_t beginLRFHSS(const ConfigLRFHSS_t &config)
Initialization method for LR-FHSS modem.
Definition LR1120.cpp:61
int16_t begin(const ConfigLoRa_t &config)
Initialization method for LoRa modem.
Definition LR1120.cpp:10
int16_t setOutputPower(int8_t power) override
Sets output power. Allowed values are in range from -9 to 22 dBm (high-power PA) or -17 to 14 dBm (lo...
Definition LR1120.cpp:115
int16_t setModem(ModemType_t modem) override
Set modem for the radio to use. Will perform full reset and reconfigure the radio using its default p...
Definition LR1120.cpp:174
int16_t setFrequency(float freq) override
Sets carrier frequency. Allowed values are in range from 150.0 to 960.0 MHz, 1900 - 2200 MHz and 2400...
Definition LR1120.cpp:85
int16_t beginGFSK(const ConfigFSK_t &config)
Initialization method for GFSK modem.
Definition LR1120.cpp:36
int16_t checkOutputPower(int8_t power, int8_t *clipped) override
Check if output power is configurable. This method is needed for compatibility with PhysicalLayer::ch...
Definition LR1120.cpp:145
Base class for LR11x0 series. All derived classes for LR11x0 (e.g. LR1110 or LR1120) inherit from thi...
Definition LR11x0.h:27
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition Module.h:69
float tcxoVoltage
TCXO reference voltage to be set on DIO3. Defaults to 1.6 V. If you are seeing -706/-707 error codes,...
Definition LR11x0.h:72
Definition PhysicalLayer.h:298
Definition PhysicalLayer.h:335
Definition PhysicalLayer.h:280