118 lines
2.8 KiB
C++
118 lines
2.8 KiB
C++
#ifndef ATB_SYSTEM_H
|
|
#define ATB_SYSTEM_H
|
|
|
|
#include <QObject>
|
|
#include <QFile>
|
|
#include <QTextStream>
|
|
#include "version.h"
|
|
|
|
|
|
#define SYS_COMMAND_SLEEP 0x0001
|
|
#define SYS_COMMAND_DIMLOW 0x0002
|
|
#define SYS_COMMAND_DIMHIGH 0x0003
|
|
#define SYS_COMMAND_BEEP 0x0004
|
|
#define SYS_COMMAND_MACHINE_NUMBER 0x0005
|
|
#define SYS_COMMAND_HALT 0x0006
|
|
#define SYS_COMMAND_REBOOT 0x0007
|
|
#define SYS_COMMAND_LED_CONTROL 0x3600
|
|
|
|
|
|
#if defined (ARCH_PTU2)
|
|
#define BEEPTIMEOUT 200
|
|
#elif defined (ARCH_PTU4)
|
|
#define BEEPTIMEOUT 100
|
|
#else
|
|
#define BEEPTIMEOUT 100
|
|
#endif
|
|
|
|
class ATBHMIconfig;
|
|
|
|
class ATB_system : public QObject {
|
|
Q_OBJECT
|
|
|
|
private:
|
|
ATBHMIconfig *config;
|
|
QFile *tf_gpio;
|
|
QTextStream *tf_gpio_outstream;
|
|
|
|
quint8 current_dim_value;
|
|
|
|
void privateConfigLED(const QByteArray & cmd);
|
|
void privateSetLEDTrigger(const QString & led, const QString & trigger);
|
|
void privateSetLEDDelayOn(const QString & led, const QString & delayOn);
|
|
void privateSetLEDDelayOff(const QString & led, const QString & delayOff);
|
|
void privateSwitchBlinkButton(bool on);
|
|
|
|
public:
|
|
explicit ATB_system(ATBHMIconfig *config, QObject *parent = nullptr);
|
|
~ATB_system();
|
|
|
|
|
|
static quint8 setPSAConfigInt(const QString & filename, quint16 iValue);
|
|
static quint16 readPSAConfigInt(const QString &filename);
|
|
|
|
static quint8 setPSAConfigString(const QString & filename, const QString & sValue);
|
|
static QString readPSAConfigString(const QString & filename);
|
|
|
|
enum LED_NAME {
|
|
ATB_LED1 = 1,
|
|
ATB_LED2,
|
|
ATB_LED3,
|
|
ATB_LED4
|
|
};
|
|
|
|
enum LED_TRIGGER {
|
|
LED_TRIGGER_NONE = 1,
|
|
LED_TRIGGER_TIMER,
|
|
LED_TRIGGER_DEFAULT_ON
|
|
};
|
|
|
|
enum DEVICE_TYPE {
|
|
EVENT_DEVICE_BARCODEREADER,
|
|
EVENT_DEVICE_TOUCHSCREEN,
|
|
EVENT_DEVICE_GPIO_KEYBOARD,
|
|
EVENT_DEVICE_KEYBOARD,
|
|
EVENT_DEVICE_RFIDREADER,
|
|
EVENT_DEVICE_USBMOUSE
|
|
};
|
|
|
|
static QString getEventDeviceName(DEVICE_TYPE type);
|
|
static quint8 setupInductionLoops();
|
|
|
|
|
|
void dbus_permitSuspend();
|
|
void dbus_preventSuspend();
|
|
|
|
void dbus_DimHighPermanent();
|
|
void dbus_DimControlStart();
|
|
|
|
void dbus_wakeSystem();
|
|
|
|
signals:
|
|
/* emitted, after waking up from suspend...
|
|
*/
|
|
void wakeUp();
|
|
|
|
public slots:
|
|
void executeSystemCommand(quint16 cmd, QByteArray data);
|
|
void DimHigh();
|
|
void DimLow();
|
|
void Dim(quint8 value);
|
|
void DimStart();
|
|
void DimStop();
|
|
void Beep();
|
|
void BeepStop();
|
|
void setDateTime(const QString &dateTimeString);
|
|
|
|
void onConfigLED(LED_NAME LED, LED_TRIGGER trigger, quint16 delayOn = 0, quint16 delayOff = 0);
|
|
|
|
void switchBlinkButtonOn();
|
|
void switchBlinkButtonOff();
|
|
|
|
void onWakeVMC();
|
|
void halt();
|
|
void reboot();
|
|
};
|
|
|
|
#endif // ATB_SYSTEM_H
|