Commit Graph

178 Commits

Author SHA1 Message Date
d2efe566c5
Add persistentData to store dc-fw-version
Reading dc-fw-version is somehow complicated ...
Id does not work reliable on startup, so we do read it also on every
diagRequest().
Version string is then stored in persistent data.
This data can be used e.g. by other tools to show the
device-controller-firmware-version.
2024-01-31 11:34:00 +01:00
b058b6aee0
Changer: skip polling, if amount due to change is 0 2024-01-25 14:26:19 +01:00
bdb0f9911b
Print: set font on bank-receipt 2024-01-08 17:29:44 +01:00
1c643c6caf
Update DeviceControllerInterface to 1.1.1 2023-12-22 09:26:13 +01:00
246e23bffd
Fix: typo 2023-12-18 08:21:08 +01:00
07bb1bde50
Send interface signal on VaultDoor opened 2023-12-15 11:54:36 +01:00
81a70bf387
Upate DeviceControllerInterface to 1.1.0 2023-12-15 11:29:08 +01:00
012f3430c5
Rework for getAmountOfInsertedNotes due to wrong description in interface 2023-12-14 15:48:37 +01:00
80c7992d5b
Start autoRequest allways ...
... we need this!
2023-12-13 09:23:03 +01:00
c603313d73
PrintTicket: skip check of serial port 2023-12-11 18:32:37 +01:00
b3ad8e1ee9
Interrupt DiagRequest on error 2023-12-11 18:32:27 +01:00
25cb23a587
Send cashPaymentFinished() onCashChangerState() ...
This is for checking changer result and includes lot of debug code!
2023-12-08 12:41:57 +01:00
05113057b0
CashUtils: is not a class, it is a namespace 2023-12-08 12:33:46 +01:00
7affcb0313
Update DeviceControllerInterface 1.0.3
Signal cashPaymentFinished()
2023-12-04 10:31:52 +01:00
60c4d5896a
Set 'printerLocale' from settings 2023-12-01 15:07:29 +01:00
d2a0491bba
cashInputFinished: return coins/notes/change 2023-11-30 18:18:43 +01:00
96db7be126
Add object variable cashStartAmountInt
Used to track proposed change amount.
2023-11-30 18:17:44 +01:00
247abb7520
Add class CashUtils: utility methods for CashProcessing 2023-11-30 18:15:07 +01:00
e95de7f9e4
Print: dates in QLocale::ShortFormat
Note: this needs test!
Expected behaviour is that date format switches with language switch!
This my be no problem in most cases however, e.g. in some cases there
would be a different date format on the tickets.
2023-11-30 16:33:47 +01:00
8c1aa26145
Update DeviceControllerInterface 1.0.2
Send cashInputFinished with coins/notes/change
2023-11-30 12:04:11 +01:00
30de664991
MDBwake: switch on/off during ModeSELL/ModeSERVICE 2023-11-30 09:27:57 +01:00
f938a75742
Account: read bill stacker values 2023-11-29 16:10:38 +01:00
49a13fd333
Account: insert NOTEs 2023-11-29 12:31:52 +01:00
07d812f5d9
Account: count coins from 1..X 2023-11-29 12:31:05 +01:00
350c2351b1
TicketPrint: 'amount' on dynDat6 ...
Additionally to vedingPrice (Szeged).
TODO: make configurable?
2023-11-27 11:10:21 +01:00
3dac861ca0
printerEncoding: check if configured codec is available 2023-11-24 09:32:00 +01:00
539e392c0d
Fix: read settings: config-group name 2023-11-24 09:30:05 +01:00
ed5001c3a3
Handle signal hwapi_payStopByPushbutton 2023-11-23 17:59:49 +01:00
48d65b679f
Add interface for coinProcessor() and billAcceptor() 2023-11-23 17:58:36 +01:00
3b32d04bac
Use libCAslave 2023-11-21 11:21:28 +01:00
6fbde29cad
Use new background task "DOOR_OPENED" while a door is open 2023-10-10 08:17:21 +02:00
479582a9e2
Start background task "ACCOUNT" only if CashBox is removed 2023-10-10 08:15:35 +02:00
d16234f8e9
Print templates: check printer status 2023-08-10 15:01:39 +02:00
6b807fd636
Implement printing receipts:
- using DC prn_sendText
 - this is a rather general print method
