BMP180 is a digital barometric pressure sensor made by Bosch Sensortec (I2C Interface)

Dependents:   LPC1114_data_logger ProjectIOT Wether_Meter LPC1114_barometer_with_data_logging

Revision:
2:b81e7659be7a
Parent:
1:23942d7b7023
Child:
3:20e0c6b19c24
--- a/BMP180.h	Fri Jun 20 21:43:29 2014 +0000
+++ b/BMP180.h	Sun Jun 22 06:07:52 2014 +0000
@@ -7,7 +7,7 @@
  *  http://mbed.org/users/kenjiArai/
  *      Created: August    14th, 2013   for STM32L152 
  *      Changed: May       21st, 2014   mbed LPC1114
- *      Revised: June      15th, 2014
+ *      Revised: June      22nd, 2014
  *
  * 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
@@ -21,14 +21,73 @@
 
 #include "mbed.h"
 
+//  Bosch barmeter ID
+#define BMP180_CHIP_ID          0x55
+
+/** Interface for Bosch Pressure Sensor (I2C Interface) BMP180
+ *
+ * Measurement Air pressure (Barometer) and temperature via I2C interface.
+ *
+ *  Chip has compensation data in the sensor (inside of EEPROM).
+ *
+ *  Normalization is specified in the documentation as follows.
+ *
+ *      Bosch Sensortec BMP180 Datasheet : BST-BMP180-DS000-09 Revision: 2.5  Date: 5 April 2013
+ *
+ * @code
+ * #include "mbed.h"
+ *
+ * // I2C Communication
+ *  BMP180(PinName p_sda, PinName p_scl);   // SDA, SCL
+ * // If you connected I2C line not only this device but also other devices,
+ * //     you need to declare following method.
+ *  I2C         i2c(dp5,dp27);              // SDA, SCL
+ *  BMP180(I2C& p_i2c);
+ *
+ * int main() {
+ * float pressure, temperature;
+ *
+ *   bmp180.normalize();    // This is important function Data read from BMP180 then normalization
+ *   pressure = bmp180.read_pressure();         // just readiting data
+ *   temperature = bmp180.read_temperature();   // just readiting data
+ * }
+ * @endcode
+ */
+
 class BMP180 {
 public:
+    /** Configure data pin
+      * @param data SDA and SCL pins
+      */
     BMP180(PinName p_sda, PinName p_scl);
+    
+    /** Configure data pin (with other devices on I2C line)
+      * @param I2C previous definition
+      */
     BMP180(I2C& p_i2c);
 
+    /** Read a float type data from BMP180
+      * @param none
+      * @return temperature unit:degreeC(Celsius)
+      */
     float read_temperature();
+    
+    /** Read a float type data from BMP180
+      * @param none
+      * @return pressure unit:hPa(hectopascals)
+      */
     float read_pressure();
+    
+    /** Read a BMP180 ID number
+      * @param none
+      * @return if BMP180, it should be 0x55.
+      */
     uint8_t read_baro_id();
+
+    /** Read press and temp data from BMP180 then normalize the data.
+      * @param none
+      * @return none (The result is able to read read_temperature() or read_pressure()).
+      */
     void normalize();
 
 protected: