Files
Tools_CPP/devices/Validators/CCNETdevice/CCNETDeviceThread.h
2024-11-01 12:23:13 +05:00

58 lines
1.6 KiB
C++

//---------------------------------------------------------------------------
#ifndef CCNETDeviceThreadH
#define CCNETDeviceThreadH
//---------------------------------------------------------------------------
#include "DeviceThread.h"
class TCCNETDeviceThread : public TDeviceThread
{
protected:
BYTE inter_crc_h;
BYTE inter_crc_l;
unsigned int mask;
int OfflineCount;
AnsiString BillDescr;
AnsiString RejectingDescr;
AnsiString FailureDescr;
int ResetCount;
clock_t DisableTime;
bool InitDisable;
int LastEnDisCommand;//0-ok,1-disable,2-enable;
virtual void SendPacket(BYTE command,int len_packet, BYTE* data);
virtual void calc_crc(BYTE byte);
unsigned short Calc_CRC16CCNET(BYTE* DataBuf, unsigned short BufLen);
virtual void ParseAnswer(int mode = 0);
virtual void GetStay();
virtual void Reset();
virtual void Return();
virtual void Hold();
virtual int Stack();
virtual void EnableAll();
virtual void Disable();
virtual void PollingLoop();
virtual void SendACK();
virtual void SendNAK();
std::string GetMainFailureDescription(BYTE StatusCode);
std::string GetHardwareFailureDescription(BYTE StatusCode);
std::string GetStatusDescription(BYTE StatusCode);
AnsiString GetRejectionDescription(BYTE StatusCode);
AnsiString GetFailureDescription(BYTE StatusCode);
virtual std::string GetStateDescription();
virtual void __fastcall ProcessLoopCommand();
virtual void ProcessOutCommand();
public:
__fastcall TCCNETDeviceThread();
virtual __fastcall ~TCCNETDeviceThread();
void CommandDisable();
bool IsItYou();
};
#endif