MiaoUI/HARDWARE/menu/menu.h

82 lines
1.9 KiB
C
Raw Normal View History

2023-07-06 09:42:13 +00:00
/*
* @Author: JFeng 2834294740@qq.com
* @Date: 2023-07-02 23:52:10
* @LastEditors: JFeng 2834294740@qq.com
2023-09-03 17:09:33 +00:00
* @LastEditTime: 2023-07-24 22:33:24
2023-07-06 09:42:13 +00:00
* @FilePath: \MY_GUI_RTOS\HARDWARE\menu\menu.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __MENU_H__
#define __MENU_H__
#include "stm32f10x.h"
#include "FreeRTOS.h"
#include "task.h"
#include <string.h>
2023-07-21 02:47:47 +00:00
#include "stm32_u8g2.h"
2023-07-06 09:42:13 +00:00
#include "u8g2.h"
#include "inv_mpu.h"
2023-07-13 15:32:01 +00:00
#include "DinoGame.h"
#include "AirPlane.h"
2023-07-06 09:42:13 +00:00
2023-07-13 15:32:01 +00:00
#define FirstLine 9
#define FirstPos 0
#define Font_Size 12
2023-09-03 17:09:33 +00:00
2023-07-15 03:40:04 +00:00
#define LINE_MAX 48
#define LINE_MIN 12
2023-07-06 09:42:13 +00:00
2023-07-21 02:47:47 +00:00
// #define Time 6
2023-07-14 12:17:25 +00:00
2023-09-03 17:09:33 +00:00
#define Menu_Up 0
#define Menu_Down 1
2023-07-13 15:32:01 +00:00
#define MENU_RUN 0
#define APP_RUN 1
2023-07-15 03:40:04 +00:00
#define MENU_MOVE 0
2023-09-03 17:09:33 +00:00
//光标静止
2023-07-15 03:40:04 +00:00
#define CURSOR_STATIC 1
2023-09-05 10:44:35 +00:00
// #define Head_To_Tail //首尾链接
2023-07-06 09:42:13 +00:00
typedef struct MenuPage *xpMenu;
typedef struct Item *xpItem;
typedef struct MenuPage
{
const char *PageName;
uint8_t len;
xpItem ParentiTem;
xpItem itemHead;
xpItem itemTail;
} xMenu;
typedef struct Item
{
const char *itemName;
2023-09-03 17:09:33 +00:00
uint8_t Number;
2023-07-06 09:42:13 +00:00
xpMenu location;
xpMenu JumpPage;
xpItem lastiTem;
xpItem nextiTem;
void(*Item_function)();
} xItem;
void Menu_Team(void);
void AddPage(const char *name, xpMenu page);
void AddItem(const char *Name, xpItem item, xpMenu LocalPage, xpMenu NextPage);
2023-09-03 17:09:33 +00:00
int8_t Line(uint8_t AllTime,uint8_t Time_Now,int8_t Tgt,int8_t Now);
2023-07-21 02:47:47 +00:00
void Draw_Process(void);
2023-09-03 17:09:33 +00:00
void Draw_OptionPlace(uint8_t now_time, xpItem now_item, xpItem next_item);
void Draw_Page(uint8_t pos, xpMenu Page, uint8_t LineSpacing, xpItem now_item,xpItem next_item);
void Draw_Menu(uint8_t pos, xpMenu Page, uint8_t LineSpacing, xpItem now_item,xpItem next_item);
2023-07-06 09:42:13 +00:00
static void Menu_Task(void* parameter);
void Menu_Init(void);
BaseType_t Menu_Task_Create(void);
2023-09-03 17:09:33 +00:00
void Motor_Stop(void);
void Motor_Run(void);
2023-07-06 09:42:13 +00:00
#endif