Fixes and new apps (#30)

- M5 Unit Modules library + M5 Unit Test app
- Minor fixes for TodoList, TwoEleven, Snake, Brainfuck and Breakout
- Fixed SerialConsole to use the uart controller as it was broken in one of the many updates
- Fixed keyboard input in TwoEleven, Breakout, Magic8Ball and Snake
- Bluetooth Media Keys app, supports pressing physical keys to trigger the corresponding buttonmatrix button
- Epub Reader app
This commit is contained in:
Shadowtrance
2026-06-07 23:56:32 +10:00
committed by GitHub
parent 1f959c8bbf
commit dbf850c434
127 changed files with 11156 additions and 174 deletions
@@ -0,0 +1,49 @@
#pragma once
#include <array>
#include <lvgl.h>
#include <tactility/lvgl_icon_shared.h>
#include <tt_app.h>
class M5UnitTest;
class TestListView {
public:
void onStart(lv_obj_t* parent, AppHandle handle, M5UnitTest* app);
void onStop();
private:
lv_obj_t* list_ = nullptr;
M5UnitTest* app_ = nullptr;
static constexpr std::array<const char*, 11> UNIT_NAMES = {{
"8Encoder",
"ByteButton",
"Joystick2",
"Scroll",
"PaHub",
"Color LCD",
"LCD Gfx Test",
"Dual-Button",
"CardKB2",
"MIDI / Synth",
"RFID 2",
}};
// Interface icons from shared Material icon font
static constexpr std::array<const char*, 11> UNIT_ICONS = {{
LVGL_ICON_SHARED_SETTINGS, // 8Encoder - I2C
LVGL_ICON_SHARED_SETTINGS, // ByteButton - I2C
LVGL_ICON_SHARED_GAMEPAD, // Joystick2 - I2C
LVGL_ICON_SHARED_SETTINGS, // Scroll - I2C
LVGL_ICON_SHARED_HUB, // PaHub - I2C
LVGL_ICON_SHARED_DEVICES, // Color LCD - I2C
LVGL_ICON_SHARED_AREA_CHART, // LCD Gfx Test - I2C
LVGL_ICON_SHARED_ELECTRIC_BOLT, // Dual-Button - GPIO
LVGL_ICON_SHARED_KEYBOARD_ALT, // CardKB2 - I2C
LVGL_ICON_SHARED_MUSIC_NOTE, // MIDI / Synth - UART
LVGL_ICON_SHARED_WIFI, // RFID 2 - I2C
}};
static constexpr int UNIT_COUNT = UNIT_NAMES.size();
static void onBtnClicked(lv_event_t* e);
};