forked from GerhardHoffmann/DCLibraries
		
	
		
			
				
	
	
		
			647 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			647 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
 | 
						|
#ifndef STOREINDATA_H
 | 
						|
#define STOREINDATA_H
 | 
						|
 | 
						|
#include <stdint.h>
 | 
						|
#include "tslib.h"
 | 
						|
#include <QString>
 | 
						|
 | 
						|
 | 
						|
#define MAXNROF_AO              3
 | 
						|
#define MAXNROF_GENSTR          16
 | 
						|
#define MAXNROF_CONTR_PORTS     11
 | 
						|
#define MAXNROF_DIports         2
 | 
						|
#define MAXNROF_DOports         2
 | 
						|
#define MAXNROF_CTR             2
 | 
						|
#define MEASCHAN_TEMPERATURE    0
 | 
						|
#define MEASCHAN_VOLTAGE        1
 | 
						|
 | 
						|
 | 
						|
// gpi: DC-driver stores data for graphic peripheral interface
 | 
						|
// epi: gui reads values from external peripheral interface
 | 
						|
 | 
						|
 | 
						|
// store power on/off condition of the devices to control the data request
 | 
						|
 | 
						|
void indat_storePrinterPower(bool isOn);
 | 
						|
bool indat_isPrinterOn();
 | 
						|
 | 
						|
void indat_storeMifarePower(bool isOn);
 | 
						|
bool indat_isMifareOn();
 | 
						|
 | 
						|
void indat_storeMDBisOn(bool isOn);
 | 
						|
bool indat_isMdbOn();
 | 
						|
 | 
						|
void gpi_storeHWver(QString text);
 | 
						|
QString epi_loadHWver(void);
 | 
						|
 | 
						|
void gpi_storeSWver(QString text);
 | 
						|
QString epi_loadSWver(void);
 | 
						|
 | 
						|
void gpi_storeDCstate(QString text);
 | 
						|
QString epi_loadDCstate(void);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeUID(uint8_t const *buf8byteUid);
 | 
						|
//void gpi_storeUID(uint8_t *buf8byteUid);
 | 
						|
// buffer size: 8 byte
 | 
						|
 | 
						|
void epi_getUIDdec(uint8_t *buf8byteUid);
 | 
						|
// buffer size: 8 byte
 | 
						|
 | 
						|
QString epi_getUIDstr();
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
//          Time and Date
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
uint8_t epi_getSquareMode();
 | 
						|
void gpi_backupSquareMode(uint8_t squMode);
 | 
						|
 | 
						|
void gpi_backupTime(uint8_t *timeBuffer, uint8_t Leng);     // 104, <=8byte
 | 
						|
void epi_getTime(uint8_t *hh, uint8_t *mm, uint8_t *ss);
 | 
						|
void epi_getDate(uint8_t *yy, uint8_t *mm, uint8_t *dd);
 | 
						|
void epi_getToday(uint8_t *dow, uint16_t *minOfToday, uint32_t *secOfToday);
 | 
						|
bool epi_isLeapYear(uint8_t *lastLeapYear, uint8_t *NextLeapYear);
 | 
						|
bool epi_isLeapYear();
 | 
						|
void epi_getSpecialWeekTimeDate(uint8_t *DayOfWeek, uint8_t *HoursOfWeek, uint16_t *MinutesOfWeek);
 | 
						|
void epi_getSpecialMonthTimeDate(uint8_t *DayOfMonth, uint16_t *HoursOfMonth, uint16_t *MinutesOfMonth);
 | 
						|
void epi_getSpecialYearTimeDate(uint16_t *DayOfYear, uint16_t *HoursOfYear, uint32_t *MinutesOfYear);
 | 
						|
 | 
						|
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
//          Analog values
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
void gpi_storeAIs(uint8_t aiNr, uint16_t val);   // rs -> Sdata
 | 
						|
 | 
						|
uint8_t gpi_getMaxNrAIs();
 | 
						|
 | 
						|
