MAX14690 library

Fork of MAX14690 by Maxim Integrated

Revision:
13:666b6c505289
Parent:
10:32c7e2ab67aa
Child:
15:264f38840873
--- a/MAX14690.cpp	Sat Nov 19 00:32:54 2016 +0000
+++ b/MAX14690.cpp	Fri Dec 16 00:56:48 2016 +0000
@@ -34,26 +34,14 @@
 #include "MAX14690.h"
 
 //******************************************************************************
-MAX14690::MAX14690(PinName sda, PinName scl)
+MAX14690::MAX14690(I2C &i2c): _i2c(i2c)
 {
-    i2c = new I2C(sda,scl);
-    isOwner = true;
-    resetToDefaults();
-}
-//******************************************************************************
-MAX14690::MAX14690(I2C *i2c)
-{
-    this->i2c = i2c;
-    isOwner = false;
     resetToDefaults();
 }
 
 //******************************************************************************
 MAX14690::~MAX14690()
 {
-    if (isOwner == true) {
-        delete i2c;
-    }
 }
 
 //******************************************************************************
@@ -322,7 +310,7 @@
 {
     char cmdData[2] = { (char)reg, value };
 
-    if (i2c->write(MAX14690_I2C_ADDR, cmdData, sizeof(cmdData)) != 0) {
+    if (_i2c.write(MAX14690_I2C_ADDR, cmdData, sizeof(cmdData)) != 0) {
         return MAX14690_ERROR;
     }
 
@@ -334,11 +322,11 @@
 {
     char cmdData[1] = { (char)reg };
 
-    if (i2c->write(MAX14690_I2C_ADDR, cmdData, sizeof(cmdData)) != 0) {
+    if (_i2c.write(MAX14690_I2C_ADDR, cmdData, sizeof(cmdData)) != 0) {
         return MAX14690_ERROR;
     }
 
-    if (i2c->read(MAX14690_I2C_ADDR, value, 1) != 0) {
+    if (_i2c.read(MAX14690_I2C_ADDR, value, 1) != 0) {
         return MAX14690_ERROR;
     }