Extended MaximInterface
Dependents: mbed_DS28EC20_GPIO
Diff: Links/LoggingI2CMaster.cpp
- Revision:
- 8:211d1b8f730c
- Parent:
- 6:a8c83a2e6fa4
--- a/Links/LoggingI2CMaster.cpp Tue Jul 24 08:33:31 2018 +0000 +++ b/Links/LoggingI2CMaster.cpp Wed Apr 03 12:33:10 2019 +0000 @@ -41,14 +41,13 @@ static const char startString[] = "S "; static const char stopString[] = "P"; -static string formatDataString(const uint_least8_t * data, size_t dataSize, - bool read) { +static string formatDataString(span<const uint_least8_t> data, bool read) { string dataBuilder; - for (size_t i = 0; i < dataSize; i++) { + for (span<const uint_least8_t>::index_type i = 0; i < data.size(); ++i) { if (read) { dataBuilder.append(1, '['); } - dataBuilder.append(byteArrayToHexString(data + i, 1)); + dataBuilder.append(byteArrayToHexString(data.subspan(i, 1))); if (read) { dataBuilder.append(1, ']'); } @@ -66,7 +65,7 @@ error_code LoggingI2CMaster::start(uint_least8_t address) { messageBuilder.append(startString); - messageBuilder.append(formatDataString(&address, 1, false)); + messageBuilder.append(formatDataString(make_span(&address, 1), false)); return I2CMasterDecorator::start(address); } @@ -77,25 +76,24 @@ } error_code LoggingI2CMaster::writeByte(uint_least8_t data) { - messageBuilder.append(formatDataString(&data, 1, false)); + messageBuilder.append(formatDataString(make_span(&data, 1), false)); return I2CMasterDecorator::writeByte(data); } -error_code LoggingI2CMaster::writeBlock(const uint_least8_t * data, - size_t dataLen) { - messageBuilder.append(formatDataString(data, dataLen, false)); - return I2CMasterDecorator::writeBlock(data, dataLen); +error_code LoggingI2CMaster::writeBlock(span<const uint_least8_t> data) { + messageBuilder.append(formatDataString(data, false)); + return I2CMasterDecorator::writeBlock(data); } error_code LoggingI2CMaster::writePacketImpl(uint_least8_t address, - const uint_least8_t * data, - size_t dataLen, bool sendStop) { + span<const uint_least8_t> data, + bool sendStop) { messageBuilder.append(startString); - messageBuilder.append(formatDataString(&address, 1, false)); + messageBuilder.append(formatDataString(make_span(&address, 1), false)); error_code result = - I2CMasterDecorator::writePacketImpl(address, data, dataLen, sendStop); + I2CMasterDecorator::writePacketImpl(address, data, sendStop); if (!result) { - messageBuilder.append(formatDataString(data, dataLen, false)); + messageBuilder.append(formatDataString(data, false)); } if (sendStop || result) { messageBuilder.append(stopString); @@ -107,29 +105,29 @@ error_code LoggingI2CMaster::readByte(AckStatus status, uint_least8_t & data) { error_code result = I2CMasterDecorator::readByte(status, data); if (!result) { - messageBuilder.append(formatDataString(&data, 1, true)); + messageBuilder.append(formatDataString(make_span(&data, 1), true)); } return result; } -error_code LoggingI2CMaster::readBlock(AckStatus status, uint_least8_t * data, - size_t dataLen) { - error_code result = I2CMasterDecorator::readBlock(status, data, dataLen); +error_code LoggingI2CMaster::readBlock(AckStatus status, + span<uint_least8_t> data) { + error_code result = I2CMasterDecorator::readBlock(status, data); if (!result) { - messageBuilder.append(formatDataString(data, dataLen, true)); + messageBuilder.append(formatDataString(data, true)); } return result; } error_code LoggingI2CMaster::readPacketImpl(uint_least8_t address, - uint_least8_t * data, - size_t dataLen, bool sendStop) { + span<uint_least8_t> data, + bool sendStop) { messageBuilder.append(startString); - messageBuilder.append(formatDataString(&address, 1, false)); + messageBuilder.append(formatDataString(make_span(&address, 1), false)); error_code result = - I2CMasterDecorator::readPacketImpl(address, data, dataLen, sendStop); + I2CMasterDecorator::readPacketImpl(address, data, sendStop); if (!result) { - messageBuilder.append(formatDataString(data, dataLen, true)); + messageBuilder.append(formatDataString(data, true)); } if (sendStop || result) { messageBuilder.append(stopString); @@ -138,4 +136,4 @@ return result; } -} // namespace MaximInterface \ No newline at end of file +} // namespace MaximInterface