#ifndef DEVICESERVICE_H #define DEVICESERVICE_H #include #include #include 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; quint8 state; }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