Extended MaximInterface

Dependents:   mbed_DS28EC20_GPIO

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