88 lines
2.5 KiB
C
Raw Permalink Normal View History

2024-11-25 17:15:44 +08:00
#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