Slightly revised version of the TMP102 library created by Craig A. Evans

Fork of TMP102 by Craig Evans

Revision:
2:3df27241f9b3
Parent:
1:1b601445b336
--- a/TMP102.h	Mon Feb 15 11:18:04 2016 +0000
+++ b/TMP102.h	Sun May 08 17:36:52 2016 +0000
@@ -1,73 +1,84 @@
-// it is good practice to put a comment block on the top, with the name and details of the library
-// you can also include version numbers to keep track of changes/additions
-
-/* TMP102
+/** 
+@file TMP102.h
 
-Simple library to get the temperature data from a TMP102 sensor over I2C.
-
-v 1.0 - initial release
-
-(c) Craig A. Evans, University of Leeds, Jan 2016
+@brief Header file containing member functions and variables
 
 */
 
-// this is called a header guard and prevents a library from being included more than once
-// if it is not already defined, it is defined. If it it already defined, it won't be defined again
-// the header guard is closed at the end of the file
+// header guard
 #ifndef TMP102_H
 #define TMP102_H
 
-// the next thing in a library is usually any required defines
-// addresses for ADD0 connected to GND
+// addresses
 #define TMP102_ADD      0x48
 #define TMP102_R_ADD    0x91
 #define TMP102_W_ADD    0x90
 
-// register addresses
+// registers
 #define TEMP_REG    0x00
 #define CONFIG_REG  0x01
 #define TLOW_REG   0x02
 #define THIGH_REG    0x03
 
-// we need to include the mbed header (this will also have a header guard to prevent it being included more than once)
 #include "mbed.h"
 
-// a library is actually just a C++ class, we will create an instance of this class (an object) in our main code
+/**
+@brief Library for interfacing with TMP102 sensor in I2C
+
+@brief v 1.0 - initial release
+
+@author Craig A. Evans
+
+@date January 2016
+
+*/
+
 class TMP102
 {
-    // we define the methods that are 'public' i.e. able to be used by the user
+
 public:
     
-    // this is a 'constructor' and is used to create the object
+    /** Create a TMP102 object connected to the specified I2C pins
+    *
+    * @param sda - mbed SDA pin 
+    * @param scl - mbed SCL pin
+    * 
+    */
+    
     TMP102(PinName sda, PinName scl);
     
-    // we will also create an initialisation method
+    /** Initialise the object
+    */
     void init();
     
-    // and a method to get the temperature - note the return type
+    /** Retrieve the temperature
+    *
+    * @returns temperature in degrees Celsius (°C)
+    *
+    */
     float get_temperature();
     
-    // we also have 'private' methods that can be used in the library itself, but not called directly by the user
-private:
-
-    // called in event of error - flashes LED and hangs 
-    void error();
-    // reads temperature from the sensor
-    void read_temperature();
-    
-
-    // we also do the same for any variables
-public:
-    // don't generally allow direct access to variables, instead use 'accessor' and 'mutator' methods
-    
 private:
 
-    // class data member names often have a trailing underscore to make them easily identifiable
+    /** Called in event of error - flashes LED and hangs
+    */
+    void error();
+    /** Reads temperature from the sensor
+    */
+    void read_temperature();
+    
+    
+public:
+    
+    
+private:
+
+    /**Class data member names often have a trailing underscore to make them easily identifiable
+    */
     I2C* i2c_;
     DigitalOut* led_;
     float temperature_;
 
 };
 
-// end of the header guard
 #endif
\ No newline at end of file