uint16_t epi_loadAIs(uint8_t aiNr);              //       Sdata -> gui
 | 
						|
    // return value of one ADC with channel nr: aiNr 0...15
 | 
						|
 | 
						|
uint32_t epi_loadMeasureValue(uint8_t ValueNr);
 | 
						|
    // ValueNr 0=ADC0, 1=ADC1 aso...
 | 
						|
 | 
						|
void gpi_storeMeasureValue(uint8_t ValueNr, uint32_t val);
 | 
						|
    // in mV, also bis 65,535V
 | 
						|
 | 
						|
QString epi_getSlaveTemperatureStr();
 | 
						|
 | 
						|
QString epi_getSlaveVoltageStr();
 | 
						|
    // value in "meas_volt" in mV, also bis 65,535V. Value range [6000...16000] (6V...16V)
 | 
						|
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
//          digital inputs
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
void gpi_storeDI_doorSwitches(uint8_t upperDoor, uint8_t lowerDoor, uint8_t vaultDoor);
 | 
						|
 | 
						|
uint8_t epi_getDI_doorSwitches(void);
 | 
						|
    // bit0: upper door  1: low door  2:vault door
 | 
						|
 | 
						|
void gpi_storeDI_vaultSwitches(uint8_t CashBoxIn, uint8_t BillBoxIn);
 | 
						|
 | 
						|
uint8_t epi_getDI_vaultSwitches(void);
 | 
						|
    // bit0: cash box    1: bill box in
 | 
						|
 | 
						|
void gpi_storeDI_lockSwitches(uint8_t indatUL, uint8_t indatLL);
 | 
						|
    // D5: bit 0: upper lockbar up   bit1:down
 | 
						|
    // D6: bit 0: lower lockbar up   bit1:down
 | 
						|
 | 
						|
uint8_t epi_getDI_lockSwitches(void);
 | 
						|
    // retval: bit 0: upper lockbar up   bit1: upper lockbar is down
 | 
						|
    //         bit 2: lower lockbar up   bit1: lower lockbar is down
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDI_optos(uint8_t indatOpto);
 | 
						|
    // OptoIn bit 0,1: optoin 1,2
 | 
						|
 | 
						|
uint8_t epi_getDI_optos(void);
 | 
						|
    // bit0: opto in 1    1: opto in 2
 | 
						|
 | 
						|
void gpi_storeDI_auxIn(uint8_t indatAuxIn);
 | 
						|
    // Aux0...5
 | 
						|
 | 
						|
uint8_t epi_getDI_auxIn(void);
 | 
						|
    // bit0: auxin 1  ...  5: auxin 6
 | 
						|
 | 
						|
void gpi_storeDI_ptuWake(uint8_t indat);
 | 
						|
 | 
						|
bool epi_getDI_ptuWake(void);
 | 
						|
 | 
						|
void gpi_storeDI_mbdWake(uint8_t indat);
 | 
						|
 | 
						|
bool epi_getDI_mdbWake(void);
 | 
						|
 | 
						|
void gpi_storeDI_prnReady(uint8_t indat);
 | 
						|
 | 
						|
bool epi_getDI_prnReady(void);
 | 
						|
 | 
						|
void gpi_storeDI_CoinAttach(uint8_t indat);
 | 
						|
 | 
						|
bool epi_getDI_CoinAttach(void);
 | 
						|
 | 
						|
void gpi_storeDI_CoinEscrow(uint8_t indat);
 | 
						|
 | 
						|
bool epi_getDI_CoinEscrow(void);
 | 
						|
 | 
						|
void gpi_storeDI_mifareCardTapped(uint8_t indat);
 | 
						|
 | 
						|
bool epi_getDI_mifareCardTapped(void);
 | 
						|
 | 
						|
void gpi_storeDI_modemWake(uint8_t indat);
 | 
						|
 | 
						|
