Merge branch 'carun_wakelineabstraction'
This commit is contained in:
commit
ab5a343ab2
@ -1,6 +1,8 @@
|
||||
#include "CArun.h"
|
||||
#include "datei.h"
|
||||
|
||||
#include "CCWakelineAbstraction.h"
|
||||
|
||||
|
||||
CArun::CArun(QObject *parent)
|
||||
: QObject(parent)
|
||||
@ -17,6 +19,8 @@ CArun::CArun(QObject *parent)
|
||||
qCritical() << "CArun: start setup...";
|
||||
|
||||
this->timerChainCtrl->start();
|
||||
|
||||
this->ccWakelineAbstraction = new CCWakelineAbstraction(this->HWaccess, this);
|
||||
}
|
||||
|
||||
|
||||
|
@ -22,7 +22,7 @@ enum class SETUP_STEP {
|
||||
};
|
||||
|
||||
|
||||
|
||||
class CCWakelineAbstraction;
|
||||
|
||||
class CArun : public QObject
|
||||
{
|
||||
@ -45,6 +45,8 @@ private:
|
||||
|
||||
void openSerialPort();
|
||||
|
||||
CCWakelineAbstraction* ccWakelineAbstraction;
|
||||
|
||||
signals:
|
||||
|
||||
|
||||
|
51
dCArun/CCWakelineAbstraction.cpp
Normal file
51
dCArun/CCWakelineAbstraction.cpp
Normal file
@ -0,0 +1,51 @@
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QFile>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
#include "CCWakelineAbstraction.h"
|
||||
#include "plugin.h"
|
||||
|
||||
/**
|
||||
* this is based on a solution from:
|
||||
* https://embeddeduse.com/2018/09/18/monitoring-sys-files-qfilesystemwatcher/
|
||||
*
|
||||
*/
|
||||
|
||||
CCWakelineAbstraction::CCWakelineAbstraction(hwinf *dc, QObject *parent)
|
||||
: QObject(parent)
|
||||
, dc(dc)
|
||||
{
|
||||
auto ccWakeMonitor = new QFileSystemWatcher(this);
|
||||
|
||||
ccWakeMonitor->addPath("/sys/class/leds/wakeupctrl_cc/brightness");
|
||||
connect(ccWakeMonitor, &QFileSystemWatcher::fileChanged,
|
||||
this, &CCWakelineAbstraction::ccWakeChanged);
|
||||
|
||||
qCritical() << "... init CCWakelineAbstraction";
|
||||
}
|
||||
|
||||
|
||||
void CCWakelineAbstraction::ccWakeChanged(const QString &path)
|
||||
{
|
||||
QFile ccWakeFile(path);
|
||||
if (!ccWakeFile.open(QIODevice::ReadOnly)) {
|
||||
qWarning() << "ERROR: Could not open ccWakeFile file.";
|
||||
return;
|
||||
}
|
||||
auto ccWake = ccWakeFile.readAll();
|
||||
if (!ccWake.isEmpty()) {
|
||||
int state = ccWake.at(0);
|
||||
//qCritical() << "INFO: ccWake = " << state;
|
||||
switch (state) {
|
||||
case 0x30: // '1'
|
||||
qCritical() << "INFO: ccWake -> sleep";
|
||||
this->dc->credit_switchWake(true); // switch 'sleep'
|
||||
break;
|
||||
case 0x31: // '0'
|
||||
qCritical() << "INFO: ccWake -> wake";
|
||||
this->dc->credit_switchWake(false); // switch 'wake'
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
25
dCArun/CCWakelineAbstraction.h
Normal file
25
dCArun/CCWakelineAbstraction.h
Normal file
@ -0,0 +1,25 @@
|
||||
#ifndef CCWAKELINEABSTRACTION_H
|
||||
#define CCWAKELINEABSTRACTION_H
|
||||
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class hwinf;
|
||||
class QFileSystemWatcher;
|
||||
|
||||
|
||||
class CCWakelineAbstraction : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
CCWakelineAbstraction(hwinf *dc, QObject *parent = nullptr);
|
||||
|
||||
private:
|
||||
hwinf *dc;
|
||||
QFileSystemWatcher *ccWakeMonitor;
|
||||
|
||||
void ccWakeChanged(const QString &path);
|
||||
};
|
||||
|
||||
#endif // CCWAKELINEABSTRACTION_H
|
@ -40,12 +40,14 @@ DEFINES+=APP_EXTENDED_VERSION=\\\"$$EXTENDED_VERSION\\\"
|
||||
|
||||
SOURCES += \
|
||||
CArun.cpp \
|
||||
CCWakelineAbstraction.cpp \
|
||||
main.cpp \
|
||||
tslib.cpp \
|
||||
datei.cpp
|
||||
|
||||
HEADERS += \
|
||||
CArun.h \
|
||||
CCWakelineAbstraction.h \
|
||||
guidefs.h \
|
||||
tslib.h \
|
||||
versionHistory.txt \
|
||||
|
Loading…
Reference in New Issue
Block a user