From 32da2a5fa6042ac35652e76594d0a6722141aec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mario=20H=C3=BCttel?= Date: Sun, 29 Nov 2020 19:01:24 +0100 Subject: [PATCH] Reflow Controller GUI: Move gui to gui.c file in UI subfolder --- stm-firmware/Makefile | 2 +- .../reflow-controller/hw-version-detect.h | 31 +++++++++++++++++++ .../{reflow-menu.h => ui/gui.h} | 10 +++--- stm-firmware/{reflow-menu.c => ui/gui.c} | 22 ++++++------- 4 files changed, 48 insertions(+), 17 deletions(-) create mode 100644 stm-firmware/include/reflow-controller/hw-version-detect.h rename stm-firmware/include/reflow-controller/{reflow-menu.h => ui/gui.h} (86%) rename stm-firmware/{reflow-menu.c => ui/gui.c} (93%) diff --git a/stm-firmware/Makefile b/stm-firmware/Makefile index b1f31d8..897eea4 100644 --- a/stm-firmware/Makefile +++ b/stm-firmware/Makefile @@ -42,7 +42,7 @@ CFILES += stm-periph/unique-id.c CFILES += calibration.c CFILES += temp-converter.c CFILES += rotary-encoder.c button.c -CFILES += ui/lcd.c ui/menu.c reflow-menu.c +CFILES += ui/lcd.c ui/menu.c ui/gui.c CFILES += fatfs/diskio.c fatfs/ff.c fatfs/ffsystem.c fatfs/ffunicode.c fatfs/shimatta_sdio_driver/shimatta_sdio.c CFILES += pid-controller.c oven-driver.c CFILES += settings/settings.c settings/settings-sd-card.c diff --git a/stm-firmware/include/reflow-controller/hw-version-detect.h b/stm-firmware/include/reflow-controller/hw-version-detect.h new file mode 100644 index 0000000..cb94afd --- /dev/null +++ b/stm-firmware/include/reflow-controller/hw-version-detect.h @@ -0,0 +1,31 @@ +#ifndef _HW_VERSION_DETECT_H_ +#define _HW_VERSION_DETECT_H_ + +#include + +enum hw_revision { + HW_REV_NOT_DETECTED = 0, + HW_REV_ERROR = 1, + HW_REV_V1_2 = 120, + HW_REV_V1_3 = 130, +}; + +/** + * @brief This function returns the hardware version of the PCB. + * + * This is used to + * determine the feature set of the hardware. So this firmware can be used on all hardwares. + * + * The first hardware revision supported, is: v1.2 + * + * The function returns the HW revision as an enum hw_revision. + * For v1.2 the return value is 120 (HW_REV_V1_2). + * For v1.3 the return value is 130 (HW_REV_V1_3). + * + * Other return values are not defined yet. + * + * @return Harware revision + */ +enum hw_revision get_pcb_hardware_version(void); + +#endif /* _HW_VERSION_DETECT_H_ */ diff --git a/stm-firmware/include/reflow-controller/reflow-menu.h b/stm-firmware/include/reflow-controller/ui/gui.h similarity index 86% rename from stm-firmware/include/reflow-controller/reflow-menu.h rename to stm-firmware/include/reflow-controller/ui/gui.h index c17c511..26c0ad2 100644 --- a/stm-firmware/include/reflow-controller/reflow-menu.h +++ b/stm-firmware/include/reflow-controller/ui/gui.h @@ -18,15 +18,15 @@ * If not, see . */ -#ifndef __REFLOW_MENU_H__ -#define __REFLOW_MENU_H__ +#ifndef _GUI_H_ +#define _GUI_H_ /** * @brief Handle the reflow controller's LCD Menu * @return 0 if no delay is requested, 1 if delay is requested */ -int reflow_menu_handle(void); +int gui_handle(void); -void reflow_menu_init(void); +void gui_init(void); -#endif /* __REFLOW_MENU_H__ */ +#endif /* _GUI_H_ */ diff --git a/stm-firmware/reflow-menu.c b/stm-firmware/ui/gui.c similarity index 93% rename from stm-firmware/reflow-menu.c rename to stm-firmware/ui/gui.c index 0d3f4c9..6342484 100644 --- a/stm-firmware/reflow-menu.c +++ b/stm-firmware/ui/gui.c @@ -18,7 +18,7 @@ * If not, see . */ -#include +#include #include #include #include @@ -54,7 +54,7 @@ static void update_display_buffer(uint8_t row, const char *data) display_buffer[row][i] = 0; } -static void reflow_menu_monitor(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) +static void gui_menu_monitor(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) { static void *my_parent; static uint64_t my_timestamp = 0; @@ -104,7 +104,7 @@ static void reflow_menu_monitor(struct lcd_menu *menu, enum menu_entry_func_entr } } -static void reflow_menu_about(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) +static void gui_menu_about(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) { static void *my_parent; static int page = 0; @@ -217,7 +217,7 @@ static void reflow_menu_about(struct lcd_menu *menu, enum menu_entry_func_entry } } -static void reflow_menu_err_flags(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) +static void gui_menu_err_flags(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) { static void *my_parent = NULL; static uint8_t offset; @@ -297,7 +297,7 @@ static void reflow_menu_err_flags(struct lcd_menu *menu, enum menu_entry_func_en timestamp = systick_get_global_tick(); } -static void reflow_menu_root_entry(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) +static void gui_menu_root_entry(struct lcd_menu *menu, enum menu_entry_func_entry entry_type, void *parent) { (void)parent; static struct menu_list list; @@ -309,9 +309,9 @@ static void reflow_menu_root_entry(struct lcd_menu *menu, enum menu_entry_func_e NULL }; static const menu_func_t root_entry_funcs[] = { - reflow_menu_about, - reflow_menu_monitor, - reflow_menu_err_flags, + gui_menu_about, + gui_menu_monitor, + gui_menu_err_flags, }; enum button_state push_button; int16_t rot_delta; @@ -352,7 +352,7 @@ static void reflow_menu_root_entry(struct lcd_menu *menu, enum menu_entry_func_e menu_list_display(&list, 1, 3); } -int reflow_menu_handle() +int gui_handle() { int32_t rot_delta; enum button_state button; @@ -374,11 +374,11 @@ int reflow_menu_handle() return 1; } -void reflow_menu_init() +void gui_init() { rotary_encoder_setup(); button_init(); lcd_init(); - menu_init(reflow_menu_ptr, reflow_menu_root_entry, update_display_buffer); + menu_init(reflow_menu_ptr, gui_menu_root_entry, update_display_buffer); }