|
@@ -4,8 +4,8 @@
|
|
|
#include <stdio.h>
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
// Global extern variable defined in config.h and declared here
|
|
// Global extern variable defined in config.h and declared here
|
|
|
-txPacket tx_packet;
|
|
|
|
|
-rxPacket rx_packet;
|
|
|
|
|
|
|
+tx_Packet txPacket;
|
|
|
|
|
+rx_Packet rxPacket;
|
|
|
|
|
|
|
|
static bool i2c_write(uint8_t const TARGET_ADDRESS){
|
|
static bool i2c_write(uint8_t const TARGET_ADDRESS){
|
|
|
// Write data to the target address
|
|
// Write data to the target address
|
|
@@ -16,8 +16,8 @@ static bool i2c_write(uint8_t const TARGET_ADDRESS){
|
|
|
}
|
|
}
|
|
|
// **Wait for I2C Bus to be Free**
|
|
// **Wait for I2C Bus to be Free**
|
|
|
while (DL_I2C_getControllerStatus(I2C_1_INST) & DL_I2C_CONTROLLER_STATUS_BUSY_BUS);
|
|
while (DL_I2C_getControllerStatus(I2C_1_INST) & DL_I2C_CONTROLLER_STATUS_BUSY_BUS);
|
|
|
- DL_I2C_startControllerTransfer(I2C_1_INST, TARGET_ADDRESS, DL_I2C_CONTROLLER_DIRECTION_TX, tx_packet.txLen);
|
|
|
|
|
- DL_I2C_fillControllerTXFIFO(I2C_1_INST, tx_packet.txBuffer, tx_packet.txLen);
|
|
|
|
|
|
|
+ DL_I2C_startControllerTransfer(I2C_1_INST, TARGET_ADDRESS, DL_I2C_CONTROLLER_DIRECTION_TX, txPacket.txLen);
|
|
|
|
|
+ DL_I2C_fillControllerTXFIFO(I2C_1_INST, txPacket.txBuffer, txPacket.txLen);
|
|
|
DL_I2C_flushTargetTXFIFO(I2C_1_INST);
|
|
DL_I2C_flushTargetTXFIFO(I2C_1_INST);
|
|
|
return true;
|
|
return true;
|
|
|
}
|
|
}
|
|
@@ -26,7 +26,7 @@ static bool i2c_read(uint8_t const TARGET_ADDRESS){
|
|
|
//Read data from the target address
|
|
//Read data from the target address
|
|
|
DL_I2C_flushControllerRXFIFO(I2C_1_INST);
|
|
DL_I2C_flushControllerRXFIFO(I2C_1_INST);
|
|
|
while (DL_I2C_getControllerStatus(I2C_1_INST) & DL_I2C_CONTROLLER_STATUS_BUSY_BUS);
|
|
while (DL_I2C_getControllerStatus(I2C_1_INST) & DL_I2C_CONTROLLER_STATUS_BUSY_BUS);
|
|
|
- DL_I2C_startControllerTransfer(I2C_1_INST, TARGET_ADDRESS, DL_I2C_CONTROLLER_DIRECTION_RX, rx_packet.rxLen);
|
|
|
|
|
|
|
+ DL_I2C_startControllerTransfer(I2C_1_INST, TARGET_ADDRESS, DL_I2C_CONTROLLER_DIRECTION_RX, rxPacket.rxLen);
|
|
|
while (DL_I2C_getControllerStatus(I2C_1_INST) & DL_I2C_CONTROLLER_STATUS_BUSY_BUS);
|
|
while (DL_I2C_getControllerStatus(I2C_1_INST) & DL_I2C_CONTROLLER_STATUS_BUSY_BUS);
|
|
|
DL_I2C_enableInterrupt(I2C_1_INST, DL_I2C_INTERRUPT_CONTROLLER_RXFIFO_TRIGGER);
|
|
DL_I2C_enableInterrupt(I2C_1_INST, DL_I2C_INTERRUPT_CONTROLLER_RXFIFO_TRIGGER);
|
|
|
return true;
|
|
return true;
|