Sensor 现在只支持往读取寄存器的值 没有往特定寄存器写值的接口吗?
drivers/hdf_core/framework/model/sensor/driver/common/src/sensor_platform_if.c 参考如上代码 int32_t ReadSensor(struct SensorBusCfg *busCfg, uint16_t regAddr, uint8_t *data, uint16_t dataLen) //可以读取Sensor寄存器
·
drivers/hdf_core/framework/model/sensor/driver/common/src/sensor_platform_if.c
参考如上代码
int32_t ReadSensor(struct SensorBusCfg *busCfg, uint16_t regAddr, uint8_t *data, uint16_t dataLen) //可以读取Sensor寄存器的值
下面的writeSensor实现没有支持往Sensor寄存器写值
int32_t WriteSensor(struct SensorBusCfg *busCfg, uint8_t *writeData, uint16_t dataLen) { struct I2cMsg msg[I2C_WRITE_MSG_NUM]; CHECK_NULL_PTR_RETURN_VALUE(busCfg, HDF_FAILURE); CHECK_NULL_PTR_RETURN_VALUE(writeData, HDF_FAILURE); if (busCfg->busType == SENSOR_BUS_I2C) { CHECK_NULL_PTR_RETURN_VALUE(busCfg->i2cCfg.handle, HDF_FAILURE); msg[0].addr = busCfg->i2cCfg.devAddr; msg[0].flags = 0; msg[0].len = dataLen; msg[0].buf = writeData; if (I2cTransfer(busCfg->i2cCfg.handle, msg, I2C_WRITE_MSG_NUM) != I2C_WRITE_MSG_NUM) { HDF_LOGE("%s: i2c[%u] write failed", __func__, busCfg->i2cCfg.busNum); return HDF_FAILURE; } #if defined(LOSCFG_DRIVERS_HDF_PLATFORM_SPI) || defined(CONFIG_DRIVERS_HDF_PLATFORM_SPI) } else if (busCfg->busType == SENSOR_BUS_SPI) { if (SpiWrite(busCfg->spiCfg.handle, writeData, dataLen) != HDF_SUCCESS) { HDF_LOGE("%s: spi write failed", __func__); return HDF_FAILURE; } #endif } return HDF_SUCCESS; }
更多推荐


所有评论(0)