#ifndef FESSETTING_H #define FESSETTING_H #include "recipexmlcontrol.h" #include #include "dataformate.h" #include class QTimer; class FesTotalParamDialog; class ChannelDialog; class ChannelOnlyDialog; namespace Ui { class FesSetting; } class FesSetting : public QWidget { Q_OBJECT public: explicit FesSetting(QWidget *parent = nullptr); ~FesSetting(); void switchPage(E_FES_PAGE); void initWidget(); //根据刺激盒的反馈来设置通道状态 void setChannelState(); void sendAllChannelParam(); //检查8个通道,并发送全局参数 protected: virtual void changeEvent(QEvent* event); virtual void showEvent(QShowEvent *event); public slots: void slotDeviceStateChanged(QList); private slots: void slotTrainTimeBtnClicked(); void slotFrequentBtnClicked(); void slotUpTimeBtnClicked(); void slotDownTimeBtnClicked(); void slotOpenTimeBtnClicked(); void slotCloseTimeBtnClicked(); void slotPlusBtnClicked(); void slotChannelWidgetClicked(int id); void on_FESA_Btn_clicked(); void on_FESB_Btn_clicked(); void on_OK_Btn_clicked(); void slotTrainTimer(); void slotGetBattery(); void slotBatteryChanged(int deviceNo,int batteryValue); signals: //开启游戏界面 void signalStartGame(); private: //控制单独电刺激 void switchFES(bool on); //控制踏车电刺激 void switchBicycleFES(bool on); private: Ui::FesSetting *ui; FesTotalParamDialog *m_FesTotalParamDialog; QList channelList; //MuscleButton ChannelDialog *m_ChannelDialog; ChannelOnlyDialog *m_ChannelOnlyDialog; RecipeXmlControl *m_recipeXmlControl; QList FESABoxList; //连接通道 E_FES_PAGE E_fesType; bool isRunning; QTimer *m_fesTrainTimer; QTimer *batteryTimer; int m_trainTime; bool isCheckedMuscle[9]; //判断8个通道是否选择了肌肉图标,用于隐藏和显示 ST_MuscleParam st_channelChangedMuscleParams[9]; //每个通道的肌肉修改值,用于初始化 bool isChannelConnected[9]; //判断每个通道是否开启 }; #endif // FESSETTING_H