diff --git a/include/interfaces.h b/include/interfaces.h index 774d3d6..a676355 100644 --- a/include/interfaces.h +++ b/include/interfaces.h @@ -2,12 +2,9 @@ #define INTERFACE_H #include +#include - - -struct T_emp -{ - +struct T_emp { // Fixdata from EMP: uint8_t shaft; // = changer level uint16_t countryCode; @@ -34,11 +31,9 @@ struct T_emp uint8_t pollingRunning; uint8_t paymentRunning; - }; -struct Trtc_DateTime -{ +struct Trtc_DateTime { uint8_t rtc_hour; uint8_t rtc_min; uint8_t rtc_sec; @@ -48,8 +43,7 @@ struct Trtc_DateTime uint8_t rtc_dayOfWeek; }; -struct Tprn_hw_state -{ +struct Tprn_hw_state { // hardware (IO's) bool powerRdBk; // prn pwr is on bool rsSwOk; // serial switch (printer or modem) is set to printer @@ -66,8 +60,7 @@ struct Tprn_hw_state bool badResponse; }; - struct Tprn_currentSettings -{ +struct Tprn_currentSettings { uint8_t currFont; uint8_t currSize; uint8_t currHeigth; @@ -80,8 +73,7 @@ struct Tprn_hw_state bool nowAligned; }; - struct T_dynDat -{ +struct T_dynDat { uint8_t licensePlate[8]; uint8_t vendingPrice[8]; uint8_t parkingEnd[8]; @@ -92,172 +84,158 @@ struct Tprn_hw_state uint8_t dynDat7[8]; }; - -struct T_vaultRecord -{ - +struct T_vaultRecord { // Kassenbeleg (Abrechnungsdatensatz = Kassenwechsel-Datensatz) - char startbuffer[4]; // Psa> // never move or change this 1st entry - uint16_t AccountingNumber; - uint16_t CUNU; - uint16_t MANU; - uint16_t resint1; - //uint16_t resint2; + char startbuffer[4]; // Psa> // never move or change this 1st entry + uint16_t AccountingNumber; + uint16_t CUNU; + uint16_t MANU; + uint16_t resint1; + //uint16_t resint2; - char label1buffer[4]; // tim> - uint8_t year; - uint8_t month; - uint8_t dom; - uint8_t hour; - uint8_t min; - uint8_t sec; - uint8_t DoW; - uint8_t reschar3; + char label1buffer[4]; // tim> + uint8_t year; + uint8_t month; + uint8_t dom; + uint8_t hour; + uint8_t min; + uint8_t sec; + uint8_t DoW; + uint8_t reschar3; - char label2buffer[4]; // abs> - uint32_t AbsIncome1; - uint32_t AbsReserve; - uint32_t AbsNrOfCuts; + char label2buffer[4]; // abs> + uint32_t AbsIncome1; + uint32_t AbsReserve; + uint32_t AbsNrOfCuts; //16 - char label3buffer[4]; // mw > + char label3buffer[4]; // mw > - // Verkauf, Tür zu: - uint32_t VKcoinsInserted[16]; // nur für Wechsler, soviel wurde eingeworfen - uint32_t VKcoinsReturned[6]; // nur für Wechsler, Anzahl Münzen pro Typ, soviel wurde zurückgegeben + // Verkauf, Tür zu: + uint32_t VKcoinsInserted[16]; // nur für Wechsler, soviel wurde eingeworfen + uint32_t VKcoinsReturned[6]; // nur für Wechsler, Anzahl Münzen pro Typ, soviel wurde zurückgegeben //88 - - // Service, Tür offen: - uint16_t ServCoinsInserted[16]; // nur für Wechsler, soviel wurde eingeworfen - uint16_t ServCoinsReturned[6]; // nur für Wechsler, Anzahl Münzen pro Typ, soviel wurde zurückgegeben - uint16_t resint3; - uint16_t resint4; - uint16_t currentTubeContent[6]; // nur für Wechsler, aktueller Füllstand - uint16_t resint5; - uint16_t resint6; + // Service, Tür offen: + uint16_t ServCoinsInserted[16]; // nur für Wechsler, soviel wurde eingeworfen + uint16_t ServCoinsReturned[6]; // nur für Wechsler, Anzahl Münzen pro Typ, soviel wurde zurückgegeben + uint16_t resint3; + uint16_t resint4; + uint16_t currentTubeContent[6]; // nur für Wechsler, aktueller Füllstand + uint16_t resint5; + uint16_t resint6; // 56 - - char label4buffer[4]; // box> - uint16_t coinsInVault[16]; - uint16_t billsInStacker[8]; + char label4buffer[4]; // box> + uint16_t coinsInVault[16]; + uint16_t billsInStacker[8]; // 48 - - char label5buffer[4]; // val> - // actually constant unless exchange rate is changed - uint16_t coinDenomination[16]; // 5..50000 (z.B. 2? sind in Ungarn 760Ft) - uint16_t billDenom[8]; - uint16_t tubeDenom[6]; - uint16_t exchangeRate; - uint16_t resint9; - + char label5buffer[4]; // val> + // actually constant unless exchange rate is changed + uint16_t coinDenomination[16]; // 5..50000 (z.B. 2? sind in Ungarn 760Ft) + uint16_t billDenom[8]; + uint16_t tubeDenom[6]; + uint16_t exchangeRate; + uint16_t resint9; // 64 - - char endofblock[4]; // end> - + char endofblock[4]; // end> // 316 byte Block im Speicher - }; -struct T_moduleCondition -{ - // store conditon of all system components, hold in RAM - // 0 means unknown, not yet tested/used - // 1 means OK - // 50..99 = HINT / Notification - // 100..150 = WARNING - // 200..250 = ERROR +struct T_moduleCondition { + // store conditon of all system components, hold in RAM + // 0 means unknown, not yet tested/used + // 1 means OK + // 50..99 = HINT / Notification + // 100..150 = WARNING + // 200..250 = ERROR - uint8_t ram; - uint8_t intEe; - uint8_t extEe; + uint8_t ram; + uint8_t intEe; + uint8_t extEe; - uint8_t rtc; // 1: time/date OK 100: time not plausible 200: hardware error - uint8_t boardHw; - uint8_t printer; - uint8_t modem; + uint8_t rtc; // 1: time/date OK 100: time not plausible 200: hardware error + uint8_t boardHw; + uint8_t printer; + uint8_t modem; - uint8_t signal; // 1...99 - uint8_t regist; // 100:not 1:reg 2:ping OK 3:gotTime - uint8_t mdbBus; - uint8_t coinChecker; // EMP, OMP or mei-cashflow + uint8_t signal; // 1...99 + uint8_t regist; // 100:not 1:reg 2:ping OK 3:gotTime + uint8_t mdbBus; + uint8_t coinChecker; // EMP, OMP or mei-cashflow - uint8_t coinEscrow; - uint8_t mifareReader; - uint8_t creditTerm; - uint8_t coinReject; + uint8_t coinEscrow; + uint8_t mifareReader; + uint8_t creditTerm; + uint8_t coinReject; - uint8_t coinSafe; - uint8_t billSafe; - uint8_t voltage; // 1:11..14V - uint8_t temper; + uint8_t coinSafe; + uint8_t billSafe; + uint8_t voltage; // 1:11..14V + uint8_t temper; - uint8_t poweronTest; - uint8_t doorState; // 1: alles zu 200: t?r offen + bit1(S) +bit2(CB) + bit3(CB) - uint8_t doorWasOpened; // 1: all doors are closed 200: any door was just opened - uint8_t changer; // can only be tested by usage + uint8_t poweronTest; + uint8_t doorState; // 1: alles zu 200: t?r offen + bit1(S) +bit2(CB) + bit3(CB) + uint8_t doorWasOpened; // 1: all doors are closed 200: any door was just opened + uint8_t changer; // can only be tested by usage - uint8_t coinBlocker; // can only be tested by usage - uint8_t billReader; // can only be tested by usage - uint8_t ResetReason; - uint8_t allModulesChecked; - - uint8_t alarmState; - uint8_t res11; - uint8_t res12; - uint8_t res13; + uint8_t coinBlocker; // can only be tested by usage + uint8_t billReader; // can only be tested by usage + uint8_t ResetReason; + uint8_t allModulesChecked; + uint8_t alarmState; + uint8_t res11; + uint8_t res12; + uint8_t res13; }; -struct T_dynamicCondition -{ - char allDoorsDebounced; - char openedAuthorized; - uint8_t CBinDebounced; - char upperDoor; // 0:fehlt 1:drin - char middleDoor; - char lowerDoor; - char coinBox; - char billBox; - char modeAbrech; - char onAlarm; - char nowCardTest; - char nowPayment; - char lastMifCardType; - uint8_t lastSDoorState; - uint8_t lastVDoorState; - uint8_t lastCBstate; - char paymentInProgress; - char res1; - uint16_t U_Batt; - uint16_t Temperatur; - uint16_t nrCoinsInBox; - uint32_t amountInBox; - uint32_t totalTransVolume; - uint32_t totalNrOfVends; - char jsonValid_config; - char jsonValid_device; - char jsonValid_cash; - char jsonValid_print; - char jsonValid_serial; - char jsonValid_time; - char lastFileType; +struct T_dynamicCondition { + char allDoorsDebounced; + char openedAuthorized; + uint8_t CBinDebounced; + char upperDoor; // 0:fehlt 1:drin + char middleDoor; + char lowerDoor; + char coinBox; + char billBox; + char modeAbrech; + char onAlarm; + char nowCardTest; + char nowPayment; + char lastMifCardType; + uint8_t lastSDoorState; + uint8_t lastVDoorState; + uint8_t lastCBstate; + char paymentInProgress; + char res1; + uint16_t U_Batt; + uint16_t Temperatur; + uint16_t nrCoinsInBox; + uint32_t amountInBox; + uint32_t totalTransVolume; + uint32_t totalNrOfVends; + char jsonValid_config; + char jsonValid_device; + char jsonValid_cash; + char jsonValid_print; + char jsonValid_serial; + char jsonValid_time; + char lastFileType; // 44 - uint8_t MifCardHolder[8]; - uint8_t resultOfLastTemplPrint; - // 0: unknown or printing in progress - // 1: OK, doc was printed 2: error, doc was not printed - uint8_t lastPrinterStatus; - // 0: printer OK - // bit0: near paper end bit1: no paper - // bit2: temperature error bit3: error head open - // bit4: paper jam in cutter - // bit6: no response bit7: serial rec. error - // bit5: printer not ready + uint8_t MifCardHolder[8]; + uint8_t resultOfLastTemplPrint; + // 0: unknown or printing in progress + // 1: OK, doc was printed 2: error, doc was not printed + uint8_t lastPrinterStatus; + // 0: printer OK + // bit0: near paper end bit1: no paper + // bit2: temperature error bit3: error head open + // bit4: paper jam in cutter + // bit6: no response bit7: serial rec. error + // bit5: printer not ready //54 }; -struct T_extTime -{ +struct T_extTime { uint8_t Hours; uint8_t Min; uint8_t Sec; @@ -283,19 +261,16 @@ struct T_extTime uint8_t res4; uint16_t res5; uint32_t MinutesOfMillenium; - }; -class hwinf -{ - +class hwinf { public: enum class DownloadResult {OK, ERROR, TIMEOUT, NOP}; enum class FileTypeJson {CONFIG=1, DEVICE, CASH, SERIAL, TIME, PRINTER}; virtual ~hwinf() {} - + virtual QStringList dc_getStatus() const = 0; // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ // Use serial interface and protocol stack in Cashagent-Library