diff --git a/right/src/led_driver.c b/right/src/led_driver.c index a91c708..78b0f5d 100644 --- a/right/src/led_driver.c +++ b/right/src/led_driver.c @@ -1,22 +1,10 @@ #include "led_driver.h" - -void LedDriver_WriteBuffer(uint8_t i2cAddress, uint8_t buffer[], uint8_t size) -{ - i2c_master_transfer_t masterXfer; - masterXfer.slaveAddress = i2cAddress; - masterXfer.direction = kI2C_Write; - masterXfer.subaddress = 0; - masterXfer.subaddressSize = 0; - masterXfer.data = buffer; - masterXfer.dataSize = size; - masterXfer.flags = kI2C_TransferDefaultFlag; - I2C_MasterTransferBlocking(I2C_MAIN_BUS_BASEADDR, &masterXfer); -} +#include "i2c_addresses.h" void LedDriver_WriteRegister(uint8_t i2cAddress, uint8_t reg, uint8_t val) { uint8_t buffer[] = {reg, val}; - LedDriver_WriteBuffer(i2cAddress, buffer, sizeof(buffer)); + I2cWrite(I2C_MAIN_BUS_BASEADDR, i2cAddress, buffer, sizeof(buffer)); } void LedDriver_InitAllLeds(char isEnabled) diff --git a/right/src/led_driver.h b/right/src/led_driver.h index dbcc634..84e9db5 100644 --- a/right/src/led_driver.h +++ b/right/src/led_driver.h @@ -41,7 +41,6 @@ // Functions: - extern void LedDriver_WriteBuffer(uint8_t i2cAddress, uint8_t buffer[], uint8_t size); extern void LedDriver_WriteRegister(uint8_t i2cAddress, uint8_t reg, uint8_t val); extern void LedDriver_SetAllLedsTo(uint8_t val); extern void LedDriver_InitAllLeds(char isEnabled); diff --git a/right/src/usb_protocol_handler.c b/right/src/usb_protocol_handler.c index 8f99a9e..f43dfc6 100644 --- a/right/src/usb_protocol_handler.c +++ b/right/src/usb_protocol_handler.c @@ -140,7 +140,7 @@ void WriteLedDriver() return; } - LedDriver_WriteBuffer(i2cAddress, GenericHidInBuffer+3, i2cPayloadSize); + I2cWrite(I2C_MAIN_BUS_BASEADDR, i2cAddress, GenericHidInBuffer+3, i2cPayloadSize); } void ReadLedDriver() @@ -157,15 +157,7 @@ void WriteEeprom() return; } - i2c_master_transfer_t masterXfer; - masterXfer.slaveAddress = I2C_ADDRESS_EEPROM; - masterXfer.direction = kI2C_Write; - masterXfer.subaddress = 0; - masterXfer.subaddressSize = 0; - masterXfer.data = GenericHidInBuffer+2; - masterXfer.dataSize = i2cPayloadSize; - masterXfer.flags = kI2C_TransferDefaultFlag; - I2C_MasterTransferBlocking(I2C_EEPROM_BUS_BASEADDR, &masterXfer); + I2cWrite(I2C_EEPROM_BUS_BASEADDR, I2C_ADDRESS_EEPROM, GenericHidInBuffer+2, i2cPayloadSize); } void ReadEeprom() @@ -177,20 +169,8 @@ void ReadEeprom() return; } - i2c_master_transfer_t masterXfer; - masterXfer.slaveAddress = I2C_ADDRESS_EEPROM; - masterXfer.direction = kI2C_Write; - masterXfer.subaddress = 0; - masterXfer.subaddressSize = 0; - masterXfer.data = GenericHidInBuffer+2; - masterXfer.dataSize = 2; - masterXfer.flags = kI2C_TransferDefaultFlag; - I2C_MasterTransferBlocking(I2C_EEPROM_BUS_BASEADDR, &masterXfer); - - masterXfer.direction = kI2C_Read; - masterXfer.data = GenericHidOutBuffer+1; - masterXfer.dataSize = i2cPayloadSize; - I2C_MasterTransferBlocking(I2C_EEPROM_BUS_BASEADDR, &masterXfer); + I2cWrite(I2C_EEPROM_BUS_BASEADDR, I2C_ADDRESS_EEPROM, GenericHidInBuffer+2, 2); + I2cRead(I2C_EEPROM_BUS_BASEADDR, I2C_ADDRESS_EEPROM, GenericHidOutBuffer+1, i2cPayloadSize); GenericHidOutBuffer[0] = PROTOCOL_RESPONSE_SUCCESS; }