37#ifdef I2C_COMMANDS_DISABLED_IF_NOT_USED 
 
   93            for(uint8_t i = 0; i<
presets.presets.size();i++){
 
   94                replies.emplace_back(std::string(
presets.presets[i].name)  + 
":" + std::to_string(i));
 
 
  122#ifdef I2C_COMMANDS_DISABLED_IF_NOT_USED 
 
  142        HAL_I2C_DeInit(&
hi2c);
 
  143#ifdef I2C_COMMANDS_DISABLED_IF_NOT_USED 
 
  155    hi2c.Init = this->config;
 
 
  162    bool flag = HAL_I2C_Master_Transmit(&this->
hi2c, shiftAddr ? addr << 1 : addr, pData, size, timeout) == HAL_OK;
 
 
  170    return HAL_I2C_Master_Transmit_DMA(&this->
hi2c, shiftAddr ? addr << 1 : addr, pData, size) == HAL_OK;
 
 
  176    return HAL_I2C_Master_Transmit_IT(&this->
hi2c, shiftAddr ? addr << 1 : addr, pData, size) == HAL_OK;
 
 
  182    bool flag = HAL_I2C_Master_Receive(&this->
hi2c, shiftAddr ? addr << 1 : addr, pData, size, timeout) == HAL_OK;
 
 
  190    return HAL_I2C_Master_Receive_DMA(&this->
hi2c, shiftAddr ? addr << 1 : addr, pData, size) == HAL_OK;
 
 
  196    return HAL_I2C_Master_Receive_IT(&this->
hi2c, shiftAddr ? addr << 1 : addr, pData, size) == HAL_OK;
 
 
  200bool I2CPort::writeMem(
I2CDevice* device,
const uint16_t devAddr,
const uint16_t memAddr,
const uint16_t memAddSize,uint8_t* pData,
const uint16_t size,
const uint32_t timeout,
bool shiftAddr){
 
  203    bool flag = HAL_I2C_Mem_Write(&this->
hi2c, shiftAddr ? devAddr << 1 : devAddr, memAddr, memAddSize, pData, size, timeout) == HAL_OK;
 
 
  208bool I2CPort::readMem(
I2CDevice* device,
const uint16_t devAddr,
const uint16_t memAddr,
const uint16_t memAddSize,uint8_t* pData,
const uint16_t size,
const uint32_t timeout,
bool shiftAddr){
 
  211    bool flag = HAL_I2C_Mem_Read(&this->
hi2c, shiftAddr ? devAddr << 1 : devAddr, memAddr, memAddSize, pData, size, timeout) == HAL_OK;
 
 
  216bool I2CPort::readMemIT(
I2CDevice* device,
const uint16_t devAddr,
const uint16_t memAddr,
const uint16_t memAddSize,uint8_t* pData,
const uint16_t size,
bool shiftAddr){
 
  219    bool flag = HAL_I2C_Mem_Read_IT(&this->
hi2c, shiftAddr ? devAddr << 1 : devAddr, memAddr, memAddSize, pData, size) == HAL_OK;
 
 
  224bool I2CPort::writeMemIT(
I2CDevice* device,
const uint16_t devAddr,
const uint16_t memAddr,
const uint16_t memAddSize,uint8_t* pData,
const uint16_t size,
bool shiftAddr){
 
  227    bool flag = HAL_I2C_Mem_Write_IT(&this->
hi2c, shiftAddr ? devAddr << 1 : devAddr, memAddr, memAddSize, pData, size) == HAL_OK;
 
 
  235    bool flag = HAL_I2C_IsDeviceReady(&this->
hi2c, shiftAddr ? devAddr << 1 : devAddr, trials,timeout) == HAL_OK;
 
 
  245    if (
hi2c->Instance != this->hi2c.Instance) {
 
 
  259    if (
hi2c->Instance != this->hi2c.Instance) {
 
 
  277    return hi2c.State != HAL_I2C_STATE_READY;
 
 
  281    bool isIsr = 
inIsr();
 
  284        BaseType_t taskWoken = 0;
 
  286        portYIELD_FROM_ISR(taskWoken);
 
 
  294    bool isIsr = 
inIsr();
 
  297        BaseType_t taskWoken = 0;
 
  299        portYIELD_FROM_ISR(taskWoken);
 
 
void registerCommand(const char *cmd, const ID cmdid, const char *help=nullptr, uint32_t flags=0)
virtual void setCommandsEnabled(bool enable)
virtual CmdHandlerInfo * getCommandHandlerInfo()
CommandHandler(const char *clsname, uint16_t clsid, uint8_t instance=0)
virtual void i2cError(I2CPort *port)
virtual void i2cTxCompleted(I2CPort *port)
virtual void i2cRxCompleted(I2CPort *port)
virtual void startI2CTransfer(I2CPort *port)
virtual void endI2CTransfer(I2CPort *port)
bool writeMemIT(I2CDevice *device, const uint16_t devAddr, const uint16_t memAddr, const uint16_t memAddSize, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
cpp_freertos::BinarySemaphore semaphore
CommandStatus command(const ParsedCommand &cmd, std::vector< CommandReply > &replies)
const I2CPortHardwareConfig & presets
void I2cError(I2C_HandleTypeDef *hi2c)
bool isDeviceReady(I2CDevice *device, const uint16_t devAddr, const uint32_t trials, uint32_t timeout, bool shiftAddr=true)
bool transmitMasterDMA(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
bool receiveMasterIT(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
bool receiveMaster(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, const uint32_t timeout, bool shiftAddr=true)
bool transmitMaster(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, const uint32_t timeout, bool shiftAddr=true)
bool readMem(I2CDevice *device, const uint16_t devAddr, const uint16_t memAddr, const uint16_t memAddSize, uint8_t *pData, const uint16_t size, const uint32_t timeout, bool shiftAddr=true)
void freePort(I2CDevice *device)
bool readMemIT(I2CDevice *device, const uint16_t devAddr, const uint16_t memAddr, const uint16_t memAddSize, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
I2CPort(I2C_HandleTypeDef &hi2c, const I2CPortHardwareConfig &presets, uint8_t instance=0)
void I2cTxCplt(I2C_HandleTypeDef *hi2c)
void takePort(I2CDevice *device)
void I2cRxCplt(I2C_HandleTypeDef *hi2c)
static ClassIdentifier info
bool writeMem(I2CDevice *device, const uint16_t devAddr, const uint16_t memAddr, const uint16_t memAddSize, uint8_t *pData, const uint16_t size, const uint32_t timeout, bool shiftAddr=true)
void configurePort(I2C_InitTypeDef *config)
void setSpeedPreset(uint8_t preset)
bool receiveMasterDMA(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
I2CDevice * currentDevice
bool transmitMasterIT(I2CDevice *device, const uint16_t addr, uint8_t *pData, const uint16_t size, bool shiftAddr=true)
void restoreFlashDelayed()
static struct @024127060247016123033304002117326322243354210111 data
bool Flash_Write(uint16_t adr, uint16_t dat)
bool Flash_Read(uint16_t adr, uint16_t *buf, bool checkempty=true)