64 lines
2.5 KiB
C++
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
|
|
|