2024-11-26 16:21:02 +08:00

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();
}*/