#ifndef EEPROMPARAMS_H #define EEPROMPARAMS_H #include #include #include #include #include #include #include class EepromParams { public: static void TaskEeprom(void *pvParameters); void Init(std::vector p); std::vector GetParams(){return mParams;} void WriteParam(uint16_t idx); void WriteParam(uint16_t idx,float val); private: static void TaskReboot(void *pvParameters); bool GetIdxFromQueue(uint16_t &idx); void WriteToEeeprom(uint16_t idx,float val); void CalcAndWriteCrc(); unsigned char crc8(unsigned char crc, unsigned char * dat, unsigned int len); Mutex mMutex; std::vector mParams; uint8_t mCrc=0xFF; std::queue mWriteQueue; uint16_t EEPROM_SIZE; uint64_t r2d2 = 0xFFFFFFFFFFFFFFFF; uint64_t c3po = 0xFFFFFFFFFFFFFFFF; }; #endif