88 lines
2.5 KiB
C++
88 lines
2.5 KiB
C++
#ifndef CODECXYCKANALOG_H
|
|
#define CODECXYCKANALOG_H
|
|
|
|
#include <QObject>
|
|
#include <QByteArray>
|
|
#include <QList>
|
|
#include <QDebug>
|
|
#include <QFile>
|
|
#include "XYComFunc_global.h"
|
|
//#include "CommomFunc/datacheck.h"
|
|
#include "commonStruct.h"
|
|
/**
|
|
* @brief 模拟板编解码类
|
|
*/
|
|
class XYCOMFUNC_EXPORT CODECXyckAnalog :public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/**
|
|
* @brief 编解码类构造
|
|
*/
|
|
CODECXyckAnalog();
|
|
/**
|
|
* @brief 设置方案
|
|
* @param 指定通道
|
|
* @param 参数结构体,包含波升波降脉宽频率工作时间休息时间
|
|
* @return
|
|
*/
|
|
QByteArray reqSetting(int iChannel ,AnalogSetting setting);
|
|
QByteArray reqChannalControl(ChannelState ch1,ChannelState ch2,ChannelState ch3,ChannelState ch4);
|
|
QByteArray reqSetCurrent(int iChannel,int iCurrent);
|
|
QByteArray reqDataChange(int iChannel,DataMode datamode);
|
|
QByteArray reqSetGain(int iChannel,GainMode gainmode);
|
|
QByteArray reqSetCollect(int iChannel,ChannelState channelstate);
|
|
QByteArray reqSetStimulate(int iChannel,ChannelState channelstate);
|
|
QByteArray reqGetState();
|
|
void dealFrame(QByteArray buffer);
|
|
void clearList();
|
|
|
|
QList<MyoelectricData> *GetMyoelectricData(int iStep=0);
|
|
|
|
|
|
//以下仅测试适用,实际由下位机发送
|
|
QByteArray respAnalogState(AnalogState *as);
|
|
|
|
QByteArray respMyoelectricData(MyoelectricData *md);
|
|
|
|
signals:
|
|
void commandSendError(int iChannel,ErrorCode errorcode,int iFunctionCode);
|
|
void analogSettingRev(int iChannel,AnalogSetting *analogsetting);
|
|
void channalControlRev(ChannelState ch1,ChannelState ch2,ChannelState ch3,ChannelState ch4);
|
|
void currentRev(int iChannel,int iCurrent);
|
|
void dataChangeRev(int iChannel,DataMode datamode);
|
|
void gainRev(int iChannel,GainMode gainmode);
|
|
void collectRev(int iChannel,ChannelState channelstate);
|
|
void stimulateRev(int iChannel,ChannelState channelstate);
|
|
void stateInfoRev(AnalogState *analogstate);
|
|
|
|
|
|
|
|
|
|
private:
|
|
void respSetting(QByteArray buffer);
|
|
void respChannalControl(QByteArray buffer);
|
|
void respSetCurrent(QByteArray buffer);
|
|
void respDataUpload(QByteArray buffer);
|
|
void respDataChange(QByteArray buffer);
|
|
void respSetGain(QByteArray buffer);
|
|
void respSetCollect(QByteArray buffer);
|
|
void respSetStimulate(QByteArray buffer);
|
|
void respGetState(QByteArray buffer);
|
|
|
|
QByteArray createFrame(QByteArray dataBuffer);
|
|
|
|
|
|
private:
|
|
QList<MyoelectricData> *_dataList;
|
|
int iii ;
|
|
int ignoreCount=0;
|
|
QFile *logFile;
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
#endif // CODECXYCKANALOG_H
|