//--------------------------------------------------------------------------- #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