#pragma once #include "lvgl.h" #include "motor.h" /** Numberstack button callback type */ typedef void (*ns_btn_cb_t)(lv_event_t *); typedef struct { ns_btn_cb_t top_cb; ns_btn_cb_t bottom_cb; } ns_widget_ctx_t; /** Numberstack widget context type */ typedef enum { STOPPED, SPINUP, COATING, SPINDOWN } coat_state; lv_obj_t * build_numberstack(lv_obj_t * parent, const char * label_text, lv_obj_t ** label_value, ns_btn_cb_t top_btn_cb, ns_btn_cb_t bottom_btn_cb, uint16_t start_value, uint16_t stepsize); void update_rpm_readout(uint16_t rpm); void build_ui(void);