bool epi_getDI_modemWake(void);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDI_contactPowerIsOn(bool di_contact_PwrOn);
 | 
						|
 | 
						|
bool epi_getDI_contactPwr(void);
 | 
						|
 | 
						|
void gpi_storeDI_MifarePowerIsOn(bool di_mifare_PwrOn);
 | 
						|
 | 
						|
bool epi_getDI_mifarePwr(void);
 | 
						|
 | 
						|
void gpi_storeDI_readbackMdbTxD(bool di_rdbkMdbTxd);
 | 
						|
 | 
						|
bool epi_getDI_mdbTxd(void);
 | 
						|
 | 
						|
void gpi_storeDI_AuxPowerIsOn(bool di_Aux_PwrOn);
 | 
						|
 | 
						|
bool epi_getDI_auxPwr(void);
 | 
						|
 | 
						|
void gpi_storeDI_GsmPowerIsOn(bool di_gsm_PwrOn);
 | 
						|
 | 
						|
bool epi_getDI_gsmPwr(void);
 | 
						|
 | 
						|
void gpi_storeDI_CreditPowerIsOn(bool di_credit_PwrOn);
 | 
						|
 | 
						|
bool epi_getDI_creditPwr(void);
 | 
						|
 | 
						|
void gpi_storeDI_PrinterPowerIsOn(bool di_printer_PwrOn);
 | 
						|
 | 
						|
bool epi_getDI_printerPwr(void);
 | 
						|
 | 
						|
void gpi_storeDI_MdbPowerIsOn(bool di_mdb_PwrOn);
 | 
						|
 | 
						|
bool epi_getDI_mdbPwr(void);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDI_rejMot_home(bool di);
 | 
						|
 | 
						|
bool epi_getDI_rejectMotor_homepos(void);
 | 
						|
 | 
						|
void gpi_storeDI_paperLow(uint8_t di);
 | 
						|
 | 
						|
uint8_t epi_getDI_npe_sensor(void);
 | 
						|
    // 0: Sensor sees paper 1: no paper 99: off
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
//          readback digital outputs
 | 
						|
// ///////////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
void gpi_storeDO_mdbRxTst(uint8_t do_mbdRxTst);
 | 
						|
 | 
						|
bool epi_getDO_mdbRxTestOut(void);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDO_motorOutputs(uint8_t Pwr);
 | 
						|
 | 
						|
uint8_t epi_getDO_motorOuts(void);
 | 
						|
    // bit0: upper lock forward    bit 1 backward
 | 
						|
    // bit2: lower lock forward    bit 3 backward
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDO_serialSwitch(uint8_t state);
 | 
						|
    // serial drv on/off, Serial mux1, Serial mux2
 | 
						|
 | 
						|
uint8_t epi_getDO_serialSwitch(void);
 | 
						|
    // serial drv on/off, Serial mux1, Serial mux2
 | 
						|
 | 
						|
bool epi_getDO_serialDriverIsOn(void);
 | 
						|
 | 
						|
bool epi_getDO_serialMux1isSetToPrinter(void);
 | 
						|
    // mux1 off: serial is switched to printer
 | 
						|
 | 
						|
bool epi_getDO_serialMux1isSetToModem(void);
 | 
						|
    // mux1 on: serial is switched to modem
 | 
						|
 | 
						|
bool epi_getDO_serialMux2isSetToCredit(void);
 | 
						|
    // mux2 off: serial is switched to credit card terminal
 | 
						|
 | 
						|
bool epi_getDO_serialMux2isSetToMifare(void);
 | 
						|
    // mux2 on: serial is switched to mifare reader
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDO_ledsAndFan(uint8_t ledState);
 | 
						|
 | 
						|
bool epi_getDO_led_coin(void);
 | 
						|
 | 
						|
bool epi_getDO_led_front(void);
 | 
						|
 | 
						|
bool epi_getDO_led_ticket(void);
 | 
						|
 | 
						|
