You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

54 lines
958 B

#ifndef DEVICESERVICE_H
#define DEVICESERVICE_H
#include <QObject>
#include <QTimer>
#include <QTime>
typedef enum{
GPIO_PIN_RESET = 0u,
GPIO_PIN_SET
} GPIO_PinState;
typedef enum{
None = (uint8_t)0,
Click = (uint8_t)1,
Dbl_Click = (uint8_t)2,
Tri_Click = (uint8_t)3,
Press = (uint8_t)4,
}KeyFlag;
#define KEY_Up 1
#define KEY_Down 0
typedef struct{
KeyFlag flag;
KeyFlag lastFlag;
quint8 lastState;
}KeyType;
class DeviceService : public QObject
{
Q_OBJECT
public:
explicit DeviceService(QObject *parent = 0);
int m_ledStatus,m_keyStatus;
QTimer timer1;
KeyType key;
private:
QTimer timer2;
QTime lastFlagTime, lastStateTime;
signals:
void keyClicked();
void keyDown();
void keyWorked(KeyFlag);
public slots:
void ledSet(int status);
quint8 keyReadOnce();
quint8 keyDetection();
quint8 getbtnstatus();
};
#endif // DEVICESERVICE_H