example project to explain how to write a class library

Revision:
6:ab79d1157026
Parent:
5:863659ef0231
Child:
7:9a7235e5fe27
--- a/test_LM75B.h	Mon Nov 03 00:26:01 2014 +0000
+++ b/test_LM75B.h	Mon Nov 03 00:30:02 2014 +0000
@@ -1,23 +1,98 @@
+/** A sample code for class library development
+ *
+ *  @author  Tedd OKANO
+ *  @version 1.0
+ *  @date    22-Oct-2014
+ *
+ *  This code explains steps of the class code development. 
+ *  The each steps are saved in code repository. 
+ *  A I2C temperature sensor LM75B is used as a target device. 
+ *
+ *  About LM75B:
+ *    http://www.nxp.com/documents/data_sheet/LM75B.pdf
+ */
+
 #include "mbed.h"
 
-//  LM75B I2C slave address
+/** Default slave address */
 #define     ADDRESS_LM75B   0x90
 
-//  LM75B registers
+/** LM75B register name ans addresses */
 #define     LM75B_Conf      0x01
 #define     LM75B_Temp      0x00
 #define     LM75B_Tos       0x03
 #define     LM75B_Thyst     0x02
 
+/** test_LM75B class library
+ *
+ *  Class library to provide very simple interface for mbed
+ *
+ *  Example:
+ *  @code
+ *  #include "mbed.h"
+ *  #include "test_LM75B.h"
+ *  
+ *  test_LM75B  temp0( p28, p27 );
+ *  
+ *  I2C         i2c( p28, p27 );
+ *  test_LM75B  temp1( i2c );
+ *  
+ *  
+ *  int main()
+ *  {
+ *      float   t0;
+ *      float   t1;
+ *  
+ *      i2c.frequency( 400 * 1000 );
+ *  
+ *      while(1) {
+ *          t0   = temp0;
+ *          t1   = temp1;
+ *          printf( "temp = %7.3f, %7.3f\r\n", t0, t1 );
+ *          wait( 1 );
+ *      }
+ *  }
+ *  @endcode
+ */
 class test_LM75B
 {
 public:
+
+    /** Create a test_LM75B instance connected to specified I2C pins with specified address
+     *
+     * @param sda I2C-bus SDA pin
+     * @param scl I2C-bus SCL pin
+     * @param address (option) I2C-bus slave address (default: 0x90)
+     */
     test_LM75B( PinName sda, PinName scl, char address = ADDRESS_LM75B );
+
+    /** Create a test_LM75B instance connected to specified I2C pins with specified address
+     *
+     * @param i2c_obj I2C object (instance)
+     * @param address (option) I2C-bus slave address (default: 0x90)
+     */
     test_LM75B( I2C &i2c_obj, char address = ADDRESS_LM75B );
+    
+    /** Destractor
+     */
     ~test_LM75B();
+    
+    /** Initialization
+     */    
     void    init( void );
+
+    /** Read temperature
+     * 
+     *  @return value of degree Celsius (in float) 
+     */
     float   read( void );
+
+    /** Read temperature
+     * 
+     *  @return the object returns the read value 
+     */
     operator float( void );
+    
 private:
     I2C     *i2c_p;
     I2C     &i2c;