static mraa_result_t mraa_ftdi_ft4222_i2c_write_byte_data(mraa_i2c_context dev, const uint8_t data, const uint8_t command) { uint8_t buf[2]; buf[0] = command; buf[1] = data; return mraa_ftdi_ft4222_i2c_write(dev, buf, 2); }
static mraa_result_t mraa_ftdi_ft4222_i2c_write_word_data(mraa_i2c_context dev, const uint16_t data, const uint8_t command) { uint8_t buf[3]; buf[0] = command; buf[1] = (uint8_t) data; buf[2] = (uint8_t)(data >> 8); return mraa_ftdi_ft4222_i2c_write(dev, buf, 3); }
static uint8_t mraa_ftdi_ft4222_i2c_read_byte_data(mraa_i2c_context dev, uint8_t command) { const uint8_t reg_addr = command; uint8_t data; if (mraa_ftdi_ft4222_i2c_write(dev, ®_addr, 1) != MRAA_SUCCESS) return 0; if (mraa_ftdi_ft4222_i2c_read(dev, &data, 1) != 1) return 0; return data; }
static mraa_result_t mraa_ftdi_ft4222_i2c_write_byte(mraa_i2c_context dev, uint8_t data) { return mraa_ftdi_ft4222_i2c_write(dev, &data, 1); }