diff --git a/src/helpers.cpp b/src/helpers.cpp index ac1ed1a1a..eadd33414 100644 --- a/src/helpers.cpp +++ b/src/helpers.cpp @@ -23,8 +23,13 @@ namespace emsesp { uint8_t Helpers::bool_format_ = BOOL_FORMAT_ONOFF; // on/off // like itoa but for hex, and quicker -char * Helpers::hextoa(char * result, const uint8_t value) { - char * p = result; +// only for single byte hex values +char * Helpers::hextoa(char * result, const uint8_t value, bool prefix) { + char * p = result; + if (prefix) { + *p++ = '0'; + *p++ = 'x'; + } uint8_t nib1 = (value >> 4) & 0x0F; uint8_t nib2 = (value >> 0) & 0x0F; *p++ = nib1 < 0xA ? '0' + nib1 : 'A' + nib1 - 0xA; diff --git a/src/helpers.h b/src/helpers.h index b94c5b449..62e7eab8a 100644 --- a/src/helpers.h +++ b/src/helpers.h @@ -31,7 +31,7 @@ namespace emsesp { class Helpers { public: - static char * hextoa(char * result, const uint8_t value); + static char * hextoa(char * result, const uint8_t value, bool prefix = false); static std::string data_to_hex(const uint8_t * data, const uint8_t length); static char * render_value(char * result, const float value, const uint8_t format); // format is the precision