A feature complete driver for the LM75B temperature sensor from NXP.

Dependents:   app-board-TempAlarm LM75B IoTWorkshopSensors EduRobot ... more

Revision:
8:2b797c309258
Parent:
4:06676376766a
Child:
9:74b44a27fa40
--- a/LM75B.cpp	Fri Aug 09 22:21:36 2013 +0000
+++ b/LM75B.cpp	Wed Aug 14 04:33:25 2013 +0000
@@ -17,16 +17,16 @@
 #include "LM75B.h"
 #include "mbed.h"
 
-LM75B::LM75B(PinName sda, PinName scl, Address addr) : _i2c(sda, scl)
+LM75B::LM75B(PinName sda, PinName scl, Address addr) : m_I2C(sda, scl)
 {
     //Set the internal device address
-    _addr = (int)addr;
+    m_Addr = (int)addr;
 }
 
-LM75B::PowerMode LM75B::getPowerMode(void)
+LM75B::PowerMode LM75B::powerMode(void)
 {
     //Read the 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Return the status of the SHUTDOWN bit
     if (value & (1 << 0))
@@ -35,10 +35,10 @@
         return POWER_NORMAL;
 }
 
-void LM75B::setPowerMode(PowerMode mode)
+void LM75B::powerMode(PowerMode mode)
 {
     //Read the current 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Set or clear the SHUTDOWN bit
     if (mode == POWER_SHUTDOWN)
@@ -47,13 +47,13 @@
         value &= ~(1 << 0);
 
     //Write the value back out
-    _write8(__LM75B_REG_CONF, value);
+    write8(REG_CONF, value);
 }
 
-LM75B::OSMode LM75B::getOSMode(void)
+LM75B::OSMode LM75B::osMode(void)
 {
     //Read the 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Return the status of the OS_COMP_INT bit
     if (value & (1 << 1))
@@ -62,10 +62,10 @@
         return OS_COMPARATOR;
 }
 
-void LM75B::setOSMode(OSMode mode)
+void LM75B::osMode(OSMode mode)
 {
     //Read the current 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Set or clear the OS_COMP_INT bit
     if (mode == OS_INTERRUPT)
@@ -74,13 +74,13 @@
         value &= ~(1 << 1);
 
     //Write the value back out
-    _write8(__LM75B_REG_CONF, value);
+    write8(REG_CONF, value);
 }
 
-LM75B::OSPolarity LM75B::getOSPolarity(void)
+LM75B::OSPolarity LM75B::osPolarity(void)
 {
     //Read the 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Return the status of the OS_POL bit
     if (value & (1 << 2))
@@ -89,10 +89,10 @@
         return OS_ACTIVE_LOW;
 }
 
-void LM75B::setOSPolarity(OSPolarity polarity)
+void LM75B::osPolarity(OSPolarity polarity)
 {
     //Read the current 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Set or clear the OS_POL bit
     if (polarity == OS_ACTIVE_HIGH)
@@ -101,13 +101,13 @@
         value &= ~(1 << 2);
 
     //Write the value back out
-    _write8(__LM75B_REG_CONF, value);
+    write8(REG_CONF, value);
 }
 
-LM75B::OSFaultQueue LM75B::getOSFaultQueue(void)
+LM75B::OSFaultQueue LM75B::osFaultQueue(void)
 {
     //Read the 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Return the status of the OS_F_QUE bits
     if ((value & (1 << 3)) && (value & (1 << 4)))
@@ -120,10 +120,10 @@
         return OS_FAULT_QUEUE_1;
 }
 
-void LM75B::setOSFaultQueue(OSFaultQueue queue)
+void LM75B::osFaultQueue(OSFaultQueue queue)
 {
     //Read the current 8-bit register value
-    char value = _read8(__LM75B_REG_CONF);
+    char value = read8(REG_CONF);
 
     //Clear the old OS_F_QUE bits
     value &= ~(3 << 3);
@@ -137,40 +137,40 @@
         value |= (3 << 3);
 
     //Write the value back out
-    _write8(__LM75B_REG_CONF, value);
+    write8(REG_CONF, value);
 }
 