bool epi_getDO_led_pin(void);
 | 
						|
 | 
						|
bool epi_getDO_led_start(void);
 | 
						|
 | 
						|
bool epi_getDO_led_inside(void);
 | 
						|
 | 
						|
bool epi_getDO_fan(void);
 | 
						|
 | 
						|
void gpi_storeDO_sirenAndRelay(uint8_t sirenRelay);
 | 
						|
 | 
						|
bool epi_getDO_sirene(void);
 | 
						|
 | 
						|
bool epi_getDO_relay(void);
 | 
						|
 | 
						|
void gpi_storeDO_ptuWake(uint8_t state);
 | 
						|
 | 
						|
bool epi_getDO_ptuWake(void);
 | 
						|
 | 
						|
void gpi_storeDO_auxPower(uint8_t pwr);
 | 
						|
 | 
						|
bool epi_getDO_auxPower(void);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDO_coinShutter(uint8_t state);
 | 
						|
 | 
						|
bool epi_getDO_coinShutterOpen(void);
 | 
						|
 | 
						|
bool epi_getDO_coinShutterTest(void);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDO_coinEscrow(uint8_t state);
 | 
						|
 | 
						|
uint8_t epi_getDO_coinEscrow(void);
 | 
						|
    // retval: 1:return flap is open   2:take flap is open    0:closed
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDO_printerPwrOn(uint8_t state);
 | 
						|
 | 
						|
uint8_t epi_getDO_printerPwr(void);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// ---------------------------------------------------------------------------------------------
 | 
						|
// counterchecks, make sure that DC-outputs are correct
 | 
						|
 | 
						|
/*
 | 
						|
bool epi_cntchk_wakePtu(void);
 | 
						|
bool epi_cntchk_enabDrv01(void);        // no communication possible if 0 !!!!!
 | 
						|
bool epi_cntchk_swRs1toModem(void);
 | 
						|
bool epi_cntchk_modemWake(void);
 | 
						|
bool epi_cntchk_enabDrv2(void);
 | 
						|
bool epi_cntchk_swRs2toMIF(void);
 | 
						|
 | 
						|
bool epi_cntchk_shutterIsOpen(void);
 | 
						|
    // counter check if shutter is really open,  PJ4 must be OUT and HIGH, PB5 must be OUT and HIGH
 | 
						|
    // retval TRUE: shutter is open   FALSE: shutter is closed
 | 
						|
 | 
						|
bool epi_cntchk_escrowReturnIsOpen(void);
 | 
						|
bool epi_cntchk_escrowTakeIsOpen(void);
 | 
						|
bool epi_cntchk_aux1DirOut(uint8_t auxNr);
 | 
						|
bool epi_cntchk_aux1OutHigh(uint8_t auxNr);
 | 
						|
 | 
						|
bool epi_cntchk_ledPaperOn(void);
 | 
						|
bool epi_cntchk_ledPinpadOn(void);
 | 
						|
bool epi_cntchk_ledStartOn(void);
 | 
						|
bool epi_cntchk_ledServiceOn(void);
 | 
						|
bool epi_cntchk_ledCoinOn(void);
 | 
						|
bool epi_cntchk_ledIllumOn(void);
 | 
						|
bool epi_cntchk_FanOn(void);
 | 
						|
bool epi_cntchk_RelaisOn(void);
 | 
						|
bool epi_cntchk_LaermOn(void);
 | 
						|
bool epi_cntchk_Mot1Ron(void);
 | 
						|
bool epi_cntchk_Mot1Fon(void);
 | 
						|
bool epi_cntchk_Mot2Ron(void);
 | 
						|
bool epi_cntchk_Mot2Fon(void);
 | 
						|
*/
 | 
						|
 | 
						|
 | 
						|
// ------------------------------------------------------------------------------------
 | 
						|
// MDB Sendind Data  are store here for next transport to DC (Device Controller)
 | 
						|
// Transport to Slave runs every 100ms, answer from mdb-slave (e.g. coin changer) comes right
 | 
						|
