定时器添加

This commit is contained in:
zxj 2024-11-27 14:23:05 +08:00
parent ca411bb07b
commit 9b6889d259
2 changed files with 32 additions and 4 deletions

View File

@ -11,7 +11,9 @@ eyeTrainWidget::eyeTrainWidget(QWidget *parent) :
heartTimer = new QTimer();
heartTimer->setInterval(1000);
heartTimer->start();
trainTimer = new QTimer();
connect(heartTimer, SIGNAL(timeout()), this, SLOT(slotHeartTimer()));
connect(trainTimer, SIGNAL(timeout()), this, SLOT(slotTrainTimer()));
m_st_bicycleParam.trainMode = 0; //被动
m_st_bicycleParam.spasmSwitch = 1; //开启
@ -47,7 +49,17 @@ eyeTrainWidget::eyeTrainWidget(QWidget *parent) :
eyeTrainWidget::~eyeTrainWidget()
{
heartTimer->stop();
if(heartTimer)
{
heartTimer->stop();
delete heartTimer;
}
if(trainTimer)
{
trainTimer->stop();
delete trainTimer;
}
delete ui;
QVariant retVal;
QMetaObject::invokeMethod(ui->quickWidget->rootObject(),
@ -62,30 +74,37 @@ eyeTrainWidget::~eyeTrainWidget()
}
}
void eyeTrainWidget::startTrain(int8_t Part, uint8_t Time)
void eyeTrainWidget::startTrain(int8_t Part, int Time)
{
// heartTimer->start();
trainTimer->setInterval(Time*1000);
trainTimer->start();
//状态控制 0-停止 1启动 2-暂停 3-继续
m_st_bicycleParam.controlState = 1;
m_st_bicycleParam.bodyPart = Part; //训练部位 0-上肢 1-下肢 2-四肢 3-垂直上肢
m_st_bicycleParam.trainTime = Time;
m_st_bicycleParam.trainTime = 120;
CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam);
}
void eyeTrainWidget::stopTrain()
{
heartTimer->stop();
trainTimer->stop();
m_st_bicycleParam.controlState = 0;
CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam);
}
void eyeTrainWidget::pauseTrain()
{
trainTimer->stop();
m_st_bicycleParam.controlState = 2;
CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam);
}
void eyeTrainWidget::continueTrain()
{
trainTimer->start();
m_st_bicycleParam.controlState = 3;
CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam);
}
@ -120,6 +139,13 @@ void eyeTrainWidget::slotHeartTimer()
}
}
void eyeTrainWidget::slotTrainTimer()
{
trainTimer->stop();
m_st_bicycleParam.controlState = 0;
CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam);
}
/*void eyeTrainWidget::on_startButton_clicked()
{
startTrain(0, 10);

View File

@ -20,7 +20,7 @@ public:
explicit eyeTrainWidget(QWidget *parent = nullptr);
~eyeTrainWidget();
ST_BicycleParam m_st_bicycleParam; //启动参数
void startTrain(int8_t Part, uint8_t Time);
void startTrain(int8_t Part, int Time);
void stopTrain();
void pauseTrain();
void continueTrain();
@ -31,10 +31,12 @@ private slots:
private:
Ui::eyeTrainWidget *ui;
QTimer *heartTimer;
QTimer *trainTimer;
int heartCount; //心跳次数,用于检测通信
private slots:
void slotHeartTimer();
void slotTrainTimer();
//void on_startButton_clicked();
//void on_closeButton_clicked();
};