From b590a653d708ac391966f06dc163c5607ea58a2c Mon Sep 17 00:00:00 2001 From: 3djc Date: Wed, 6 Feb 2019 11:52:00 +0100 Subject: [PATCH] For registratoin ID testing --- radio/src/gui/128x64/lcd.cpp | 13 +++++++++++++ radio/src/gui/128x64/lcd.h | 3 ++- radio/src/gui/128x64/model_setup.cpp | 19 ++++++++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/radio/src/gui/128x64/lcd.cpp b/radio/src/gui/128x64/lcd.cpp index fa1cd058c..a9be302f3 100644 --- a/radio/src/gui/128x64/lcd.cpp +++ b/radio/src/gui/128x64/lcd.cpp @@ -428,6 +428,19 @@ void lcdDrawHexNumber(coord_t x, coord_t y, uint32_t val, LcdFlags flags) } } +void lcdDrawHexChar(coord_t x, coord_t y, uint8_t val, LcdFlags flags) +{ + x += FWNUM*2; + for (int i=0; i<2; i++) { + x -= FWNUM; + char c = val & 0xf; + c = c>9 ? c+'A'-10 : c+'0'; + lcdDrawChar(x, y, c, flags|(c>='A' ? CONDENSED : 0)); + val >>= 4; + } +} + + void lcdDraw8bitsNumber(coord_t x, coord_t y, int8_t val) { lcdDrawNumber(x, y, val); diff --git a/radio/src/gui/128x64/lcd.h b/radio/src/gui/128x64/lcd.h index c1a562130..3eb08e861 100644 --- a/radio/src/gui/128x64/lcd.h +++ b/radio/src/gui/128x64/lcd.h @@ -124,7 +124,8 @@ void lcdDrawTextAlignedLeft(coord_t y, const char * s); #define lcdDrawTextAlignedCenter(y, s) lcdDrawText((LCD_W-sizeof(TR_##s)*FW+FW+1)/2, y, STR_##s) - void lcdDrawHexNumber(coord_t x, coord_t y, uint32_t val, LcdFlags mode=0); +void lcdDrawHexNumber(coord_t x, coord_t y, uint32_t val, LcdFlags mode=0); +void lcdDrawHexChar(coord_t x, coord_t y, uint8_t val, LcdFlags flags=0); void lcdDrawNumber(coord_t x, coord_t y, lcdint_t val, LcdFlags mode, uint8_t len); void lcdDrawNumber(coord_t x, coord_t y, lcdint_t val, LcdFlags mode=0); diff --git a/radio/src/gui/128x64/model_setup.cpp b/radio/src/gui/128x64/model_setup.cpp index 25651de8a..090977c48 100644 --- a/radio/src/gui/128x64/model_setup.cpp +++ b/radio/src/gui/128x64/model_setup.cpp @@ -70,6 +70,7 @@ enum MenuModelSetupItems { #endif ITEM_MODEL_BEEP_CENTER, ITEM_MODEL_USE_GLOBAL_FUNCTIONS, + ITEM_MODEL_REGISTRATION_ID, #if defined(PCBTARANIS) ITEM_MODEL_INTERNAL_MODULE_LABEL, ITEM_MODEL_INTERNAL_MODULE_MODE, @@ -282,6 +283,7 @@ void menuModelSetup(event_t event) POT_WARN_ITEMS(), // Pot warning NUM_STICKS + NUM_POTS + NUM_SLIDERS + NUM_ROTARY_ENCODERS - 1, // Center beeps 0, // Global functions + 4, // Registration ID LABEL(InternalModule), INTERNAL_MODULE_MODE_ROWS, IF_INTERNAL_MODULE_ON((uint8_t)0), // Model Number @@ -734,7 +736,7 @@ void menuModelSetup(event_t event) if (attr) { g_model.moduleData[INTERNAL_MODULE].type = checkIncDec(event, g_model.moduleData[INTERNAL_MODULE].type, MODULE_TYPE_NONE, MODULE_TYPE_XJT, EE_MODEL, isInternalModuleAvailable); if (checkIncDec_Ret) { - /* ToDo : what needs toi happen on module enable/disable */ + /* ToDo : what needs to happen on module enable/disable */ } } break; @@ -1009,6 +1011,21 @@ void menuModelSetup(event_t event) #endif #if defined(PCBTARANIS) + case ITEM_MODEL_REGISTRATION_ID: + { + lcdDrawTextAlignedLeft(y, "Regis. ID"); + for(uint8_t pos=0; pos