RadioLib
Universal wireless communication library for Arduino
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 
15 class LR1120: public LR11x0 {
16  public:
21  LR1120(Module* mod); // cppcheck-suppress noExplicitConstructor
22 
23  // basic methods
24 
39  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);
40 
54  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);
55 
68  int16_t beginLRFHSS(float freq = 434.0, uint8_t bw = RADIOLIB_LR11X0_LR_FHSS_BW_722_66, uint8_t cr = RADIOLIB_LR11X0_LR_FHSS_CR_2_3, bool narrowGrid = true, int8_t power = 10, float tcxoVoltage = 1.6);
69 
70  // configuration methods
71 
82  int16_t setFrequency(float freq) override;
83 
98  int16_t setFrequency(float freq, bool skipCalibration, float band = 4);
99 
105  int16_t setOutputPower(int8_t power) override;
106 
117  int16_t setOutputPower(int8_t power, bool forceHighPower);
118 
126  int16_t checkOutputPower(int8_t power, int8_t* clipped) override;
127 
137  int16_t checkOutputPower(int8_t power, int8_t* clipped, bool forceHighPower);
138 
145  int16_t setModem(ModemType_t modem) override;
146 
147 #if !RADIOLIB_GODMODE
148  private:
149 #endif
150  // flag to determine whether we are in the sub-GHz or 2.4 GHz range
151  // this is needed to automatically detect which PA to use
152  bool highFreq = false;
153 
154 };
155 
156 #endif
157 
158 #endif
Derived class for LR1120 modules.
Definition: LR1120.h:15
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)
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:75
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)
Initialization method for FSK modem.
Definition: LR1120.cpp:23
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:134
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:49
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:105
int16_t beginLRFHSS(float freq=434.0, uint8_t bw=RADIOLIB_LR11X0_LR_FHSS_BW_722_66, uint8_t cr=RADIOLIB_LR11X0_LR_FHSS_CR_2_3, bool narrowGrid=true, int8_t power=10, float tcxoVoltage=1.6)
Initialization method for LR-FHSS modem.
Definition: LR1120.cpp:36
LR1120(Module *mod)
Default constructor.
Definition: LR1120.cpp:6
Base class for LR11x0 series. All derived classes for LR11x0 (e.g. LR1110 or LR1120) inherit from thi...
Definition: LR11x0.h:874
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:73