#ifndef ICEMODULE_H
#define ICEMODULE_H

#include <QObject>
#include "dataformate.h"
class IceModule : public QObject
{
    Q_OBJECT
public:
    static IceModule *getInstance();

    /****设置游戏界面(GameDisplayPage)显示参数****/
    void setFesAParam(int *data,int size);
    void setFesBParam(int *data,int size);
    void setBicycleParam(ST_BicycleParam);

    //设置下位机连状态
    void setBicycleDeviceState(bool isConnected);
    //获取下位机连接状态
    bool getBicycleDeviceState();

    //设置痉挛状态
    void setEmergencyState(bool);
    //获取痉挛状态
    bool getEmergencyState();

    //配置功率
    void setPower(int8_t power);
    int8_t getPower();

    //软件版本号
    void setVersion(QString version);
    QString getVersion();

    void setGameType(int8_t type);
    int8_t getGameType();
    //设置最大电量
    void setMaxCurrentValue(int index,int value);

    //发送FES最大电流数据
    void setMaxFESAParam();
signals:
    void signalSetFesAParam(int *data,int size);
    void signalSetFesBParam(int *data,int size);
    void signalSetBicycleParam(ST_BicycleParam);
private:
    explicit IceModule(QObject *parent = nullptr);
    static IceModule *m_IceModule;
    bool isBicycleConnected;
    bool isEmergency;
    int8_t m_power;
    QString m_version;
    int8_t m_gameType; //1-单独踏车 2-FES踏车

    int maxCurrentData[8]; //最大电流
};

#endif // ICEMODULE_H