mirror of
https://github.com/i12bp8/TagTinker.git
synced 2026-09-30 07:17:54 +00:00
- Flipper FAP: WiFi Setup, Plugins picker, plugin-run scene wired into Targeted Payloads -> <tag> -> WiFi Plugins - Framed UART link to the dev board with bulk-read RX path and 16 KB stream buffer to keep up with full plugin bursts - ESP firmware: 900 KB UART<->HTTPS bridge, USB-Serial-JTAG console, cert-bundle TLS, 16 KB worker stack to host mbedTLS handshake - Cloudflare Worker: Crypto, Weather, Identicon plugins out of the box; new plugins are a single TypeScript file, no Flipper reflash - Shared protocol header + 1bpp BMP writer that matches web-image-prep palette/stride conventions
82 lines
2.9 KiB
C
82 lines
2.9 KiB
C
/*
|
|
* Scene handler table
|
|
*/
|
|
|
|
#include "tagtinker_scene.h"
|
|
|
|
void(*const tagtinker_scene_on_enter_handlers[])(void*) = {
|
|
tagtinker_scene_warning_on_enter,
|
|
tagtinker_scene_main_menu_on_enter,
|
|
tagtinker_scene_settings_on_enter,
|
|
tagtinker_scene_broadcast_menu_on_enter,
|
|
tagtinker_scene_broadcast_on_enter,
|
|
tagtinker_scene_target_menu_on_enter,
|
|
tagtinker_scene_target_actions_on_enter,
|
|
tagtinker_scene_barcode_input_on_enter,
|
|
tagtinker_scene_text_input_on_enter,
|
|
tagtinker_scene_preset_list_on_enter,
|
|
tagtinker_scene_synced_image_list_on_enter,
|
|
tagtinker_scene_size_picker_on_enter,
|
|
tagtinker_scene_image_options_on_enter,
|
|
tagtinker_scene_transmit_on_enter,
|
|
tagtinker_scene_about_on_enter,
|
|
tagtinker_scene_text_box_on_enter,
|
|
tagtinker_scene_nfc_scan_on_enter,
|
|
tagtinker_scene_wifi_plugins_on_enter,
|
|
tagtinker_scene_wifi_setup_on_enter,
|
|
tagtinker_scene_wifi_run_on_enter,
|
|
};
|
|
|
|
bool(*const tagtinker_scene_on_event_handlers[])(void*, SceneManagerEvent) = {
|
|
tagtinker_scene_warning_on_event,
|
|
tagtinker_scene_main_menu_on_event,
|
|
tagtinker_scene_settings_on_event,
|
|
tagtinker_scene_broadcast_menu_on_event,
|
|
tagtinker_scene_broadcast_on_event,
|
|
tagtinker_scene_target_menu_on_event,
|
|
tagtinker_scene_target_actions_on_event,
|
|
tagtinker_scene_barcode_input_on_event,
|
|
tagtinker_scene_text_input_on_event,
|
|
tagtinker_scene_preset_list_on_event,
|
|
tagtinker_scene_synced_image_list_on_event,
|
|
tagtinker_scene_size_picker_on_event,
|
|
tagtinker_scene_image_options_on_event,
|
|
tagtinker_scene_transmit_on_event,
|
|
tagtinker_scene_about_on_event,
|
|
tagtinker_scene_text_box_on_event,
|
|
tagtinker_scene_nfc_scan_on_event,
|
|
tagtinker_scene_wifi_plugins_on_event,
|
|
tagtinker_scene_wifi_setup_on_event,
|
|
tagtinker_scene_wifi_run_on_event,
|
|
};
|
|
|
|
void(*const tagtinker_scene_on_exit_handlers[])(void*) = {
|
|
tagtinker_scene_warning_on_exit,
|
|
tagtinker_scene_main_menu_on_exit,
|
|
tagtinker_scene_settings_on_exit,
|
|
tagtinker_scene_broadcast_menu_on_exit,
|
|
tagtinker_scene_broadcast_on_exit,
|
|
tagtinker_scene_target_menu_on_exit,
|
|
tagtinker_scene_target_actions_on_exit,
|
|
tagtinker_scene_barcode_input_on_exit,
|
|
tagtinker_scene_text_input_on_exit,
|
|
tagtinker_scene_preset_list_on_exit,
|
|
tagtinker_scene_synced_image_list_on_exit,
|
|
tagtinker_scene_size_picker_on_exit,
|
|
tagtinker_scene_image_options_on_exit,
|
|
tagtinker_scene_transmit_on_exit,
|
|
tagtinker_scene_about_on_exit,
|
|
tagtinker_scene_text_box_on_exit,
|
|
tagtinker_scene_nfc_scan_on_exit,
|
|
tagtinker_scene_wifi_plugins_on_exit,
|
|
tagtinker_scene_wifi_setup_on_exit,
|
|
tagtinker_scene_wifi_run_on_exit,
|
|
};
|
|
|
|
const SceneManagerHandlers tagtinker_scene_handlers = {
|
|
.on_enter_handlers = tagtinker_scene_on_enter_handlers,
|
|
.on_event_handlers = tagtinker_scene_on_event_handlers,
|
|
.on_exit_handlers = tagtinker_scene_on_exit_handlers,
|
|
.scene_num = TagTinkerSceneCount,
|
|
};
|