416 lines
13 KiB
C++
416 lines
13 KiB
C++
#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
|
|
|
|
|