// with next slave answer
 | 
						|
 | 
						|
// start with: SENDDIRCMD_EXCHGMDB,
 | 
						|
    // send crude data from here to DC, DC to mdb slaves, mdb answer, return here within 50ms
 | 
						|
 | 
						|
uint8_t gpi_storeMdbRecData(uint8_t length, uint8_t *buf);
 | 
						|
    // datif store received mdb data
 | 
						|
 | 
						|
uint8_t epi_getMdbResponse(void);
 | 
						|
     // 0=no response  1=ACK  2=NAK  3=ACK with data
 | 
						|
 | 
						|
uint8_t epi_getMdbRecLength(void);
 | 
						|
    // 0...31
 | 
						|
 | 
						|
uint8_t epi_restoreMdbRecData(uint8_t *buf);
 | 
						|
    // hwapi reads received mdb data from PI
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void gpi_clearMifHwData(void);
 | 
						|
 | 
						|
void gpi_storeMifHwData(uint8_t *receivedData);
 | 
						|
    // blkNr=0...11    receivedData[64]
 | 
						|
 | 
						|
uint8_t epi_restoreMifHwData(uint8_t *buf, uint8_t maxBufferSize);
 | 
						|
    // blkNr=0...11    return buf[64]
 | 
						|
    // retval: 1=error 0=OK
 | 
						|
 | 
						|
 | 
						|
void gpi_clearMifAtbData(void);
 | 
						|
 | 
						|
void gpi_storeMifAtbData(uint8_t *receivedData);
 | 
						|
 | 
						|
uint8_t epi_restoreMifAtbData( uint8_t *buf, uint8_t maxBufferSize);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void epi_restorePrinterState(uint8_t *buf);
 | 
						|
 | 
						|
void gpi_storePrinterState(uint8_t *buf);
 | 
						|
 | 
						|
void epi_restorePrinterFonts(uint8_t *buf);
 | 
						|
 | 
						|
void gpi_storePrinterFonts(uint8_t *buf);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void gpi_storeMdbState(uint8_t busReady, uint8_t V12on, uint8_t V5on );
 | 
						|
 | 
						|
bool epi_restoreMdbBusReady(void);
 | 
						|
 | 
						|
bool epi_restoreMdbV12Ready(void);
 | 
						|
 | 
						|
