Add I2C_MESSAGE_HEADER_LENGTH and use it in i2cSlaveCallback() instead of magic numbers.

This commit is contained in:
László Monda
2017-10-01 21:42:55 +02:00
parent 0ba979a658
commit 4ade25d739
2 changed files with 4 additions and 3 deletions

View File

@@ -20,7 +20,7 @@ static void i2cSlaveCallback(I2C_Type *base, i2c_slave_transfer_t *xfer, void *u
case kI2C_SlaveTransmitEvent:
SlaveTxHandler();
xfer->data = (uint8_t*)&TxMessage;
xfer->dataSize = TxMessage.length+3;
xfer->dataSize = TxMessage.length + I2C_MESSAGE_HEADER_LENGTH;
break;
case 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:
if (prevEvent == kI2C_SlaveReceiveEvent) {
((uint8_t*)&RxMessage)[rxMessagePos] = byteIn;
RxMessage.length = rxMessagePos-3;
RxMessage.length = rxMessagePos - I2C_MESSAGE_HEADER_LENGTH;
SlaveRxHandler();
}
break;

View File

@@ -4,7 +4,8 @@
// Macros:
#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: