Merge branch 'coin-attach' of git.mimbach49.de:GerhardHoffmann/DCLibraries into coin-attach

This commit is contained in:
Siegfried Siegert 2024-02-21 10:50:41 +01:00
commit 2c799e1cd2
Signed by: SiegfriedSiegert
GPG Key ID: 68371E015E8F0B03
2 changed files with 14 additions and 2 deletions

View File

@ -15,6 +15,7 @@
#include <QDebug>
#include "datIf.h"
#include <QSharedMemory>
#include <atomic>
#include "sendWRcmd.h"
#include "controlBus.h"
#include "storeINdata.h"
@ -35,6 +36,10 @@ class T_runProc : public QObject
void restoreDeviceParameter(struct T_devices *deviceSettings);
#ifndef THIS_IS_CA_MASTER
std::atomic_bool m_coinAttached{false};
#endif
private slots:
void runProc_slotProcess(void);
bool bl_performComplStart(void);

View File

@ -48,8 +48,15 @@ T_runProc::T_runProc()
void T_runProc::runProc_slotProcess(void)
{
#ifndef THIS_IS_CA_MASTER
if (epi_getDI_CoinAttach()) {
emit runProc_coinAttached();
bool const coinAttached = epi_getDI_CoinAttach();
// exchange: (atomically) replaces the underlying value of m_coinAttached
// with the value of coinAttached, returns the value of m_coinAttached
// before the call
if (m_coinAttached.exchange(coinAttached) == false) {
if (coinAttached) {
// old value was false, and new value is true
emit runProc_coinAttached();
}
}
cash_paymentProcessing();
doors_supervise();