Extended MaximInterface

Dependents:   mbed_DS28EC20_GPIO

Revision:
8:211d1b8f730c
Parent:
6:a8c83a2e6fa4
--- a/Links/LoggingOneWireMaster.cpp	Tue Jul 24 08:33:31 2018 +0000
+++ b/Links/LoggingOneWireMaster.cpp	Wed Apr 03 12:33:10 2019 +0000
@@ -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