forked from GerhardHoffmann/DCLibraries
Start repository
This commit is contained in:
305
include/globdefs.h
Executable file
305
include/globdefs.h
Executable file
@@ -0,0 +1,305 @@
|
||||
// global defines
|
||||
// ab 6.Juli2020: neuese Board DC2b
|
||||
|
||||
#ifndef GLOBDEFS_H
|
||||
#define GLOBDEFS_H
|
||||
|
||||
#include <bios19/biosdefs.h>
|
||||
|
||||
//#define VERSION_DC_HW "DC2b_25.02.2020"
|
||||
#define VERSION_DC_HW "DC2c_oct2022"
|
||||
//#define VERSION_PO_HW "PO2d_27.03.2020"
|
||||
#define VERSION_PO_HW "PO2e_nov2022"
|
||||
#define VERSION_SW "DC2c.04.12 06.04.2023"
|
||||
//#define VERSION_SW "DC2c.04.04b14.02.2023"
|
||||
//#define VERSION_SW "DC2c.04.04c14.02.2023"
|
||||
|
||||
|
||||
#define USE1256MODE 1
|
||||
#define SEND_DIAG_TO_MASTER 1
|
||||
|
||||
#define MAX_DATA_FROM_MASTER 64
|
||||
#define MAX_RECLEN_FROM_MASTER MAX_DATA_FROM_MASTER+20
|
||||
|
||||
#define MAX_DATA_TO_MASTER 64
|
||||
#define MAX_SENDLEN_TO_MASTER MAX_DATA_TO_MASTER+16
|
||||
|
||||
#define WORK_WITHOUT_HANDSHAKES
|
||||
|
||||
#define PAGEBUFFERSIZE 1026
|
||||
extern UCHAR PageBuffer[PAGEBUFFERSIZE];
|
||||
|
||||
#define WAKESRC_NONE 0
|
||||
#define WAKESRC_MDB 1
|
||||
#define WAKESRC_COIN 2
|
||||
#define WAKESRC_MASTER 3
|
||||
#define WAKESRC_RTC 4
|
||||
#define WAKESRC_DOOR 5
|
||||
#define WAKESRC_DIAG 6
|
||||
#define WAKESRC_HB 7
|
||||
|
||||
struct T_power
|
||||
{
|
||||
char busy;
|
||||
char sleepAllowed;
|
||||
UCHAR WakeSource;
|
||||
char everythingUP;
|
||||
char WokenByDevice;
|
||||
char NoExternalEventNow;
|
||||
char WakePulseNowActive;
|
||||
UCHAR DC_status; // 0:POR 1:board ini 2:running HWtest 3: device ini 4: start-up-test
|
||||
// 5: SW Module ini
|
||||
UCHAR storeWakeReason[6];
|
||||
char blockRS2forMif;
|
||||
char blockRS1forPrinter;
|
||||
};
|
||||
|
||||
|
||||
struct T_globTime
|
||||
{
|
||||
UCHAR Year;
|
||||
UCHAR Month;
|
||||
UCHAR Day;
|
||||
UCHAR DOW; // 1(Mo)....7(So)
|
||||
UCHAR Hours;
|
||||
UCHAR Min;
|
||||
UCHAR Sec;
|
||||
UINT MinOfDay; // Anzahl Minuten des Tages 0...1439
|
||||
ULONG SecOfDay;
|
||||
//UCHAR IsLeap;
|
||||
//UCHAR aktuell; // 0,1 der der liest kann es auf 0 setzen
|
||||
// und sieht dann wanns wieder aktuell
|
||||
};
|
||||
extern struct T_globTime GlobTime;
|
||||
|
||||
extern UCHAR main_getWakeEvent(void);
|
||||
|
||||
struct T_out // f<>r alle Levels
|
||||
{
|
||||
UINT WrCmd; // was soll gemacht/gesetzt werden
|
||||
UINT address; // z.B. bei Datenspeicher. Bin<69>r.
|
||||
UCHAR datLen; // Anzahl nachfolgender Datenbytes
|
||||
UCHAR inBuf[MAX_DATA_FROM_MASTER]; // kam so vom Master rein, soll ausgegeben werden
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct T_in // f<>r alle Levels
|
||||
{
|
||||
UINT RdCmd; // was soll gemacht/gesetzt werden
|
||||
UINT address; // z.B. bei Datenspeicher. Bin<69>r.
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
struct T_serial
|
||||
{
|
||||
// basic machine settings ("DIP-Switches")
|
||||
// to be stored in eeprom
|
||||
UCHAR crcCheckOn; // 1,0
|
||||
UCHAR baudRate; // 1...8
|
||||
UCHAR parity; // 'E' 'O' 'N'
|
||||
//UCHAR myAddr; // not needed
|
||||
//UCHAR NowTestmode; // 1=on
|
||||
UCHAR dataBits; // 8
|
||||
UCHAR stopBits; // 1
|
||||
UCHAR pad6;
|
||||
};
|
||||
|
||||
|
||||
struct T_devices
|
||||
{
|
||||
// set by master, used(1) or notused (0) or type 2....20
|
||||
// to be stored in eeprom
|
||||
UCHAR kindOfPrinter; // 0:off 1:Gebe
|
||||
UCHAR kindOfCoinChecker; // 0: without 1=EMP820 2=EMP900 3=currenza c<> (MW)
|
||||
UCHAR kindOfMifareReader; // by now only stronglink SL025 =1
|
||||
UCHAR suppressSleepMode; // 0:sleep allowed 1: no sleep
|
||||
|
||||
UCHAR kindOfModem; // 0:off 1:Sunlink
|
||||
UCHAR kindOfCreditcard; // 0:off 1:Feig NFC
|
||||
UCHAR CoinEscrow;
|
||||
UCHAR CoinRejectUnit;
|
||||
|
||||
UCHAR CoinShutter;
|
||||
UCHAR BillAcceptor;
|
||||
UCHAR usevaultLock;
|
||||
UCHAR autoAlarm; // 1: switch on siren for 1min in doors opened unauthorized
|
||||
|
||||
UCHAR autoOpen; // 1: open door covers after valid ATBcard
|
||||
UCHAR printAccReceipt; // 0/1
|
||||
UCHAR printDoorReceipt;
|
||||
UCHAR printTokenTicket;
|
||||
|
||||
UINT VaultFullWarnLevel;
|
||||
UINT VaultFullErrorLevel;
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
struct T_cashAccept // 1.version des cash.json files
|
||||
{
|
||||
// Values come from Json File
|
||||
UINT coinsToAccept; // bit 15...0, je 1=accept 0=do not
|
||||
UCHAR billsToAccept; // bit 7...0, je 1=accept 0=do not
|
||||
UCHAR tokenChannel;
|
||||
|
||||
ULONG exchgRate; // Multiplikator local -->foreign currency
|
||||
// eg: hungary: 380 (380Ft = 1EUR)
|
||||
|
||||
UINT foreignCoinValue[8];
|
||||
UINT localCoinValues[8]; // read from coin checker
|
||||
|
||||
}; */
|
||||
|
||||
struct T_cashAccept
|
||||
{
|
||||
// all Values come from Json File
|
||||
// struct will be stored in eeprom. respect 4byte-borders
|
||||
|
||||
UINT CoinDenomination[16]; // 15...8 =foreign coins 7..0 =local coins
|
||||
UINT CoinValues[16]; // 15...8 =foreign coins 7..0 =local coins
|
||||
// bei der lokalen Landesw<73>hrung wird der Wert eines Geldst<73>ckes
|
||||
// direkt verwendet, da steht genau das gleiche drin wie in "Denom"
|
||||
// Die ausl<73>ndischen M<>nzen werden hier umgerechnet, z.B. 100cent=378Huf
|
||||
//char Coins2Accept[16];
|
||||
// kommt jetzt direkt aus Json und ersetzt:
|
||||
UINT coinAcceptance; // bit 15...0, je 1=accept 0=do not
|
||||
|
||||
ULONG exchgRate; // Multiplikator local -->foreign currency
|
||||
// eg: hungary: 380 (380Ft = 1EUR)
|
||||
UCHAR tokenChannel; // 0=off, oder 1..16
|
||||
UCHAR res1;
|
||||
UCHAR res2;
|
||||
UCHAR res3;
|
||||
|
||||
UINT billValues[8];
|
||||
|
||||
//UCHAR localTaxRate;
|
||||
//UCHAR foreignTaxRate;
|
||||
|
||||
//UINT surcharge;
|
||||
//UINT discount;
|
||||
//UINT res4;
|
||||
//UINT res5;
|
||||
|
||||
};
|
||||
|
||||
struct T_machID
|
||||
{
|
||||
// liegen im int. eeprom
|
||||
// to be stored in eeprom
|
||||
UINT customerNumber;
|
||||
UINT machineNumber;
|
||||
UINT borough; // =group
|
||||
UINT zone;
|
||||
UINT alias; // for example another machine number for customer
|
||||
UINT firstrun;
|
||||
UCHAR location[32];
|
||||
|
||||
};
|
||||
|
||||
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
|
||||
|
||||
UCHAR structStart; // always first!!!
|
||||
UCHAR ram; // v
|
||||
UCHAR intEe; // v
|
||||
UCHAR extEe; // v
|
||||
|
||||
UCHAR rtc; // 1: time/date OK 100: time not plausible 200: hardware error
|
||||
UCHAR boardHw; // v
|
||||
UCHAR printer; // v
|
||||
UCHAR modem; // v
|
||||
|
||||
UCHAR signal; // 1...99
|
||||
UCHAR regist; // 100:not 1:reg 2:ping OK 3:gotTime
|
||||
UCHAR mdbBus;
|
||||
UCHAR coinChecker; // EMP, OMP or mei-cashflow
|
||||
|
||||
UCHAR coinEscrow; // v
|
||||
UCHAR mifareReader; // v
|
||||
UCHAR creditTerm; // not available
|
||||
UCHAR coinReject; // v
|
||||
|
||||
UCHAR coinSafe; // v
|
||||
UCHAR billSafe; // v
|
||||
UCHAR voltage; // v // 1:11..14V
|
||||
UCHAR temper; // v
|
||||
|
||||
UCHAR poweronTest;
|
||||
UCHAR doorState; // 1: alles zu 200: t<>r offen + bit1(S) +bit2(CB) + bit3(CB)
|
||||
UCHAR doorWasOpened; // 1: all doors are closed 200: any door was just opened
|
||||
UCHAR changer; // can only be tested by usage
|
||||
|
||||
UCHAR coinBlocker; // can only be tested by usage
|
||||
UCHAR billReader; // can only be tested by usage
|
||||
UCHAR ResetReason;
|
||||
UCHAR allModulesChecked;
|
||||
|
||||
UCHAR alarmState;
|
||||
UCHAR res11;
|
||||
UCHAR res12;
|
||||
UCHAR res13;
|
||||
|
||||
};
|
||||
|
||||
struct T_dynamicCondition
|
||||
{
|
||||
// dynamic conditions, change rapidly and frequently
|
||||
// these are values for the Heartbeat
|
||||
|
||||
// T<>rschalter entprellt:
|
||||
char upperDoor; // 0:fehlt 1:drin
|
||||
char middleDoor;
|
||||
char lowerDoor;
|
||||
char coinBox;
|
||||
|
||||
char billBox;
|
||||
char modeAbrech;
|
||||
char onAlarm;
|
||||
char nowCardTest;
|
||||
|
||||
char nowPayment;
|
||||
char lastMifCardType;
|
||||
char openedAuthorized;
|
||||
char allDoorsDebounced;
|
||||
|
||||
UCHAR lastSDoorState;
|
||||
UCHAR lastVDoorState;
|
||||
UCHAR CBinDebounced;
|
||||
UCHAR lastCBstate;
|
||||
|
||||
char paymentInProgress;
|
||||
char res1;
|
||||
char res2;
|
||||
char res3;
|
||||
|
||||
UINT U_Batt;
|
||||
UINT Temperatur;
|
||||
|
||||
UINT cash_storedaccNumbers[8]; // List all stored accounting numbers in ext. eeprom
|
||||
|
||||
UINT nrCoinsInBox;
|
||||
UINT resui1;
|
||||
|
||||
ULONG amountInBox;
|
||||
ULONG amountJustPaid;
|
||||
|
||||
UINT lastInsCoinType; // wahrscheinlich uchar
|
||||
UINT resui2;
|
||||
|
||||
ULONG totalTransVolume;
|
||||
ULONG totalNrOfVends;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user