Reflow Controller GUI: Move gui to gui.c file in UI subfolder

This commit is contained in:
Mario Hüttel 2020-11-29 19:01:24 +01:00
parent ec66814184
commit 32da2a5fa6
4 changed files with 48 additions and 17 deletions

View File

@ -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

View File

@ -0,0 +1,31 @@
#ifndef _HW_VERSION_DETECT_H_
#define _HW_VERSION_DETECT_H_
#include <stdint.h>
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_ */

View File

@ -18,15 +18,15 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#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_ */

View File

@ -18,7 +18,7 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <reflow-controller/reflow-menu.h>
#include <reflow-controller/ui/gui.h>
#include <reflow-controller/ui/menu.h>
#include <reflow-controller/ui/lcd.h>
#include <reflow-controller/rotary-encoder.h>
@ -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);
}