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

64 lines
2.5 KiB
C++

//---------------------------------------------------------------------------
#ifndef ValidatorH
#define ValidatorH
//---------------------------------------------------------------------------
#include "../ComPort.h"
#include "ValidatorThread.h"
//---------------------------------------------------------------------------
unsigned char ConReACK[6] = {0x02,0x03,0x06,0x00,0xC2,0x82}; //Îòâåò âàëèäàòîðó ÷òî âñ¸ íîðìàëüíî...
unsigned char ConReset[6] = {0x02,0x03,0x06,0x30,0x41,0xB3}; //RESET Ïåðåçàãðóçèòü âàëèäàòîð
unsigned char ConGetBT[6] = {0x02,0x03,0x06,0x41,0x4F,0xD1}; //GET BILL TABLE Êàêèå êóïþðû ïðîøèòû â âàëèäàòîðå
unsigned char ConStPoll[6]= {0x02,0x03,0x06,0x33,0xDA,0x81}; //POLL 33H Request for Bill-to-Bill unit activity Status (Ïåðåéòè â ðåæèì ïîëó÷åíèÿ ïëàòåæåé)
unsigned char ConIdent[6] = {0x02,0x03,0x06,0x37,0xFE,0xC7}; //IDENTIFICATION 37H Request for Model, Serial Number, Country ISO code, Asset Number
unsigned char ConEnBT[12] = {0x02,0x03,0x0C,0x34,0xFF,0xFF,0xFF,0x00,0x00,0x00,0xB5,0xC1};
unsigned char ConDiBT[12] = {0x02,0x03,0x0C,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x17,0x0C};
//---------------------------------------------------------------------------
struct BillType
{
int val; //Íîìèíàë êóïþðû
char country[3]; //Êîä ñòðàíû
};
//---------------------------------------------------------------------------
int addZero(int val,int cnt);
//---------------------------------------------------------------------------
class Validator
{
private:
unsigned char ReadAr[255];
protected:
int Pay;
ValidatorThread* vThread;
bool CheckOnCRC(unsigned char* lpBuffer,unsigned long nSize);
public:
ComPort* cPort;
bool bNominals; //Óäàëîñü ëè ïîëó÷èòü íîìèíàëû
BillType bt[24];
AnsiString BatchNumber, SerialNumber; //Íîìåð ïàðòèè è ñåðèéíûé
Validator();
virtual ~Validator();
bool Start(); //îòêðûòü ïîðò è ïðîèíèöèàëèçèðîâàòü âàëèäàòîð
bool Reset(); //Ïåðåçàãðóçèòü âàëèäàòîð
bool getSerialNumber(); //Ïîëó÷èòü íîìåð ïàðòèè è ñåðèéíèê
bool getNominals(); //Ïîëó÷èòü íîìèíàëû ïðîøèòûõ êóïþð
void LoadSetup();
void SaveSetup();
int getPay();
void endPay(); //Âûçûâàåòñÿ ïðè çàâåðøåíèè îïëàòû
bool startPay(); //Ñòàðòóåì ïîòîê
bool stopPay(); //Ñòîïèì ïîòîê
int GetState(); //Åñëè 0 òî âñ¸ â ïîðÿäêå
AnsiString GetStatusDescription(BYTE StatusCode); //Îïèñàíèå ñòàòóñà
};
//---------------------------------------------------------------------------
extern Validator* validator;
//---------------------------------------------------------------------------
#endif