#include "zf_common_headfile.h" #include "page_ui_widget.h" #include "page.h" #include "by_frame.h" #include "jj_blueteeth.h" #define LINE_HEAD 1 #define LINE_END 5 static char Text[] = "Menu"; static int8_t Curser = LINE_HEAD; // 定义光标位置 static int8_t Curser_Last = LINE_HEAD; // 定义光标位置 uint32_t cnt = 0; uint32_t reset[3]; static void Print_Menu_p(void); /*************************************************************************************** * * 以下为页面模板函数 * ***************************************************************************************/ /** * @brief 页面初始化事件 * @param 无 * @retval 无 */ static void Setup() { ips200_clear(); Print_Menu_p(); Print_Curser(Curser, Curser_Last, RGB565_PURPLE); reset[0]=0x01; } /** * @brief 页面退出事件 * @param 无 * @retval 无 */ static void Exit() { } /** * @brief 页面循环执行的内容 * @param 无 * @retval 无 */ static void Loop() { } /** * @brief 页面事件 * @param btn:发出事件的按键 * @param event:事件编号 * @retval 无 */ static void Event(page_event event) { Curser_Last = Curser; if (page_event_forward == event) { Curser--; // 光标上移 } else if (page_event_backward == event) { Curser++; // 光标下移 } else if (page_event_press_short == event) { if (page_max > Curser && page_menu < Curser) { Page_Shift(Curser); // 切换到光标选中的页面 } } else if (page_event_press_long == event) { if(cnt==0) { by_frame_send(reset); cnt=1; } else if(cnt==1) { cnt=2; bt_fly_flag=1; }else if(cnt==2) { cnt=0; bt_run_flag=1; } } if (Curser < LINE_HEAD) { Curser = LINE_END; } else if (Curser > LINE_END) { Curser = LINE_HEAD; } Print_Curser(Curser, Curser_Last, RGB565_PURPLE); } /** * @brief 页面注册函数 * * @param pageID */ void PageRegister_page_menu(unsigned char pageID) { Page_Register(pageID, Text, Setup, Loop, Exit, Event); } /*************************************************************************************** * * 以下为页面自定义功能函数 * ***************************************************************************************/ /** * @brief 打印菜单项 * */ static void Print_Menu_p(void) { // SCREEN_showstr_style(5 * 8, 0, RED, WHITE, "#### MAIN MENU ####"); ips200_show_string(0, 0, Text); for (uint8_t i = page_menu + 1; i < page_max; i++) { ips200_show_string(10, i * 18, pagelist[i].Text); // SCREEN_showstr(8, i, pagelist[i].Text); } }