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: 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;

View File

@@ -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: