diff --git a/keywords.txt b/keywords.txt index 6a83fea2..097cf08a 100644 --- a/keywords.txt +++ b/keywords.txt @@ -147,6 +147,8 @@ setOokFixedOrFloorThreshold KEYWORD2 setDirectSyncWord KEYWORD2 setDirectAction KEYWORD2 readBit KEYWORD2 +enableBitSync KEYWORD2 +disableBitSync KEYWORD2 # RF69-specific setAESKey KEYWORD2 @@ -156,8 +158,8 @@ getTemperature KEYWORD2 setAmbientTemperature KEYWORD2 setLnaTestBoost KEYWORD2 setOokFixedThreshold KEYWORD2 -enableContinuousModeBitSync KEYWORD2 -disableContinuousModeBitSync KEYWORD2 +enableContinuousModeBitSync KEYWORD2 +disableContinuousModeBitSync KEYWORD2 # CC1101-specific getLQI KEYWORD2 diff --git a/src/modules/SX127x/SX127x.cpp b/src/modules/SX127x/SX127x.cpp index 81c24eef..07eae0e7 100644 --- a/src/modules/SX127x/SX127x.cpp +++ b/src/modules/SX127x/SX127x.cpp @@ -939,6 +939,14 @@ int16_t SX127x::setOokPeakThresholdDecrement(uint8_t value) { return(_mod->SPIsetRegValue(SX127X_REG_OOK_AVG, value, 7, 5, 5)); } +int16_t SX127x::enableBitSync() { + return(_mod->SPIsetRegValue(SX127X_REG_OOK_PEAK, SX127X_BIT_SYNC_ON, 5, 5, 5)); +} + +int16_t SX127x::disableBitSync() { + return(_mod->SPIsetRegValue(SX127X_REG_OOK_PEAK, SX127X_BIT_SYNC_OFF, 5, 5, 5)); +} + int16_t SX127x::setOOK(bool enableOOK) { // check active modem if(getActiveModem() != SX127X_FSK_OOK) { diff --git a/src/modules/SX127x/SX127x.h b/src/modules/SX127x/SX127x.h index 1cc5aaa1..95b36d6f 100644 --- a/src/modules/SX127x/SX127x.h +++ b/src/modules/SX127x/SX127x.h @@ -927,6 +927,20 @@ class SX127x: public PhysicalLayer { */ int16_t setOokFixedOrFloorThreshold(uint8_t value); + /*! + \brief Enable Bit synchronizer. + + \returns \ref status_codes + */ + int16_t enableBitSync(); + + /*! + \brief Disable Bit synchronizer (not allowed in Packet mode). + + \returns \ref status_codes + */ + int16_t disableBitSync(); + /*! \brief Query modem for the packet length of received payload.