bool epi_restoreMdbV5Ready(void);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeMdbResponse(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreMdbResponse(uint8_t *leng, uint8_t *data);
 | 
						|
    // last received mdb answer (from mdb device)
 | 
						|
    // only needed if a special command was sent directly
 | 
						|
    // DB0: mdb Device-Nr
 | 
						|
    // DB1: last sent mdb command
 | 
						|
    // DB2: nr of received (payload) data bytes (apart from ACK, can be 0....34)
 | 
						|
    // DB3...DB38: rec.data (payload)
 | 
						|
 | 
						|
 | 
						|
void gpi_storeEmpSettings(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreEmpSettings(uint8_t *leng, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
/*
 | 
						|
void gpi_storeEmpCoinSignal(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreEmpCoinSignal(uint8_t *leng, uint8_t *data);
 | 
						|
    // return 5 byte:
 | 
						|
    //      data[0]=got coin 0xFF=emp reported an error  0=got nothing
 | 
						|
    //      data[1]=emp-signal of last inserted coin
 | 
						|
    //      data[2,3]=emp-value of last inserted coin
 | 
						|
    //      data[4] = emp-error or warning
 | 
						|
 | 
						|
void epi_clearEmpCoinSignal();
 | 
						|
*/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void gpi_storeEmpCoinSignal(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
uint8_t epi_isNewCoinLeft(void);
 | 
						|
    // retval: 0...16 coins left in FIFO
 | 
						|
 | 
						|
void epi_restoreEmpCoinSignal(uint8_t *valid, uint8_t *signal, uint8_t *error, uint16_t *value);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void gpi_storeRbDeviceSettings(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreRbDeviceSettings(uint8_t *leng, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeMachineIDsettings(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreMachineIDsettings(uint8_t *leng, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void epi_clearCurrentPayment(void);
 | 
						|
 | 
						|
void gpi_storeCurrentPayment(uint32_t insertedAmount, uint16_t lastCoinType, uint16_t lastCoinValue);
 | 
						|
 | 
						|
uint32_t epi_CurrentPaymentGetAmount(void);
 | 
						|
 | 
						|
uint16_t epi_CurrentPaymentGetLastCoin(void);
 | 
						|
 | 
						|
bool epi_CurrentPaymentGetAllCoins(uint16_t *types, uint16_t *values);
 | 
						|
    // alle bei diesem Verkauf eingeworfenen Münzen sind gespeichert falls die jmd. braucht
 | 
						|
 | 
						|
 | 
						|
void gpi_storeWakeSources(uint8_t *receivedData);
 | 
						|
 | 
						|
uint64_t epi_getWakeSources(void);
 | 
						|
 | 
						|
uint8_t epi_getWakeReason(void);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void gpi_storeExtendedTime(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreExtendedTime(uint8_t *leng, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
void epi_clearDeviceConditions(void);
 | 
						|
 | 
						|
void gpi_storeDeviceConditions(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreDeviceConditions(uint8_t *leng, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
void epi_clearDynMachineConditions(void);   // new, 24.6.23
 | 
						|
 | 
						|
void gpi_storeDynMachineConditions(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreDynMachineConditions(uint8_t *leng, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
void gpi_storeDCbackupAccNr(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreDCbackupAccNr(uint8_t *leng, uint16_t *accNrs);
 | 
						|
    // return accNrs[0..7]
 | 
						|
 | 
						|
 | 
						|
void epi_iniVRstorage(void);
 | 
						|
 | 
						|
void gpi_storeVaultRecord(uint8_t blkNr, uint8_t *data );
 | 
						|
 | 
						|
bool epi_checkIfVaultRecordAvailable(void);
 | 
						|
 | 
						|
uint8_t epi_getLoadedVaultBlocks(void);
 | 
						|
    // return 0x0011 1111 if all 6 blocks arer loaded (one bit per block)
 | 
						|
 | 
						|
bool epi_restoreVaultRecord(uint16_t *length, uint8_t *buf );
 | 
						|
    // true if completly received
 | 
						|
 | 
						|
void gpi_storeCBlevel(uint32_t amount, uint16_t nrOfCoins );
 | 
						|
 | 
						|
uint32_t epi_getCashBoxContent(void);
 | 
						|
 | 
						|
uint16_t epi_getNrOfCoinsInCashBox(void);
 | 
						|
 | 
						|
//void gpi_storeNewMifareCard(uint8_t typ, uint8_t *holder );
 | 
						|
 | 
						|
uint8_t epi_mifGetCardType(uint8_t *holder);
 | 
						|
    //holder[8] = name of card holder
 | 
						|
    // retval Type of MifareCard, 1=upper door, 2=lower door 3=test printer 4=test coins
 | 
						|
 | 
						|
void gpi_storeDcDataValid(bool isVal);
 | 
						|
 | 
						|
bool epi_areDcDataValid();
 | 
						|
 | 
						|
void epi_setDcDataValid(void);
 | 
						|
 | 
						|
void epi_resetDcDataValid(char reason);
 | 
						|
 | 
						|
 | 
						|
void epi_clearDynData(void);
 | 
						|
 | 
						|
void gpi_storeDynData(uint8_t *DCdynDat);
 | 
						|
    // buffer size: 64 byte
 | 
						|
 | 
						|
bool epi_getDynPrnData(uint8_t *DCdynDat);
 | 
						|
    // buffer size: 64 byte
 | 
						|
    // return true if data are new and valid
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void gpi_storeNextDCaccNr(uint16_t nxtDcAccNr);
 | 
						|
 | 
						|
uint16_t epi_getNextDCaccNr(void );
 | 
						|
 | 
						|
 | 
						|
void gpi_storeMifCardType(uint16_t length, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreMifCardType(uint16_t *length, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// move here from dcBL and use shared mem as ptu-updater uses CAslave Lib 6.9.23TS
 | 
						|
//#define RAW_BL_DATALEN      150
 | 
						|
void gpi_storeRawReceivedData(uint8_t  RdDlen, uint8_t *receivedData);
 | 
						|
 | 
						|
uint8_t epi_getRawReceivedData(uint8_t *receivedData);
 | 
						|
    // retval=length, will be zeroed after first reading
 | 
						|
 | 
						|
uint8_t epi_getRawRecLength(void);
 | 
						|
    // retval=length
 | 
						|
 | 
						|
//QString epi_getRawReceivedString();
 | 
						|
// not used
 | 
						|
 | 
						|
void epi_clrRawReceivedString();
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// new from 28.9.23 and earliest from DC version 4.45
 | 
						|
// store all versions of the DC-Jsons
 | 
						|
//#define  numberOfJsons     36
 | 
						|
//#define  versionStringLength    16
 | 
						|
//char    store_jsonVersion[versionStringLength][numberOfJsons];
 | 
						|
 | 
						|
void gpi_storeJsonVersion(uint8_t  jsonNr, uint8_t *versionString);
 | 
						|
    // jsonNr=1...36, 1=config file (cust.Nr) 2=devices  3=cash  4=res.
 | 
						|
    //      5=printer template 1 ..... 36= template 32
 | 
						|
    // length of buffer is always 16 byte
 | 
						|
 | 
						|
void epi_getJsonVersion(uint8_t  jsonNr, char *versionString);
 | 
						|
    // jsonNr=1...36, 1=config file (cust.Nr) 2=devices  3=cash  4=res.
 | 
						|
    //      5=printer template 1 ..... 36= template 32
 | 
						|
    // length of buffer is always 16 byte
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void epi_setNowCoinPay(bool on_off);
 | 
						|
 | 
						|
bool gpi_getNowCoinPay(void);
 | 
						|
 | 
						|
 | 
						|
void epi_setNowIsBootload(bool on_off);
 | 
						|
 | 
						|
bool gpi_getNowIsBootload(void);
 | 
						|
 | 
						|
void gpi_storeChangerResult(uint8_t  result, uint32_t amount);
 | 
						|
 | 
						|
uint8_t epi_getChangerResult(uint32_t *returnedAmount);
 | 
						|
    // get result of coin dispensing
 | 
						|
    // receivedData[0]: 0: not yet started      1:amount returned
 | 
						|
    //                  2:only partial return   3: no return possible
 | 
						|
    // receivedData[2,3,4,5]: returned amount
 | 
						|
 | 
						|
 | 
						|
void gpi_storeTubeLevel(uint8_t  *data);
 | 
						|
 | 
						|
void epi_restoreTubeLevel(uint8_t  *data);
 | 
						|
 | 
						|
void gpi_storeBnaParams(uint8_t  *data);
 | 
						|
 | 
						|
void epi_restoreBnaParams(uint8_t  *data);
 | 
						|
 | 
						|
void gpi_storeBnaCollection(uint8_t  *data);
 | 
						|
 | 
						|
void epi_restoreBnaCollection(uint8_t  *data);
 | 
						|
 | 
						|
void gpi_storeBnaContent(uint8_t  *data);
 | 
						|
 | 
						|
void epi_restoreBnaContent(uint8_t  *data);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
void epi_clearDynMachCond2(void);
 | 
						|
 | 
						|
void gpi_storeDynMachCond2(uint8_t leng, uint8_t *data);
 | 
						|
 | 
						|
void epi_restoreDynMachCond2(uint8_t *leng, uint8_t *data);
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
 |