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 
67  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, int8_t power = 10, float tcxoVoltage = 1.6);
68 
69  // configuration methods
70 
79  int16_t setFrequency(float freq) override;
80 
93  int16_t setFrequency(float freq, bool calibrate, float band = 4);
94 
100  int16_t setOutputPower(int8_t power) override;
101 
112  int16_t setOutputPower(int8_t power, bool forceHighPower);
113 
121  int16_t checkOutputPower(int8_t power, int8_t* clipped) override;
122 
132  int16_t checkOutputPower(int8_t power, int8_t* clipped, bool forceHighPower);
133 
134 #if !RADIOLIB_GODMODE
135  private:
136 #endif
137  // flag to determine whether we are in the sub-GHz or 2.4 GHz range
138  // this is needed to automatically detect which PA to use
139  bool highFreq = false;
140 
141 };
142 
143 #endif
144 
145 #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:8
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:72
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:21
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:47
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, int8_t power=10, float tcxoVoltage=1.6)
Initialization method for LR-FHSS modem.
Definition: LR1120.cpp:34
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:102
LR1120(Module *mod)
Default constructor.
Definition: LR1120.cpp:4
Base class for LR11x0 series. All derived classes for LR11x0 (e.g. LR1110 or LR1120) inherit from thi...
Definition: LR11x0.h:712
Implements all common low-level methods to control the wireless module. Every module class contains o...
Definition: Module.h:65