From ba85c9ebc2438e4e6e14d030012464beed862e0a Mon Sep 17 00:00:00 2001 From: Henry Bruce Date: Thu, 20 Aug 2015 12:02:32 -0700 Subject: [PATCH] ft4222.c: Fixed bug in write_byte_data Signed-off-by: Henry Bruce Signed-off-by: Brendan Le Foll --- src/usb/ftdi_ft4222.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/usb/ftdi_ft4222.c b/src/usb/ftdi_ft4222.c index ba41ed5..d6e982b 100644 --- a/src/usb/ftdi_ft4222.c +++ b/src/usb/ftdi_ft4222.c @@ -350,22 +350,20 @@ mraa_ftdi_ft4222_i2c_read_byte_data(mraa_i2c_context dev, uint8_t command) static mraa_result_t mraa_ftdi_ft4222_i2c_write_byte_data(mraa_i2c_context dev, const uint8_t data, const uint8_t command) { - mraa_result_t status = mraa_ftdi_ft4222_i2c_write_byte(dev, command); - if (status == MRAA_SUCCESS) - return mraa_ftdi_ft4222_i2c_write_byte(dev, data); - else - return status; + 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) { - mraa_result_t status = mraa_ftdi_ft4222_i2c_write_byte(dev, command); - if (status == MRAA_SUCCESS) - return mraa_ftdi_ft4222_i2c_write(dev, (const uint8_t*)&data, 2); - else - return status; - + 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 mraa_result_t