Use buttons.pressed for firmware
diff --git a/firmware/flash-loader/flash-loader.cpp b/firmware/flash-loader/flash-loader.cpp index 01803af..95813b7 100644 --- a/firmware/flash-loader/flash-loader.cpp +++ b/firmware/flash-loader/flash-loader.cpp
@@ -260,21 +260,18 @@ void FlashLoader::RenderFlashFile(uint32_t time) { static uint32_t lastRepeat = 0; - static uint32_t lastButtons = 0; if(!m_bFsInit) FSInit(); - uint32_t changedButtons = buttons ^ lastButtons; + bool button_a = buttons.pressed & Button::A; + bool button_x = buttons.pressed & Button::X; + bool button_y = buttons.pressed & Button::Y; - bool button_a = buttons & changedButtons & Button::A; - bool button_x = buttons & changedButtons & Button::X; - bool button_y = buttons & changedButtons & Button::Y; + bool button_up = buttons.pressed & Button::DPAD_UP; + bool button_down = buttons.pressed & Button::DPAD_DOWN; - bool button_up = buttons & changedButtons & Button::DPAD_UP; - bool button_down = buttons & changedButtons & Button::DPAD_DOWN; - - bool button_home = buttons & changedButtons & Button::HOME; + bool button_home = buttons.pressed & Button::HOME; if(time - lastRepeat > 150 || button_up || button_down) { button_up = buttons & Button::DPAD_UP; @@ -282,8 +279,6 @@ lastRepeat = time; } - lastButtons = buttons; - screen.pen = Pen(0,0,0); screen.rectangle(Rect(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)); screen.pen = Pen(255, 255, 255);