diff --git a/src/protocols/RTTY/RTTY.cpp b/src/protocols/RTTY/RTTY.cpp index 7b023f8e..ccd166cf 100644 --- a/src/protocols/RTTY/RTTY.cpp +++ b/src/protocols/RTTY/RTTY.cpp @@ -235,7 +235,7 @@ size_t RTTYClient::print(__FlashStringHelper* fstr) { size_t n = 0; if(_encoding == ITA2) { - ITA2String ita2 = str; + ITA2String ita2 = ITA2String(str); n = RTTYClient::print(ita2); } else if((_encoding == ASCII) || (_encoding == ASCII_EXTENDED)) { n = RTTYClient::write((uint8_t*)str, len); @@ -256,7 +256,7 @@ size_t RTTYClient::print(ITA2String& ita2) { size_t RTTYClient::print(const String& str) { size_t n = 0; if(_encoding == ITA2) { - ITA2String ita2 = str.c_str(); + ITA2String ita2 = ITA2String(str.c_str()); n = RTTYClient::print(ita2); } else if((_encoding == ASCII) || (_encoding == ASCII_EXTENDED)) { n = RTTYClient::write((uint8_t*)str.c_str(), str.length()); @@ -267,7 +267,7 @@ size_t RTTYClient::print(const String& str) { size_t RTTYClient::print(const char str[]) { size_t n = 0; if(_encoding == ITA2) { - ITA2String ita2 = str; + ITA2String ita2 = ITA2String(str); n = RTTYClient::print(ita2); } else if((_encoding == ASCII) || (_encoding == ASCII_EXTENDED)) { n = RTTYClient::write((uint8_t*)str, strlen(str)); @@ -278,7 +278,7 @@ size_t RTTYClient::print(const char str[]) { size_t RTTYClient::print(char c) { size_t n = 0; if(_encoding == ITA2) { - ITA2String ita2 = c; + ITA2String ita2 = ITA2String(c); n = RTTYClient::print(ita2); } else if((_encoding == ASCII) || (_encoding == ASCII_EXTENDED)) { n = RTTYClient::write(c); @@ -328,7 +328,7 @@ size_t RTTYClient::print(double n, int digits) { size_t RTTYClient::println(void) { size_t n = 0; if(_encoding == ITA2) { - ITA2String lf = "\r\n"; + ITA2String lf = ITA2String("\r\n"); n = RTTYClient::print(lf); } else if((_encoding == ASCII) || (_encoding == ASCII_EXTENDED)) { n = RTTYClient::write("\r\n"); @@ -437,7 +437,7 @@ size_t RTTYClient::printNumber(unsigned long n, uint8_t base) { size_t l = 0; if(_encoding == ITA2) { - ITA2String ita2 = str; + ITA2String ita2 = ITA2String(str); uint8_t* arr = ita2.byteArr(); l = RTTYClient::write(arr, ita2.length()); delete[] arr; @@ -461,7 +461,7 @@ size_t RTTYClient::printFloat(double number, uint8_t digits) { if(code[0] != 0x00) { if(_encoding == ITA2) { - ITA2String ita2 = code; + ITA2String ita2 = ITA2String(code); uint8_t* arr = ita2.byteArr(); n = RTTYClient::write(arr, ita2.length()); delete[] arr; @@ -474,7 +474,7 @@ size_t RTTYClient::printFloat(double number, uint8_t digits) { // Handle negative numbers if (number < 0.0) { if(_encoding == ITA2) { - ITA2String ita2 = "-"; + ITA2String ita2 = ITA2String("-"); uint8_t* arr = ita2.byteArr(); n += RTTYClient::write(arr, ita2.length()); delete[] arr; @@ -499,7 +499,7 @@ size_t RTTYClient::printFloat(double number, uint8_t digits) { // Print the decimal point, but only if there are digits beyond if(digits > 0) { if(_encoding == ITA2) { - ITA2String ita2 = "."; + ITA2String ita2 = ITA2String("."); uint8_t* arr = ita2.byteArr(); n += RTTYClient::write(arr, ita2.length()); delete[] arr; diff --git a/src/protocols/RTTY/RTTY.h b/src/protocols/RTTY/RTTY.h index 7dc54076..a7bfbf73 100644 --- a/src/protocols/RTTY/RTTY.h +++ b/src/protocols/RTTY/RTTY.h @@ -29,14 +29,14 @@ class ITA2String { \param c ASCII-encoded character to encode as ITA2. */ - ITA2String(char c); + explicit ITA2String(char c); /*! \brief Default string constructor. \param str ASCII-encoded string to encode as ITA2. */ - ITA2String(const char* str); + explicit ITA2String(const char* str); /*! \brief Default destructor. @@ -69,7 +69,7 @@ class ITA2String { size_t _len; size_t _ita2Len; - uint16_t getBits(char c); + static uint16_t getBits(char c); }; // supported encoding schemes @@ -89,7 +89,7 @@ class RTTYClient { \param phy Pointer to the wireless module providing PhysicalLayer communication. */ - RTTYClient(PhysicalLayer* phy); + explicit RTTYClient(PhysicalLayer* phy); #if !defined(RADIOLIB_EXCLUDE_AFSK) /*! @@ -97,7 +97,7 @@ class RTTYClient { \param audio Pointer to the AFSK instance providing audio. */ - RTTYClient(AFSKClient* audio); + explicit RTTYClient(AFSKClient* audio); #endif // basic methods @@ -143,7 +143,7 @@ class RTTYClient { size_t println(void); size_t println(__FlashStringHelper*); size_t println(ITA2String &); - size_t println(const String &s); + size_t println(const String &); size_t println(const char[]); size_t println(char); size_t println(unsigned char, int = DEC); @@ -163,12 +163,12 @@ class RTTYClient { void* _audio; #endif - uint8_t _encoding; - uint32_t _base, _baseHz; - uint32_t _shift, _shiftHz; - uint32_t _bitDuration; - uint8_t _dataBits; - uint8_t _stopBits; + uint8_t _encoding = ASCII; + uint32_t _base = 0, _baseHz = 0; + uint32_t _shift = 0, _shiftHz = 0; + uint32_t _bitDuration = 0; + uint8_t _dataBits = 0; + uint8_t _stopBits = 0; void mark(); void space();