Extended MaximInterface

Dependents:   mbed_DS28EC20_GPIO

Revision:
6:a8c83a2e6fa4
Parent:
3:f818ea5172ed
--- a/Links/I2CMasterDecorator.hpp	Fri Jan 19 10:25:02 2018 -0600
+++ b/Links/I2CMasterDecorator.hpp	Wed Jan 23 13:11:04 2019 -0600
@@ -40,34 +40,39 @@
 
 class I2CMasterDecorator : public I2CMaster {
 protected:
-  explicit I2CMasterDecorator(I2CMaster & i2c) : i2c(&i2c) {}
+  explicit I2CMasterDecorator(I2CMaster & master) : master(&master) {}
 
 public:
-  void setI2CMaster(I2CMaster & i2c) { this->i2c = &i2c; }
+  void setMaster(I2CMaster & master) { this->master = &master; }
 
   MaximInterface_EXPORT virtual error_code start(uint_least8_t address);
+  
   MaximInterface_EXPORT virtual error_code stop();
+  
   MaximInterface_EXPORT virtual error_code writeByte(uint_least8_t data);
+  
   MaximInterface_EXPORT virtual error_code
-  writeBlock(const uint_least8_t * data, size_t dataLen);
+  writeBlock(span<const uint_least8_t> data);
+  
   MaximInterface_EXPORT virtual error_code readByte(AckStatus status,
                                                     uint_least8_t & data);
+  
   MaximInterface_EXPORT virtual error_code
-  readBlock(AckStatus status, uint_least8_t * data, size_t dataLen);
+  readBlock(AckStatus status, span<uint_least8_t> data);
 
 protected:
   MaximInterface_EXPORT virtual error_code
-  writePacketImpl(uint_least8_t address, const uint_least8_t * data,
-                  size_t dataLen, bool sendStop);
-  MaximInterface_EXPORT virtual error_code readPacketImpl(uint_least8_t address,
-                                                          uint_least8_t * data,
-                                                          size_t dataLen,
-                                                          bool sendStop);
+  writePacketImpl(uint_least8_t address, span<const uint_least8_t> data,
+                  bool sendStop);
+                  
+  MaximInterface_EXPORT virtual error_code
+  readPacketImpl(uint_least8_t address, span<uint_least8_t> data,
+                 bool sendStop);
 
 private:
-  I2CMaster * i2c;
+  I2CMaster * master;
 };
 
 } // namespace MaximInterface
 
-#endif
\ No newline at end of file
+#endif