-float LM75B::getAlertTemp(void)
+float LM75B::alertTemp(void)
 {
     //Use the 9-bit helper to read the TOS register
-    return _readTempHelper(__LM75B_REG_TOS);
+    return readAlertTempHelper(REG_TOS);
 }
 
-void LM75B::setAlertTemp(float temp)
+void LM75B::alertTemp(float temp)
 {
     //Use the 9-bit helper to write to the TOS register
-    return _writeTempHelper(__LM75B_REG_TOS, temp);
+    return writeAlertTempHelper(REG_TOS, temp);
 }
 
-float LM75B::getAlertHyst(void)
+float LM75B::alertHyst(void)
 {
     //Use the 9-bit helper to read the THYST register
-    return _readTempHelper(__LM75B_REG_THYST);
+    return readAlertTempHelper(REG_THYST);
 }
 
-void LM75B::setAlertHyst(float temp)
+void LM75B::alertHyst(float temp)
 {
     //Use the 9-bit helper to write to the THYST register
-    return _writeTempHelper(__LM75B_REG_THYST, temp);
+    return writeAlertTempHelper(REG_THYST, temp);
 }
 
-float LM75B::getTemp(void)
+float LM75B::temp(void)
 {
     //Signed return value
     short value;
 
     //Read the 11-bit raw temperature value
-    value = _read16(__LM75B_REG_TEMP) >> 5;
+    value = read16(REG_TEMP) >> 5;
 
     //Sign extend negative numbers
     if (value & (1 << 10))
@@ -180,19 +180,19 @@
     return value * 0.125;
 }
 
-char LM75B::_read8(char reg)
+char LM75B::read8(char reg)
 {
     //Select the register
-    _i2c.write(_addr, &reg, 1);
+    m_I2C.write(m_Addr, &reg, 1);
 
     //Read the 8-bit register
-    _i2c.read(_addr, &reg, 1);
+    m_I2C.read(m_Addr, &reg, 1);
 
     //Return the byte
     return reg;
 }
 
-void LM75B::_write8(char reg, char data)
+void LM75B::write8(char reg, char data)
 {
     //Create a temporary buffer
     char buff[2];
@@ -202,25 +202,25 @@
     buff[1] = data;
 
     //Write the data
-    _i2c.write(_addr, buff, 2);
+    m_I2C.write(m_Addr, buff, 2);
 }
 
-unsigned short LM75B::_read16(char reg)
+unsigned short LM75B::read16(char reg)
 {
     //Create a temporary buffer
     char buff[2];
 
     //Select the register
-    _i2c.write(_addr, &reg, 1);
+    m_I2C.write(m_Addr, &reg, 1);
 
     //Read the 16-bit register
-    _i2c.read(_addr, buff, 2);
+    m_I2C.read(m_Addr, buff, 2);
 
     //Return the combined 16-bit value
     return (buff[0] << 8) | buff[1];
 }
 
-void LM75B::_write16(char reg, unsigned short data)
+void LM75B::write16(char reg, unsigned short data)
 {
     //Create a temporary buffer
     char buff[3];
@@ -231,16 +231,16 @@
     buff[2] = data;
 
     //Write the data
-    _i2c.write(_addr, buff, 3);
+    m_I2C.write(m_Addr, buff, 3);
 }
 
-float LM75B::_readTempHelper(char reg)
+float LM75B::readAlertTempHelper(char reg)
 {
     //Signed return value
     short value;
 
     //Read the 9-bit raw temperature value
-    value = _read16(reg) >> 7;
+    value = read16(reg) >> 7;
 
     //Sign extend negative numbers
     if (value & (1 << 8))
@@ -250,7 +250,7 @@
     return value * 0.5;
 }
 
-void LM75B::_writeTempHelper(char reg, float temp)
+void LM75B::writeAlertTempHelper(char reg, float temp)
 {
     //Range limit temp
     if (temp < -55.0)
@@ -263,5 +263,5 @@
     value <<= 7;
 
     //Send the new value
-    _write16(reg, value);
+    write16(reg, value);
 }