2023-08-07 17:38:29 +02:00
3bc68ff0ae
Add interface for printing receipts 2023-08-07 17:37:35 +02:00
39f575ceea
Send machine data on startup/init to DeviceController 2023-08-03 09:10:44 +02:00
8c2d764698
Add class PTUSystem 2023-08-03 09:09:42 +02:00
13f1d84cc0
Call diagReqeust() on door opened signals 2023-07-27 15:30:24 +02:00
4187d8044d
Fix: finish diag on right place 2023-07-27 14:36:06 +02:00
94d22c3bb5
Diag: do not interrupt on open doors (detect alarm!) 2023-07-27 14:34:10 +02:00
4df87873ce
Remove workaround for wrong account-list 2023-07-27 09:59:20 +02:00
0fd20d1dc4
Rework machine diag:
- allways check for whole system state (all errors / warnings)
   -> e.g. an error does not hide an other error or warning
 - send machine event only once
 - store sent events in a QSet-container
 - clear this container if no error / warning is detected

Note: there is currently no message for releasing a certain single error
/ warning. So it is no worth in removing a single entry in
QSet-container. This is a task for later program versions.
2023-07-26 18:11:41 +02:00
df3a83521f
Workaround for 00281/Szeged: kindOfCoinChecker
This should be '1' in Szeged, however, we get value '16'
2023-07-26 15:40:58 +02:00
ffa91a216c
Check and set WARNINGS 2023-07-25 12:56:40 +02:00
d868c15359
Request diag on wokeup from DeviceController 2023-07-25 12:56:15 +02:00
6312d133db
Skip diag on closing doors...
... because diag is called on going to ModeIDLE
2023-07-25 12:55:12 +02:00
6a39aae7a6
Diag: re-map error codes according to old Szeged error list 2023-07-25 11:14:26 +02:00
34ec52250b
Diag: use enum for dc-state (including warnings) 2023-07-25 07:59:58 +02:00
2a5a318c1a
Send "Operate" machine-event if machine state is no error 2023-07-24 15:32:32 +02:00
be76bfc3fd
Account: Increase wait time after conbox is removed 2023-07-20 11:02:46 +02:00
d02909fb97
Account: start delayed after coinbox is removed 2023-07-20 08:16:03 +02:00
e3d73cbb66
Account: start dbus backgroundTask 2023-07-20 08:15:30 +02:00
f790d327e9
Add dbus interface for SystemController 2023-07-20 08:15:03 +02:00
33445c1249
Account: set "accountStartTime" 2023-07-19 20:46:38 +02:00
3c235d2ec1
Fix: account number 2023-07-19 20:43:48 +02:00
25e343cb5b
Fix: Utils::compare 2023-07-19 15:30:30 +02:00
76ce6e0c26
Move hwif to thread 2023-07-10 16:09:16 +02:00
334d67fd22
Send voltage Value as healthEvent 2023-07-05 20:00:48 +02:00
488152c37d
Add JSON class 2023-07-05 18:40:42 +02:00
a0d7f98175
Add interface method reboot() 2023-07-05 12:45:45 +02:00
efa595edb9
Add interface method reset() 2023-07-05 10:22:41 +02:00
54e3e76789
Ticket print: change date format to yy.MM.dd 2023-07-03 14:59:02 +02:00
99188b0b7a
Set DateTime on change to modeSELL 2023-07-03 12:24:59 +02:00
2cd73aaa86
Add interface methods startPhysicalLayer() / stopPhysicalLayer() 2023-06-30 10:41:12 +02:00
37d45f3c69
Serial port name is object variable 2023-06-30 10:39:24 +02:00
f76a30cb07
Increase timeout for 'onCashPayStopedSuccess()' to 2,5s 2023-06-28 10:55:49 +02:00
2b6eecfed7
Fix: Debug output 2023-06-27 16:11:34 +02:00
7be678fbe0
Print: increase waittime for printerDataPrepared() 2023-06-27 16:11:04 +02:00
6e9b1018e5
Add/Implemnt additional printer methods (using templates) 2023-06-26 19:47:01 +02:00
04e2da390c
Typo 2023-06-26 19:46:22 +02:00
e367538fc4
Update Interface: Add ticket variants 2023-06-26 19:45:12 +02:00
80112f23b4
Simulate Account (-> because DeviceController ...
... functions currently do not provide usefull results.
2023-06-22 14:54:54 +02:00
9cd10bfed8
Diag: first working version to detect some system errors
Drawbacks:
 - has to be called extra, no events or signals
 - lot of integer result values (where are they documented? Mapping?)
2023-06-22 14:52:34 +02:00
ba3eabec2c
Execute diagRequest() on mode change to IDLE (i.e. after vending) 2023-06-22 14:50:56 +02:00
a4d74ed0f7
Update printing ticket (version 2.1)
Use hwapi::prn_getPrintResult() to detect print result.
2023-06-22 12:14:55 +02:00
4a7022fd00
Use diag on closing doors 2023-06-22 08:50:10 +02:00
31f178b241
Remove unused includes 2023-06-22 08:46:18 +02:00
6a19fd7608
Add class DeviceControllerDiag to supervise DeviceController state 2023-06-22 08:44:16 +02:00
8fc88662d3
Add ATBMachineEvent class (QEvent) 2023-06-22 08:42:21 +02:00
b39bbcfad5
Account: set accountData "NumberOfCoinVariants" 2023-06-20 13:26:43 +02:00
7c3bc484af
Handle door events (note)
This events come somtimes very unreliably.
2023-06-20 13:23:36 +02:00
2b71705c81
Update interface: DeviceControllerInterface is derived from QObject:
This is for using new connect()-syntax in main application.
Note:
 - signals in interface must not be defined virtual
 - signals in implementation must not override signals defined
   in interface.
2023-06-20 13:18:09 +02:00
1467530e3c
Add debug output for account request 2023-06-19 16:27:20 +02:00
414dda009e
Proposal for getting account data from CAlib/DeviceController 2023-06-19 16:26:33 +02:00
74753ce644
Add utils-class for static utils methods 2023-06-19 15:07:05 +02:00
c4cbf89182
TEST: try to track currentCashState
... but this is currently useless because we can not detect overpayment
here.
2023-06-16 15:50:25 +02:00
0baad4689a
Add note about TODO: TicketNumber 2023-06-16 15:49:56 +02:00
a4a746658c
TEST: use QueuedConnection for hwapi signals 2023-06-16 11:21:24 +02:00
7e65c4feda
onPrinterDataPrepared: increase time for fake signal onPrinterFinishedOk 2023-06-16 11:17:38 +02:00
76e67dbbaa
Fix: return, if CashAgentLib could not be loaded 2023-06-16 10:53:27 +02:00
b52de16dbc
Workaround for CashAgent: onCashVendStopByMax()
Wait 500ms until we call hw->getInsertedAmount().
2023-06-15 18:49:59 +02:00
cade03b400
Log output from hw->getInsertedAmount() 2023-06-15 18:49:29 +02:00
7a9f837b88
Refactoring 2023-06-15 18:49:13 +02:00
b10e597e59
Workaround for CashAgent: send 'vend_failed()' on program start 2023-06-15 14:18:32 +02:00
4cc4247744
CashAgent: update errorCodes 2023-06-15 14:16:03 +02:00
59432735d0
CashAgent: changed name: CAmaster 2023-06-15 14:15:13 +02:00
5f3e0babb1
Load CashAgentLib: print errorString if load fails 2023-06-15 10:54:32 +02:00
f2637e3af8
dc_autoRequest is allways switched on 2023-06-15 09:48:25 +02:00
7ccbc8bb23
Proposal for requestAccount() (does not work)
... because of random signal from DeviceController.
... and wrong handling of DeviceController methods.
2023-06-14 14:38:24 +02:00
017543dd5b
Door Events: Update log outputs 2023-06-14 14:37:34 +02:00