Device interface library for multiple platforms including Mbed.

Dependents:   DeepCover Embedded Security in IoT MaximInterface MAXREFDES155#

Maxim Interface is a library framework focused on providing flexible and expressive hardware interfaces. Both communication interfaces such as I2C and 1-Wire and device interfaces such as DS18B20 are supported. Modern C++ concepts are used extensively while keeping compatibility with C++98/C++03 and requiring no external dependencies. The embedded-friendly design does not depend on exceptions or RTTI.

The full version of the project is hosted on GitLab: https://gitlab.com/iabenz/MaximInterface

Revision:
10:947d3f44e0a0
Parent:
8:5ea891c7d1a1
Child:
11:3f3bf6bf5e6c
--- a/MaximInterfaceDevices/DS2431.cpp	Fri Sep 27 16:19:38 2019 -0500
+++ b/MaximInterfaceDevices/DS2431.cpp	Mon Sep 30 09:39:32 2019 -0500
@@ -83,7 +83,7 @@
   if (!result) {
     return result;
   }
-  const uint_fast16_t calculatedCrc = calculateCrc16(block) ^ 0xFFFFu;
+  const uint_fast16_t calculatedCrc = calculateCrc16(block) ^ 0xFFFF;
   result = master->readBlock(make_span(block, 2));
   if (!result) {
     return result;
@@ -116,7 +116,7 @@
   uint_fast16_t receivedCrc = static_cast<uint_fast16_t>(*(--blockIt)) << 8;
   receivedCrc |= *(--blockIt);
   const uint_fast16_t expectedCrc =
-      calculateCrc16(make_span(block.data(), block.size() - 2)) ^ 0xFFFFu;
+      calculateCrc16(make_span(block.data(), block.size() - 2)) ^ 0xFFFF;
   if (expectedCrc != receivedCrc) {
     return CrcError;
   }