Files
player/Project/Src/MyWinApp/mywin_user_set.c

232 lines
4.9 KiB
C
Raw Normal View History

2025-06-27 00:32:57 +08:00
#include "mywin_inc.h"
#include "mywin_user_menu.h"
#include "flash_manager.h"
#include "mywin_user_timeset.h"
#include "mywin_user_backlightset.h"
#include "mywin_user_sysfile.h"
#include "mywin_user_filder.h"
#include "mywin_user_time.h"
#include "mywin_user_light.h"
#include "mywin_user_theme.h"
#include "mywin_user_bluetooth.h"
#include "mywin_user_set.h"
#include "mywin_user_debug.h"
#include "dac.h"
#include "nrf.h"
const static MENU_ItemStruct ptr[]={
2025-07-05 19:47:28 +08:00
{0, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
{0, "ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" } ,
{0, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" } ,
{0, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>" } ,
{0, "<EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD><EFBFBD><EFBFBD>" } ,
{0, "ϵͳ<EFBFBD>ļ<EFBFBD>" } ,
{0, "<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" } ,
{0, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"},
{0, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ"}
2025-06-27 00:32:57 +08:00
};
2025-07-05 19:47:28 +08:00
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҳ<EFBFBD><D2B3>
2025-07-05 19:05:35 +08:00
WIN_MenuStruct *MENU_Setting (WIN_WindowStruct *base,WIN_PicStruct *pic)
2025-06-27 00:32:57 +08:00
{
2025-07-05 19:05:35 +08:00
WIN_MenuStruct *menu=WIN_CreatMenu (base,(void (*)(WIN_WindowStruct *,WIN_MsgStruct *))MENU_SettingMsgLoop,
2025-06-27 00:32:57 +08:00
0,0,base->x_size,base->y_size);
2025-07-05 19:47:28 +08:00
((WIN_WindowStruct *)menu)->intercept=1;//<2F><><EFBFBD><EFBFBD><EFBFBD>Ͱ<EFBFBD><CDB0><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-07-05 19:05:35 +08:00
2025-06-27 00:32:57 +08:00
WIN_SetBackPicPath ((WIN_WindowStruct *)menu,base->pic_path);
2025-07-05 19:47:28 +08:00
MENU_SetTitle (menu,0,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
2025-07-05 19:05:35 +08:00
2025-06-27 00:32:57 +08:00
MENU_SetMaxItem(menu,9);
for (int i=0;i<9;i++)
{
MENU_AddItem (menu,ptr[i].img,(char *)ptr[i].txt);
}
2025-07-05 19:05:35 +08:00
2025-06-27 00:32:57 +08:00
WIN_ShowWindow((WIN_WindowStruct*)menu);
return menu;
}
2025-07-05 19:47:28 +08:00
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õı<C3B5><C4B1><EFBFBD>
// #define APP_SOURCE (*(u32 *)(0x08020000+4*7))
// #define APP_APPNAME (*(char **)(0x08020000+4*8))
// #define APP_SIZE (*(u32 *)(0x08020000+4*9))
#define APP_SOURCE (*(u32 *)(0x08000000+4*7))
#define APP_APPNAME (*(char **)(0x08000000+4*8))
#define APP_SIZE (*(u32 *)(0x08000000+4*9))
2025-06-27 00:32:57 +08:00
static void enter_sound(WIN_WindowStruct *base);
static void MENU_DoEnter (WIN_MenuStruct *menu)
{
2025-07-05 19:47:28 +08:00
//ѡ<><D1A1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-06-27 00:32:57 +08:00
if (MENU_GetIndex(menu)==0) MENU_ThemeSet((WIN_WindowStruct *)menu);
2025-07-05 19:05:35 +08:00
else if (MENU_GetIndex(menu)==1) TIMEBOX_TimeSet ((WIN_WindowStruct *)menu);
else if (MENU_GetIndex(menu)==2) MENU_LightSet((WIN_WindowStruct *)menu);//BACKLIGHTSETBOX_BackLightSet ();
2025-07-05 19:47:28 +08:00
else if (MENU_GetIndex(menu)==3) {MSGBOX_Inquiry ((WIN_WindowStruct *)menu,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>","<EFBFBD>ٰ<EFBFBD>һ<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>","ȷ<EFBFBD><EFBFBD>","<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");}
2025-07-05 19:05:35 +08:00
else if (MENU_GetIndex(menu)==4)
2025-06-27 00:32:57 +08:00
{
char *txt=mymalloc (512);
if (APP_SOURCE)
{
2025-07-05 19:47:28 +08:00
sprintf (txt,"<EFBFBD>ͺţ<EFBFBD>RC520\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.11 Beta1\n<EFBFBD><EFBFBD><EFBFBD>룺%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>IAP<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n"
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>%d Byte"
2025-06-27 00:32:57 +08:00
,__DATE__ " " __TIME__,APP_APPNAME,APP_SIZE);
}
else
{
2025-07-05 19:47:28 +08:00
sprintf (txt,"<EFBFBD>ͺţ<EFBFBD>RC520\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1.11 Beta1\n<EFBFBD><EFBFBD><EFBFBD>룺%s\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>SWD<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
2025-06-27 00:32:57 +08:00
,__DATE__ " " __TIME__);
}
2025-07-05 19:47:28 +08:00
MSGBOX_TipsTime ((WIN_WindowStruct*)menu,"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", txt,"ȷ<EFBFBD><EFBFBD>",5000);
2025-06-27 00:32:57 +08:00
myfree(txt);
}
2025-07-05 19:05:35 +08:00
else if (MENU_GetIndex(menu)==5) SYSFILE_ChooseFile((WIN_WindowStruct *)menu);
2025-06-27 00:32:57 +08:00
else if (MENU_GetIndex(menu)==6) FILDER_ChooseFile ((WIN_WindowStruct *)menu,"0:");
else if(MENU_GetIndex(menu)==7) enter_sound((WIN_WindowStruct *)menu);
else if(MENU_GetIndex(menu)==8) DEBUG_EnterPrint();
2025-07-05 19:47:28 +08:00
else MSGBOX_TipsTime ((WIN_WindowStruct*)menu,"<EFBFBD><EFBFBD>ʾ",MENU_GetSelectItem(menu) ,"ȷ<EFBFBD><EFBFBD>",5000);
2025-06-27 00:32:57 +08:00
}
2025-07-05 19:47:28 +08:00
//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
2025-06-27 00:32:57 +08:00
void MENU_SettingMsgLoop (WIN_MenuStruct *menu,WIN_MsgStruct *msg)
{
WIN_MoveStruct *m=0;
WIN_TouchStruct *t=0;
WIN_KeyStruct *k=0;
switch (msg->msg)
2025-07-05 19:05:35 +08:00
{
2025-06-27 00:32:57 +08:00
case WIN_MSG_KEY:
k=msg->data.p;
if (k->shortPress&KEY_VALUE_ENTER)
{
MENU_DoEnter(menu);
}
else
{
MENU_DefaultMsgLoop (menu,msg);
}
break;//case WIN_MSG_KEY:
case WIN_MSG_MOVE:
m=msg->data.p;
switch (m->moveType)
{
case MOVE_DATA_SHORT:
// if (m->y_move>((WIN_WindowStruct *)menu)->y_size/2-20&&m->y_move<((WIN_WindowStruct *)menu)->y_size/2+20)
// {
// MENU_DoEnter(menu);
// }
break;
default:
MENU_DefaultMsgLoop (menu,msg);
break;
}
break;
case WIN_MSG_CHID:
switch (msg->data.v)
{
case CHID_DELETE:
break;
case CHID_USER:
{
if (msg->srcWin==menu->bar)
{
if (msg->data2.v==SCROLLBAR_PRESSED)
{
MENU_DoEnter(menu);
}
}
else
{
MENU_DefaultMsgLoop (menu,msg);
}
}
break;
default:
break;
}
break;
default:
MENU_DefaultMsgLoop (menu,msg);
break;
}
}
2025-07-05 19:47:28 +08:00
// <20><>ȡһ<C8A1><D2BB>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD>ɹ<EFBFBD>
2025-06-27 00:32:57 +08:00
static int recv_value(uint16_t *value)
{
uint8_t v1=0;
uint8_t v2=0;
if(nrf_read_byte(&v1)==NRF_OK&&nrf_read_byte(&v2)==NRF_OK)
{
*value=(v2<<8)|v1;
return 0;
}
else
{
nrf_clear();
return -1;
}
}
static int g_work=0;
static int cb_sound_fun(void *ptr)
{
DAC_FifolInit();
nrf_init();
2025-07-05 19:05:35 +08:00
nrf_set_no_respond(1);
2025-06-27 00:32:57 +08:00
g_work=1;
uint16_t value=0;
DAC_SetSetValuwFun(recv_value);
while(g_work)
{
// while(recv_value(&value)==0)
// {
// DAC_SaveValue(value);
// }
rt_thread_delay(5);
}
DAC_FifoDeInit();
nrf_deinit();
return 0;
}
static void cb_sound_bread(void *ptr)
{
g_work=0;
}
static void enter_sound(WIN_WindowStruct *base)
{
2025-07-05 19:47:28 +08:00
int ret=WORKING_DoWorkPro(base,"<EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ",cb_sound_fun,0,
2025-06-27 00:32:57 +08:00
cb_sound_bread,0,0,18);
}