diff --git a/src/protocols/RTTY.cpp b/src/protocols/RTTY.cpp index 7409e4ae..9427c87a 100644 --- a/src/protocols/RTTY.cpp +++ b/src/protocols/RTTY.cpp @@ -102,7 +102,7 @@ RTTYClient::RTTYClient(PhysicalLayer* phy) { _phy = phy; } -int16_t RTTYClient::begin(float base, uint16_t shift, uint16_t rate, uint8_t encoding, uint8_t stopBits) { +int16_t RTTYClient::begin(float base, uint32_t shift, uint16_t rate, uint8_t encoding, uint8_t stopBits) { // save configuration _encoding = encoding; _stopBits = stopBits; @@ -125,7 +125,7 @@ int16_t RTTYClient::begin(float base, uint16_t shift, uint16_t rate, uint8_t enc _bitDuration = (uint32_t)1000000/rate; // calculate module carrier frequency resolution - uint16_t step = round((_phy->getCrystalFreq() * 1000000) / (uint32_t(1) << _phy->getDivExponent())); + uint32_t step = round((_phy->getCrystalFreq() * 1000000) / (uint32_t(1) << _phy->getDivExponent())); // check minimum shift value if(shift < step / 2) { diff --git a/src/protocols/RTTY.h b/src/protocols/RTTY.h index fd3f16e9..6a62cfb0 100644 --- a/src/protocols/RTTY.h +++ b/src/protocols/RTTY.h @@ -101,7 +101,7 @@ class RTTYClient { \returns \ref status_codes */ - int16_t begin(float base, uint16_t shift, uint16_t rate, uint8_t encoding = ASCII, uint8_t stopBits = 1); + int16_t begin(float base, uint32_t shift, uint16_t rate, uint8_t encoding = ASCII, uint8_t stopBits = 1); /*! \brief Send out idle condition (RF tone at mark frequency). @@ -142,7 +142,7 @@ class RTTYClient { uint8_t _encoding; uint32_t _base; - uint16_t _shift; + uint32_t _shift; uint16_t _bitDuration; uint8_t _dataBits; uint8_t _stopBits;