bool iotjs_i2c_read(iotjs_i2c_t* i2c) { I2C_METHOD_HEADER(i2c); uint8_t len = _this->buf_len; _this->buf_data = iotjs_buffer_allocate(len); IOTJS_ASSERT(len > 0); if (iotbus_i2c_read(platform_data->i2c_context, (uint8_t*)_this->buf_data, len) < 0) { DLOG("%s: cannot read data", __func__); return false; } return true; }
bool iotjs_i2c_write(iotjs_i2c_t* i2c) { I2C_METHOD_HEADER(i2c); uint8_t len = i2c->buf_len; IOTJS_ASSERT(len > 0); uint8_t* data = (uint8_t*)i2c->buf_data; int ret = iotbus_i2c_write(platform_data->i2c_context, data, len); IOTJS_RELEASE(i2c->buf_data); if (ret < 0) { DLOG("%s: cannot write data", __func__); return false; } return true; }
bool iotjs_i2c_write(iotjs_i2c_t* i2c) { I2C_METHOD_HEADER(i2c); uint8_t len = _this->buf_len; IOTJS_ASSERT(len > 0); uint8_t* data = (uint8_t*)_this->buf_data; int ret = iotbus_i2c_write(platform_data->i2c_context, data, len); if (_this->buf_data != NULL) { iotjs_buffer_release(_this->buf_data); } if (ret < 0) { DLOG("%s: cannot write data", __func__); return false; } return true; }