Analog Devices / ADT7410 16-Bit Digital I2C Temperature Sensor

Dependents:   Frequency_Counter_w_GPS_1PPS MQTToverCC3000 Frequency_Cntr_1PPS_F746ZG

Files at this revision

API Documentation at this revision

Comitter:
kenjiArai
Date:
Wed Aug 23 09:19:57 2017 +0000
Parent:
3:912cd5ac1cce
Commit message:
countermeasure for NonCopyable

Changed in this revision

ADT7410.cpp Show annotated file Show diff for this revision Revisions of this file
ADT7410.h Show annotated file Show diff for this revision Revisions of this file
--- a/ADT7410.cpp	Tue Feb 03 21:41:21 2015 +0000
+++ b/ADT7410.cpp	Wed Aug 23 09:19:57 2017 +0000
@@ -3,29 +3,25 @@
  *  Analog Devices / ADT7410 16-Bit Digital I2C Temperature Sensor
  *  http://www.analog.com/en/mems-sensors/digital-temperature-sensors/adt7410/products/product.html
  *
- * Copyright (c) 2014 Kenji Arai / JH1PJL
+ * Copyright (c) 2014,'15,'17 Kenji Arai / JH1PJL
  *  http://www.page.sannet.ne.jp/kenjia/index.html
  *  http://mbed.org/users/kenjiArai/
- *      Created: November  26th, 2014
- *      Revised: Feburary   4th, 2015
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
- * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *      Created: November    26th, 2014
+ *      Revised: FAugust     23rd, 2017
  */
 
 #include    "mbed.h"
 #include    "ADT7410.h"
 
-ADT7410::ADT7410 (PinName p_sda, PinName p_scl, uint8_t addr) : _i2c(p_sda, p_scl)
+ADT7410::ADT7410 (PinName p_sda, PinName p_scl, uint8_t addr)
+ : _i2c_p(new I2C(p_sda, p_scl)), _i2c(*_i2c_p)
 {
     ADT7410_addr = (char)addr;
     init();
 }
 
-ADT7410::ADT7410 (I2C& p_i2c, uint8_t addr) : _i2c(p_i2c)
+ADT7410::ADT7410 (I2C& p_i2c, uint8_t addr)
+ : _i2c(p_i2c)
 {
     ADT7410_addr = (char)addr;
     init();
@@ -137,3 +133,4 @@
     _i2c.write((int)ADT7410_addr, (char *)dx, 2, false);
     read_id_rev();
 }
+
--- a/ADT7410.h	Tue Feb 03 21:41:21 2015 +0000
+++ b/ADT7410.h	Wed Aug 23 09:19:57 2017 +0000
@@ -3,17 +3,11 @@
  *  Analog Devices / ADT7410 16-Bit Digital I2C Temperature Sensor
  *  http://www.analog.com/en/mems-sensors/digital-temperature-sensors/adt7410/products/product.html
  *
- * Copyright (c) 2014 Kenji Arai / JH1PJL
+ * Copyright (c) 2014,'15,'17 Kenji Arai / JH1PJL
  *  http://www.page.sannet.ne.jp/kenjia/index.html
  *  http://mbed.org/users/kenjiArai/
  *      Created: November   26th, 2014
- *      Revised: January     6th, 2015
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
- * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
- * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *      Revised: August     23rd, 2017
  */
 
 #ifndef        MBED_ADT7410
@@ -154,7 +148,8 @@
     uint8_t who_am_i();
     
 protected:
-    I2C  _i2c;
+    I2C *_i2c_p;
+    I2C &_i2c;
 
     void read_all();
     void read_id_rev();
@@ -168,3 +163,4 @@
 };
 
 #endif  //  MBED_ADT7410
+