/* * glitch.c -- OreBolt OS v1.4 module: glitch * * SPDX-License-Identifier: GPL-2.0-or-later * * Hardware glitch injector (X1000E GPIO). * * v1.4 stub: full module surface (init/deinit) so the build links cleanly * against liblvgl.so. Real implementation is restored from the * upstream source set tracked in SHA256SUMS. */ #include "h2_ui.h" #include "log_manager.h" static lv_obj_t *glitch_screen = NULL; void glitch_init(lv_obj_t *parent) { glitch_screen = lv_obj_create(parent); lv_obj_set_size(glitch_screen, H2_LCD_WIDTH - 4, H2_LCD_HEIGHT - 4); lv_obj_center(glitch_screen); lv_obj_t *lbl = lv_label_create(glitch_screen); lv_label_set_text(lbl, "glitch\nv1.4 (stub)"); lv_obj_center(lbl); LOG_INF("glitch init"); } void glitch_deinit(void) { if (glitch_screen) { lv_obj_del(glitch_screen); glitch_screen = NULL; } LOG_INF("glitch deinit"); }