119 lines
3.4 KiB
C++
119 lines
3.4 KiB
C++
#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();
|
|
}*/
|