#ifndef DEVMASK_H_ #define DEVMASK_H_ #include "gType.h" #include "GraphBase.h" #include "string.h" #include "my_string.h" #include "record.h" #include "Device.h" #include "EpDevice.h" #include "StaticText.h" #include "CtlPanel1.h" class TDevMask{ public: static constexpr unsigned short hList[12] = {72,72,72,72, 72,72,34,34, 34,34,34,34}; static constexpr unsigned short wList[12] = {800,290,290,290, 290,290,290,290, 290,290,290,290}; static constexpr TLv Lv = { .Caption.Left = 0, .Caption.Top = 36, .Caption.Width = 800, .Caption.Heigh = 32, .Caption.Right = 800 -0 -1, .Caption.Bottom = 36 + 32, .Grid.Left = {0,0,0,0, 0,0,0,0, 0,0,0,0}, .Grid.Right = {wList[0]-1,wList[1]-1,wList[2]-1,wList[3]-1, wList[4]-1,wList[5]-1,wList[6]-1,wList[7]-1, wList[8]-1,wList[9]-1,wList[10]-1,wList[11]-1}, .Grid.Top[0] = (36 + 32 +2), .Grid.Top[1] = (36 + 32 +2) + (2 + hList[0]), .Grid.Top[2] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]), .Grid.Top[3] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]), .Grid.Top[4] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]), .Grid.Top[5] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]), .Grid.Top[6] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]), .Grid.Top[7] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]), .Grid.Top[8] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]), .Grid.Top[9] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]), .Grid.Top[10] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]), .Grid.Top[11] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + (2 + hList[10]), .Grid.Bottom[0] = (36 + 32 +2) + hList[0], .Grid.Bottom[1] = (36 + 32 +2) + (2 + hList[0]) + hList[1], .Grid.Bottom[2] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + hList[2], .Grid.Bottom[3] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + hList[3], .Grid.Bottom[4] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + hList[4], .Grid.Bottom[5] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + hList[5], .Grid.Bottom[6] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + hList[6], .Grid.Bottom[7] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + hList[7], .Grid.Bottom[8] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + hList[8], .Grid.Bottom[9] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + hList[9], .Grid.Bottom[10] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + hList[10], .Grid.Bottom[11] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + (2 + hList[10]) + hList[11], .Grid.UsingCount = 5, .Panel.Active = 1, .Panel.ItemType = piMemo, .Panel.Left = wList[1] + 6, .Panel.Top = (36 + 32 +2) + hList[0] +6, .Panel.Width = 502, .Panel.Heigh = 250, .Panel.Right = wList[1] + 6 + 502 -1, .Panel.Bottom = (36 + 32 +2) + hList[0] +6 + 250 -1, .PanelSmall.Active = 1, .PanelSmall.Left = wList[1] + 6, .PanelSmall.Top = (36 + 32 +2) + hList[0] +6 + 250 -1 + 1, .PanelSmall.Width = 502, .PanelSmall.Heigh = 42, .PanelSmall.Right = wList[1] + 6 + 502 -1, .PanelSmall.Bottom = (36 + 32 +2) + hList[0] +6 + 250 -1 + 1 + 42 -1, }; public: static class TItemList *sIList; int IsShow; unsigned char IsPermission; unsigned char PermissionCmd; TRecordMaskMsg MaskMsg; int ExistEntryCount; int ActiveLineNum; int LineCount; int LineHeight; float ScrollVertical; u32 FixColColor; TMyString Str; unsigned char Path0Avalble; unsigned char Path1Avalble; unsigned char Path0; unsigned char Path1; unsigned char dType; unsigned char AssignType; unsigned char IsRegisted; class TItemList *IList; struct{ unsigned char InxMin; unsigned char InxMax; unsigned char Inx; void Reset(){ Inx = 0; InxMin = 0; InxMax =11; } }Tag; union{ unsigned char D8[256]; unsigned int D32[64]; }ReadWriteData; struct{ unsigned char IsGoMask; unsigned char RecOK; unsigned char TimeOutTick; unsigned char DevStateNotAllow; unsigned char DevTypeNotAllow; unsigned char PathError; unsigned char Rsv1; unsigned char Rsv2; }SettingData; unsigned char Data[8]; union{ unsigned int D32[17]; char Text[68]; }DescpText; unsigned char SignalInputType; unsigned int Crc; unsigned char CrcFlag; public: TDevMask(){CrcFlag=0;} void Init(); static void sDelayMs(unsigned int aMs); void RenderBackGround(void); void RenderBackGround(unsigned int aClr); void DrawSelf(void); void DrawFixText(); void Show(void); void FullRedraw(int Prm); void DrawState(unsigned char aSta); void ShowItemDetail(); void RedrawModuleInSignalInType(); static void sWaitChipIdle(); void WaitChipIdle2(); void HandCtlList(void); TGuiMsgReturn KeyIn(unsigned char aKey); void GetMsgViaIndex(int aInx); void ClearMsgViaIndex(int aInx); void CopyMsgViaIndex(int aInx); void AddRemoveViaCtlCenterMsg(unsigned char aP0, unsigned char aP1, unsigned int aUc, unsigned int IsAdd); void WriteToFlashMaster(); void WriteToFlashSlave(); void ClearAllMask(); void GetTempMsgViaIndex(int aInx); void ClearTempMsgViaIndex(int aInx); void CopyTempMsgViaIndex(int aInx); void AddRemoveViaTempMsgList(unsigned char aP0, unsigned char aP1, unsigned int IsAdd); void CombMsg4Master(); void ClearSelected(); void Check4Selected(void); void CheckToDo(); void PermissionCmdReturnDraw(); void PermissionCmdGO(); void SendToDevice(int IsAdd); void PushOneDataRec(unsigned char aCmd, unsigned char CtlNum, unsigned char aP0, unsigned char aP1); void Task1000Ms(); void RedrawCommonByExReturn(); void DrawHtInf(int aPrm); int CheckInputErrState(int IsMask); int CheckWroteBackupIncomplete(); int CheckStorageData(); void Erase(int xArea, int ForCount); void EraseBackupAfterWrote(); void AddMaskMsg2TempList(int Index, TRecordMaskMsg aMsg); void AddMaskMsg2DymList(int Index, TRecordMaskMsg aMsg); int ReadMaskFromFlash2Temp(int xArea); int ReadMaskFromFlash(); void RecallCrcFaultMsg(); static void sRecoverSetDefault(); int ExtRequst(unsigned char Prm); }; #endif