/////////////////////////////////////////////////////////////////////////////////////// // // 模型参数调节菜单处理过程 // u32 PageAeroSet(u8 event) { static MENUSTAT ms; if(event==PV_INIT) { LcdClear(0); if(!ms.Init) { ms.iFocus=ms.iStart=0; ms.Init=1; } ms.Total=MenuAeroSet[0].Max; ms.DrawMask=PD_ALL; return 1; } if(event==PV_REDRAW) { ms.DrawMask=PD_ALL; } //菜单通用处理过程 PageMenuProc(MenuAeroSet,&ms); //回车键处理 if(KeyTstDown(KEY_ENT)) { //如果有子菜单或子功能,进入 if(MenuAeroSet[ms.iFocus+1].SubItem) { if(MenuAeroSet[ms.iFocus+1].SubItem==PageCurveSet) { PageCurveCnt =MenuAeroSet[ms.iFocus+1].Max; if(MenuAeroSet[ms.iFocus+1].Min==1) { PageCurveTitle =PageStkCurveTitle; PageCurveValue =&Model.StkCurve[0][0][0]; } else { PageCurveTitle =PageThrCurveTitle; PageCurveValue =&Model.ThrCurve[0][0]; } } BeepMusic(MusicEnter); PageEnter((PAGEPROC)MenuAeroSet[ms.iFocus+1].SubItem,PV_INIT); } } //返回键处理 if(KeyTstDown(KEY_EXT)) { PageReturn(PV_REDRAW); } KeyClearDown(KEY_MENUALL); return 0; }
/////////////////////////////////////////////////////////////////////////////////////// // // 陀螺仪菜单处理 // u32 PageGyroSet(u8 event) { static MENUSTAT ms; if(event==PV_INIT) { LcdClear(0); if(!ms.Init) { ms.iFocus=ms.iStart=0; ms.Init=1; } ms.Total=MenuGyroSet[0].Max; ms.DrawMask=PD_ALL; return 1; } if(event==PV_REDRAW) { ms.DrawMask=PD_ALL; } //菜单通用处理过程 PageMenuProc(MenuGyroSet,&ms); //返回键处理 if(KeyTstDown(KEY_EXT)) { PageReturn(PV_REDRAW); } KeyClearDown(KEY_MENUALL); return 0; }
/////////////////////////////////////////////////////////////////////////////////////// // // 模型参数调节菜单处理过程 // u32 PageDeltaSet(u8 event) { static MENUSTAT ms; if(event==PV_INIT) { LcdClear(0); if(!ms.Init) { ms.iFocus=ms.iStart=0; ms.Init=1; } ms.Param=0xff; ms.Total=MenuDeltaSet[0].Max; ms.DrawMask=PD_ALL; return 1; } //根据使能开关确定菜单数 if(Model.Delta.Enable) ms.Total=MenuDeltaSet[0].Max; else ms.Total=1; //菜单数变化重绘 if(ms.Param!=ms.Total) { LcdClear(0); ms.Param=ms.Total; ms.DrawMask=PD_ALL; } if(event==PV_REDRAW) { ms.DrawMask=PD_ALL; } //菜单通用处理过程 PageMenuProc(MenuDeltaSet,&ms); //返回键处理 if(KeyTstDown(KEY_EXT)) { //V尾混控和三角翼/襟副翼混控互斥 if(Model.Delta.Enable) { Model.Vtail.Enable=0; Model.FlpAil.Enable=0; } PageReturn(PV_REDRAW); } KeyClearDown(KEY_MENUALL); return 0; }
/////////////////////////////////////////////////////////////////////////////////////// // // 混控菜单处理过程 // u32 PageMixerSet(u8 event) { static MENUSTAT ms; if(event==PV_INIT) { LcdClear(0); if(!ms.Init) { ms.iFocus=ms.iStart=0; ms.Init=1; } ms.Total=MenuMixerSet[0].Max; ms.DrawMask=PD_ALL; return 1; } if(event==PV_REDRAW) { ms.DrawMask=PD_ALL; } //设置各混控状态 strcpy(MenuMixerVtailStat,PageOptionOnOff[Model.Vtail.Enable]); strcpy(MenuMixerDeltaStat,PageOptionOnOff[Model.Delta.Enable]); strcpy(MenuMixerFlpAilStat,PageOptionOnOff[Model.FlpAil.Enable]); //菜单通用处理过程 PageMenuProc(MenuMixerSet,&ms); //回车键处理 if(KeyTstDown(KEY_ENT)) { //如果有子菜单或子功能,进入 if(MenuMixerSet[ms.iFocus+1].SubItem) { BeepMusic(MusicEnter); PageEnter((PAGEPROC)MenuMixerSet[ms.iFocus+1].SubItem,PV_INIT); } } //返回键处理 if(KeyTstDown(KEY_EXT)) { PageReturn(PV_REDRAW); } KeyClearDown(KEY_MENUALL); return 0; }
//模型参数调节菜单处理过程 u32 PageEpaSet(u8 event) { static MENUSTAT ms; if(event==PV_INIT) { LCD_Clr_All();//清屏 if(!ms.Init) { ms.iFocus=ms.iStart=0; ms.Init=1; } ms.Total=MenuEpaSet[0].Max; ms.DrawMask=PD_ALL; return 1; } if(event==PV_REDRAW) { LCD_Clr_All();//清屏 ms.DrawMask=PD_ALL; } //菜单通用处理过程 PageMenuProc(MenuEpaSet,&ms); //返回键处理 if(KeyTstDown(KEY_EXT)) { edit_enable = 0; PageReturn(PV_REDRAW); } KeyClearDown(KEY_MENUALL); return 0; }
u32 PageMenuMod(u8 event) { static MENUSTAT ms; PageMenuModMarkNo(); if(event==PV_INIT) { LcdClear(0); if(!ms.Init) { ms.iFocus=ms.iStart=0; ms.Init=1; } ms.Total=MenuMod[0].Max; ms.DrawMask=PD_ALL; return 1; } if(event==PV_REDRAW) { ms.DrawMask=PD_ALL; } //菜单通用处理过程 PageMenuProc(MenuMod,&ms); //回车键处理 if(KeyTstDown(KEY_ENT)) { //如果有子菜单或子功能,进入 if(MenuMod[ms.iFocus+1].SubItem) { BeepMusic(MusicEnter); PageEnter((PAGEPROC)MenuMod[ms.iFocus+1].SubItem,PV_INIT); } //复位功能 if(MenuMod[ms.iFocus+1].pValue==&PageMenuModelReset) { if(PageMenuModelReset==1) { PageMenuModelReset=0; memcpy(&Model,&ModelDef,sizeof(Model)); Model.Name[5]=TxSys.ModelNo/10+'0'; Model.Name[6]=TxSys.ModelNo%10+'0'; Model.Name[7]=0; PageAlert("模型已重置!",1000,PV_INIT); } if(PageMenuModelReset==2) { PageMenuModelReset=0; ModelFormat(); PageAlert("所有模型已重置!",1000,PV_INIT); } } } //返回键处理 if(KeyTstDown(KEY_EXT)) { PageReturn(PV_INIT); } KeyClearDown(KEY_MENUALL); return 0; }