Extended MaximInterface
Dependents: mbed_DS28EC20_GPIO
Diff: Links/LoggingOneWireMaster.cpp
- Revision:
- 6:a8c83a2e6fa4
- Parent:
- 0:f77ad7f72d04
--- a/Links/LoggingOneWireMaster.cpp Fri Jan 19 10:25:02 2018 -0600 +++ b/Links/LoggingOneWireMaster.cpp Wed Jan 23 13:11:04 2019 -0600 @@ -39,14 +39,13 @@ static const char strongLevelString[] = "<SP_ON>"; -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, ']'); } @@ -69,7 +68,7 @@ error_code LoggingOneWireMaster::writeByteSetLevel(uint_least8_t sendByte, Level afterLevel) { - tryWriteMessage(formatDataString(&sendByte, 1, false)); + tryWriteMessage(formatDataString(make_span(&sendByte, 1), false)); if (afterLevel == StrongLevel) { tryWriteMessage(strongLevelString); } @@ -81,7 +80,7 @@ error_code result = OneWireMasterDecorator::readByteSetLevel(recvByte, afterLevel); if (!result) { - tryWriteMessage(formatDataString(&recvByte, 1, true)); + tryWriteMessage(formatDataString(make_span(&recvByte, 1), true)); if (afterLevel == StrongLevel) { tryWriteMessage(strongLevelString); } @@ -89,17 +88,15 @@ return result; } -error_code LoggingOneWireMaster::writeBlock(const uint_least8_t * sendBuf, - size_t sendLen) { - tryWriteMessage(formatDataString(sendBuf, sendLen, false)); - return OneWireMasterDecorator::writeBlock(sendBuf, sendLen); +error_code LoggingOneWireMaster::writeBlock(span<const uint_least8_t> sendBuf) { + tryWriteMessage(formatDataString(sendBuf, false)); + return OneWireMasterDecorator::writeBlock(sendBuf); } -error_code LoggingOneWireMaster::readBlock(uint_least8_t * recvBuf, - size_t recvLen) { - error_code result = OneWireMasterDecorator::readBlock(recvBuf, recvLen); +error_code LoggingOneWireMaster::readBlock(span<uint_least8_t> recvBuf) { + error_code result = OneWireMasterDecorator::readBlock(recvBuf); if (!result) { - tryWriteMessage(formatDataString(recvBuf, recvLen, true)); + tryWriteMessage(formatDataString(recvBuf, true)); } return result; } @@ -144,4 +141,4 @@ return result; } -} // namespace MaximInterface \ No newline at end of file +} // namespace MaximInterface