|
|
@ -1,25 +1,26 @@ |
|
|
|
#include "sdk\components\api\zi_eeprom.hpp"
|
|
|
|
#include "a8000_protocol\protocol.hpp"
|
|
|
|
#include "sdk\components\api\zi_eeprom.hpp"
|
|
|
|
#include "sdk\os\zos.hpp"
|
|
|
|
|
|
|
|
#ifdef HAL_I2C_MODULE_ENABLED
|
|
|
|
namespace iflytop { |
|
|
|
using namespace std; |
|
|
|
//ref::https://iflytop1.feishu.cn/wiki/PO1LwwvaNi4F10kiobMcjSK4nBg
|
|
|
|
// ref::https://iflytop1.feishu.cn/wiki/PO1LwwvaNi4F10kiobMcjSK4nBg
|
|
|
|
class M24LRXXE_I2C_EEPROM : public ZI_EEPROM { |
|
|
|
I2C_HandleTypeDef* m_i2c_handle; |
|
|
|
|
|
|
|
|
|
|
|
public: |
|
|
|
M24LRXXE_I2C_EEPROM(){}; |
|
|
|
~M24LRXXE_I2C_EEPROM(){}; |
|
|
|
|
|
|
|
void initialize( I2C_HandleTypeDef* i2c_handle); |
|
|
|
void initialize(I2C_HandleTypeDef* i2c_handle); |
|
|
|
|
|
|
|
virtual int32_t write(int32_t add, uint8_t* val, int32_t *len) override; |
|
|
|
virtual int32_t read(int32_t add, uint8_t* val, int32_t *len) override; |
|
|
|
virtual int32_t write(int32_t add, uint8_t* val, int32_t len) override; |
|
|
|
virtual int32_t read(int32_t add, uint8_t* val, int32_t* len) override; |
|
|
|
virtual bool isOnline() override; |
|
|
|
|
|
|
|
int32_t readCfgReg(int32_t add, uint32_t* val); |
|
|
|
|
|
|
|
private: |
|
|
|
int32_t write32(uint16_t add, uint32_t val); |
|
|
|
int32_t read32(uint16_t add, uint32_t* val); |
|
|
|