2023-07-13 15:32:01 +00:00
|
|
|
|
#include "Menu.h"
|
|
|
|
|
|
2023-07-15 03:40:04 +00:00
|
|
|
|
u8g2_t u8g2;
|
|
|
|
|
uint8_t Page_State=0;
|
2023-07-13 15:32:01 +00:00
|
|
|
|
extern uint8_t KEY_STATE;
|
|
|
|
|
|
2023-07-06 09:42:13 +00:00
|
|
|
|
/* Page*/
|
|
|
|
|
xpMenu NowPage;
|
|
|
|
|
xMenu
|
|
|
|
|
MainPage, // 一级Page
|
|
|
|
|
Page1, Page2, Page3, Page4, Page5, // 二级Page
|
|
|
|
|
No3Page1, No3Page2, No3Page3; // 三级Page
|
|
|
|
|
|
|
|
|
|
/* item */
|
|
|
|
|
// 一级Page的item
|
|
|
|
|
xpItem Selectitm;
|
2023-07-13 15:32:01 +00:00
|
|
|
|
xItem Mainitem1, Mainitem2, Mainitem3, Mainitem4, Mainitem5, Mainitem6,Mainitem7;
|
2023-07-06 09:42:13 +00:00
|
|
|
|
// 二级Page的item
|
|
|
|
|
xItem Page1item1, Page1item2, Page1item3, Page1item4;
|
|
|
|
|
xItem Page2item1, Page2item2, Page2item3, Page2item4;
|
|
|
|
|
xItem Page3item1, Page3item2, Page3item3, Page3item4;
|
|
|
|
|
xItem Page4item1, Page4item2, Page4item3, Page4item4;
|
|
|
|
|
xItem Page5item1, Page5item2, Page5item3, Page5item4;
|
|
|
|
|
// 三级Page的item
|
2023-07-13 15:32:01 +00:00
|
|
|
|
xItem No3Page1item1, No3Page1item2, No3Page1item3, No3Page1item4,
|
|
|
|
|
No3Page2item1, No3Page2item2, No3Page2item3, No3Page2item4;
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
|
|
|
|
void AddPage(const char *name, xpMenu page)
|
|
|
|
|
{
|
|
|
|
|
page->PageName = name;
|
|
|
|
|
page->itemHead = NULL;
|
|
|
|
|
page->itemTail = NULL;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AddItem(const char *Name, xpItem item, xpMenu LocalPage, xpMenu nextpage)
|
|
|
|
|
{
|
|
|
|
|
item->itemName = Name;
|
|
|
|
|
item->location = LocalPage;
|
|
|
|
|
item->JumpPage = nextpage;
|
|
|
|
|
/* 新建item的下一个肯定是null */
|
|
|
|
|
item->nextiTem = NULL;
|
|
|
|
|
/* 如果可以跳转,那么此item是跳转页面的父级 */
|
|
|
|
|
if (nextpage != NULL)
|
|
|
|
|
nextpage->ParentiTem = item;
|
|
|
|
|
/* 链式结构创建item */
|
|
|
|
|
if (LocalPage->itemHead == NULL) // 如果是第一个iTem
|
|
|
|
|
{
|
2023-07-11 14:25:14 +00:00
|
|
|
|
item->lastiTem = item;
|
2023-07-06 09:42:13 +00:00
|
|
|
|
LocalPage->itemHead = item;
|
|
|
|
|
LocalPage->itemTail = item;
|
|
|
|
|
LocalPage->len = 1;
|
|
|
|
|
}
|
|
|
|
|
else // 不是第一个item
|
|
|
|
|
{
|
|
|
|
|
item->lastiTem = LocalPage->itemTail; // 新item的last指向Local的tailitem
|
|
|
|
|
LocalPage->itemTail->nextiTem = item; // 让尾巴的next指向新的item,连接起来
|
|
|
|
|
LocalPage->itemTail = LocalPage->itemTail->nextiTem; // 让尾巴指向新的item
|
|
|
|
|
LocalPage->len++;
|
|
|
|
|
}
|
|
|
|
|
item->Num=LocalPage->len;
|
|
|
|
|
}
|
|
|
|
|
|
2023-07-16 06:08:01 +00:00
|
|
|
|
void Draw_Page(uint8_t pos, xpMenu Page, uint8_t LineSpacing, xpItem now_item,xpItem next_item)
|
2023-07-06 09:42:13 +00:00
|
|
|
|
{
|
2023-07-15 03:40:04 +00:00
|
|
|
|
static int8_t first_line=FirstLine;
|
2023-07-06 09:42:13 +00:00
|
|
|
|
xpItem temp = Page->itemHead;
|
2023-07-15 03:40:04 +00:00
|
|
|
|
|
2023-07-16 06:08:01 +00:00
|
|
|
|
if(next_item==now_item->JumpPage->itemHead&&next_item!=now_item) //切换页面时变量初始化
|
2023-07-15 03:40:04 +00:00
|
|
|
|
{first_line=FirstLine;}
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
2023-07-16 06:08:01 +00:00
|
|
|
|
if ((next_item->Num-now_item->Num>0)&&Page_State==CURSOR_STATIC)
|
2023-07-15 03:40:04 +00:00
|
|
|
|
{
|
|
|
|
|
Page_State=MENU_MOVE;
|
|
|
|
|
first_line-=Font_Size;
|
|
|
|
|
}
|
2023-07-16 06:08:01 +00:00
|
|
|
|
else if ((next_item->Num-now_item->Num<0)&&Page_State==CURSOR_STATIC)
|
2023-07-15 03:40:04 +00:00
|
|
|
|
{
|
|
|
|
|
Page_State=MENU_MOVE;
|
|
|
|
|
first_line+=Font_Size;
|
|
|
|
|
}
|
|
|
|
|
for (int i = 1; i <= Page->len; i++)
|
|
|
|
|
{
|
|
|
|
|
u8g2_DrawStr(&u8g2,pos,first_line + i * LineSpacing,temp->itemName);
|
|
|
|
|
temp = temp->nextiTem;
|
|
|
|
|
}
|
|
|
|
|
u8g2_DrawStr(&u8g2,pos,FirstLine,Page->PageName);
|
|
|
|
|
|
|
|
|
|
}
|
2023-07-13 15:32:01 +00:00
|
|
|
|
|
2023-07-11 14:25:14 +00:00
|
|
|
|
/**
|
|
|
|
|
* @brief 线性增长函数用于坐标移动
|
|
|
|
|
*
|
2023-07-13 15:32:01 +00:00
|
|
|
|
* @param Time_Now 当前时间
|
2023-07-11 14:25:14 +00:00
|
|
|
|
* @param Tgt 目标值
|
|
|
|
|
* @param Now 当前值
|
|
|
|
|
* @return uint8_t
|
|
|
|
|
*/
|
2023-07-16 06:08:01 +00:00
|
|
|
|
int8_t Line(uint8_t Time_Now,int8_t Tgt,int8_t Now)
|
2023-07-11 14:25:14 +00:00
|
|
|
|
{
|
2023-07-13 15:32:01 +00:00
|
|
|
|
return (Tgt-Now)*Time_Now/Time+Now; //return c * t / d + b;
|
2023-07-11 14:25:14 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-07-16 06:08:01 +00:00
|
|
|
|
void Draw_OptionPlace(xpItem next_item)
|
|
|
|
|
{
|
|
|
|
|
u8g2_DrawVLine(&u8g2,122,0,64);
|
|
|
|
|
for (uint8_t i = 0; i < next_item->location->len; i++)
|
|
|
|
|
{
|
|
|
|
|
u8g2_DrawHLine(&u8g2,119,i*(64/next_item->location->len),6);
|
|
|
|
|
}
|
|
|
|
|
u8g2_DrawBox(&u8g2,118,(next_item->Num-1)*(64/next_item->location->len)-4/2,8,4);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Draw_Menu(uint8_t pos, xpMenu Page, uint8_t LineSpacing, xpItem now_item,xpItem next_item)
|
2023-07-11 14:25:14 +00:00
|
|
|
|
{
|
2023-07-15 03:40:04 +00:00
|
|
|
|
uint8_t t=0;
|
2023-07-16 06:08:01 +00:00
|
|
|
|
uint8_t item_wide=strlen(now_item->itemName)*6+4;
|
2023-07-15 03:40:04 +00:00
|
|
|
|
static uint8_t item_line=LINE_MIN;
|
|
|
|
|
static int8_t Tgt_line=0;
|
|
|
|
|
static uint8_t first=0; //初始状态
|
|
|
|
|
|
2023-07-16 06:08:01 +00:00
|
|
|
|
u8g2_SetFont(&u8g2,u8g2_font_profont12_mf);
|
|
|
|
|
|
|
|
|
|
if(next_item==now_item->JumpPage->itemHead&&next_item!=now_item) //切换页面时变量初始化
|
2023-07-15 03:40:04 +00:00
|
|
|
|
{item_line=LINE_MIN;Tgt_line=0;first=0;Page_State=0;}
|
|
|
|
|
|
2023-07-16 06:08:01 +00:00
|
|
|
|
if ((next_item->Num-now_item->Num==0&&first==0)||next_item==now_item->JumpPage->itemHead)
|
2023-07-11 14:25:14 +00:00
|
|
|
|
{
|
2023-07-15 03:40:04 +00:00
|
|
|
|
Tgt_line=LINE_MIN;first=1;
|
|
|
|
|
}
|
2023-07-16 06:08:01 +00:00
|
|
|
|
else if (next_item->Num-now_item->Num>0)
|
2023-07-15 03:40:04 +00:00
|
|
|
|
{
|
|
|
|
|
Tgt_line+=Font_Size;
|
|
|
|
|
if (Tgt_line>LINE_MAX)
|
|
|
|
|
{
|
|
|
|
|
Page_State=CURSOR_STATIC;
|
|
|
|
|
Tgt_line=LINE_MAX;
|
|
|
|
|
}
|
2023-07-11 14:25:14 +00:00
|
|
|
|
}
|
2023-07-16 06:08:01 +00:00
|
|
|
|
else if(next_item->Num-now_item->Num<0)
|
2023-07-13 15:32:01 +00:00
|
|
|
|
{
|
2023-07-15 03:40:04 +00:00
|
|
|
|
Tgt_line-=Font_Size;
|
|
|
|
|
if (Tgt_line<LINE_MIN)
|
|
|
|
|
{
|
|
|
|
|
Page_State=CURSOR_STATIC;
|
|
|
|
|
Tgt_line=LINE_MIN;
|
|
|
|
|
}
|
2023-07-13 15:32:01 +00:00
|
|
|
|
}
|
2023-07-11 14:25:14 +00:00
|
|
|
|
#ifdef Head_To_Tail
|
|
|
|
|
Page->itemTail->nextiTem=Page->itemHead;
|
2023-07-06 09:42:13 +00:00
|
|
|
|
Page->itemHead->lastiTem=Page->itemTail;
|
2023-07-16 06:08:01 +00:00
|
|
|
|
if (__fabs(next_item->Num-now_item->Num)==now_item->location->len-1)
|
2023-07-11 14:25:14 +00:00
|
|
|
|
{
|
|
|
|
|
u8g2_ClearBuffer(&u8g2);
|
|
|
|
|
u8g2_SetDrawColor(&u8g2,1);
|
2023-07-16 06:08:01 +00:00
|
|
|
|
Draw_OptionPlace(next_item);
|
|
|
|
|
Draw_Page(pos,Page,LineSpacing,now_item,next_item);
|
2023-07-11 14:25:14 +00:00
|
|
|
|
u8g2_SetDrawColor(&u8g2,2);
|
|
|
|
|
u8g2_DrawRBox(&u8g2,pos,(next_item->Num)*LineSpacing,strlen(next_item->itemName)*6+4,Font_Size,4);
|
|
|
|
|
u8g2_SendBuffer(&u8g2);
|
|
|
|
|
return ;
|
|
|
|
|
}
|
|
|
|
|
#else
|
2023-07-16 06:08:01 +00:00
|
|
|
|
Page->itemTail->nextiTem=now_item;
|
2023-07-11 14:25:14 +00:00
|
|
|
|
#endif
|
|
|
|
|
do
|
|
|
|
|
{
|
|
|
|
|
u8g2_ClearBuffer(&u8g2);
|
2023-07-16 06:08:01 +00:00
|
|
|
|
t++;
|
|
|
|
|
u8g2_SetDrawColor(&u8g2,1);
|
|
|
|
|
Draw_OptionPlace(next_item);
|
|
|
|
|
Draw_Page(pos,Page,LineSpacing,now_item,next_item);
|
|
|
|
|
u8g2_SetDrawColor(&u8g2,2);
|
2023-07-15 03:40:04 +00:00
|
|
|
|
item_line=Line(t,Tgt_line,item_line);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
item_wide=Line(t,strlen(next_item->itemName)*6+4,item_wide);
|
2023-07-16 06:08:01 +00:00
|
|
|
|
u8g2_DrawRBox(&u8g2,pos+1,item_line-1,item_wide,Font_Size,4);
|
2023-07-11 14:25:14 +00:00
|
|
|
|
u8g2_SendBuffer(&u8g2);
|
|
|
|
|
} while (t<Time);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Show_MPU6050(void)
|
|
|
|
|
{
|
|
|
|
|
static float pitch,roll,yaw; //欧拉角
|
|
|
|
|
char Pi[20],Ro[20],Ya[20];
|
2023-07-13 15:32:01 +00:00
|
|
|
|
while (1)
|
2023-07-11 14:25:14 +00:00
|
|
|
|
{
|
2023-07-13 15:32:01 +00:00
|
|
|
|
if (key_read()==ENTER)
|
|
|
|
|
{
|
|
|
|
|
KEY_STATE=RESET;
|
2023-07-16 06:08:01 +00:00
|
|
|
|
KeyEXTI_Open();
|
2023-07-13 15:32:01 +00:00
|
|
|
|
break;
|
2023-07-15 03:40:04 +00:00
|
|
|
|
}
|
2023-07-13 15:32:01 +00:00
|
|
|
|
mpu_dmp_get_data(&pitch,&roll,&yaw);
|
|
|
|
|
sprintf(Pi,"Pitch = %.2f",pitch);
|
|
|
|
|
sprintf(Ro,"Roll = %.2f",roll);
|
|
|
|
|
sprintf(Ya,"Yaw = %.2f",yaw);
|
|
|
|
|
u8g2_ClearBuffer(&u8g2);
|
|
|
|
|
u8g2_DrawStr(&u8g2,0,12,Pi);
|
|
|
|
|
u8g2_DrawStr(&u8g2,0,36,Ro);
|
|
|
|
|
u8g2_DrawStr(&u8g2,0,58,Ya);
|
|
|
|
|
u8g2_SendBuffer(&u8g2);
|
|
|
|
|
}
|
2023-07-11 14:25:14 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Show_GitHub(void)
|
|
|
|
|
{
|
2023-07-13 15:32:01 +00:00
|
|
|
|
const char* GitHub1="https://github.com/JF";
|
|
|
|
|
const char* GitHub2="eng-Z/MY_GUI.git";
|
2023-07-11 14:25:14 +00:00
|
|
|
|
u8g2_ClearBuffer(&u8g2);
|
|
|
|
|
u8g2_DrawStr(&u8g2,0,24,GitHub1);
|
|
|
|
|
u8g2_DrawStr(&u8g2,0,36,GitHub2);
|
|
|
|
|
u8g2_SendBuffer(&u8g2);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void App_Function_Loading(void)
|
|
|
|
|
{
|
2023-07-13 15:32:01 +00:00
|
|
|
|
No3Page1item1.Item_function=Show_MPU6050;
|
|
|
|
|
No3Page2item1.Item_function=DinoGame_Run;
|
|
|
|
|
No3Page2item2.Item_function=AirPlane_Run;
|
|
|
|
|
|
2023-07-11 14:25:14 +00:00
|
|
|
|
Page5item1.Item_function=Show_GitHub;
|
2023-07-06 09:42:13 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Menu_Team(void)
|
|
|
|
|
{
|
|
|
|
|
NowPage = &MainPage;
|
|
|
|
|
Selectitm = &Mainitem1;
|
|
|
|
|
MainPage.ParentiTem = NULL;
|
|
|
|
|
|
|
|
|
|
AddPage("[MainPage]", &MainPage);
|
|
|
|
|
AddItem(" -Application", &Mainitem1, &MainPage, &Page1);
|
|
|
|
|
AddItem(" -Text", &Mainitem2, &MainPage, &Page2);
|
|
|
|
|
AddItem(" -Image", &Mainitem3, &MainPage, &Page3);
|
2023-07-15 03:40:04 +00:00
|
|
|
|
AddItem(" -Reset All", &Mainitem4, &MainPage, &Page4);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
AddItem(" -About", &Mainitem5, &MainPage, &Page5);
|
2023-07-15 03:40:04 +00:00
|
|
|
|
AddItem(" -test1", &Mainitem6, &MainPage, &Page5);
|
|
|
|
|
AddItem(" -test2", &Mainitem7, &MainPage, &Page5);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
|
|
|
|
AddPage("[Application]", &Page1);
|
2023-07-11 14:25:14 +00:00
|
|
|
|
AddItem(" -Data", &Page1item1, &Page1, &No3Page1);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
AddItem(" -Games", &Page1item2, &Page1, &No3Page2);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
AddItem(" -Altium", &Page1item3, &Page1, &No3Page3);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
AddItem(" -Return", &Page1item4, &Page1, &MainPage);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
2023-07-11 14:25:14 +00:00
|
|
|
|
AddPage("[Data]", &No3Page1);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
AddItem(" -MPU6050", &No3Page1item1, &No3Page1, NULL);
|
|
|
|
|
AddItem(" -File2", &No3Page1item2, &No3Page1, NULL);
|
|
|
|
|
AddItem(" -File3", &No3Page1item3, &No3Page1, NULL);
|
|
|
|
|
AddItem(" -Return", &No3Page1item4, &No3Page1, &Page1);
|
|
|
|
|
|
|
|
|
|
AddPage("[Games]", &No3Page2);
|
|
|
|
|
AddItem(" -Dino Game", &No3Page2item1, &No3Page2, NULL);
|
|
|
|
|
AddItem(" -AirPlane Game", &No3Page2item2, &No3Page2, NULL);
|
|
|
|
|
AddItem(" -Game3", &No3Page2item3, &No3Page2, NULL);
|
|
|
|
|
AddItem(" -Return", &No3Page2item4, &No3Page2, &Page1);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
|
|
|
|
AddPage("[Text]", &Page2);
|
|
|
|
|
AddItem(" -New Project", &Page2item1, &Page2, NULL);
|
|
|
|
|
AddItem(" -New Project", &Page2item2, &Page2, NULL);
|
|
|
|
|
AddItem(" -New Project", &Page2item3, &Page2, NULL);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
AddItem(" -Return", &Page2item4, &Page2, &MainPage);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
|
|
|
|
AddPage("[Image]", &Page3);
|
|
|
|
|
AddItem(" -New Project", &Page3item1, &Page3, NULL);
|
|
|
|
|
AddItem(" -New Project", &Page3item2, &Page3, NULL);
|
|
|
|
|
AddItem(" -New Project", &Page3item3, &Page3, NULL);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
AddItem(" -Return", &Page3item4, &Page3, &MainPage);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
2023-07-11 14:25:14 +00:00
|
|
|
|
// AddPage("[Reset All]", &Page4);
|
|
|
|
|
// AddItem(" -Reset Name", &Page4item1, &Page4, NULL);
|
|
|
|
|
// AddItem(" -Reset Time", &Page4item2, &Page4, NULL);
|
|
|
|
|
// AddItem(" -Reset Setting", &Page4item3, &Page4, NULL);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
// AddItem(" -Return", &Page4item4, &Page4, &MainPage);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
|
|
|
|
AddPage("[About]", &Page5);
|
|
|
|
|
AddItem(" -Github", &Page5item1, &Page5, NULL);
|
|
|
|
|
AddItem(" -Bilibili", &Page5item2, &Page5, NULL);
|
|
|
|
|
AddItem(" -ReadME", &Page5item3, &Page5, NULL);
|
2023-07-13 15:32:01 +00:00
|
|
|
|
AddItem(" -Return", &Page5item4, &Page5, &MainPage);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
}
|
|
|
|
|
|
2023-07-16 06:08:01 +00:00
|
|
|
|
xItem temp_item;
|
2023-07-11 14:25:14 +00:00
|
|
|
|
void (*App_Function)();
|
2023-07-06 09:42:13 +00:00
|
|
|
|
|
|
|
|
|
static void Menu_Task(void* parameter)
|
|
|
|
|
{
|
2023-07-13 15:32:01 +00:00
|
|
|
|
static uint8_t MENU_STATE=MENU_RUN;
|
2023-07-16 06:08:01 +00:00
|
|
|
|
temp_item=Mainitem1;
|
2023-07-13 15:32:01 +00:00
|
|
|
|
while (1)
|
2023-07-06 09:42:13 +00:00
|
|
|
|
{
|
2023-07-16 06:08:01 +00:00
|
|
|
|
if (key_read()!=0)
|
|
|
|
|
{
|
|
|
|
|
switch (key_read())
|
|
|
|
|
{
|
|
|
|
|
case ENTER:
|
|
|
|
|
if (temp_item.JumpPage==NULL)
|
|
|
|
|
{
|
|
|
|
|
App_Function=temp_item.Item_function;
|
|
|
|
|
MENU_STATE=APP_RUN;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MENU_STATE=MENU_RUN;
|
|
|
|
|
Draw_Menu(FirstPos,temp_item.JumpPage,Font_Size,&temp_item,temp_item.JumpPage->itemHead);
|
|
|
|
|
temp_item=*(temp_item.JumpPage->itemHead);
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case UP:
|
|
|
|
|
Draw_Menu(FirstPos,temp_item.location,Font_Size,&temp_item,temp_item.lastiTem);
|
|
|
|
|
temp_item=*(temp_item.lastiTem);
|
|
|
|
|
MENU_STATE=MENU_RUN;
|
|
|
|
|
break;
|
|
|
|
|
case DOWN:
|
|
|
|
|
Draw_Menu(FirstPos,temp_item.location,Font_Size,&temp_item,temp_item.nextiTem);
|
|
|
|
|
temp_item=*(temp_item.nextiTem);
|
|
|
|
|
MENU_STATE=MENU_RUN;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
2023-07-13 15:32:01 +00:00
|
|
|
|
KEY_STATE=RESET;
|
2023-07-16 06:08:01 +00:00
|
|
|
|
KeyEXTI_Open();
|
|
|
|
|
}
|
2023-07-13 15:32:01 +00:00
|
|
|
|
if (MENU_STATE==APP_RUN)
|
|
|
|
|
{MENU_STATE=MENU_RUN;(*App_Function)();}
|
2023-07-06 09:42:13 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Menu_Init(void)
|
|
|
|
|
{
|
|
|
|
|
u8g2Init(&u8g2);
|
|
|
|
|
Menu_Team();
|
2023-07-13 15:32:01 +00:00
|
|
|
|
DrawProcess(&u8g2);
|
|
|
|
|
Draw_Menu(FirstPos,&MainPage,Font_Size,&Mainitem1,&Mainitem1);
|
2023-07-11 14:25:14 +00:00
|
|
|
|
App_Function_Loading();
|
2023-07-06 09:42:13 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
TaskHandle_t Menu_Task_Handle;
|
|
|
|
|
|
|
|
|
|
BaseType_t Menu_Task_Create(void)
|
|
|
|
|
{
|
|
|
|
|
BaseType_t xReturn=pdPASS;
|
2023-07-11 14:25:14 +00:00
|
|
|
|
xReturn=xTaskCreate((TaskFunction_t)Menu_Task,"Menu_Task",100,NULL,5,&Menu_Task_Handle);
|
2023-07-06 09:42:13 +00:00
|
|
|
|
if (pdPASS==xReturn)
|
|
|
|
|
{
|
|
|
|
|
return pdPASS;
|
|
|
|
|
}
|
|
|
|
|
else return pdFAIL;
|
|
|
|
|
}
|