mirror of
https://github.com/sandeepmistry/arduino-LoRa.git
synced 2025-04-19 13:02:14 +03:00
Force LDO option set or unset (#668)
* Force LDO option set or unset Some remote clients needs LDO using on any Spreading Factor. CDEbyte E32 for example. * LDO state setter function realized * Update keywords, minor style tweaks --------- Co-authored-by: Sandeep Mistry <sandeep.mistry@gmail.com>
This commit is contained in:
parent
71d4c2998f
commit
7c2ebfd0d8
@ -51,6 +51,8 @@ enableCrc KEYWORD2
|
||||
disableCrc KEYWORD2
|
||||
enableInvertIQ KEYWORD2
|
||||
disableInvertIQ KEYWORD2
|
||||
enableLowDataRateOptimize KEYWORD2
|
||||
disableLowDataRateOptimize KEYWORD2
|
||||
setGain KEYWORD2
|
||||
|
||||
random KEYWORD2
|
||||
|
17
src/LoRa.cpp
17
src/LoRa.cpp
@ -586,6 +586,13 @@ void LoRaClass::setLdoFlag()
|
||||
writeRegister(REG_MODEM_CONFIG_3, config3);
|
||||
}
|
||||
|
||||
void LoRaClass::setLdoFlagForced(const boolean ldoOn)
|
||||
{
|
||||
uint8_t config3 = readRegister(REG_MODEM_CONFIG_3);
|
||||
bitWrite(config3, 3, ldoOn);
|
||||
writeRegister(REG_MODEM_CONFIG_3, config3);
|
||||
}
|
||||
|
||||
void LoRaClass::setCodingRate4(int denominator)
|
||||
{
|
||||
if (denominator < 5) {
|
||||
@ -632,6 +639,16 @@ void LoRaClass::disableInvertIQ()
|
||||
writeRegister(REG_INVERTIQ2, 0x1d);
|
||||
}
|
||||
|
||||
void LoRaClass::enableLowDataRateOptimize()
|
||||
{
|
||||
setLdoFlagForced(true);
|
||||
}
|
||||
|
||||
void LoRaClass::disableLowDataRateOptimize()
|
||||
{
|
||||
setLdoFlagForced(false);
|
||||
}
|
||||
|
||||
void LoRaClass::setOCP(uint8_t mA)
|
||||
{
|
||||
uint8_t ocpTrim = 27;
|
||||
|
@ -79,6 +79,8 @@ public:
|
||||
void disableCrc();
|
||||
void enableInvertIQ();
|
||||
void disableInvertIQ();
|
||||
void enableLowDataRateOptimize();
|
||||
void disableLowDataRateOptimize();
|
||||
|
||||
void setOCP(uint8_t mA); // Over Current Protection control
|
||||
|
||||
@ -107,6 +109,7 @@ private:
|
||||
long getSignalBandwidth();
|
||||
|
||||
void setLdoFlag();
|
||||
void setLdoFlagForced(const boolean);
|
||||
|
||||
uint8_t readRegister(uint8_t address);
|
||||
void writeRegister(uint8_t address, uint8_t value);
|
||||
|
Loading…
x
Reference in New Issue
Block a user