#ifndef AKBMONITORPAGE_H #define AKBMONITORPAGE_H #include #include #include #include "bmsinterface.h" namespace Ui { class AkbMonitorPage; } class AkbMonitorPage : public QFrame { Q_OBJECT public: explicit AkbMonitorPage(QWidget *parent = nullptr); ~AkbMonitorPage(); void clearControlls(); BMSInterface *bms() const; void setDieBieMS(BMSInterface *dieBieMS); public slots: void onLoadParams(); private slots: void timerSlot(); void valuesReceived(BMS_VALUES values); // void cellsReceived(int cellCount, QVector cellVoltageArray); private: Ui::AkbMonitorPage *ui; BMSInterface *mDieBieMS; // bool addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName); // QVector mSoc; QVector mPackVoltage; QVector mPackCurrent; QVector mLCLoadVoltage; QVector mLCLoadCurrent; QVector mHCLoadVoltage; QVector mHCLoadCurrent; QVector mChargerVoltage; QVector mAuxVoltage; QVector mAuxCurrent; QVector mCellVHigh; QVector mCellVAverage; QVector mCellVLow; QVector mTempBMSHigh; QVector mTempBMSAverage; QVector mTempBMSLow; QVector mTempBattHigh; QVector mTempBattAverage; QVector mTempBattLow; QVector mHumidity; QVector mSeconds; double mSecondCounter; qint64 mLastUpdateTime; bool mUpdateValPlot; QTimer* mTimer; void initForPlot(); void initForCharts(); void appendDoubleAndTrunc(QVector *vec, double num, int maxSize); }; #endif // AKBMONITORPAGE_H