#pragma once #include #include "dll2/ex15.mif" #include "TimeFunctions.h" namespace EpdBase { class Epd2U { public: WORD port = 3; const WORD MaxDevices = 10; WORD DeviceCount = 0; DWORD DeviceIDs[10]; DWORD CurrentDeviceID; WORD AlarmCtrl = 0b01101110; DWORD EpdClock; DWORD RealTime; WORD IssueCount; DWORD OffTime; WORD OperatingStatus; WORD ErrorStatus; WORD AlarmStatus; WORD OtherAlarms; WORD EEPROMBadSectors; WORD InitRv = 0; WORD DiscRV = 0; WORD ConRV = 0; WORD OpenRV=0; WORD ReadStatusRV = 0; WORD CommitRV = 0; WORD OffRV = 0; WORD OnRV = 0; WORD EndSessionRV = 0; WORD ReadConfigRV = 0; WORD ReadDoseTresholdRV = 0; WORD ReadAlarmRateThresholdsRV = 0; WORD ReadCalibrationDataRV = 0; WORD ReadWearerRV = 0; WORD ReadEpdIDRV = 0; WORD Error=0; WORD ErrorSource; WORD ErrorReason; WORD ErrorData; //Identification DWORD EpdID=0; WORD HardVersion; WORD SoftVersion; WORD FunctionFlags; WORD EpdType = 0xff; SYSTEMTIME tRealTime; //Wearer #define IDLength 12 BYTE WearerID[(IDLength)+1]; #define NameLength 22 BYTE WearerName[NameLength+1]; //AlarmDoseTreshold DWORD Hp10Dose1; DWORD Hp10Dose2; DWORD Hp07Dose; DWORD Hp10Rate1On; DWORD Hp10Rate2On; DWORD Hp07RateOn; DWORD Hp10Rate1Off; DWORD Hp10Rate2Off; DWORD Hp07RateOff; WORD K1; WORD K2; WORD K3; WORD K4; WORD K5; WORD K6; WORD SG; WORD BC; WORD FB; WORD HG; //Config WORD CountDownTime; DWORD ReturnTime; WORD ChirpRate; WORD TeleBaudSetting; WORD SelfTestInterval; WORD BatteryLoadTestInt; WORD GeneralControl; WORD CommsTimeout; WORD InhibitTimeout; WORD MinTxInterval; WORD MaxTxIntervals; WORD RandomiseWindow; WORD DoseIncThresh; //OperatringStatus BYTE DetectorsOn=0; BYTE EPDIssued = 0; BYTE EPDLocked = 0; BYTE EPDTesting = 0; BYTE EPDProcSec= 0; BYTE EPDFaulty = 0; //ERrrostatus BYTE EPDNewFault = 0; BYTE EPDComFault = 0; BYTE EPDCalFault = 0; BYTE EPDDetFault = 0; BYTE EPDEprFault = 0; BYTE EPDTrhFault = 0; BYTE EPDOthFault = 0; //AlarmStatus BYTE AlarmDoseHP101G = 0; BYTE AlarmDoseHP102G = 0; BYTE AlarmDoseHP07N = 0; BYTE AlarmRateHP101G = 0; BYTE AlarmRateHP102G = 0; BYTE AlarmRateHP07N = 0; //OtherAlarm BYTE OtherAlarmRateHp101G = 0; BYTE OtherAlarmRateHp102G = 0; BYTE OtherAlarmRateHp07N = 0; BYTE OtherAlarmReturn = 0; BYTE OtherAlarmBatLow = 0; BYTE OtherAlarmCarrier= 0; BYTE OtherAlarmBatVolt = 0; void StartDiscover(); void Open(DWORD DeviceID); void Close(); void DecodeFunctionFlags(); void DecodeStatus(); Epd2U(int comport); WORD ReadStatus(); WORD EPDReadConfig(); WORD TurnOff(); WORD ReadTresHolds(); ~Epd2U(); }; }