feat: 初步移植菜单框架
This commit is contained in:
64
app/page/cw_page.h
Normal file
64
app/page/cw_page.h
Normal file
@@ -0,0 +1,64 @@
|
||||
/*
|
||||
* @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"
|
||||
|
||||
enum PageID {
|
||||
PAGE_NULL = -1,
|
||||
//......
|
||||
page_menu,
|
||||
// page_argv,
|
||||
// page_sys,
|
||||
// page_run,
|
||||
//......
|
||||
page_max,
|
||||
};
|
||||
|
||||
typedef enum page_event{
|
||||
page_event_forward,
|
||||
page_event_backward,
|
||||
page_event_press
|
||||
} 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;
|
||||
|
||||
//页面注册函数
|
||||
#define PAGE_REG(name)\
|
||||
do{\
|
||||
extern void PageRegister_##name(unsigned char pageID);\
|
||||
PageRegister_##name(name);\
|
||||
}while(0)
|
||||
|
||||
void Page_Register(uint8 pageID, char *pageText,
|
||||
CallbackFunction_t setupCallback, CallbackFunction_t loopCallback,
|
||||
CallbackFunction_t exitCallback, EventFunction_t eventCallback);
|
||||
|
||||
void Page_EventTransmit(unsigned char event);
|
||||
void Page_Shift(unsigned char pageID);
|
||||
void Page_CloseCurrentPage(void);
|
||||
void Page_OpenCurrentPage(void);
|
||||
uint8 Page_GetStatus(void);
|
||||
void Page_Run(void);
|
||||
void Page_Init(void);
|
||||
|
||||
extern PAGE_LIST pagelist[page_max];
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user