2023-12-19 16:55:05 +08:00
|
|
|
/*
|
|
|
|
|
* @Author: CaoWangrenbo cao.wangrenbo@yandex.com
|
|
|
|
|
* @Date: 2023-03-19 18:28:44
|
|
|
|
|
* @LastEditors: CaoWangrenbo cao.wangrenbo@yandex.com
|
|
|
|
|
* @LastEditTime: 2023-03-19 20:43:00
|
|
|
|
|
* @FilePath: \icr18_btl143_ch32v_slave\project\code\page\fd_page.h
|
|
|
|
|
* @Description:
|
|
|
|
|
*
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
#ifndef _FD_PAGE_H__
|
|
|
|
|
#define _FD_PAGE_H__
|
|
|
|
|
|
|
|
|
|
#include "zf_common_headfile.h"
|
|
|
|
|
|
2024-01-04 22:07:13 +08:00
|
|
|
#include "by_rt_button.h"
|
|
|
|
|
|
2023-12-19 16:55:05 +08:00
|
|
|
enum PageID {
|
|
|
|
|
PAGE_NULL = -1,
|
|
|
|
|
//......
|
|
|
|
|
page_menu,
|
2024-06-07 21:55:55 +08:00
|
|
|
// page_rtcam,
|
2024-03-28 04:24:59 +08:00
|
|
|
page_param_pid0,
|
|
|
|
|
page_param_pid1,
|
2024-06-07 21:55:55 +08:00
|
|
|
page_param_pid2,
|
2024-07-02 20:32:08 +08:00
|
|
|
page_param_pid3,
|
2024-03-05 21:28:08 +08:00
|
|
|
page_dparam,
|
2023-12-19 16:55:05 +08:00
|
|
|
// page_argv,
|
|
|
|
|
// page_sys,
|
|
|
|
|
// page_run,
|
|
|
|
|
//......
|
|
|
|
|
page_max,
|
|
|
|
|
};
|
|
|
|
|
|
2024-06-07 21:55:55 +08:00
|
|
|
typedef enum page_event {
|
|
|
|
|
page_event_forward = rotate_button_forward,
|
|
|
|
|
page_event_backward = rotate_button_backward,
|
2024-01-05 15:55:17 +08:00
|
|
|
page_event_press_short = rotate_button_press_short,
|
2024-06-07 21:55:55 +08:00
|
|
|
page_event_press_long = rotate_button_press_long,
|
2023-12-19 16:55:05 +08:00
|
|
|
} page_event;
|
|
|
|
|
|
|
|
|
|
typedef void (*CallbackFunction_t)(void);
|
|
|
|
|
typedef void (*EventFunction_t)(page_event);
|
|
|
|
|
typedef struct {
|
|
|
|
|
char *Text;
|
|
|
|
|
CallbackFunction_t SetupCallback;
|
|
|
|
|
CallbackFunction_t LoopCallback;
|
|
|
|
|
CallbackFunction_t ExitCallback;
|
|
|
|
|
EventFunction_t EventCallback;
|
|
|
|
|
} PAGE_LIST;
|
|
|
|
|
|
2024-06-07 21:55:55 +08:00
|
|
|
// 页面注册函数
|
|
|
|
|
#define PAGE_REG(name) \
|
|
|
|
|
do { \
|
|
|
|
|
extern void PageRegister_##name(unsigned char pageID); \
|
|
|
|
|
PageRegister_##name(name); \
|
|
|
|
|
} while (0)
|
2023-12-19 16:55:05 +08:00
|
|
|
|
2023-12-21 22:33:36 +08:00
|
|
|
void Page_Register(uint8_t pageID, char *pageText,
|
2024-06-07 21:55:55 +08:00
|
|
|
CallbackFunction_t setupCallback, CallbackFunction_t loopCallback,
|
|
|
|
|
CallbackFunction_t exitCallback, EventFunction_t eventCallback);
|
2023-12-19 16:55:05 +08:00
|
|
|
|
|
|
|
|
void Page_EventTransmit(unsigned char event);
|
|
|
|
|
void Page_Shift(unsigned char pageID);
|
|
|
|
|
void Page_CloseCurrentPage(void);
|
|
|
|
|
void Page_OpenCurrentPage(void);
|
2023-12-21 22:33:36 +08:00
|
|
|
uint8_t Page_GetStatus(void);
|
2023-12-19 16:55:05 +08:00
|
|
|
void Page_Run(void);
|
|
|
|
|
void Page_Init(void);
|
|
|
|
|
|
|
|
|
|
extern PAGE_LIST pagelist[page_max];
|
|
|
|
|
|
|
|
|
|
#endif
|