#include "eyetrainwidget.h" #include "ui_eyetrainwidget.h" #include "BCIManager.h" eyeTrainWidget::eyeTrainWidget(QWidget *parent) : QWidget(parent), ui(new Ui::eyeTrainWidget) { ui->setupUi(this); heartTimer = new QTimer(); heartTimer->setInterval(1000); heartTimer->start(); connect(heartTimer, SIGNAL(timeout()), this, SLOT(slotHeartTimer())); m_st_bicycleParam.trainMode = 0; //被动 m_st_bicycleParam.spasmSwitch = 1; //开启 m_st_bicycleParam.spasmLevel = 1; //默认一级 m_st_bicycleParam.configPower = 0; //默认低 m_st_bicycleParam.switchDirectonTime = 10; //换向时间默认10 m_st_bicycleParam.phaseValue = 0; //协同相位值 m_st_bicycleParam.direction = 1; //方向正向 m_st_bicycleParam.speed = 10; //速度 10 m_st_bicycleParam.resistance = 10; //阻力 Nm 0~20挡 m_st_bicycleParam.spasmType = 0; //默认逆向 BCIManager::getInstance().startLinkerPrograme(); // int8_t controlState;//状态控制 0-停止 1启动 2-暂停 3-继续 // int8_t bodyPart; //训练部位 0-上肢 1-下肢 2-四肢 3-垂直上肢 // int8_t trainMode; //训练模式 0-被动 1-主动 2-助力 3-等速 4-上下肢协同被动 7-四肢主被动 9-单独主动 10-被动可切主动(主被动) // int8_t spasmSwitch; //痉挛开关 0-关 1-开 // int8_t spasmLevel; //痉挛等级1~3挡 // int8_t configPower; //配置功率0~2 低中高 // int8_t switchDirectonTime;//换向时间 // int8_t phaseValue; //协同相位值 // int8_t direction; //方向 0-逆向 1-正向 // int8_t speed; //速度 2~60r/min // int8_t resistance; //阻力 Nm 0~20挡 // int8_t spasmType; //痉挛后方向 1-正向 0-逆向,默认逆向,没有了 // uint8_t trainTime; //训练时间 0~120min } eyeTrainWidget::~eyeTrainWidget() { heartTimer->stop(); delete ui; } void eyeTrainWidget::startTrain(int8_t Part, uint8_t Time) { // heartTimer->start(); //状态控制 0-停止 1启动 2-暂停 3-继续 m_st_bicycleParam.controlState = 1; m_st_bicycleParam.bodyPart = Part; //训练部位 0-上肢 1-下肢 2-四肢 3-垂直上肢 m_st_bicycleParam.trainTime = Time; CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam); } void eyeTrainWidget::stopTrain() { heartTimer->stop(); m_st_bicycleParam.controlState = 0; CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam); } void eyeTrainWidget::pauseTrain() { m_st_bicycleParam.controlState = 2; CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam); } void eyeTrainWidget::continueTrain() { m_st_bicycleParam.controlState = 3; CCommunicateAPI::getInstance()->sendBicycleParam(m_st_bicycleParam); } void eyeTrainWidget::slotQmlStatusChanged(QQuickWidget::Status emStatus) { qDebug() << "3342" << emStatus; } void eyeTrainWidget::slotHeartTimer() { //qDebug()<<"上位机发送心跳"; CCommunicateAPI::getInstance()->sendHeartBeat(); static int num = 0; ++num; if(num > 3) { num = 0; QPixmap pixmap; if(heartCount < 1) { } else { } if(heartCount >= 3) { heartCount = 0; } } } /*void eyeTrainWidget::on_startButton_clicked() { startTrain(0, 10); } void eyeTrainWidget::on_closeButton_clicked() { stopTrain(); }*/