Merge pull request #461 from eshifri/eshifri/timer
Fix timer edit and time display in logical switch edit
This commit is contained in:
@@ -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)
|
void drawTimer(BitmapBuffer * dc, coord_t x, coord_t y, int32_t tme, LcdFlags flags)
|
||||||
{
|
{
|
||||||
char str[LEN_TIMER_STRING];
|
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) {
|
else if (source >= MIXSRC_FIRST_TIMER || source == MIXSRC_TX_TIME) {
|
||||||
// TODO if (value < 0) flags |= BLINK|INVERS;
|
// 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) {
|
else if (source == MIXSRC_TX_VOLTAGE) {
|
||||||
dc->drawNumber(x, y, value, flags|PREC1);
|
dc->drawNumber(x, y, value, flags|PREC1);
|
||||||
|
|||||||
@@ -144,14 +144,16 @@ class LogicalSwitchEditPage: public Page
|
|||||||
new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_V1);
|
new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_V1);
|
||||||
auto timer = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), -128, 122, GET_SET_DEFAULT(cs->v1));
|
auto timer = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), -128, 122, GET_SET_DEFAULT(cs->v1));
|
||||||
timer->setDisplayHandler([](BitmapBuffer * dc, LcdFlags flags, int32_t value) {
|
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();
|
grid.nextLine();
|
||||||
|
|
||||||
new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_V2);
|
new StaticText(logicalSwitchOneWindow, grid.getLabelSlot(), STR_V2);
|
||||||
timer = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), -128, 122, GET_SET_DEFAULT(cs->v2));
|
timer = new NumberEdit(logicalSwitchOneWindow, grid.getFieldSlot(), -128, 122, GET_SET_DEFAULT(cs->v2));
|
||||||
timer->setDisplayHandler([](BitmapBuffer * dc, LcdFlags flags, int32_t value) {
|
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();
|
grid.nextLine();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user