diff --git a/src/protocols/Print/ITA2String.cpp b/src/protocols/Print/ITA2String.cpp index 368edebf..809a1c56 100644 --- a/src/protocols/Print/ITA2String.cpp +++ b/src/protocols/Print/ITA2String.cpp @@ -122,11 +122,15 @@ uint16_t ITA2String::getBits(char c) { // search ITA2 table uint16_t code = 0x0000; for(uint8_t i = 0; i < RADIOLIB_ITA2_LENGTH; i++) { - if(RADIOLIB_NONVOLATILE_READ_BYTE(&ITA2Table[i][0]) == c) { + char* ptr = const_cast(&ITA2Table[i][0]); + if(RADIOLIB_NONVOLATILE_READ_BYTE(ptr) == c) { // character is in letter shift code = (RADIOLIB_ITA2_LTRS << 5) | i; break; - } else if(RADIOLIB_NONVOLATILE_READ_BYTE(&ITA2Table[i][1]) == c) { + } + + ptr = const_cast(&ITA2Table[i][1]); + if(RADIOLIB_NONVOLATILE_READ_BYTE(ptr) == c) { // character is in figures shift code = (RADIOLIB_ITA2_FIGS << 5) | i; break; diff --git a/src/protocols/Print/Print.cpp b/src/protocols/Print/Print.cpp index c7abe695..fffa26c4 100644 --- a/src/protocols/Print/Print.cpp +++ b/src/protocols/Print/Print.cpp @@ -59,7 +59,7 @@ size_t RadioLibPrint::print(const __FlashStringHelper* fstr) { ITA2String ita2 = ITA2String(str); n = RadioLibPrint::print(ita2); } else { - n = write((uint8_t*)str, len); + n = write(reinterpret_cast(str), len); } #if !RADIOLIB_STATIC_ONLY delete[] str; @@ -73,7 +73,7 @@ size_t RadioLibPrint::print(const String& str) { ITA2String ita2 = ITA2String(str.c_str()); n = RadioLibPrint::print(ita2); } else { - n = write((uint8_t*)str.c_str(), str.length()); + n = write(reinterpret_cast(const_cast(str.c_str())), str.length()); } return(n); } @@ -97,7 +97,7 @@ size_t RadioLibPrint::print(const char str[]) { ITA2String ita2 = ITA2String(str); n = RadioLibPrint::print(ita2); } else { - n = write((uint8_t*)str, strlen(str)); + n = write(reinterpret_cast(const_cast(str)), strlen(str)); } return(n); } diff --git a/src/protocols/Print/Print.h b/src/protocols/Print/Print.h index 3645416f..5760d484 100644 --- a/src/protocols/Print/Print.h +++ b/src/protocols/Print/Print.h @@ -62,8 +62,8 @@ class RadioLibPrint { uint8_t encoding = RADIOLIB_ASCII_EXTENDED; const char* lineFeed = "\r\n"; - size_t printNumber(unsigned long, uint8_t); - size_t printFloat(double, uint8_t); + virtual size_t printNumber(unsigned long, uint8_t); + virtual size_t printFloat(double, uint8_t); };