Merge pull request #461 from eshifri/eshifri/timer

Fix timer edit and time display in logical switch edit
This commit is contained in:
Raphael Coeffic
2021-07-18 12:43:11 +02:00
committed by GitHub
2 changed files with 13 additions and 3 deletions
+9 -1
View File
@@ -416,6 +416,12 @@ void drawSensorCustomValue(BitmapBuffer * dc, coord_t x, coord_t y, uint8_t sens
}
}
// libopemui defines TIMOUR as zero
#if !TIMHOUR
#undef TIMEHOUR
#define TIMEHOUR 0x2000
#endif
void drawTimer(BitmapBuffer * dc, coord_t x, coord_t y, int32_t tme, LcdFlags flags)
{
char str[LEN_TIMER_STRING];
@@ -437,7 +443,9 @@ void drawSourceCustomValue(BitmapBuffer * dc, coord_t x, coord_t y, source_t sou
}
else if (source >= MIXSRC_FIRST_TIMER || source == MIXSRC_TX_TIME) {
// TODO if (value < 0) flags |= BLINK|INVERS;
// TODO drawTimer(dc, x, y, value, flags);
if (source == MIXSRC_TX_TIME) flags |= TIMEHOUR;
drawTimer(dc, x, y, value, flags);
//dc->drawNumber(x, y, lswTimerValue(value), flags | PREC1);
}
else if (source == MIXSRC_TX_VOLTAGE) {
dc->drawNumber(x, y, value, flags|PREC1);
@@ -144,14 +144,16 @@ class LogicalSwitchEditPage: public Page
new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_V1);
auto timer = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), -128, 122, GET_SET_DEFAULT(cs->v1));
timer->setDisplayHandler([](BitmapBuffer * dc, LcdFlags flags, int32_t value) {
dc->drawNumber(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, lswTimerValue(value), flags | PREC1);
//dc->drawNumber(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, lswTimerValue(value), flags | PREC1);
drawTimer(dc, FIELD_PADDING_LEFT, FIELD_PADDING_TOP, value, flags);
});
grid.nextLine();
new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_V2);
timer = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), -128, 122, GET_SET_DEFAULT(cs->v2));
timer->setDisplayHandler([](BitmapBuffer * dc, LcdFlags flags, int32_t value) {
dc->drawNumber(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, lswTimerValue(value), flags | PREC1);
//dc->drawNumber(FIELD_PADDING_LEFT, FIELD_PADDING_TOP, lswTimerValue(value), flags | PREC1);
drawTimer(dc, FIELD_PADDING_LEFT, FIELD_PADDING_TOP, value, flags);
});
grid.nextLine();
}