MiaoUI/example/STM32F103C8T6_NOS/MultMenu/application/application.c
2024-04-23 03:16:45 +08:00

155 lines
5.2 KiB
C

#include "application.h"
#include "dispDirver.h"
#include "bsp_usart.h"
void White_Dark_Day(xpItem item)
{
Set_BgColor(item->switchState);
}
void Show_MPU6050(xpItem item)
{
static float pitch, roll, yaw; //欧拉角
char Pi[20], Ro[20], Ya[20];
if (DialogScale_Show(1, 2, 100, 62))
{
// mpu_dmp_get_data(&pitch, &roll, &yaw);
sprintf(Pi, "Pitch = %.2f", pitch);
sprintf(Ro, "Roll = %.2f", roll);
sprintf(Ya, "Yaw = %.2f", yaw);
OLED_DrawStr(12, 14, Pi);
OLED_DrawStr(12, 36, Ro);
OLED_DrawStr(12, 58, Ya);
OLED_SendBuffer();
}
}
void Show_GitHub(xpItem item)
{
const char* GitHub1="https://github.com/";
const char* GitHub2="JFeng-Z/MultMenu";
if(DialogScale_Show(2, 12, 125, 32))
{
OLED_DrawStr(8, 25, GitHub1);
OLED_DrawStr(8, 37, GitHub2);
OLED_SendBuffer();
}
}
void Show_Bilibili(xpItem item)
{
const char* Bilibili = "BV1Xh4y1N7By";
if(DialogScale_Show(22, 24, 82, 20))
{
OLED_DrawStr(28, 37, Bilibili);
OLED_SendBuffer();
}
}
void Setting_Pid(xpItem item)
{
char value[20] = {0};
if (DialogScale_Show(4, 12, 120, 32))
{
switch (item->state)
{
case MENU_UP:
(*item->data.ptr) = Draw_Scrollbar(8, 30, 90, 6, 3, -1000, 1000, 10, (*item->data.ptr));
break;
case MENU_DOWN:
(*item->data.ptr) = Draw_Scrollbar(8, 30, 90, 6, 3, -1000, 1000, -10, (*item->data.ptr));
default:
Draw_Scrollbar(8, 30, 90, 6, 3, -1000, 1000, 0, (*item->data.ptr));
break;
}
sprintf(value, "Value: %d ", (*item->data.ptr));
OLED_DrawStr(8, 25, value);
OLED_SendBuffer();
}
}
const unsigned char logo[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0x00,0x00,0x00,0x00,0x00,
0x00,0xF0,0xFF,0x01,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x07,0x00,0x00,0x00,0x00,
0x80,0x3F,0xFF,0x1F,0x00,0x00,0x00,0x00,0xC0,0x03,0xFE,0x3F,0x00,0x00,0x00,0x00,
0x00,0x00,0xFE,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0xFF,0x01,0x00,0x00,0x00,
0x00,0xF0,0xFF,0xFF,0x07,0x00,0x00,0x00,0x80,0xFF,0xFF,0xFF,0x0F,0x00,0x00,0x00,
0x00,0xFF,0xFF,0xFD,0x3F,0x00,0x00,0x00,0x00,0x00,0xFC,0xF8,0xFF,0x00,0x00,0x00,
0x00,0x00,0x7C,0xE0,0xFF,0x01,0x00,0x00,0x00,0x00,0x3C,0xC0,0xFF,0x07,0x00,0x00,
0x00,0x00,0x08,0x00,0xFF,0xEF,0x1C,0x00,0x00,0x00,0x00,0x00,0xFC,0x3F,0x60,0x00,
0x00,0x00,0x00,0x00,0xF8,0xFF,0xC3,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x9F,0x00,
0x00,0x00,0x00,0x00,0xC0,0xFF,0x3F,0x01,0x00,0x00,0x00,0x00,0x00,0xFF,0x3F,0x01,
0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,0x02,0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,0x02,
0x00,0x00,0x00,0x00,0x80,0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x02,
0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x02,0x00,0x00,0x00,0x00,0xFE,0xFF,0x3F,0x01,
0x00,0x00,0x00,0x80,0xFF,0xFF,0x1F,0x01,0x00,0x00,0x00,0xE0,0xFF,0xFF,0x8F,0x00,
0x00,0x00,0x00,0xF0,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0xFC,0xFF,0x3F,0x20,0x00,
0x00,0x80,0x3F,0xFF,0xFF,0xEF,0x1C,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0x03,0x00,0x00,
0x00,0xF0,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0x3F,0x00,0x00,0x00,
0x00,0xF8,0xFF,0xFF,0x0F,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x03,0x00,0x00,0x00,
0x00,0xF8,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,
0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0xF8,0xFF,0x7F,0x00,0x00,0x00,0x00,
0x00,0xF0,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0x7F,0x00,0x00,0x00,0x00,
0x00,0xE0,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x7F,0x00,0x00,0x00,0x00,
0x00,0x80,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x7F,0x00,0x00,0x00,0x00,
0x00,0x80,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x80,0xFF,0x7F,0x00,0x00,0x00,0x00,
0x00,0xF8,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x03,0x00,0x00,0x00,
0x00,0xF8,0xFF,0xFF,0x03,0x00,0x00,0x00,0x00,0xF8,0xFF,0xFF,0x03,0x00,0x00,0x00,
0x00,0xE0,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0xE0,0xFF,0x7F,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void Show_Log(xpItem item)
{
OLED_ClearBuffer();
OLED_DrawXBMP(32, 0, 64, 64, logo);
OLED_SendBuffer();
}
void Setting_Contrast(xpItem item)
{
char contrast[20];
if(DialogScale_Show(4, 12, 120, 32))
{
switch (item->state)
{
case MENU_UP:
(*item->data.ptr) = Draw_Scrollbar(8, 30, 90, 6, 3, 0, 255, 5, (*item->data.ptr));
break;
case MENU_DOWN:
(*item->data.ptr) = Draw_Scrollbar(8, 30, 90, 6, 3, 0, 255, -5, (*item->data.ptr));
break;
default:
Draw_Scrollbar(8, 30, 90, 6, 3, 0, 255, 0, (*item->data.ptr));
break;
}
sprintf(contrast, "Contrast = %d", (*item->data.ptr));
OLED_DrawStr(8, 25, contrast);
OLED_SetContrast((*item->data.ptr));
OLED_SendBuffer();
}
}
void PowerSave(xpItem item)
{
OLED_SetPowerSave(item->switchState);
}