prefix 0x to printing hex values (optional)

This commit is contained in:
proddy
2020-10-17 16:56:28 +02:00
parent 07b8c3bb25
commit 1b1b1e6cee
2 changed files with 8 additions and 3 deletions

View File

@@ -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) {
// 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;

View File

@@ -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