Initial commit

This commit is contained in:
2026-04-06 19:02:09 +08:00
commit d186d7dcc7
743 changed files with 521821 additions and 0 deletions

415
MyCode/Gui/DevStartStop.h Normal file
View File

@@ -0,0 +1,415 @@
#ifndef DEVSTARTSTOP_H_
#define DEVSTARTSTOP_H_
#include "gType.h"
#include "GraphBase.h"
#include "string.h"
#include "my_string.h"
#include "Device.h"
#include "EpDevice.h"
#include "StaticText.h"
#include "CtlPanel1.h"
#include "DevProperty.h"
#include "ItemList.h"
class TDevStartStop{
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 = 220,
.Panel.Right = wList[1] + 6 + 502 -1,
.Panel.Bottom = (36 + 32 +2) + hList[0] +6 + 220 -1,
.PanelSmall.Active = 1,
.PanelSmall.Left = wList[1] + 6,
.PanelSmall.Top = (36 + 32 +2) + hList[0] +6 + 220 -1 + 1,
.PanelSmall.Width = 502,
.PanelSmall.Heigh = 72,
.PanelSmall.Right = wList[1] + 6 + 502 -1,
.PanelSmall.Bottom = (36 + 32 +2) + hList[0] +6 + 220 -1 + 1 + 72 -1,
};
static constexpr TRect ModuleRectLv3 = {
.Top = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]),
.Bottom = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + hList[3] + 30,
};
static constexpr TRect ModuleRectLv4 = {
.Top = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + 30,
.Bottom = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + hList[4],
};
static const unsigned int LvGridHighBottom3 = 102;
static constexpr unsigned char dTypeList[256] = {
dgTYPE_SMOKE_DETECTOR,
dgTYPE_TEMPE_DETECTOR,
dgType_VAALRAM,
};
static constexpr unsigned char dSmokeSensGrade_MarkValue[8] = {
//100, 75, 50, 25
0, 100, 75, 50, 25, 0, 0, 0
};
enum TDrawTextType{
dtNone = 0,
dtHex =1,
dtDec =2
};
private:
unsigned char VaReadWriteSta;
public:
class TItemList *IList;
int IsShow;
TCtlPanel1 *aPanel;
unsigned char CtlNum;
unsigned char Path0;
unsigned char Path1;
unsigned char dType;
unsigned char pNumFound;
unsigned char IsRegisted;
unsigned char IsSelfCtl;
TStaticText Caption;
int IsPermission;
TDevProperty::TPermissionCmd PermissionCmd;
int EdittingDescp;
int IsExtInput;
unsigned char CtlNumValid;
unsigned char PortNumValid;
unsigned char AddrNumValid;
unsigned char PanelIsUsingText;
TDevProperty::THwDevType HwDevType;
TRootDevice *RootDev;
TEpDevice *EpDev;
struct{
unsigned char Inx;
unsigned char InxMin;
void Reset(){
Inx = 0;
InxMin =0;
}
}Tag;
TUserCode aUcSetting;
unsigned char RecData[8];
char TextTmp[24];
struct{
int TextDrawLine;
int FigInx;
unsigned char IsHexList[8];
unsigned char DesertTextHex;
unsigned char UsingTextHex;
void Reset(){
for(int i=0; i<8; i++)IsHexList[i]=dtNone;
TextDrawLine = 0;
FigInx = 0;
//DesertTextHex = 0;
//UsingTextHex = 0;
}
void ResetNotFull(){
TextDrawLine = 0;
FigInx = 0;
}
}PanelDrawData;
struct{
TUserCode UserCode;
unsigned char SmokerSens;
unsigned char TempeSenType;
unsigned char ModuleDefineType;
unsigned char ModuleSignalInType;
unsigned char ModuleSignalInOutType;
unsigned char ModuleSignalOutType;
unsigned char VaIs4Linkage;
unsigned char VaVisionType;
unsigned char VaSoundType;
unsigned char DisplayPadMatchMode; //0:By User Code; 1:By Area Assign
unsigned char DisplayPadAreaUsing[3];
unsigned char DisplayPadUserCodeUsing[2];
unsigned short DisplayPadArea0;
unsigned short DisplayPadArea1;
unsigned short DisplayPadArea2;
unsigned int DisplayUserCode0;
unsigned int DisplayUserCode1;
unsigned char GotTempeSensType[8];
void Reset(){
UserCode.Full =0;
SmokerSens = 0;
TempeSenType = 0;
ModuleDefineType =0;
ModuleSignalInType =0;
ModuleSignalInOutType =0;
ModuleSignalOutType =0;
VaIs4Linkage =0;
VaVisionType =0;
VaSoundType =0;
DisplayPadMatchMode =0; //0:By User Code; 1:By Area Assign
DisplayPadAreaUsing[0] = 0;
DisplayPadAreaUsing[1] = 0;
DisplayPadAreaUsing[2] = 0;
DisplayPadUserCodeUsing[0] = 0;
DisplayPadUserCodeUsing[1] = 0;
DisplayPadArea0 =0;
DisplayPadArea1 =0;
DisplayPadArea2 =0;
DisplayUserCode0 =0;
DisplayUserCode1 =0;
GotTempeSensType[0] =0;
GotTempeSensType[1] =0;
GotTempeSensType[2] =0;
GotTempeSensType[3] =0;
GotTempeSensType[4] =0;
}
}Data;
struct{
unsigned int voltage;
unsigned int SmokerPrmM;
unsigned int SmokerIR;
unsigned int SmokerBR;
unsigned int Celsius;
unsigned int AlramCount0;
unsigned int AlramCount1;
unsigned int OutputVoltage;
unsigned int OutputCurrent;
unsigned int PwrLoaddingPercent;
unsigned char Mac[8];
void Reset(){
voltage =0;
SmokerPrmM =0;
SmokerIR =0;
SmokerBR =0;
Celsius =0;
AlramCount0 =0;
AlramCount1 =0;
OutputVoltage =0;
OutputCurrent =0;
PwrLoaddingPercent =0;
for(int i=0; i<8; i++)Mac[i] =0;
}
}RuntimeData;
unsigned char CommData[16];
struct{
unsigned char Method;
unsigned char P0;
unsigned char P1;
unsigned char DevType;
unsigned char DataType;
unsigned char dVal[4];
unsigned char dValGot[4];
unsigned char dType;
}ProcessingRt;
struct{
unsigned char IsWait4ReadSens;
unsigned char IsWait4WriteSens;
unsigned char RecRdy;
unsigned char RecCmd;
unsigned char WaitTick;
}SmokerRt;
struct{
unsigned char IsWait4ReadSensType;
unsigned char RecRdy;
unsigned char RecCmd;
unsigned char WaitTick;
}TempeRt;
struct{
unsigned char IsWait4ReadSignalType;
unsigned char IsWait4WriteSignalType;
unsigned char RecRdy;
unsigned char RecCmd;
unsigned char WaitTick;
}ModuleInRt;
struct{
unsigned char IsWait4ReadSignalType;
unsigned char IsWait4WriteSignalType;
unsigned char RecRdy;
unsigned char RecCmd;
unsigned char WaitTick;
}ModuleInOutRt;
struct{
unsigned char IsWait4ReadSignalType;
unsigned char IsWait4WriteSignalType;
unsigned char RecRdy;
unsigned char RecCmd;
unsigned char WaitTick;
}ModuleOutRt;
struct{
unsigned char IsWait4ReadVaSetting;
unsigned char IsWait4WriteVaSetting;
unsigned char RecRdy;
unsigned char RecCmd;
unsigned char WaitTick;
}VaRt;
struct{
unsigned char IsMute;
unsigned char IsDownloadDescp;
unsigned char RecRdy;
unsigned char RecCmd;
unsigned char WaitTick;
char DescpText[36];
}DisplayPadRt;
struct{
unsigned char VaIs4Linkage;
unsigned char VaVisionType;
unsigned char VaSoundType;
unsigned char Dump0;
}ExData;
char TextDraw[40];
TPoint PtStart;
TPoint PtStop;
private:
void SetListColWidth(int w0, int w1, int w2, int w3, int w4,int w5,int w6, int w7, int w8, int w9);
public:
TDevStartStop(){};
void Init(TDevProperty::THwDevType aDevType, int aMode);
void DelayMs(unsigned int aMs);
void DrawSelf();
void RedrawCommonByExReturn();
void DrawHtInf(int aPrm);
void DrawState(unsigned char aSta);
void DrawStateNone();
void DrawMac();
void SetPath(unsigned char aCtlNum, unsigned char aPath0, unsigned char aPath1);
void RenderBackGround(void);
void RenderBackGround(unsigned int aClr);
void PermissionCmdReturnDraw();
void ReDrawPanel();
void ClearCommonInf();
void DrawCommonInfTitle();
void ReDrawCommonInf();
void RenewCommonInf();
void Redraw4NewLoad();
void RedrawModuleInSignalInType();
void RedrawModuleInOutSignalType();
void RedrawModuleOutSignalType();
void RedrawVaIs4Linkage();
void RedrawVaSetting();
void RedrawDisplayPadMatchMode();
void RedrawDisplayPadMatchData();
void RedrawSmallPanelData();
void DrawFixTextNoType();
void DrawFixTextSmoker();
void DrawFixTextTempe();
void DrawFixTextHandPad();
void DrawFixTextHydrantPad();
void DrawFixTextModuleIn();
void DrawFixTextModuleInOut();
void DrawFixTextModuleOut();
void DrawFixTextVa();
void DrawFixTextDisplayPad();
void DrawFixTextLinkagePowerSuply();
void ResetTargetData();
void Init4DType();
void InitNoType();
void InitHtSmoker();
void InitHtTempe();
void InitHtHandPad();
void InitHtHydrantPad();
void InitHtModuleIn();
void InitHtModuleInOut();
void InitHtModuleOut();
void InitHtVa();
void InitHtDisplayPad();
void InitHtLinkagePowerSuply();
void ReReadCmdSend();
void Show(void);
void ReDraw(void);
void FullRedraw(int Prm);
void PanelCanvasOut();
void DrawCaption2(void);
TGuiMsgReturn KeyIn(unsigned char aKey);
TGuiMsgReturn KeyInCommonEdit(unsigned char aKey);
TGuiMsgReturn KeyInCommonEnter(unsigned char aKey);
void InitPanel();
void ShowStartNewMsg(unsigned char Hour, unsigned char Min, unsigned char Sec);
void ClearSelected();
void Check4Selected();
void CheckPathDev();
void SendCmd(unsigned int IsStart);
void SendStartStopCmd(unsigned int IsStart);
void SendSmokeCmdRead();
void SendTempeCmdRead();
void SendModuleSignalInOutTypeRead();
void SendVaSettingRead();
void RealTimeSendCmd(const int StartStop);
void RealTimeSendCmdAbort();
void RunTimeSendCmd(const int StartStop);
void PermissionCmdGO();
void ClearReqDataState();
void UpdataOnlineData();
void PushOneRealDataReport(u8 aP0, u8 aP1, u8 aInx, u8 D0, u8 D1, u8 D2, u8 D3);
void PushInnerCanData(unsigned char aCmd, unsigned char *pData);
void PushInnerRuntimeCanData(unsigned char aCmd, unsigned char *pData);
void LoadUcBcdText(unsigned int aUcFull, char *pText);
void DrawVaReadWriteStates();
void DrawVaReadWriteStates(unsigned char aNewState);
void Task1000Ms();
int ExtRequst(unsigned char Prm);
};
#endif