#ifndef CODECXYCKANALOG_H #define CODECXYCKANALOG_H #include #include #include #include #include #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 *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 *_dataList; int iii ; int ignoreCount=0; QFile *logFile; }; #endif // CODECXYCKANALOG_H