parent
f0bda07742
commit
9bbc8fafe5
@ -25,9 +25,7 @@ void AppiButton::run() {
|
||||
|
||||
AppiButtonEvent event;
|
||||
while(1) {
|
||||
osStatus_t event_status = osMessageQueueGet(event_queue, &event, NULL, 100);
|
||||
|
||||
if(event_status == osOK) {
|
||||
if(get_event(&event, 100)) {
|
||||
if(event.type == AppiButtonEvent::EventTypeKey) {
|
||||
// press events
|
||||
if(event.value.input.state && event.value.input.input == InputBack) {
|
||||
@ -63,7 +61,9 @@ void AppiButton::render(CanvasApi* canvas) {
|
||||
canvas->set_font(canvas, FontPrimary);
|
||||
canvas->draw_str(canvas, 2, 12, "iButton");
|
||||
|
||||
mode[state.mode_index]->render(canvas, &state);
|
||||
if(mode[state.mode_index] != NULL) {
|
||||
mode[state.mode_index]->render(canvas, &state);
|
||||
}
|
||||
}
|
||||
|
||||
void AppiButton::blink_red() {
|
||||
|
@ -42,7 +42,7 @@ public:
|
||||
GpioPin* green_led_record;
|
||||
|
||||
static const uint8_t modes_count = 2;
|
||||
AppTemplateMode<AppiButtonState, AppiButtonEvent>* mode[modes_count];
|
||||
AppTemplateMode<AppiButtonState, AppiButtonEvent>* mode[modes_count] = {NULL, NULL};
|
||||
|
||||
void run();
|
||||
void render(CanvasApi* canvas);
|
||||
|
Loading…
Reference in New Issue
Block a user