For registratoin ID testing

This commit is contained in:
3djc
2019-02-06 11:52:00 +01:00
parent 80c34c7597
commit b590a653d7
3 changed files with 33 additions and 2 deletions
+13
View File
@@ -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);
+2 -1
View File
@@ -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);
+18 -1
View File
@@ -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<LEN_REGISTRATION_ID; pos++)
{
lcdDrawHexChar(MODEL_SETUP_2ND_COLUMN + pos*FW*2,y, g_model.modelRegistrationID[pos], menuHorizontalPosition==pos ? attr : 0);
lcdDrawChar(lcdLastRightPos, y, ':');
if (attr && menuHorizontalPosition==pos) {
CHECK_INCDEC_MODELVAR_ZERO(event, g_model.modelRegistrationID[pos], 0xff);
}
}
}
break;
case ITEM_MODEL_INTERNAL_MODULE_MODEL_NUM:
{
lcdDrawTextAlignedLeft(y, STR_RECEIVER_NUM);