Add I2C_MESSAGE_HEADER_LENGTH and use it in i2cSlaveCallback() instead of magic numbers.
This commit is contained in:
@@ -20,7 +20,7 @@ static void i2cSlaveCallback(I2C_Type *base, i2c_slave_transfer_t *xfer, void *u
|
|||||||
case kI2C_SlaveTransmitEvent:
|
case kI2C_SlaveTransmitEvent:
|
||||||
SlaveTxHandler();
|
SlaveTxHandler();
|
||||||
xfer->data = (uint8_t*)&TxMessage;
|
xfer->data = (uint8_t*)&TxMessage;
|
||||||
xfer->dataSize = TxMessage.length+3;
|
xfer->dataSize = TxMessage.length + I2C_MESSAGE_HEADER_LENGTH;
|
||||||
break;
|
break;
|
||||||
case kI2C_SlaveReceiveEvent:
|
case kI2C_SlaveReceiveEvent:
|
||||||
if (prevEvent == kI2C_SlaveReceiveEvent) {
|
if (prevEvent == kI2C_SlaveReceiveEvent) {
|
||||||
@@ -36,7 +36,7 @@ static void i2cSlaveCallback(I2C_Type *base, i2c_slave_transfer_t *xfer, void *u
|
|||||||
case kI2C_SlaveCompletionEvent:
|
case kI2C_SlaveCompletionEvent:
|
||||||
if (prevEvent == kI2C_SlaveReceiveEvent) {
|
if (prevEvent == kI2C_SlaveReceiveEvent) {
|
||||||
((uint8_t*)&RxMessage)[rxMessagePos] = byteIn;
|
((uint8_t*)&RxMessage)[rxMessagePos] = byteIn;
|
||||||
RxMessage.length = rxMessagePos-3;
|
RxMessage.length = rxMessagePos - I2C_MESSAGE_HEADER_LENGTH;
|
||||||
SlaveRxHandler();
|
SlaveRxHandler();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -4,7 +4,8 @@
|
|||||||
// Macros:
|
// Macros:
|
||||||
|
|
||||||
#define I2C_MESSAGE_MAX_LENGTH 255
|
#define I2C_MESSAGE_MAX_LENGTH 255
|
||||||
#define I2C_BUFFER_MAX_LENGTH (I2C_MESSAGE_MAX_LENGTH + 3)
|
#define I2C_MESSAGE_HEADER_LENGTH 3
|
||||||
|
#define I2C_BUFFER_MAX_LENGTH (I2C_MESSAGE_HEADER_LENGTH + I2C_MESSAGE_MAX_LENGTH)
|
||||||
|
|
||||||
// Typedefs:
|
// Typedefs:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user