From 53220a381974869661f0dad171e8c157c93a1380 Mon Sep 17 00:00:00 2001 From: Bai Date: Sun, 28 Nov 2021 18:02:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=89=E9=94=AE=E5=8D=95=E5=87=BB=E8=B0=83?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- QCPShow.pro.user | 2 +- deviceservice.cpp | 80 ++++++++++++++++++++++------------------------- deviceservice.h | 3 +- httpservice.cpp | 1 + main.cpp | 4 +-- 5 files changed, 43 insertions(+), 47 deletions(-) diff --git a/QCPShow.pro.user b/QCPShow.pro.user index f6a85bf..c7606d9 100644 --- a/QCPShow.pro.user +++ b/QCPShow.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/deviceservice.cpp b/deviceservice.cpp index c407d82..5e7ad0e 100644 --- a/deviceservice.cpp +++ b/deviceservice.cpp @@ -8,16 +8,16 @@ #define WIRING_PIN_LED 4 //GPIO.4 #define WIRING_PIN_KEY 3 //GPIO.3 #define Click_Overtime 50 -#define Press_Overtime 150 +#define Press_Overtime 1500 #define DblClick_Difftime 800 DeviceService::DeviceService(QObject *parent) : QObject(parent) { key.flag = None; - key.lastFlag = None; - key.lastState = KEY_Up; + key.state = KEY_Up; m_ledStatus = 0; m_keyStatus = 0; + lastStateTime = QTime::currentTime(); #ifdef Q_OS_LINUX wiringPiSetup(); @@ -54,11 +54,7 @@ DeviceService::DeviceService(QObject *parent) : QObject(parent) // emit keyClicked(); // } // } - key.flag = (KeyFlag)keyDetection(); - if(key.flag != None){ - emit keyWorked(key.flag); - qDebug()<<"keyWorked is "<= Press_Overtime) { - key.flag = Press; + flag = Press; }else if(difftime >= Click_Overtime) { - key.flag = Click; - }else - { - //按键时间过短,无效 + flag = Click; } - }else - { - } } //判定组合行为 - if(key.flag != None) - { - if(key.flag == Click) - { - if(key.lastFlag == Click && (QTime::currentTime().secsTo(lastFlagTime)) >= DblClick_Difftime) - { - key.flag = Dbl_Click; - }else if(key.lastFlag == Dbl_Click && (QTime::currentTime().secsTo(lastFlagTime)) >= DblClick_Difftime) - { - key.flag = Tri_Click; - } - } - } +// if(flag != None) +// { +// if(flag == Click) +// { +// if(key.flag == Click && (lastFlagTime.msecsTo(QTime::currentTime())) >= DblClick_Difftime) +// { +// flag = Dbl_Click; +// }else if(key.flag == Dbl_Click && (lastFlagTime.msecsTo(QTime::currentTime())) >= DblClick_Difftime) +// { +// flag = Tri_Click; +// } +// } +// } - if(key.flag != key.lastFlag) + //记录上一行为及时间 + if(flag != key.flag) { - key.lastFlag = key.flag; + key.flag = flag; lastFlagTime = QTime::currentTime(); + if(key.flag != None){ +// emit keyWorked(key.flag); + qDebug() << "keyWorked = " << key.flag; + } } - if(status != key.lastState) + + //记录按键按下时间 + if(status != key.state) { - key.lastState = status; + key.state = status; lastStateTime = QTime::currentTime(); - if(status == KEY_Down) + if(key.state != KEY_Up) { - emit keyDown();//发送至mainwidget,用于记录按下时操作的患者是哪个 +// emit keyDown();//发送至mainwidget,用于记录按下时操作的患者是哪个 + qDebug() << "key.state = " << key.state; } } diff --git a/deviceservice.h b/deviceservice.h index 1b4b817..06bccda 100644 --- a/deviceservice.h +++ b/deviceservice.h @@ -23,8 +23,7 @@ typedef enum{ typedef struct{ KeyFlag flag; - KeyFlag lastFlag; - quint8 lastState; + quint8 state; }KeyType; class DeviceService : public QObject diff --git a/httpservice.cpp b/httpservice.cpp index c074970..1dce90c 100644 --- a/httpservice.cpp +++ b/httpservice.cpp @@ -181,6 +181,7 @@ void HttpService::sendIdcardInfo(QString idcard,QString name, QString sex, QStri if (jerror.error != QJsonParseError::NoError || !jdoc.isObject() || !jdoc.object().contains("code")) { qDebug() << QString::fromUtf8("sendIdcardInfo请求失败"); + qDebug() << jdoc; return; } jobj = jdoc.object(); diff --git a/main.cpp b/main.cpp index 67b6bea..c85d16d 100644 --- a/main.cpp +++ b/main.cpp @@ -47,8 +47,8 @@ int main(int argc, char *argv[]) QObject::connect(&w,&MainWidget::statusChanged,&httpService,&HttpService::updateStatus); QObject::connect(&w,&MainWidget::complexOneKeyStart,&httpService,&HttpService::onComplexOneKeyStart); -// w.show(); - w.showFullScreen(); + w.show(); +// w.showFullScreen(); return a.exec(); }