#include "OnlineCtrl.h" #include "XBox.h" #include "Runtime.h" extern "C"{ #include "user_norflash.h" #include "user_eeprom.h" #include "uart_key_drv.h" } #define dWdClr clSkyBlue #define dWdDisabelClr clNearWhite #define dWWidth 24 #define dWHeigh 24 #define dRoundR 7 const int xUsb = 20; const int xRs485 = 160; const int xCan = 300; const int xReadOnly = 20; const int xReadWrite = 160; const int xActive = 20; const int xClose = 160; void TOnlineCtrl::Init() { CtlIndex = 0; IsShowing = 0; IsOnGoing = 0; LineType =0; ReadWrite =0; IsPermission =0; } void TOnlineCtrl::DelayMs(unsigned int aMs) { volatile unsigned int mTick; volatile unsigned int Tick; for(Tick=0; Tick在线调试"); TextRender_string24(Lv.Grid.Left[0] + 10, Lv.Grid.Top[0] +6, clNearWhite, "调试接口选择"); TextRender_string24(xUsb + 30, Lv.Grid.Top[0] + 40, clNearWhite, "USB"); TextRender_string24(xRs485 + 30, Lv.Grid.Top[0] + 40, clNearWhite, "UART"); TextRender_string24(xCan + 30, Lv.Grid.Top[0] + 40, clNearWhite, "内CAN"); TextRender_string24(Lv.Grid.Left[1] + 10, Lv.Grid.Top[1] +6, clNearWhite, "模式选择"); TextRender_string24(xReadOnly + 30, Lv.Grid.Top[1] +40, clNearWhite, "只读"); TextRender_string24(xReadWrite + 30, Lv.Grid.Top[1] +40, clNearWhite, "读写"); TRoundRect::sDrawBySize(xActive, Lv.Grid.Top[2] + 4, 112, 30, 7, clNearWhite, "开启", 26, clNearBlack); TRoundRect::sDrawBySize(xClose, Lv.Grid.Top[2] + 4, 112, 30, 7, clNearWhite, "关闭", 26, clNearBlack); }else{ TextRender_string24(Lv.Caption.Left + 10, Lv.Caption.Top +4, clNearWhite, CaptionColor, "Data Transmission->Online configuration"); TextRender_string24(Lv.Grid.Left[0] + 10, Lv.Grid.Top[0] +6, clNearWhite, "Port Choice"); TextRender_string24(xUsb + 30, Lv.Grid.Top[0] + 40, clNearWhite, "USB"); TextRender_string24(xRs485 + 30, Lv.Grid.Top[0] + 40, clNearWhite, "UART"); TextRender_string24(xCan + 30, Lv.Grid.Top[0] + 40, clNearWhite, "Inner-CAN"); TextRender_string24(Lv.Grid.Left[1] + 10, Lv.Grid.Top[1] +6, clNearWhite, "Mode"); TextRender_string24(xReadOnly + 30, Lv.Grid.Top[1] +40, clNearWhite, "ReadOnly"); TextRender_string24(xReadWrite + 30, Lv.Grid.Top[1] +40, clNearWhite, "Read Write"); TRoundRect::sDrawBySize(xActive, Lv.Grid.Top[2] + 4, 112, 30, 7, clNearWhite, "Enable", 14, clNearBlack); TRoundRect::sDrawBySize(xClose, Lv.Grid.Top[2] + 4, 112, 30, 7, clNearWhite, "Disable", 14, clNearBlack); } } void TOnlineCtrl::DrawSelf(void) { RenderBackGround(); RectFillRender(Lv.Caption.Left, Lv.Caption.Top, Lv.Caption.Right, Lv.Caption.Bottom, CaptionColor); for(int i=0; i0){ ClearSelected(); CtlIndex--; Check4Selected(); }else{ ClearSelected(); CtlIndex=6; Check4Selected(); } break; case VK_DOWN: if(CtlIndex <6){ ClearSelected(); CtlIndex++; Check4Selected(); }else{ ClearSelected(); CtlIndex=0; Check4Selected(); } break; case VK_TAB: break; case dfKEY_SETUP: if(CtlIndex == 0){ LineType = 0; DrawLineType(); }else if(CtlIndex == 1){ LineType = 1; DrawLineType(); }else if(CtlIndex == 2){ LineType = 2; DrawLineType(); }else if(CtlIndex == 3){ ReadWrite = 0; DrawReadWrite(); }else if(CtlIndex == 4){ ReadWrite = 1; DrawReadWrite(); } break; case VK_EXECUTE: if(CtlIndex == 0){ LineType = 0; DrawLineType(); }else if(CtlIndex == 1){ LineType = 1; DrawLineType(); }else if(CtlIndex == 2){ LineType = 2; DrawLineType(); }else if(CtlIndex == 3){ ReadWrite = 0; DrawReadWrite(); }else if(CtlIndex == 4){ ReadWrite = 1; DrawReadWrite(); }else if(CtlIndex == 5){ //Active PermissionCmd = 1; if(SystemPermission > 2){ PermissionCmdGO(); }else{ IsPermission = 1; ClearSelected(); PmsIntervene4Gui.Show4Gui(100, Lv.Grid.Bottom[2] + 20, 600 , 140, 3); } }else if(CtlIndex == 6){ //Close PermissionCmd = 2; PermissionCmdGO(); } break; case VK_RETURN: IsShowing = 0; aMsg = guiMsgReturn; break; } } return aMsg; } int TOnlineCtrl::ExtRequst(unsigned char Prm) { IsShowing =0; return 0; } void TOnlineCtrl::Task1000Ms() { }