Fork of the official mbed C/C++ SDK provides the software platform and libraries to build your applications. The fork has the documentation converted to Doxygen format

Dependents:   NervousPuppySprintOne NervousPuppySprint2602 Robot WarehouseBot1 ... more

Fork of mbed by mbed official

Files at this revision

API Documentation at this revision

Comitter:
screamer
Date:
Wed Oct 24 10:44:49 2012 +0000
Parent:
42:cd19af002ccc
Commit message:
Conversion of the classes documentation to Doxygen format

Changed in this revision

AnalogIn.h Show annotated file Show diff for this revision Revisions of this file
AnalogOut.h Show annotated file Show diff for this revision Revisions of this file
Base.h Show annotated file Show diff for this revision Revisions of this file
BusIn.h Show annotated file Show diff for this revision Revisions of this file
BusInOut.h Show annotated file Show diff for this revision Revisions of this file
BusOut.h Show annotated file Show diff for this revision Revisions of this file
CAN.h Show annotated file Show diff for this revision Revisions of this file
DigitalIn.h Show annotated file Show diff for this revision Revisions of this file
DigitalInOut.h Show annotated file Show diff for this revision Revisions of this file
DigitalOut.h Show annotated file Show diff for this revision Revisions of this file
DirHandle.h Show annotated file Show diff for this revision Revisions of this file
Ethernet.h Show annotated file Show diff for this revision Revisions of this file
FileHandle.h Show annotated file Show diff for this revision Revisions of this file
FileLike.h Show annotated file Show diff for this revision Revisions of this file
FileSystemLike.h Show annotated file Show diff for this revision Revisions of this file
FunctionPointer.h Show annotated file Show diff for this revision Revisions of this file
I2C.h Show annotated file Show diff for this revision Revisions of this file
I2CSlave.h Show annotated file Show diff for this revision Revisions of this file
InterruptIn.h Show annotated file Show diff for this revision Revisions of this file
LocalFileSystem.h Show annotated file Show diff for this revision Revisions of this file
PortIn.h Show annotated file Show diff for this revision Revisions of this file
PortInOut.h Show annotated file Show diff for this revision Revisions of this file
PortOut.h Show annotated file Show diff for this revision Revisions of this file
PwmOut.h Show annotated file Show diff for this revision Revisions of this file
SPI.h Show annotated file Show diff for this revision Revisions of this file
SPIHalfDuplex.h Show annotated file Show diff for this revision Revisions of this file
SPISlave.h Show annotated file Show diff for this revision Revisions of this file
Serial.h Show annotated file Show diff for this revision Revisions of this file
SerialHalfDuplex.h Show annotated file Show diff for this revision Revisions of this file
Ticker.h Show annotated file Show diff for this revision Revisions of this file
Timeout.h Show annotated file Show diff for this revision Revisions of this file
Timer.h Show annotated file Show diff for this revision Revisions of this file
TimerEvent.h Show annotated file Show diff for this revision Revisions of this file
device.h Show annotated file Show diff for this revision Revisions of this file
error.h Show annotated file Show diff for this revision Revisions of this file
mbed_interface.h Show annotated file Show diff for this revision Revisions of this file
rpc.h Show annotated file Show diff for this revision Revisions of this file
rtc_time.h Show annotated file Show diff for this revision Revisions of this file
wait_api.h Show annotated file Show diff for this revision Revisions of this file
diff -r cd19af002ccc -r aff670d0d510 AnalogIn.h
--- a/AnalogIn.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/AnalogIn.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,67 +16,62 @@
 
 namespace mbed {
 
-/* Class: AnalogIn
- *  An analog input, used for reading the voltage on a pin 
+/** An analog input, used for reading the voltage on a pin 
  *
  * Example:
- * > // Print messages when the AnalogIn is greater than 50%
- * >
- * > #include "mbed.h"
- * >
- * > AnalogIn temperature(p20);
- * >
- * > int main() {
- * >     while(1) {
- * >         if(temperature > 0.5) {
- * >             printf("Too hot! (%f)", temperature.read());             
- * >         }
- * >     }
- * > }
+ * @code
+ * // Print messages when the AnalogIn is greater than 50%
+ * 
+ * #include "mbed.h"
+ * 
+ * AnalogIn temperature(p20);
+ * 
+ * int main() {
+ *     while(1) {
+ *         if(temperature > 0.5) {
+ *             printf("Too hot! (%f)", temperature.read());             
+ *         }
+ *     }
+ * }
+ * @endcode
  */
 class AnalogIn :  public Base {
 
 public:
 
-    /* Constructor: AnalogIn
-     *  Create an AnalogIn, connected to the specified pin
+    /** Create an AnalogIn, connected to the specified pin
      *
-     * Variables:
-     *  pin - AnalogIn pin to connect to 
-     *  name - (optional) A string to identify the object
+     * @param pin AnalogIn pin to connect to 
+     * @param name (optional) A string to identify the object
      */
-	AnalogIn(PinName pin, const char *name = NULL);
-	
-    /* Function: read
-     * Read the input voltage, represented as a float in the range [0.0, 1.0]
+    AnalogIn(PinName pin, const char *name = NULL);
+    
+    /** Read the input voltage, represented as a float in the range [0.0, 1.0]
      *
-     * Variables:
-     *  returns - A floating-point value representing the current input voltage,
-     *            measured as a percentage
+     * @returns A floating-point value representing the current input voltage, measured as a percentage
      */
-    float read();	
+    float read();    
 
-    /* Function: read_u16
-     *  Read the input voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
+    /** Read the input voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
      *
-     * Variables:
-     *  returns - 16-bit unsigned short representing the current input voltage,
-     *            normalised to a 16-bit value 
+     * @returns
+     *   16-bit unsigned short representing the current input voltage, normalised to a 16-bit value 
      */
     unsigned short read_u16();
 
 #ifdef MBED_OPERATORS
-    /* Function: operator float
-     *  An operator shorthand for <read()>
+    /** An operator shorthand for read()
      *
-     * The float() operator can be used as a shorthand for <read()> to simplify common code sequences
+     * The float() operator can be used as a shorthand for read() to simplify common code sequences
      *
      * Example:
-     * > float x = volume.read();
-     * > float x = volume;
-     * >
-     * > if(volume.read() > 0.25) { ... }
-     * > if(volume > 0.25) { ... }
+     * @code
+     * float x = volume.read();
+     * float x = volume;
+     * 
+     * if(volume.read() > 0.25) { ... }
+     * if(volume > 0.25) { ... }
+     * @endcode
      */
     operator float();
 #endif
diff -r cd19af002ccc -r aff670d0d510 AnalogOut.h
--- a/AnalogOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/AnalogOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,82 +16,74 @@
 
 namespace mbed {
 
-/* Class: AnalogOut
- *  An analog output, used for setting the voltage on a pin
+/** An analog output, used for setting the voltage on a pin
  *
  * Example:
- * > // Make a sawtooth output
- * > 
- * > #include "mbed.h"
- * > 
- * > AnalogOut tri(p18);
- * > int main() {
- * >     while(1) {
- * >         tri = tri + 0.01;
- * >         wait_us(1);
- * >         if(tri == 1) {
- * >             tri = 0;
- * >         }
- * >     }
- * > }
+ * @code
+ * // Make a sawtooth output
+ *  
+ * #include "mbed.h"
+ *  
+ * AnalogOut tri(p18);
+ * int main() {
+ *     while(1) {
+ *         tri = tri + 0.01;
+ *         wait_us(1);
+ *         if(tri == 1) {
+ *             tri = 0;
+ *         }
+ *     }
+ * }
+ * @endcode
  */
 class AnalogOut : public Base {
 
 public:
 
-	/* Constructor: AnalogOut
-	 *  Create an AnalogOut connected to the specified pin
-	 * 
-	 * Variables:
-	 *  pin - AnalogOut pin to connect to (18)
-	 */
-	AnalogOut(PinName pin, const char *name = NULL);
-	
-    /* Function: write
-     *  Set the output voltage, specified as a percentage (float)
+    /** Create an AnalogOut connected to the specified pin
+     * 
+     *  @param AnalogOut pin to connect to (18)
+     */
+    AnalogOut(PinName pin, const char *name = NULL);
+    
+    /** Set the output voltage, specified as a percentage (float)
      *
-     * Variables:
-     *  percent - A floating-point value representing the output voltage, 
+     *  @param value A floating-point value representing the output voltage, 
      *    specified as a percentage. The value should lie between
      *    0.0f (representing 0v / 0%) and 1.0f (representing 3.3v / 100%).
-     *    Values outside this range will be saturated to 0.0f or 1.0f.	 
+     *    Values outside this range will be saturated to 0.0f or 1.0f.     
      */
     void write(float value);
     
-    /* Function: write_u16
-     *  Set the output voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
+    /** Set the output voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
      *
-     * Variables:
-     *  value - 16-bit unsigned short representing the output voltage,
-     *            normalised to a 16-bit value (0x0000 = 0v, 0xFFFF = 3.3v)
+     *  @param value 16-bit unsigned short representing the output voltage,
+     *    normalised to a 16-bit value (0x0000 = 0v, 0xFFFF = 3.3v)
      */
     void write_u16(unsigned short value);
 
-    /* Function: read
-     *  Return the current output voltage setting, measured as a percentage (float)
+    /** Return the current output voltage setting, measured as a percentage (float)
      *
-     * Variables:
-     *  returns - A floating-point value representing the current voltage being output on the pin, 
+     *  @returns
+     *    A floating-point value representing the current voltage being output on the pin, 
      *    measured as a percentage. The returned value will lie between
      *    0.0f (representing 0v / 0%) and 1.0f (representing 3.3v / 100%).
      *
-     * Note:
-     *  This value may not match exactly the value set by a previous <write>.
-     */	
+     *  @note
+     *    This value may not match exactly the value set by a previous write().
+     */    
     float read();
 
 
 #ifdef MBED_OPERATORS
-    /* Function: operator=
-     *  An operator shorthand for <write()>
+    /** An operator shorthand for write()
      */
-	AnalogOut& operator= (float percent);
-	AnalogOut& operator= (AnalogOut& rhs);
+    AnalogOut& operator= (float percent);
+    AnalogOut& operator= (AnalogOut& rhs);
 
-    /* Function: operator float()
-     *  An operator shorthand for <read()>
-     */	
-	operator float();
+    /** An operator shorthand for read()
+     */    
+    operator float();
 #endif
 
 #ifdef MBED_RPC
@@ -101,7 +93,7 @@
 
 protected:
 
-	DACName _dac;
+    DACName _dac;
 
 };
 
diff -r cd19af002ccc -r aff670d0d510 Base.h
--- a/Base.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/Base.h	Wed Oct 24 10:44:49 2012 +0000
@@ -26,8 +26,7 @@
 };
 #endif
 
-/* Class Base
- *  The base class for most things
+/** The base class for most things
  */
 class Base {
 
@@ -37,66 +36,63 @@
 
     virtual ~Base();
 
-    /* Function register_object
-     *  Registers this object with the given name, so that it can be
+    /** Registers this object with the given name, so that it can be
      *  looked up with lookup. If this object has already been
      *  registered, then this just changes the name.
      *
-     * Variables
-     *   name - The name to give the object. If NULL we do nothing.
+     *  @param name The name to give the object. If NULL we do nothing.
      */
     void register_object(const char *name);
 
-    /* Function name
-     *  Returns the name of the object, or NULL if it has no name.
+    /** Returns the name of the object
+     *
+     *  @returns
+     *   The name of the object, or NULL if it has no name.
      */
     const char *name();
 
 #ifdef MBED_RPC
 
-    /* Function rpc
-     *  Call the given method with the given arguments, and write the
+    /** Call the given method with the given arguments, and write the
      *  result into the string pointed to by result. The default
      *  implementation calls rpc_methods to determine the supported
      *  methods.
      *
-     * Variables
-     *  method - The name of the method to call.
-     *  arguments - A list of arguments separated by spaces.
-     *  result - A pointer to a string to write the result into. May
-     *    be NULL, in which case nothing is written.
+     *  @param method The name of the method to call.
+     *  @param arguments A list of arguments separated by spaces.
+     *  @param result A pointer to a string to write the result into. May be NULL, in which case nothing is written.
      *
-     *  Returns
-     *    true if method corresponds to a valid rpc method, or
-     *    false otherwise.
+     *  @returns
+     *   true if method corresponds to a valid rpc method, or
+     *   false otherwise.
      */
-    virtual bool rpc(const char *method, const char *arguments, char *result);	
+    virtual bool rpc(const char *method, const char *arguments, char *result);    
 
-    /* Function get_rpc_methods
-     *  Returns a pointer to an array describing the rpc methods
+    /** Returns a pointer to an array describing the rpc methods
      *  supported by this object, terminated by either
      *  RPC_METHOD_END or RPC_METHOD_SUPER(Superclass).
      *
      * Example
-     * > class Example : public Base {
-     * >   int foo(int a, int b) { return a + b; }
-     * >   virtual const struct rpc_method *get_rpc_methods() {
-     * >     static const rpc_method rpc_methods[] = {
-     * >       { "foo", generic_caller<int, Example, int, int, &Example::foo> },
-     * >       RPC_METHOD_SUPER(Base)
-     * >     };
-     * >     return rpc_methods;
-     * >   }
-     * > };
+     * @code
+     * class Example : public Base {
+     *     int foo(int a, int b) { return a + b; }
+     *     virtual const struct rpc_method *get_rpc_methods() {
+     *         static const rpc_method rpc_methods[] = {
+     *             { "foo", generic_caller<int, Example, int, int, &Example::foo> },
+     *             RPC_METHOD_SUPER(Base)
+     *         };
+     *         return rpc_methods;
+     *     }
+     * };
+     * @endcode
      */
     virtual const struct rpc_method *get_rpc_methods();
 
-    /* Function rpc
-     *  Use the lookup function to lookup an object and, if
+    /** Use the lookup function to lookup an object and, if
      *  successful, call its rpc method
      *
-     * Variables
-     *  returns - false if name does not correspond to an object,
+     *  @returns
+     *    false if name does not correspond to an object,
      *    otherwise the return value of the call to the object's rpc
      *    method.
      */
@@ -104,12 +100,10 @@
 
 #endif
 
-    /* Function lookup
-     *  Lookup and return the object that has the given name.
+    /** Lookup and return the object that has the given name.
      *
-     * Variables
-     *  name - the name to lookup.
-     *  len - the length of name.
+     *  @param name the name to lookup.
+     *  @param len  the length of name.
      */
     static Base *lookup(const char *name, unsigned int len);
 
@@ -141,8 +135,7 @@
 public:
 
 #ifdef MBED_RPC
-    /* Function add_rpc_class
-     *  Add the class to the list of classes which can have static
+    /** Add the class to the list of classes which can have static
      *  methods called via rpc (the static methods which can be called
      *  are defined by that class' get_rpc_class() static method).
      */
@@ -206,15 +199,13 @@
 
 };
 
-/* Macro MBED_OBJECT_NAME_MAX
- *  The maximum size of object name (including terminating null byte)
+/** The maximum size of object name (including terminating null byte)
  *  that will be recognised when using fopen to open a FileLike
  *  object, or when using the rpc function.
  */ 
 #define MBED_OBJECT_NAME_MAX 32
 
-/* Macro MBED_METHOD_NAME_MAX
- *  The maximum size of rpc method name (including terminating null
+/** The maximum size of rpc method name (including terminating null
  *  byte) that will be recognised by the rpc function (in rpc.h).
  */ 
 #define MBED_METHOD_NAME_MAX 32
diff -r cd19af002ccc -r aff670d0d510 BusIn.h
--- a/BusIn.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/BusIn.h	Wed Oct 24 10:44:49 2012 +0000
@@ -13,22 +13,17 @@
 
 namespace mbed {
 
-/* Class: BusIn
- *  A digital input bus, used for reading the state of a collection of pins
+/** A digital input bus, used for reading the state of a collection of pins
  */
 class BusIn : public Base {
 
 public:
 
-    /* Group: Configuration Methods */
-
-    /* Constructor: BusIn
-     *  Create an BusIn, connected to the specified pins
+    /** Create an BusIn, connected to the specified pins
      *
-     * Variables:
-     *  p<n> - DigitalIn pin to connect to bus bit <n> (p5-p30, NC)
+     * @param <n> DigitalIn pin to connect to bus bit <n> (p5-p30, NC)
      *
-     * Note:
+     * @note
      *  It is only required to specify as many pin variables as is required
      *  for the bus; the rest will default to NC (not connected)
      */ 
@@ -39,24 +34,18 @@
           const char *name = NULL);
 
     BusIn(PinName pins[16], const char *name = NULL);
-		
-	virtual ~BusIn();
-	
-	/* Group: Access Methods */
-		
-	/* Function: read
-	 *  Read the value of the input bus
-	 *
-	 * Variables:
-	 *  returns - An integer with each bit corresponding to the value read from the associated DigitalIn pin
-	 */
+        
+    virtual ~BusIn();
+        
+    /** Read the value of the input bus
+     *
+     *  @returns
+     *   An integer with each bit corresponding to the value read from the associated DigitalIn pin
+     */
     int read();
 
 #ifdef MBED_OPERATORS
-    /* Group: Access Method Shorthand */
-		
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int();
 #endif
@@ -67,7 +56,7 @@
 #endif
 
 protected:
-	
+    
     DigitalIn* _pin[16];
 
 #ifdef MBED_RPC    
diff -r cd19af002ccc -r aff670d0d510 BusInOut.h
--- a/BusInOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/BusInOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -13,25 +13,20 @@
 
 namespace mbed {
 
-/* Class: BusInOut
- *  A digital input output bus, used for setting the state of a collection of pins
+/** A digital input output bus, used for setting the state of a collection of pins
  */
 class BusInOut : public Base {
 
 public:
 
-    /* Group: Configuration Methods */
-	
-    /* Constructor: BusInOut
-     *  Create an BusInOut, connected to the specified pins
+    /** Create an BusInOut, connected to the specified pins
+     *
+     *  @param p<n> DigitalInOut pin to connect to bus bit p<n> (p5-p30, NC)
      *
-     * Variables:
-     *  p<n> - DigitalInOut pin to connect to bus bit p<n> (p5-p30, NC)
-     *
-     * Note:
-     *  It is only required to specify as many pin variables as is required
-     *  for the bus; the rest will default to NC (not connected)
-   	 */ 
+     *  @note
+     *    It is only required to specify as many pin variables as is required
+     *    for the bus; the rest will default to NC (not connected)
+     */ 
     BusInOut(PinName p0, PinName p1 = NC, PinName p2 = NC, PinName p3 = NC,
              PinName p4 = NC, PinName p5 = NC, PinName p6 = NC, PinName p7 = NC,
              PinName p8 = NC, PinName p9 = NC, PinName p10 = NC, PinName p11 = NC,
@@ -43,53 +38,42 @@
     virtual ~BusInOut();
 
     /* Group: Access Methods */
-		
-    /* Function: write
-     *  Write the value to the output bus
+        
+    /** Write the value to the output bus
      *
-     * Variables:
-     *  value - An integer specifying a bit to write for every corresponding DigitalInOut pin
+     *  @param value An integer specifying a bit to write for every corresponding DigitalInOut pin
      */
     void write(int value);
 
-		
-    /* Function: read
-     *  Read the value currently output on the bus
+        
+    /** Read the value currently output on the bus
      *
-     * Variables:
-     *  returns - An integer with each bit corresponding to associated DigitalInOut pin setting
+     *  @returns
+     *    An integer with each bit corresponding to associated DigitalInOut pin setting
      */
     int read();
 
-    /* Function: output
-     *  Set as an output
+    /** Set as an output
      */
     void output();
 
-    /* Function: input
-     *  Set as an input
+    /** Set as an input
      */
     void input();
 
-    /* Function: mode
-     *  Set the input pin mode
+    /** Set the input pin mode
      *
-     * Variables:
-     *  mode - PullUp, PullDown, PullNone
+     *  @param mode PullUp, PullDown, PullNone
      */
     void mode(PinMode pull);
  
 #ifdef MBED_OPERATORS
-    /* Group: Access Method Shorthand */
-	   
-   	/* Function: operator=
-     *  A shorthand for <write>
+     /** A shorthand for write()
      */
     BusInOut& operator= (int v);
     BusInOut& operator= (BusInOut& rhs);
 
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int();
 #endif
@@ -106,7 +90,7 @@
 #ifdef MBED_RPC
     static void construct(const char *arguments, char *res);
 #endif
-			
+            
 };
 
 } // namespace mbed
diff -r cd19af002ccc -r aff670d0d510 BusOut.h
--- a/BusOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/BusOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -13,25 +13,20 @@
 
 namespace mbed {
 
-/* Class: BusOut
- *  A digital output bus, used for setting the state of a collection of pins
+/** A digital output bus, used for setting the state of a collection of pins
  */
 class BusOut : public Base {
 
 public:
 
-    /* Group: Configuration Methods */
-
-    /* Constructor: BusOut
-     *  Create an BusOut, connected to the specified pins
+    /** Create an BusOut, connected to the specified pins
+     *
+     *  @param p<n> DigitalOut pin to connect to bus bit <n> (p5-p30, NC)
      *
-     * Variables:
-     *  p<n> - DigitalOut pin to connect to bus bit <n> (p5-p30, NC)
-     *
-     * Note:
-     *  It is only required to specify as many pin variables as is required
-     *  for the bus; the rest will default to NC (not connected)
-   	 */ 
+     *  @note
+     *    It is only required to specify as many pin variables as is required
+     *    for the bus; the rest will default to NC (not connected)
+     */ 
     BusOut(PinName p0, PinName p1 = NC, PinName p2 = NC, PinName p3 = NC,
            PinName p4 = NC, PinName p5 = NC, PinName p6 = NC, PinName p7 = NC,
            PinName p8 = NC, PinName p9 = NC, PinName p10 = NC, PinName p11 = NC,
@@ -41,37 +36,29 @@
     BusOut(PinName pins[16], const char *name = NULL);
 
     virtual ~BusOut();
-
-    /* Group: Access Methods */
-		
-    /* Function: write
-     *  Write the value to the output bus
+    
+    /** Write the value to the output bus
      *
-     * Variables:
-     *  value - An integer specifying a bit to write for every corresponding DigitalOut pin
+     *  @param value An integer specifying a bit to write for every corresponding DigitalOut pin
      */
     void write(int value);
 
-		
-    /* Function: read
-     *  Read the value currently output on the bus
+        
+    /** Read the value currently output on the bus
      *
-     * Variables:
-     *  returns - An integer with each bit corresponding to associated DigitalOut pin setting
+     *  @returns
+     *    An integer with each bit corresponding to associated DigitalOut pin setting
      */
     int read();
 
 #ifdef MBED_OPERATORS
-    /* Group: Access Method Shorthand */
-	   
-   	/* Function: operator=
-     *  A shorthand for <write>
+       
+    /** A shorthand for write()
      */
     BusOut& operator= (int v);
     BusOut& operator= (BusOut& rhs);
 
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int();
 #endif
@@ -88,7 +75,7 @@
 #ifdef MBED_RPC
     static void construct(const char *arguments, char *res);
 #endif
-			
+            
 };
 
 } // namespace mbed
diff -r cd19af002ccc -r aff670d0d510 CAN.h
--- a/CAN.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/CAN.h	Wed Oct 24 10:44:49 2012 +0000
@@ -21,15 +21,13 @@
 
 namespace mbed {
 
-/* Class: CANMessage
- * 
+/** CANMessage class
  */
 class CANMessage : public CAN_Message {
 
 public:
 
-    /* Constructor: CANMessage
-     *  Creates empty CAN message.
+    /** Creates empty CAN message.
      */
     CANMessage() {
       len    = 8;
@@ -39,8 +37,7 @@
       memset(data, 0, 8);
     }
     
-    /* Constructor: CANMessage
-     *  Creates CAN message with specific content.
+    /** Creates CAN message with specific content.
      */
     CANMessage(int _id, const char *_data, char _len = 8, CANType _type = CANData, CANFormat _format = CANStandard) {
       len    = _len & 0xF;
@@ -50,8 +47,7 @@
       memcpy(data, _data, _len);
     }
 
-    /* Constructor: CANMessage
-     *  Creates CAN remote message.
+    /** Creates CAN remote message.
      */
     CANMessage(int _id, CANFormat _format = CANStandard) {
       len    = 0;
@@ -62,30 +58,26 @@
     }
 #if 0 // Inhereted from CAN_Message, for documentation only
 
-    /* Variable: id
-     *  The message id.
+    /** The message id.
      *
-     * If format is CANStandard it must be an 11 bit long id
-     * If format is CANExtended it must be an 29 bit long id
+     * - If format is CANStandard it must be an 11 bit long id.
+     * - If format is CANExtended it must be an 29 bit long id.
      */
     unsigned int   id;
     
-    /* Variable: data
-     *  Space for 8 byte payload.
+    /** Space for 8 byte payload.
      *
      * If type is CANData data can store up to 8 byte data.
      */
     unsigned char  data[8];
     
-    /* Variable: len
-     *  Length of data in bytes.
+    /** Length of data in bytes.
      *
      * If type is CANData data can store up to 8 byte data.
      */
     unsigned char  len;
     
-    /* Variable: format
-     *  Defines if the message has standard or extended format.
+    /** Defines if the message has standard or extended format.
      *
      * Defines the type of message id:
      * Default is CANStandard which implies 11 bit id.
@@ -93,8 +85,7 @@
      */
     CANFormat      format;
     
-    /* Variable: type
-     *  Defines the type of a message.
+    /** Defines the type of a message.
      *
      * The message type can rather be CANData for a message with data (default).
      * Or CANRemote for a request of a specific CAN message.
@@ -103,128 +94,115 @@
 #endif
 };
 
-/* Class: CAN
- *  A can bus client, used for communicating with can devices
+/** A can bus client, used for communicating with can devices
  */
 class CAN : public Base {
 
 public:
 
-    /* Constructor: CAN
-     *  Creates an CAN interface connected to specific pins.
+    /** Creates an CAN interface connected to specific pins.
+     *
+     *  @param rd read from transmitter
+     *  @param td transmit to transmitter
      *
      * Example:
-     * > #include "mbed.h"
-     * > 
-     * > Ticker ticker;
-     * > DigitalOut led1(LED1);
-     * > DigitalOut led2(LED2);
-     * > CAN can1(p9, p10);
-     * > CAN can2(p30, p29);
-     * > 
-     * > char counter = 0;
-     * > 
-     * > void send() {
-     * >     if(can1.write(CANMessage(1337, &counter, 1))) {
-     * >         printf("Message sent: %d\n", counter);
-     * >         counter++;
-     * >     } 
-     * >     led1 = !led1;
-     * > }
-     * > 
-     * > int main() {
-     * >     ticker.attach(&send, 1);
-     * >    CANMessage msg;
-     * >     while(1) {
-     * >         if(can2.read(msg)) {
-     * >             printf("Message received: %d\n\n", msg.data[0]);
-     * >             led2 = !led2;
-     * >         } 
-     * >         wait(0.2);
-     * >     }
-     * > } 
-     *
-     * Variables:
-     *  rd - read from transmitter
-     *  td - transmit to transmitter
+     * @code
+     * #include "mbed.h"
+     *  
+     * Ticker ticker;
+     * DigitalOut led1(LED1);
+     * DigitalOut led2(LED2);
+     * CAN can1(p9, p10);
+     * CAN can2(p30, p29);
+     *  
+     * char counter = 0;
+     *  
+     * void send() {
+     *     if(can1.write(CANMessage(1337, &counter, 1))) {
+     *         printf("Message sent: %d\n", counter);
+     *         counter++;
+     *     } 
+     *     led1 = !led1;
+     * }
+     *  
+     * int main() {
+     *     ticker.attach(&send, 1);
+     *    CANMessage msg;
+     *     while(1) {
+     *         if(can2.read(msg)) {
+     *             printf("Message received: %d\n\n", msg.data[0]);
+     *             led2 = !led2;
+     *         } 
+     *         wait(0.2);
+     *     }
+     * } 
+     * @endcode
      */
     CAN(PinName rd, PinName td);
     virtual ~CAN();
     
-    /* Function: frequency
-     *  Set the frequency of the CAN interface
+    /** Set the frequency of the CAN interface
+     *
+     *  @param hz The bus frequency in hertz
      *
-     * Variables:
-     *  hz - The bus frequency in hertz
-     *  returns - 1 if successful, 0 otherwise
+     *  @returns
+     *    1 if successful,
+     *    0 otherwise
      */
     int frequency(int hz);
     
-    /* Function: write
-     *  Write a CANMessage to the bus.
+    /** Write a CANMessage to the bus.
+     *
+     *  @param msg The CANMessage to write.
      *
-     * Variables:
-     *  msg - The CANMessage to write.
-     *
-     * Returns:
-     *  0 - If write failed.
-     *  1 - If write was successful.
+     *  @returns
+     *    0 if write failed,
+     *    1 if write was successful
      */
     int write(CANMessage msg);
     
-    /* Function: read
-     *  Read a CANMessage from the bus.
+    /** Read a CANMessage from the bus.
      * 
-     * Variables:
-     *  msg - A CANMessage to read to.
+     *  @param msg A CANMessage to read to.
      *
-     * Returns:
-     *  0 - If no message arrived.
-     *  1 - If message arrived.
+     *  @returns
+     *    0 if no message arrived,
+     *    1 if message arrived
      */
     int read(CANMessage &msg);
     
-    /* Function: reset
-     *  Reset CAN interface.
+    /** Reset CAN interface.
      *
      * To use after error overflow.
      */
     void reset();
 
-    /* Function: monitor
-     *  Puts or removes the CAN interface into silent monitoring mode
+    /** Puts or removes the CAN interface into silent monitoring mode
      *
-     * Variables:
-     *  silent - boolean indicating whether to go into silent mode or not
+     *  @param silent boolean indicating whether to go into silent mode or not
      */
     void monitor(bool silent);
     
-    /* Function: rderror
-     *  Returns number of read errors to detect read overflow errors.
+    /** Returns number of read errors to detect read overflow errors.
      */
     unsigned char rderror();
 
-    /* Function: tderror
-     *  Returns number of write errors to detect write overflow errors.
+    /** Returns number of write errors to detect write overflow errors.
      */
     unsigned char tderror();
 
-    /* Function: attach
-     *  Attach a function to call whenever a CAN frame received interrupt is
+    /** Attach a function to call whenever a CAN frame received interrupt is
      *  generated.
      *
-     * Variables:
-     *  fptr - A pointer to a void function, or 0 to set as none
+     *  @param fptr A pointer to a void function, or 0 to set as none
      */
     void attach(void (*fptr)(void));
    
-   /* Function attach
-    *  Attach a member function to call whenever a CAN frame received interrupt
+   /** Attach a member function to call whenever a CAN frame received interrupt
     *  is generated.
     *
-    * Variables:
-    *  tptr - pointer to the object to call the member function on
-    *  mptr - pointer to the member function to be called
+    *  @param tptr pointer to the object to call the member function on
+    *  @param mptr pointer to the member function to be called
     */
    template<typename T>
    void attach(T* tptr, void (T::*mptr)(void)) {
diff -r cd19af002ccc -r aff670d0d510 DigitalIn.h
--- a/DigitalIn.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/DigitalIn.h	Wed Oct 24 10:44:49 2012 +0000
@@ -12,45 +12,43 @@
 
 namespace mbed {
 
-/* Class: DigitalIn
- *  A digital input, used for reading the state of a pin
+/** A digital input, used for reading the state of a pin
  *
  * Example:
- * > // Flash an LED while a DigitalIn is true
- * >
- * > #include "mbed.h"
- * >
- * > DigitalIn enable(p5);
- * > DigitalOut led(LED1);
- * >
- * > int main() {
- * >     while(1) {
- * >         if(enable) {
- * >             led = !led;
- * >         }
- * >         wait(0.25);
- * >     }
- * > }
+ * @code
+ * // Flash an LED while a DigitalIn is true
+ * 
+ * #include "mbed.h"
+ * 
+ * DigitalIn enable(p5);
+ * DigitalOut led(LED1);
+ * 
+ * int main() {
+ *     while(1) {
+ *         if(enable) {
+ *             led = !led;
+ *         }
+ *         wait(0.25);
+ *     }
+ * }
+ * @endcode
  */
 class DigitalIn : public Base {
 
 public:
 
-    /* Constructor: DigitalIn
-     *  Create a DigitalIn connected to the specified pin
+    /** Create a DigitalIn connected to the specified pin
      *
-     * Variables:
-     *  pin - DigitalIn pin to connect to
-     *  name - (optional) A string to identify the object
+     *  @param pin DigitalIn pin to connect to
+     *  @param name (optional) A string to identify the object
      */
     DigitalIn(PinName pin, const char *name = NULL);
 
-    /* Function: read
-     *  Read the input, represented as 0 or 1 (int)
+    /** Read the input, represented as 0 or 1 (int)
      *
-     * Variables:
-     *  returns - An integer representing the state of the input pin, 
-     *      0 for logical 0 and 1 for logical 1
+     *  @returns
+     *    An integer representing the state of the input pin, 
+     *    0 for logical 0, 1 for logical 1
      */
     int read() {
 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
@@ -61,17 +59,14 @@
     }
 
 
-    /* Function: mode
-     *  Set the input pin mode
+    /** Set the input pin mode
      *
-     * Variables:
-     *  mode - PullUp, PullDown, PullNone, OpenDrain
+     *  @param mode PullUp, PullDown, PullNone, OpenDrain
      */
     void mode(PinMode pull);
     
 #ifdef MBED_OPERATORS    
-    /* Function: operator int()
-     *  An operator shorthand for <read()>
+    /** An operator shorthand for read()
      */
     operator int() {
         return read();
diff -r cd19af002ccc -r aff670d0d510 DigitalInOut.h
--- a/DigitalInOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/DigitalInOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -12,27 +12,22 @@
 
 namespace mbed {
 
-/* Class: DigitalInOut
- *  A digital input/output, used for setting or reading a bi-directional pin
+/** A digital input/output, used for setting or reading a bi-directional pin
  */
 class DigitalInOut : public Base {
 
 public:
 
-    /* Constructor: DigitalInOut
-     *  Create a DigitalInOut connected to the specified pin
+    /** Create a DigitalInOut connected to the specified pin
      *
-     * Variables:
-     *  pin - DigitalInOut pin to connect to
+     *  @param pin DigitalInOut pin to connect to
      */
     DigitalInOut(PinName pin, const char* name = NULL);
 
-    /* Function: write
-     *  Set the output, specified as 0 or 1 (int)
+    /** Set the output, specified as 0 or 1 (int)
      *
-     * Variables:
-     *  value - An integer specifying the pin output value, 
-     *      0 for logical 0 and 1 (or any other non-zero value) for logical 1 
+     *  @param value An integer specifying the pin output value, 
+     *      0 for logical 0, 1 (or any other non-zero value) for logical 1 
      */
     void write(int value) {
 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
@@ -53,12 +48,11 @@
 #endif
     }
 
-    /* Function: read
-     *  Return the output setting, represented as 0 or 1 (int)
+    /** Return the output setting, represented as 0 or 1 (int)
      *
-     * Variables:
-     *  returns - An integer representing the output setting of the pin if it is an output, 
-     *      or read the input if set as an input
+     *  @returns
+     *    an integer representing the output setting of the pin if it is an output, 
+     *    or read the input if set as an input
      */
     int read() {
 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
@@ -70,27 +64,22 @@
     }
 
 
-    /* Function: output
-     *  Set as an output
+    /** Set as an output
      */
     void output();
 
-    /* Function: input
-     *  Set as an input
+    /** Set as an input
      */
     void input();
 
-    /* Function: mode
-     *  Set the input pin mode
+    /** Set the input pin mode
      *
-     * Variables:
-     *  mode - PullUp, PullDown, PullNone, OpenDrain
+     *  @param mode PullUp, PullDown, PullNone, OpenDrain
      */
     void mode(PinMode pull);
     
 #ifdef MBED_OPERATORS
-    /* Function: operator=
-     *  A shorthand for <write>
+    /** A shorthand for write()
      */
     DigitalInOut& operator= (int value) {
         write(value);
@@ -102,8 +91,7 @@
         return *this;
     }
 
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int() {
         return read();
diff -r cd19af002ccc -r aff670d0d510 DigitalOut.h
--- a/DigitalOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/DigitalOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -12,40 +12,37 @@
 
 namespace mbed {
 
-/* Class: DigitalOut
- *  A digital output, used for setting the state of a pin
+/** A digital output, used for setting the state of a pin
  *
  * Example:
- * > // Toggle a LED
- * > #include "mbed.h"
- * >
- * > DigitalOut led(LED1);
- * >
- * > int main() {
- * >     while(1) {
- * >         led = !led;
- * >         wait(0.2);
- * >     }
- * > }
+ * @code
+ * // Toggle a LED
+ * #include "mbed.h"
+ * 
+ * DigitalOut led(LED1);
+ * 
+ * int main() {
+ *     while(1) {
+ *         led = !led;
+ *         wait(0.2);
+ *     }
+ * }
+ * @endcode
  */
 class DigitalOut : public Base {
 
 public:
 
-    /* Constructor: DigitalOut
-     *  Create a DigitalOut connected to the specified pin
+    /** Create a DigitalOut connected to the specified pin
      *
-     * Variables:
-     *  pin - DigitalOut pin to connect to
+     *  @param pin DigitalOut pin to connect to
      */
     DigitalOut(PinName pin, const char* name = NULL);
 
-    /* Function: write
-     *  Set the output, specified as 0 or 1 (int)
+    /** Set the output, specified as 0 or 1 (int)
      *
-     * Variables:
-     *  value - An integer specifying the pin output value, 
-     *      0 for logical 0 and 1 (or any other non-zero value) for logical 1 
+     *  @param value An integer specifying the pin output value, 
+     *      0 for logical 0, 1 (or any other non-zero value) for logical 1 
      */
     void write(int value) {
 
@@ -68,12 +65,11 @@
 
     }
 
-    /* Function: read
-     *  Return the output setting, represented as 0 or 1 (int)
+    /** Return the output setting, represented as 0 or 1 (int)
      *
-     * Variables:
-     *  returns - An integer representing the output setting of the pin, 
-     *      0 for logical 0 and 1 for logical 1
+     *  @returns
+     *    an integer representing the output setting of the pin, 
+     *    0 for logical 0, 1 for logical 1
      */
     int read() {
 #if defined(TARGET_LPC1768) || defined(TARGET_LPC2368)
@@ -86,8 +82,7 @@
 
 
 #ifdef MBED_OPERATORS
-    /* Function: operator=
-     *  A shorthand for <write>
+    /** A shorthand for write()
      */
     DigitalOut& operator= (int value) {
         write(value);
@@ -100,8 +95,7 @@
     }
 
     
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int() {
         return read();
diff -r cd19af002ccc -r aff670d0d510 DirHandle.h
--- a/DirHandle.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/DirHandle.h	Wed Oct 24 10:44:49 2012 +0000
@@ -19,8 +19,7 @@
 
 namespace mbed {
 
-/* Class DirHandle
- *  Represents a directory stream. Objects of this type are returned
+/** Represents a directory stream. Objects of this type are returned
  *  by a FileSystemLike's opendir method. Implementations must define
  *  at least closedir, readdir and rewinddir.
  *
@@ -36,44 +35,39 @@
 class DirHandle {
 
  public:
-    /* Function closedir
-     *  Closes the directory.
+    /** Closes the directory.
      *
-     * Variables
-     *  returns - 0 on success, or -1 on error.
+     *  @returns
+     *    0 on success,
+     *   -1 on error.
      */
     virtual int closedir()=0;
 
-    /* Function readdir
-     *  Return the directory entry at the current position, and
+    /** Return the directory entry at the current position, and
      *  advances the position to the next entry.
      *
-     * Returns
-     *  A pointer to a dirent structure representing the
-     *  directory entry at the current position, or NULL on reaching
-     *  end of directory or error.
+     * @returns
+     *   A pointer to a dirent structure representing the
+     *   directory entry at the current position, or NULL on reaching
+     *   end of directory or error.
      */
     virtual struct dirent *readdir()=0;
 
-    /* Function rewinddir
-     *  Resets the position to the beginning of the directory.
+    /** Resets the position to the beginning of the directory.
      */
     virtual void rewinddir()=0;
 
-    /* Function telldir
-     *  Returns the current position of the DirHandle.
+    /** Returns the current position of the DirHandle.
      *
-     * Returns
-     *  The current position, or -1 on error.
+     * @returns
+     *   the current position,
+     *  -1 on error.
      */
     virtual off_t telldir() { return -1; }
 
-    /* Function seekdir
-     *  Sets the position of the DirHandle.
+    /** Sets the position of the DirHandle.
      *
-     * Variables
-     *  location - The location to seek to. Must be a value returned
-     *   by telldir.
+     *  @param location The location to seek to. Must be a value returned by telldir.
      */
     virtual void seekdir(off_t location) { }
 
diff -r cd19af002ccc -r aff670d0d510 Ethernet.h
--- a/Ethernet.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/Ethernet.h	Wed Oct 24 10:44:49 2012 +0000
@@ -13,45 +13,43 @@
 
 namespace mbed {
 
-/* Class: Ethernet
- *  An ethernet interface, to use with the ethernet pins.
+/** An ethernet interface, to use with the ethernet pins.
  *
  * Example:
- * > // Read destination and source from every ethernet packet
- * >
- * > #include "mbed.h"
- * >
- * > Ethernet eth;
- * > 
- * > int main() {
- * >     char buf[0x600];
- * >     
- * >     while(1) {
- * >         int size = eth.receive();
- * >         if(size > 0) {
- * >             eth.read(buf, size);
- * >             printf("Destination:  %02X:%02X:%02X:%02X:%02X:%02X\n",
- * >                     buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]);
- * >             printf("Source: %02X:%02X:%02X:%02X:%02X:%02X\n",
- * >                     buf[6], buf[7], buf[8], buf[9], buf[10], buf[11]);
- * >         }
- * >         
- * >         wait(1);
- * >     }
- * > }
- *
+ * @code
+ * // Read destination and source from every ethernet packet
+ * 
+ * #include "mbed.h"
+ * 
+ * Ethernet eth;
+ *  
+ * int main() {
+ *     char buf[0x600];
+ *     
+ *     while(1) {
+ *         int size = eth.receive();
+ *         if(size > 0) {
+ *             eth.read(buf, size);
+ *             printf("Destination:  %02X:%02X:%02X:%02X:%02X:%02X\n",
+ *                     buf[0], buf[1], buf[2], buf[3], buf[4], buf[5]);
+ *             printf("Source: %02X:%02X:%02X:%02X:%02X:%02X\n",
+ *                     buf[6], buf[7], buf[8], buf[9], buf[10], buf[11]);
+ *         }
+ *         
+ *         wait(1);
+ *     }
+ * }
+ * @endcode
  */
 class Ethernet : public Base {
 
 public:
     
-    /* Constructor: Ethernet
-     *  Initialise the ethernet interface.
+    /** Initialise the ethernet interface.
      */
     Ethernet();
 
-    /* Destructor: Ethernet
-     *  Powers the hardware down.
+    /** Powers the hardware down.
      */
     virtual ~Ethernet();
 
@@ -63,47 +61,42 @@
         , FullDuplex100
     };
 
-    /* Function: write
-     *  Writes into an outgoing ethernet packet.
+    /** Writes into an outgoing ethernet packet.
      *
      *  It will append size bytes of data to the previously written bytes.
      *  
-     *  Variables:
-     *   data - An array to write.
-     *   size - The size of data.
+     *  @param data An array to write.
+     *  @param size The size of data.
      *
-     *  Returns:
-     *   The number of written bytes.
+     *  @returns
+     *    The number of written bytes.
      */
     int write(const char *data, int size);
 
-    /* Function: send
-     *  Send an outgoing ethernet packet.
+    /** Send an outgoing ethernet packet.
      *
      *  After filling in the data in an ethernet packet it must be send.
      *  Send will provide a new packet to write to.
      *
-     * Returns:
-     *  0 - If the sending was failed.
-     *  1 - If the package is successfully sent.
+     *  @returns
+     *    0 if the sending was failed,
+     *    1 if the package is successfully sent.
      */
     int send();
 
-    /* Function: receive
-     *  Recevies an arrived ethernet packet.
+    /** Recevies an arrived ethernet packet.
      *
      *  Receiving an ethernet packet will drop the last received ethernet packet 
      *  and make a new ethernet packet ready to read.
      *  If no ethernet packet is arrived it will return 0.
      *
-     * Returns:
-     *  0 - If no ethernet packet is arrived.
-     *  The size of the arrived packet.
+     *  @returns
+     *    0 if no ethernet packet is arrived,
+     *    or the size of the arrived packet.
      */
     int receive();
 
-    /* Function: read
-     *  Read from an recevied ethernet packet.
+    /** Read from an recevied ethernet packet.
      *
      *  After receive returnd a number bigger than 0it is
      *  possible to read bytes from this packet.
@@ -112,55 +105,51 @@
      *  It is possible to use read multible times. 
      *  Each time read will start reading after the last read byte before.
      *
-     * Returns:
-     *  The number of byte read.
+     *  @returns
+     *    The number of byte read.
      */
     int read(char *data, int size);
     
-    /* Function: address
-     *  Gives the ethernet address of the mbed.
+    /** Gives the ethernet address of the mbed.
      *
-     * Variables:
-     *  mac - Must be a pointer to a 6 byte char array to copy the ethernet address in.
+     *  @param mac Must be a pointer to a 6 byte char array to copy the ethernet address in.
      */
     void address(char *mac);
 
-    /* Function: link
-     *  Returns if an ethernet link is pressent or not. It takes a wile after Ethernet initializion to show up.
+    /** Returns if an ethernet link is pressent or not. It takes a wile after Ethernet initializion to show up.
      * 
-     * Returns:
-     *  0 - If no ethernet link is pressent.
-     *  1 - If an ethernet link is pressent.
+     *  @returns
+     *   0 if no ethernet link is pressent,
+     *   1 if an ethernet link is pressent.
      *
      * Example:
-     * > // Using the Ethernet link function
-     * > #include "mbed.h"
-     * >
-     * > Ethernet eth;
-     * >
-     * > int main() {
-     * >     wait(1); // Needed after startup.
-     * >     if(eth.link()) {
-     * >         printf("online\n");
-     * >     } else {
-     * >          printf("offline\n");
-     * >     }
-     * > }
-     *
+     * @code
+     * // Using the Ethernet link function
+     * #include "mbed.h"
+     * 
+     * Ethernet eth;
+     * 
+     * int main() {
+     *     wait(1); // Needed after startup.
+     *     if (eth.link()) {
+     *          printf("online\n");
+     *     } else {
+     *          printf("offline\n");
+     *     }
+     * }
+     * @endcode
      */
     int link();
 
-    /* Function: set_link
-     *  Sets the speed and duplex parameters of an ethernet link
-     *
-     *  Variables:
-     *   mode - the speed and duplex mode to set the link to:
+    /** Sets the speed and duplex parameters of an ethernet link
      *
-     * > AutoNegotiate      Auto negotiate speed and duplex
-     * > HalfDuplex10       10 Mbit, half duplex
-     * > FullDuplex10       10 Mbit, full duplex
-     * > HalfDuplex100      100 Mbit, half duplex
-     * > FullDuplex100      100 Mbit, full duplex
+     * - AutoNegotiate      Auto negotiate speed and duplex
+     * - HalfDuplex10       10 Mbit, half duplex
+     * - FullDuplex10       10 Mbit, full duplex
+     * - HalfDuplex100      100 Mbit, half duplex
+     * - FullDuplex100      100 Mbit, full duplex
+     *
+     *  @param mode the speed and duplex mode to set the link to:
      */
     void set_link(Mode mode);
 
diff -r cd19af002ccc -r aff670d0d510 FileHandle.h
--- a/FileHandle.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/FileHandle.h	Wed Oct 24 10:44:49 2012 +0000
@@ -17,81 +17,74 @@
 
 namespace mbed { 
 
-/* Class FileHandle
- *  An OO equivalent of the internal FILEHANDLE variable
- *  and associated _sys_* functions
+/** An OO equivalent of the internal FILEHANDLE variable
+ *  and associated _sys_* functions.
  *
- * FileHandle is an abstract class, needing at least sys_write and
- * sys_read to be implmented for a simple interactive device
+ *  FileHandle is an abstract class, needing at least sys_write and
+ *  sys_read to be implmented for a simple interactive device.
  *
- * No one ever directly tals to/instanciates a FileHandle - it gets 
- * created by FileSystem, and wrapped up by stdio
+ *  No one ever directly tals to/instanciates a FileHandle - it gets 
+ *  created by FileSystem, and wrapped up by stdio.
  */
 class FileHandle {
 
 public:
 
-    /* Function write
-     *  Write the contents of a buffer to the file
+    /** Write the contents of a buffer to the file
      *
-     * Parameters
-     *  buffer - the buffer to write from
-     *  length - the number of characters to write
+     *  @param buffer the buffer to write from
+     *  @param length the number of characters to write
      *
-     * Returns
-     *  The number of characters written (possibly 0) on success, -1 on error.
+     *  @returns
+     *    The number of characters written (possibly 0) on success, -1 on error.
      */
     virtual ssize_t write(const void* buffer, size_t length) = 0;
 
-    /* Function close
-     *  Close the file
+    /** Close the file
      *
-     * Returns
-     *  Zero on success, -1 on error.
+     *  @returns
+     *    Zero on success, -1 on error.
      */
     virtual int close() = 0;
 
-    /* Function read
+    /** Function read
      *  Reads the contents of the file into a buffer
      *
-     * Parameters
-     *  buffer - the buffer to read in to
-     *  length - the number of characters to read
+     *  @param buffer the buffer to read in to
+     *  @param length the number of characters to read
      *
-     * Returns
-     *  The number of characters read (zero at end of file) on success, -1 on error.
+     *  @returns
+     *    The number of characters read (zero at end of file) on success, -1 on error.
      */
     virtual ssize_t read(void* buffer, size_t length) = 0;
 
-    /* Function isatty
-     *  Check if the handle is for a interactive terminal device 
+    /** Check if the handle is for a interactive terminal device.
+     *  If so, line buffered behaviour is used by default
      *
-     * If so, line buffered behaviour is used by default
-     *
-     * Returns
-     *  1 if it is a terminal, 0 otherwise
+     *  @returns
+     *    1 if it is a terminal,
+     *    0 otherwise
      */
     virtual int isatty() = 0 ;
 
-    /* Function lseek
-     *  Move the file position to a given offset from a given location.
+    /** Move the file position to a given offset from a given location.
      *
-     * Parameters
-     *  offset - The offset from whence to move to
-     *  whence - SEEK_SET for the start of the file, SEEK_CUR for the
+     *  @param offset The offset from whence to move to
+     *  @param whence SEEK_SET for the start of the file, SEEK_CUR for the
      *   current file position, or SEEK_END for the end of the file.
      *
-     * Returns
-     *  New file position on success, -1 on failure or unsupported
+     *  @returns
+     *    new file position on success,
+     *    -1 on failure or unsupported
      */
     virtual off_t lseek(off_t offset, int whence) = 0;
 
-    /* Function fsync
-     *  Flush any buffers associated with the FileHandle, ensuring it
+    /** Flush any buffers associated with the FileHandle, ensuring it
      *  is up to date on disk
      *
-     * Returns
-     *  0 on success or un-needed, -1 on error
+     *  @returns
+     *    0 on success or un-needed,
+     *   -1 on error
      */
     virtual int fsync() = 0;
 
diff -r cd19af002ccc -r aff670d0d510 FileLike.h
--- a/FileLike.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/FileLike.h	Wed Oct 24 10:44:49 2012 +0000
@@ -10,18 +10,16 @@
 
 namespace mbed {
 
-/* Class FileLike
- *  A file-like object is one that can be opened with fopen by
+/** A file-like object is one that can be opened with fopen by
  *  fopen("/name", mode). It is intersection of the classes Base and
  *  FileHandle.
  */ 
 class FileLike : public Base, public FileHandle {
     
  public:
-    /* Constructor FileLike
+    /** FileLike constructor
      *
-     * Variables
-     *  name - The name to use to open the file.
+     *  @param name The name to use to open the file.
      */
     FileLike(const char *name) : Base(name) { }
     virtual ~FileLike();
diff -r cd19af002ccc -r aff670d0d510 FileSystemLike.h
--- a/FileSystemLike.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/FileSystemLike.h	Wed Oct 24 10:44:49 2012 +0000
@@ -22,8 +22,7 @@
 
 namespace mbed {
 
-/* Class FileSystemLike
- *  A filesystem-like object is one that can be used to open files
+/** A filesystem-like object is one that can be used to open files
  *  though it by fopen("/name/filename", mode)
  *
  *  Implementations must define at least open (the default definitions
@@ -33,61 +32,61 @@
 
  public:
 
-    /* Constructor FileSystemLike
+    /** FileSystemLike constructor
      *
-     * Variables
-     *  name - The name to use for the filesystem.
+     *  @param name The name to use for the filesystem.
      */
     FileSystemLike(const char *name) : Base(name) {}
 
-    /* Function open
+    /** Opens a file from the filesystem
      *
-     * Variables
-     *  filename - The name of the file to open.
-     *  flags - One of O_RDONLY, O_WRONLY, or O_RDWR, OR'd with
+     *  @param filename The name of the file to open.
+     *  @param flags One of O_RDONLY, O_WRONLY, or O_RDWR, OR'd with
      *    zero or more of O_CREAT, O_TRUNC, or O_APPEND.
-     *  returns - A pointer to a FileHandle object representing the
-     *   file on success, or NULL on failure.
+     *
+     *  @returns
+     *    A pointer to a FileHandle object representing the
+     *    file on success, or NULL on failure.
      */
     virtual FileHandle *open(const char *filename, int flags) = 0;
 
-    /* Function remove
-     *  Remove a file from the filesystem.
+    /** Remove a file from the filesystem.
      *
-     * Variables
-     *  filename - the name of the file to remove.
-     *  returns - 0 on success, -1 on failure.
+     *  @param filename the name of the file to remove.
+     *  @param returns 0 on success, -1 on failure.
      */
     virtual int remove(const char *filename) { return -1; };
 
-    /* Function rename
-     *  Rename a file in the filesystem.
+    /** Rename a file in the filesystem.
      *
-     * Variables
-     *  oldname - the name of the file to rename.
-     *  newname - the name to rename it to.
-     *  returns - 0 on success, -1 on failure.
+     *  @param oldname the name of the file to rename.
+     *  @param newname the name to rename it to.
+     *
+     *  @returns
+     *    0 on success,
+     *   -1 on failure.
      */
     virtual int rename(const char *oldname, const char *newname) { return -1; };
 
-    /* Function opendir
-     *  Opens a directory in the filesystem and returns a DirHandle
-     *   representing the directory stream.
+    /** Opens a directory in the filesystem and returns a DirHandle
+     *  representing the directory stream.
      *
-     * Variables
-     *  name - The name of the directory to open.
-     *  returns - A DirHandle representing the directory stream, or
-     *   NULL on failure.
+     *  @param name The name of the directory to open.
+     *
+     *  @returns
+     *    A DirHandle representing the directory stream, or
+     *    NULL on failure.
      */
     virtual DirHandle *opendir(const char *name) { return NULL; };
 
-    /* Function mkdir
-     *  Creates a directory in the filesystem.
+    /** Creates a directory in the filesystem.
      *
-     * Variables
-     *  name - The name of the directory to create.
-     *  mode - The permissions to create the directory with.
-     *  returns - 0 on success, -1 on failure.
+     *  @param name The name of the directory to create.
+     *  @param mode The permissions to create the directory with.
+     * 
+     *  @returns
+     *    0 on success,
+     *   -1 on failure.
      */
     virtual int mkdir(const char *name, mode_t mode) { return -1; }
 
diff -r cd19af002ccc -r aff670d0d510 FunctionPointer.h
--- a/FunctionPointer.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/FunctionPointer.h	Wed Oct 24 10:44:49 2012 +0000
@@ -9,76 +9,77 @@
 
 namespace mbed { 
 
-/* Class FunctionPointer
- *  A class for storing and calling a pointer to a static or member void function
+/** A class for storing and calling a pointer to a static or member void function
  */
 class FunctionPointer {
 
 public:
 
-	/* Constructor FunctionPointer
-	 *  Create a FunctionPointer, attaching a static function
-	 * 
-	 * Variables
-	 *  function - The void static function to attach (default is none)
-	 */
-	FunctionPointer(void (*function)(void) = 0);
+    /** Create a FunctionPointer, attaching a static function
+     * 
+     *  @param function The void static function to attach (default is none)
+     */
+    FunctionPointer(void (*function)(void) = 0);
 
-	/* Constructor FunctionPointer
-	 *  Create a FunctionPointer, attaching a member function
-	 * 
-	 * Variables
-	 *  object - The object pointer to invoke the member function on (i.e. the this pointer)
-	 *  function - The address of the void member function to attach 
-	 */
-	template<typename T>	
-	FunctionPointer(T *object, void (T::*member)(void)) {
-		attach(object, member);
-	}
+    /** Create a FunctionPointer, attaching a member function
+     * 
+     *  @param object The object pointer to invoke the member function on (i.e. the this pointer)
+     *  @param function The address of the void member function to attach 
+     */
+    template<typename T>    
+    FunctionPointer(T *object, void (T::*member)(void)) {
+        attach(object, member);
+    }
 
-	/* Function attach
-	 *  Attach a static function
-	 * 
-	 * Variables
-	 *  function - The void static function to attach (default is none)
-	 */
-	void attach(void (*function)(void) = 0);
-	
-	/* Function attach
-	 *  Attach a member function
-	 * 
-	 * Variables
-	 *  object - The object pointer to invoke the member function on (i.e. the this pointer)
-	 *  function - The address of the void member function to attach 
-	 */
-	template<typename T>
-	void attach(T *object, void (T::*member)(void)) {
-		_object = static_cast<void*>(object);
+    /** Attach a static function
+     * 
+     *  @param function The void static function to attach (default is none)
+     */
+    void attach(void (*function)(void) = 0);
+    
+    /** Attach a member function
+     * 
+     *  @param object The object pointer to invoke the member function on (i.e. the this pointer)
+     *  @param function The address of the void member function to attach 
+     */
+    template<typename T>
+    void attach(T *object, void (T::*member)(void)) {
+        _object = static_cast<void*>(object);
         memcpy(_member, (char*)&member, sizeof(member));
-		_membercaller = &FunctionPointer::membercaller<T>;
-		_function = 0;
-	}
+        _membercaller = &FunctionPointer::membercaller<T>;
+        _function = 0;
+    }
 
-	/* Function call
-	 *  Call the attached static or member function
-	 */		
-	void call();
-		
+    /** Call the attached static or member function
+     */        
+    void call();
+        
 private:
 
-	template<typename T>
-	static void membercaller(void *object, char *member) {	
-		T* o = static_cast<T*>(object);
-		void (T::*m)(void);
+    template<typename T>
+    static void membercaller(void *object, char *member) {    
+        T* o = static_cast<T*>(object);
+        void (T::*m)(void);
         memcpy((char*)&m, member, sizeof(m));
-		(o->*m)();
-	}
-	
-	void (*_function)(void);				// static function pointer - 0 if none attached
-	void *_object;							// object this pointer - 0 if none attached
-	char _member[16];						// raw member function pointer storage - converted back by registered _membercaller
-	void (*_membercaller)(void*, char*);	// registered membercaller function to convert back and call _member on _object
-	
+        (o->*m)();
+    }
+    
+    /** Static function pointer - 0 if none attached
+     */
+    void (*_function)(void);
+    
+    /** Object this pointer - 0 if none attached
+     */
+    void *_object;
+    
+    /** Raw member function pointer storage - converted back by registered _membercaller
+     */
+    char _member[16];
+    
+    /** Registered membercaller function to convert back and call _member on _object
+     */
+    void (*_membercaller)(void*, char*);
+    
 };
 
 } // namespace mbed
diff -r cd19af002ccc -r aff670d0d510 I2C.h
--- a/I2C.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/I2C.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,21 +16,22 @@
 
 namespace mbed {
 
-/* Class: I2C
- *  An I2C Master, used for communicating with I2C slave devices
+/** An I2C Master, used for communicating with I2C slave devices
  *
  * Example:
- * > // Read from I2C slave at address 0x62
- * >
- * > #include "mbed.h"
- * >
- * > I2C i2c(p28, p27);
- * >
- * > int main() {
- * >     int address = 0x62;
- * >     char data[2];
- * >     i2c.read(address, data, 2);
- * > }
+ * @code
+ * // Read from I2C slave at address 0x62
+ *
+ * #include "mbed.h"
+ *
+ * I2C i2c(p28, p27);
+ *
+ * int main() {
+ *     int address = 0x62;
+ *     char data[2];
+ *     i2c.read(address, data, 2);
+ * }
+ * @endcode
  */
 class I2C : public Base {
 
@@ -48,79 +49,75 @@
         , ACK   = 1
     };
 
-    /* Constructor: I2C
-     *  Create an I2C Master interface, connected to the specified pins
+    /** Create an I2C Master interface, connected to the specified pins
      *
-     * Variables:
-     *  sda - I2C data line pin
-     *  scl - I2C clock line pin
+     *  @param sda I2C data line pin
+     *  @param scl I2C clock line pin
      */
     I2C(PinName sda, PinName scl, const char *name = NULL);
 
-    /* Function: frequency
-     *  Set the frequency of the I2C interface
+    /** Set the frequency of the I2C interface
      *
-     * Variables:
-     *  hz - The bus frequency in hertz
+     *  @param hz The bus frequency in hertz
      */
     void frequency(int hz);
 
-    /* Function: read
-     *  Read from an I2C slave
+    /** Read from an I2C slave
      *
-     * Performs a complete read transaction. The bottom bit of
-     * the address is forced to 1 to indicate a read.
+     *  Performs a complete read transaction. The bottom bit of
+     *  the address is forced to 1 to indicate a read.
      *
-     * Variables:
-     *  address - 8-bit I2C slave address [ addr | 1 ]
-     *  data - Pointer to the byte-array to read data in to 
-     *  length - Number of bytes to read
-     *  repeated - Repeated start, true - don't send stop at end
-     *  returns - 0 on success (ack), or non-0 on failure (nack)
+     *  @param address 8-bit I2C slave address [ addr | 1 ]
+     *  @param data Pointer to the byte-array to read data in to 
+     *  @param length Number of bytes to read
+     *  @param repeated Repeated start, true - don't send stop at end
+     *
+     *  @returns
+     *       0 on success (ack),
+     *   non-0 on failure (nack)
      */ 
     int read(int address, char *data, int length, bool repeated = false); 
 
-    /* Function: read
-     *  Read a single byte from the I2C bus
+    /** Read a single byte from the I2C bus
      *
-     * Variables:
-     *  ack - indicates if the byte is to be acknowledged (1 = acknowledge)
-     *  returns - the byte read
+     *  @param ack indicates if the byte is to be acknowledged (1 = acknowledge)
+     *
+     *  @returns
+     *    the byte read
      */
     int read(int ack);
 
-    /* Function: write
-     *  Write to an I2C slave
+    /** Write to an I2C slave
      *
-     * Performs a complete write transaction. The bottom bit of
-     * the address is forced to 0 to indicate a write.
+     *  Performs a complete write transaction. The bottom bit of
+     *  the address is forced to 0 to indicate a write.
      *
-     * Variables:
-     *  address - 8-bit I2C slave address [ addr | 0 ]
-     *  data - Pointer to the byte-array data to send 
-     *  length - Number of bytes to send
-     *  repeated - Repeated start, true - do not send stop at end
-     *  returns - 0 on success (ack), or non-0 on failure (nack)
+     *  @param address 8-bit I2C slave address [ addr | 0 ]
+     *  @param data Pointer to the byte-array data to send 
+     *  @param length Number of bytes to send
+     *  @param repeated Repeated start, true - do not send stop at end
+     *
+     *  @returns
+     *       0 on success (ack),
+     *   non-0 on failure (nack)
      */ 
     int write(int address, const char *data, int length, bool repeated = false);
 
-    /* Function: write
-     *  Write single byte out on the I2C bus
+    /** Write single byte out on the I2C bus
+     *
+     *  @param data data to write out on bus
      *
-     * Variables:
-     *  data - data to write out on bus
-     *  returns - a '1' if an ACK was received, a '0' otherwise
+     *  @returns
+     *    '1' if an ACK was received,
+     *    '0' otherwise
      */
     int write(int data);
 
-    /* Function: start
-     *  Creates a start condition on the I2C bus
+    /** Creates a start condition on the I2C bus
      */
-
     void start(void);
 
-    /* Function: stop
-     *  Creates a stop condition on the I2C bus
+    /** Creates a stop condition on the I2C bus
      */
     void stop(void);
 
diff -r cd19af002ccc -r aff670d0d510 I2CSlave.h
--- a/I2CSlave.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/I2CSlave.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,39 +16,39 @@
 
 namespace mbed {
 
-/* Class: I2CSlave
- *  An I2C Slave, used for communicating with an I2C Master device
+/** An I2C Slave, used for communicating with an I2C Master device
  *
  * Example:
- * > // Simple I2C responder
- * > #include <mbed.h>
- * >
- * > I2CSlave slave(p9, p10);
- * >
- * > int main() {
- * >     char buf[10];
- * >     char msg[] = "Slave!";
- * >
- * >     slave.address(0xA0);
- * >     while (1) {
- * >         int i = slave.receive();
- * >         switch (i) {
- * >             case I2CSlave::ReadAddressed: 
- * >                 slave.write(msg, strlen(msg) + 1); // Includes null char
- * >                 break;
- * >             case I2CSlave::WriteGeneral:
- * >                 slave.read(buf, 10);
- * >                 printf("Read G: %s\n", buf);
- * >                 break;
- * >             case I2CSlave::WriteAddressed:
- * >                 slave.read(buf, 10);
- * >                 printf("Read A: %s\n", buf);
- * >                 break;
- * >         }
- * >         for(int i = 0; i < 10; i++) buf[i] = 0;    // Clear buffer
- * >     }
- * > }
- * >                  
+ * @code
+ * // Simple I2C responder
+ * #include <mbed.h>
+ *
+ * I2CSlave slave(p9, p10);
+ *
+ * int main() {
+ *     char buf[10];
+ *     char msg[] = "Slave!";
+ *
+ *     slave.address(0xA0);
+ *     while (1) {
+ *         int i = slave.receive();
+ *         switch (i) {
+ *             case I2CSlave::ReadAddressed: 
+ *                 slave.write(msg, strlen(msg) + 1); // Includes null char
+ *                 break;
+ *             case I2CSlave::WriteGeneral:
+ *                 slave.read(buf, 10);
+ *                 printf("Read G: %s\n", buf);
+ *                 break;
+ *             case I2CSlave::WriteAddressed:
+ *                 slave.read(buf, 10);
+ *                 printf("Read A: %s\n", buf);
+ *                 break;
+ *         }
+ *         for(int i = 0; i < 10; i++) buf[i] = 0;    // Clear buffer
+ *     }
+ * }
+ * @endcode                  
  */
 class I2CSlave : public Base {
 
@@ -61,84 +61,78 @@
         , WriteAddressed    = 3
     };
 
-    /* Constructor: I2CSlave
-     *  Create an I2C Slave interface, connected to the specified pins.
+    /** Create an I2C Slave interface, connected to the specified pins.
      *
-     * Variables:
-     *  sda - I2C data line pin
-     *  scl - I2C clock line pin
+     *  @param sda I2C data line pin
+     *  @param scl I2C clock line pin
      */
     I2CSlave(PinName sda, PinName scl, const char *name = NULL);
 
-    /* Function: frequency
-     *  Set the frequency of the I2C interface
+    /** Set the frequency of the I2C interface
      *
-     * Variables:
-     *  hz - The bus frequency in hertz
+     *  @param hz The bus frequency in hertz
      */
     void frequency(int hz);
 
-    /* Function: receive
-     *  Checks to see if this I2C Slave has been addressed.
+    /** Checks to see if this I2C Slave has been addressed.
      *
-     * Variables:
-     *  returns - a status indicating if the device has been addressed, and how
-     *  > NoData            - the slave has not been addressed
-     *  > ReadAddressed     - the master has requested a read from this slave
-     *  > WriteAddressed    - the master is writing to this slave
-     *  > WriteGeneral      - the master is writing to all slave 
+     *  @returns
+     *  A status indicating if the device has been addressed, and how
+     *  - NoData            - the slave has not been addressed
+     *  - ReadAddressed     - the master has requested a read from this slave
+     *  - WriteAddressed    - the master is writing to this slave
+     *  - WriteGeneral      - the master is writing to all slave 
      */
     int receive(void);
 
-    /* Function: read
-     *  Read from an I2C master.
+    /** Read from an I2C master.
      *
-     * Variables:
-     *  data - pointer to the byte array to read data in to
-     *  length - maximum number of bytes to read
-     *  returns - 0 on success, non-0 otherwise
+     *  @param data pointer to the byte array to read data in to
+     *  @param length maximum number of bytes to read
+     *
+     *  @returns
+     *       0 on success,
+     *   non-0 otherwise
      */
     int read(char *data, int length); 
 
-    /* Function: read
-     *  Read a single byte from an I2C master.
+    /** Read a single byte from an I2C master.
      *
-     * Variables:
-     *  returns - the byte read
+     *  @returns
+     *    the byte read
      */
     int read(void);
 
-    /* Function: write
-     *  Write to an I2C master.
+    /** Write to an I2C master.
      *
-     * Variables:
-     *  data - pointer to the byte array to be transmitted
-     *  length - the number of bytes to transmite
-     *  returns - a 0 on success, non-0 otherwise
+     *  @param data pointer to the byte array to be transmitted
+     *  @param length the number of bytes to transmite
+     *
+     *  @returns
+     *       0 on success,
+     *   non-0 otherwise
      */
     int write(const char *data, int length);
 
-    /* Function: write
-     *  Write a single byte to an I2C master.
+    /** Write a single byte to an I2C master.
+     *
+     *  @data the byte to write
      *
-     * Variables
-     *  data - the byte to write
-     *  returns - a '1' if an ACK was received, a '0' otherwise
+     *  @returns
+     *    '1' if an ACK was received,
+     *    '0' otherwise
      */
     int write(int data);
 
-    /* Function: address
-     *  Sets the I2C slave address.
+    /** Sets the I2C slave address.
      *
-     * Variables
-     *  address - the address to set for the slave (ignoring the least
-     *  signifcant bit). If set to 0, the slave will only respond to the
-     *  general call address.
+     *  @param address The address to set for the slave (ignoring the least
+     *    signifcant bit). If set to 0, the slave will only respond to the
+     *    general call address.
      */
     void address(int address);
 
-    /* Function: stop
-     *  Reset the I2C slave back into the known ready receiving state.
+    /** Reset the I2C slave back into the known ready receiving state.
      */
     void stop(void);
 
diff -r cd19af002ccc -r aff670d0d510 InterruptIn.h
--- a/InterruptIn.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/InterruptIn.h	Wed Oct 24 10:44:49 2012 +0000
@@ -23,39 +23,38 @@
 
 namespace mbed {
 
-/* Class: InterruptIn
- *  A digital interrupt input, used to call a function on a rising or falling edge
+/** A digital interrupt input, used to call a function on a rising or falling edge
  *
  * Example:
- * > // Flash an LED while waiting for events
- * >
- * > #include "mbed.h"
- * >
- * > InterruptIn event(p16);
- * > DigitalOut led(LED1);
- * >
- * > void trigger() {
- * >     printf("triggered!\n");
- * > }
- * >
- * > int main() {
- * >     event.rise(&trigger);
- * >     while(1) {
- * >         led = !led;
- * >         wait(0.25);
- * >     }
- * > }
+ * @code
+ * // Flash an LED while waiting for events
+ *
+ * #include "mbed.h"
+ *
+ * InterruptIn event(p16);
+ * DigitalOut led(LED1);
+ *
+ * void trigger() {
+ *     printf("triggered!\n");
+ * }
+ *
+ * int main() {
+ *     event.rise(&trigger);
+ *     while(1) {
+ *         led = !led;
+ *         wait(0.25);
+ *     }
+ * }
+ * @endcode
  */
 class InterruptIn : public Base {
 
 public:
 
-    /* Constructor: InterruptIn
-     *  Create an InterruptIn connected to the specified pin
+    /** Create an InterruptIn connected to the specified pin
      *
-     * Variables:
-     *  pin - InterruptIn pin to connect to
-     *  name - (optional) A string to identify the object
+     *  @param pin InterruptIn pin to connect to
+     *  @param name (optional) A string to identify the object
      */
     InterruptIn(PinName pin, const char *name = NULL);
 #if defined(TARGET_LPC11U24)
@@ -68,20 +67,16 @@
 
 #endif
      
-    /* Function: rise
-     *  Attach a function to call when a rising edge occurs on the input
+    /** Attach a function to call when a rising edge occurs on the input
      *
-     * Variables:
-     *  fptr - A pointer to a void function, or 0 to set as none
+     *  @param fptr A pointer to a void function, or 0 to set as none
      */
     void rise(void (*fptr)(void));
 
-    /* Function: rise
-     *  Attach a member function to call when a rising edge occurs on the input
+    /** Attach a member function to call when a rising edge occurs on the input
      *     
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
      */
     template<typename T>
     void rise(T* tptr, void (T::*mptr)(void)) {
@@ -89,20 +84,16 @@
         setup_interrupt(1, 1);
     }
 
-    /* Function: fall
-     *  Attach a function to call when a falling edge occurs on the input
+    /** Attach a function to call when a falling edge occurs on the input
      *
-     * Variables:
-     *  fptr - A pointer to a void function, or 0 to set as none
+     *  @param fptr A pointer to a void function, or 0 to set as none
      */
     void fall(void (*fptr)(void));
 
-    /* Function: fall
-     *  Attach a member function to call when a falling edge occurs on the input
+    /** Attach a member function to call when a falling edge occurs on the input
      *     
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
      */
     template<typename T>
     void fall(T* tptr, void (T::*mptr)(void)) {
@@ -110,11 +101,9 @@
         setup_interrupt(0, 1);
     }
 
-    /* Function: mode
-     *  Set the input pin mode
+    /** Set the input pin mode
      *
-     * Variables:
-     *  mode - PullUp, PullDown, PullNone
+     *  @param mode PullUp, PullDown, PullNone
      */
     void mode(PinMode pull);
     
diff -r cd19af002ccc -r aff670d0d510 LocalFileSystem.h
--- a/LocalFileSystem.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/LocalFileSystem.h	Wed Oct 24 10:44:49 2012 +0000
@@ -35,33 +35,34 @@
     int pos;
 };
 
-/* Class: LocalFileSystem
- *  A filesystem for accessing the local mbed Microcontroller USB disk drive 
+/** A filesystem for accessing the local mbed Microcontroller USB disk drive 
  *
  *  This allows programs to read and write files on the same disk drive that is used to program the 
  *  mbed Microcontroller. Once created, the standard C file access functions are used to open, 
  *  read and write files.
  *
  * Example:
- * > #include "mbed.h"
- * >
- * > LocalFileSystem local("local");             // Create the local filesystem under the name "local"
- * >
- * > int main() {
- * >     FILE *fp = fopen("/local/out.txt", "w");  // Open "out.txt" on the local file system for writing
- * >     fprintf(fp, "Hello World!");              
- * >     fclose(fp);                               
- * >     remove("/local/out.txt");                 // Removes the file "out.txt" from the local file system
- * >
- * >     DIR *d = opendir("/local");               // Opens the root directory of the local file system
- * >     struct dirent *p;
- * >     while((p = readdir(d)) != NULL) {         // Print the names of the files in the local file system
- * >       printf("%s\n", p->d_name);              // to stdout.
- * >     }
- * >     closedir(d);
- * > }
+ * @code
+ * #include "mbed.h"
+ *
+ * LocalFileSystem local("local");               // Create the local filesystem under the name "local"
+ *
+ * int main() {
+ *     FILE *fp = fopen("/local/out.txt", "w");  // Open "out.txt" on the local file system for writing
+ *     fprintf(fp, "Hello World!");              
+ *     fclose(fp);                               
+ *     remove("/local/out.txt");                 // Removes the file "out.txt" from the local file system
  *
- * Implementation Notes:
+ *     DIR *d = opendir("/local");               // Opens the root directory of the local file system
+ *     struct dirent *p;
+ *     while((p = readdir(d)) != NULL) {         // Print the names of the files in the local file system
+ *       printf("%s\n", p->d_name);              // to stdout.
+ *     }
+ *     closedir(d);
+ * }
+ * @endcode
+ *
+ * @note
  *  If the microcontroller program makes an access to the local drive, it will be marked as "removed"
  *  on the Host computer. This means it is no longer accessible from the Host Computer.
  *
@@ -75,7 +76,7 @@
     LocalFileSystem(const char* n) : FileSystemLike(n) {
 
     }
-	
+    
     virtual FileHandle *open(const char* name, int flags);
     virtual int remove(const char *filename);
     virtual DirHandle *opendir(const char *name);
diff -r cd19af002ccc -r aff670d0d510 PortIn.h
--- a/PortIn.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/PortIn.h	Wed Oct 24 10:44:49 2012 +0000
@@ -14,61 +14,56 @@
 
 namespace mbed {
 
-/* Class: PortIn
- *  A multiple pin digital input
+/** A multiple pin digital input
+ *
+ * Example:
+ * @code
+ * // Switch on an LED if any of mbed pins 21-26 is high
+ *
+ * #include "mbed.h"
+ *
+ * PortIn     p(Port2, 0x0000003F);   // p21-p26
+ * DigitalOut ind(LED4);
  *
- *  Example:
- *  > // Switch on an LED if any of mbed pins 21-26 is high
- *  >
- *  > #include "mbed.h"
- *  >
- *  > PortIn     p(Port2, 0x0000003F);   // p21-p26
- *  > DigitalOut ind(LED4);
- *  >
- *  > int main() {
- *  >     while(1) {
- *  >         int pins = p.read();
- *  >         if(pins) {
- *  >             ind = 1;
- *  >         } else {
- *  >             ind = 0;
- *  >         }
- *  >     }
- *  > }
+ * int main() {
+ *     while(1) {
+ *         int pins = p.read();
+ *         if(pins) {
+ *             ind = 1;
+ *         } else {
+ *             ind = 0;
+ *         }
+ *     }
+ * }
+ * @endcode
  */
 class PortIn {
 public:
 
-    /* Constructor: PortIn
-     *  Create an PortIn, connected to the specified port
+    /** Create an PortIn, connected to the specified port
      *
-     * Variables:
-     *  port - Port to connect to (Port0-Port5)
-     *  mask - A bitmask to identify which bits in the port should be included (0 - ignore)
-   	 */ 
+     *  @param port Port to connect to (Port0-Port5)
+     *  @param mask A bitmask to identify which bits in the port should be included (0 - ignore)
+     */ 
     PortIn(PortName port, int mask = 0xFFFFFFFF);
 
-    /* Function: read
-     *  Read the value currently output on the port
+    /** Read the value currently output on the port
      *
-     * Variables:
-     *  returns - An integer with each bit corresponding to associated port pin setting
+     *  @returns
+     *    An integer with each bit corresponding to associated port pin setting
      */
     int read();
 
-    /* Function: mode
-     *  Set the input pin mode
+    /** Set the input pin mode
      *
-     * Variables:
-     *  mode - PullUp, PullDown, PullNone, OpenDrain
+     *  @param mode PullUp, PullDown, PullNone, OpenDrain
      */
     void mode(PinMode mode);
     
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int() { 
-	    return read();
+        return read();
     }
 
 private:
diff -r cd19af002ccc -r aff670d0d510 PortInOut.h
--- a/PortInOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/PortInOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -14,73 +14,61 @@
 
 namespace mbed {
 
-/* Class: PortInOut
- *  A multiple pin digital in/out used to set/read multiple bi-directional pins
+/** A multiple pin digital in/out used to set/read multiple bi-directional pins
  */
 class PortInOut {
 public:
 
-    /* Constructor: PortInOut
-     *  Create an PortInOut, connected to the specified port
+    /** Create an PortInOut, connected to the specified port
      *
-     * Variables:
-     *  port - Port to connect to (Port0-Port5)
-     *  mask - A bitmask to identify which bits in the port should be included (0 - ignore)
-   	 */ 
+     *  @param port Port to connect to (Port0-Port5)
+     *  @param mask A bitmask to identify which bits in the port should be included (0 - ignore)
+     */ 
     PortInOut(PortName port, int mask = 0xFFFFFFFF);
 
-    /* Function: write
-     *  Write the value to the output port
+    /** Write the value to the output port
      *
-     * Variables:
-     *  value - An integer specifying a bit to write for every corresponding port pin
+     *  @param value An integer specifying a bit to write for every corresponding port pin
      */    
     void write(int value);
 
-    /* Function: read
-     *  Read the value currently output on the port
+    /** Read the value currently output on the port
      *
-     * Variables:
-     *  returns - An integer with each bit corresponding to associated port pin setting
+     *  @returns
+     *    An integer with each bit corresponding to associated port pin setting
      */
     int read();
 
-    /* Function: output
-     *  Set as an output
+    /** Set as an output
      */
     void output();
 
-    /* Function: input
-     *  Set as an input
+    /** Set as an input
      */
     void input();
 
-    /* Function: mode
-     *  Set the input pin mode
+    /** Set the input pin mode
      *
-     * Variables:
-     *  mode - PullUp, PullDown, PullNone, OpenDrain
+     *  @param mode PullUp, PullDown, PullNone, OpenDrain
      */
     void mode(PinMode mode);
 
-    /* Function: operator=
-     *  A shorthand for <write>
+    /** A shorthand for write()
      */    
     PortInOut& operator= (int value) { 
-    	write(value);
-	    return *this;
+        write(value);
+        return *this;
     }
     
     PortInOut& operator= (PortInOut& rhs) { 
-    	write(rhs.read());
-	    return *this;
+        write(rhs.read());
+        return *this;
     }
     
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int() { 
-	    return read();
+        return read();
     }
 
 private:
diff -r cd19af002ccc -r aff670d0d510 PortOut.h
--- a/PortOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/PortOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,74 +16,68 @@
 #include "PortNames.h"
 
 namespace mbed {
-/* Class: PortOut
- *   A multiple pin digital out
+/** A multiple pin digital out
  *
  * Example:
- * > // Toggle all four LEDs
- * >
- * > #include "mbed.h"
- * >
- * > // LED1 = P1.18  LED2 = P1.20  LED3 = P1.21  LED4 = P1.23
- * > #define LED_MASK 0x00B40000
- * >
- * > PortOut ledport(Port1, LED_MASK);
- * >
- * > int main() {
- * >     while(1) {
- * >         ledport = LED_MASK;
- * >         wait(1);
- * >         ledport = 0;
- * >         wait(1);
- * >     }
- * > }
+ * @code
+ * // Toggle all four LEDs
+ * 
+ * #include "mbed.h"
+ *
+ * // LED1 = P1.18  LED2 = P1.20  LED3 = P1.21  LED4 = P1.23
+ * #define LED_MASK 0x00B40000
+ *
+ * PortOut ledport(Port1, LED_MASK);
+ *
+ * int main() {
+ *     while(1) {
+ *         ledport = LED_MASK;
+ *         wait(1);
+ *         ledport = 0;
+ *         wait(1);
+ *     }
+ * }
+ * @endcode
  */  
 class PortOut {
 public:
 
-    /* Constructor: PortOut
-     *  Create an PortOut, connected to the specified port
+    /** Create an PortOut, connected to the specified port
      *
-     * Variables:
-     *  port - Port to connect to (Port0-Port5)
-     *  mask - A bitmask to identify which bits in the port should be included (0 - ignore)
-   	 */ 
+     *  @param port Port to connect to (Port0-Port5)
+     *  @param mask A bitmask to identify which bits in the port should be included (0 - ignore)
+     */ 
     PortOut(PortName port, int mask = 0xFFFFFFFF);
 
-    /* Function: write
-     *  Write the value to the output port
+    /** Write the value to the output port
      *
-     * Variables:
-     *  value - An integer specifying a bit to write for every corresponding PortOut pin
+     *  @param value An integer specifying a bit to write for every corresponding PortOut pin
      */    
     void write(int value);
 
-    /* Function: read
-     *  Read the value currently output on the port
+    /** Read the value currently output on the port
      *
-     * Variables:
-     *  returns - An integer with each bit corresponding to associated PortOut pin setting
+     *  @returns
+     *    An integer with each bit corresponding to associated PortOut pin setting
      */
     int read();
 
-    /* Function: operator=
-     *  A shorthand for <write>
+    /** A shorthand for write()
      */    
     PortOut& operator= (int value) { 
-    	write(value);
-	    return *this;
+        write(value);
+        return *this;
     }
     
     PortOut& operator= (PortOut& rhs) { 
-    	write(rhs.read());
-	    return *this;
+        write(rhs.read());
+        return *this;
     }
     
-    /* Function: operator int()
-     *  A shorthand for <read>
+    /** A shorthand for read()
      */
     operator int() { 
-	    return read();
+        return read();
     }
 
 private:
diff -r cd19af002ccc -r aff670d0d510 PwmOut.h
--- a/PwmOut.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/PwmOut.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,26 +16,28 @@
 
 namespace mbed {
 
-/* Class: PwmOut
- *  A pulse-width modulation digital output
+/** A pulse-width modulation digital output
  *
  * Example
- * > // Fade a led on.
- * > #include "mbed.h"
- * >
- * > PwmOut led(LED1);
- * > 
- * > int main() {
- * >     while(1) {
- * >         led = led + 0.01;
- * >         wait(0.2);
- * >         if(led == 1.0) {
- * >             led = 0;
- * >         }
- * >     }
- * > }
+ * @code
+ * // Fade a led on.
+ * #include "mbed.h"
  *
- *  Note that on the LPC1768 and LPC2368, the PWMs all share the same
+ * PwmOut led(LED1);
+ * 
+ * int main() {
+ *     while(1) {
+ *         led = led + 0.01;
+ *         wait(0.2);
+ *         if(led == 1.0) {
+ *             led = 0;
+ *         }
+ *     }
+ * }
+ * @endcode
+ *
+ * @note
+ *  On the LPC1768 and LPC2368, the PWMs all share the same
  *  period - if you change the period for one, you change it for all.
  *  Although routines that change the period maintain the duty cycle
  *  for its PWM, all other PWMs will require their duty cycle to be
@@ -45,87 +47,68 @@
 
 public:
 
-    /* Constructor: PwmOut
-     *  Create a PwmOut connected to the specified pin
+    /** Create a PwmOut connected to the specified pin
      *
-     * Variables:
-     *  pin - PwmOut pin to connect to
+     *  @param pin PwmOut pin to connect to
      */
     PwmOut(PinName pin, const char *name = NULL);
 
-    /* Function: write
-     *  Set the ouput duty-cycle, specified as a percentage (float)
+    /** Set the ouput duty-cycle, specified as a percentage (float)
      *
-     * Variables:
-     *  value - A floating-point value representing the output duty-cycle, 
+     *  @param value A floating-point value representing the output duty-cycle, 
      *    specified as a percentage. The value should lie between
      *    0.0f (representing on 0%) and 1.0f (representing on 100%).
-     *    Values outside this range will be saturated to 0.0f or 1.0f.	 
+     *    Values outside this range will be saturated to 0.0f or 1.0f.     
      */
     void write(float value);
 
-    /* Function: read
-     *  Return the current output duty-cycle setting, measured as a percentage (float)
+    /** Return the current output duty-cycle setting, measured as a percentage (float)
      *
-     * Variables:
-     *  returns - A floating-point value representing the current duty-cycle being output on the pin, 
+     *  @returns
+     *    A floating-point value representing the current duty-cycle being output on the pin, 
      *    measured as a percentage. The returned value will lie between
      *    0.0f (representing on 0%) and 1.0f (representing on 100%).
      *
-     * Note:
-     *  This value may not match exactly the value set by a previous <write>.
+     *  @note
+     *    This value may not match exactly the value set by a previous <write>.
      */
     float read();
     
-    /* Function: period
-     *  Set the PWM period, specified in seconds (float), keeping the
-     *  duty cycle the same.
+    /** Set the PWM period, specified in seconds (float), keeping the duty cycle the same.
      *
-     *  Note:
-     *   The resolution is currently in microseconds; periods smaller than this
-     *   will be set to zero.
+     *  @note
+     *    The resolution is currently in microseconds; periods smaller than this
+     *    will be set to zero.
      */
     void period(float seconds);
 
-    /* Function: period_ms
-     *  Set the PWM period, specified in milli-seconds (int), keeping the
-     *  duty cycle the same.
+    /** Set the PWM period, specified in milli-seconds (int), keeping the duty cycle the same.
      */
     void period_ms(int ms);
 
-    /* Function: period_us
-     *  Set the PWM period, specified in micro-seconds (int), keeping the
-     *  duty cycle the same.
+    /** Set the PWM period, specified in micro-seconds (int), keeping the duty cycle the same.
      */
     void period_us(int us);
 
-    /* Function: pulsewidth
-     *  Set the PWM pulsewidth, specified in seconds (float), keeping the
-     *  period the same.
+    /** Set the PWM pulsewidth, specified in seconds (float), keeping the period the same.
      */
     void pulsewidth(float seconds);
 
-    /* Function: pulsewidth_ms
-     *  Set the PWM pulsewidth, specified in milli-seconds (int), keeping
-     *  the period the same.
+    /** Set the PWM pulsewidth, specified in milli-seconds (int), keeping the period the same.
      */
     void pulsewidth_ms(int ms);
 
-    /* Function: pulsewidth_us
-     *  Set the PWM pulsewidth, specified in micro-seconds (int), keeping
-     *  the period the same.
+    /** Set the PWM pulsewidth, specified in micro-seconds (int), keeping the period the same.
      */
     void pulsewidth_us(int us);
 
 #ifdef MBED_OPERATORS
-    /* Function: operator=
-     *  A operator shorthand for <write()>
+    /** A operator shorthand for write()
      */
     PwmOut& operator= (float value);
     PwmOut& operator= (PwmOut& rhs);
 
-    /* Function: operator float()
-     *  An operator shorthand for <read()>
+    /** An operator shorthand for read()
      */
     operator float();
 #endif
diff -r cd19af002ccc -r aff670d0d510 SPI.h
--- a/SPI.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/SPI.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,75 +16,72 @@
 
 namespace mbed {
 
-/* Class: SPI
- *  A SPI Master, used for communicating with SPI slave devices
+/** A SPI Master, used for communicating with SPI slave devices
  *
- * The default format is set to 8-bits, mode 0, and a clock frequency of 1MHz
+ *  The default format is set to 8-bits, mode 0, and a clock frequency of 1MHz
  *
- * Most SPI devices will also require Chip Select and Reset signals. These
- * can be controlled using <DigitalOut> pins
+ *  Most SPI devices will also require Chip Select and Reset signals. These
+ *  can be controlled using <DigitalOut> pins
  *
  * Example:
- * > // Send a byte to a SPI slave, and record the response
- * >
- * > #include "mbed.h"
- * >
- * > SPI device(p5, p6, p7); // mosi, miso, sclk
- * >
- * > int main() {
- * >     int response = device.write(0xFF);
- * > }
+ * @code
+ * // Send a byte to a SPI slave, and record the response
+ *
+ * #include "mbed.h"
+ *
+ * SPI device(p5, p6, p7); // mosi, miso, sclk
+ *
+ * int main() {
+ *     int response = device.write(0xFF);
+ * }
+ * @endcode
  */ 
 class SPI : public Base {
 
 public:
 
-    /* Constructor: SPI
-     *  Create a SPI master connected to the specified pins
+    /** Create a SPI master connected to the specified pins
      *
-     * Variables:
-     *  mosi - SPI Master Out, Slave In pin
-     *  miso - SPI Master In, Slave Out pin
-     *  sclk - SPI Clock pin
-     *  name - (optional) A string to identify the object     
-     *
-     * Pin Options:
-     *  (5, 6, 7) or (11, 12, 13)
+     *  Pin Options:
+     *    (5, 6, 7) or (11, 12, 13)
      *
      *  mosi or miso can be specfied as NC if not used
+     *
+     *  @param mosi SPI Master Out, Slave In pin
+     *  @param miso SPI Master In, Slave Out pin
+     *  @param sclk SPI Clock pin
+     *  @param name (optional) A string to identify the object     
      */
     SPI(PinName mosi, PinName miso, PinName sclk, const char *name = NULL);
 
-    /* Function: format
-     *  Configure the data transmission format
+    /** Configure the data transmission format
      *
-     * Variables:
-     *  bits - Number of bits per SPI frame (4 - 16)
-     *  mode - Clock polarity and phase mode (0 - 3)
+     *  @param bits Number of bits per SPI frame (4 - 16)
+     *  @param mode Clock polarity and phase mode (0 - 3)
      *
-     * > mode | POL PHA 
-     * > -----+--------	 
-     * >   0  |  0   0 
-     * >   1  |  0   1
-     * >   2  |  1   0 
-     * >   3  |  1   1
+     * @code
+     * mode | POL PHA 
+     * -----+--------     
+     *   0  |  0   0 
+     *   1  |  0   1
+     *   2  |  1   0 
+     *   3  |  1   1
+     * @endcode
      */
     void format(int bits, int mode = 0);
 
-    /* Function: frequency
-     *  Set the spi bus clock frequency
+    /** Set the spi bus clock frequency
      *
-     * Variables:
-     *  hz - SCLK frequency in hz (default = 1MHz)
+     *  @param hz SCLK frequency in hz (default = 1MHz)
      */
     void frequency(int hz = 1000000);
 
-    /* Function: write
-     *  Write to the SPI Slave and return the response
+    /** Write to the SPI Slave and return the response
      *
-     * Variables:
-     *  value - Data to be sent to the SPI slave
-     *  returns - Response from the SPI slave
+     *  @param value Data to be sent to the SPI slave
+     *
+     *  @returns
+     *    Response from the SPI slave
     */
     virtual int write(int value);
 
@@ -96,9 +93,9 @@
 
 protected:
 
-	SPIName _spi;
-	
-	void aquire(void);
+    SPIName _spi;
+    
+    void aquire(void);
     static SPI *_owner; 
     int _bits;
     int _mode;
diff -r cd19af002ccc -r aff670d0d510 SPIHalfDuplex.h
--- a/SPIHalfDuplex.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/SPIHalfDuplex.h	Wed Oct 24 10:44:49 2012 +0000
@@ -13,93 +13,88 @@
 
 namespace mbed {
 
-/* Class: SPIHalfDuplex
- *   A SPI half-duplex master, used for communicating with SPI slave devices
- * over a shared data line.
+/** A SPI half-duplex master, used for communicating with SPI slave devices
+ *  over a shared data line.
  *
- * The default format is set to 8-bits for both master and slave, and a
- * clock frequency of 1MHz
+ *  The default format is set to 8-bits for both master and slave, and a
+ *  clock frequency of 1MHz
  *
- * Most SPI devies will also require Chip Select and Reset signals. These
- * can be controlled using <DigitalOut> pins.
+ *  Most SPI devies will also require Chip Select and Reset signals. These
+ *  can be controlled using <DigitalOut> pins.
  *
- * Although this is for a shared data line, both MISO and MOSI are defined,
- * and should be tied together externally to the mbed. This class handles
- * the tri-stating of the MOSI pin.
+ *  Although this is for a shared data line, both MISO and MOSI are defined,
+ *  and should be tied together externally to the mbed. This class handles
+ *  the tri-stating of the MOSI pin.
  *
  * Example:
- * > // Send a byte to a SPI half-duplex slave, and record the response
- * >
- * > #include "mbed.h"
- * > 
- * > SPIHalfDuplex device(p5, p6, p7) // mosi, miso, sclk
- * >
- * > int main() {
- * >     int respone = device.write(0xAA);
- * > }
+ * @code
+ * // Send a byte to a SPI half-duplex slave, and record the response
+ *
+ * #include "mbed.h"
+ * 
+ * SPIHalfDuplex device(p5, p6, p7) // mosi, miso, sclk
+ *
+ * int main() {
+ *     int respone = device.write(0xAA);
+ * }
+ * @endcode
  */
 
 class SPIHalfDuplex : public SPI {
 
 public:
     
-    /* Constructor: SPIHalfDuplex
-     *  Create a SPI half-duplex master connected to the specified pins
+    /** Create a SPI half-duplex master connected to the specified pins
      *
-     * Variables:
-     *  mosi - SPI Master Out, Slave In pin
-     *  miso - SPI Master In, Slave Out pin
-     *  sclk - SPI Clock pin
-     *  name - (optional) A string to identify the object
-     *
-     * Pin Options:
-     *  (5, 6, 7) or (11, 12, 13)
+     *  Pin Options:
+     *    (5, 6, 7) or (11, 12, 13)
      *
      *  mosi or miso can be specfied as NC if not used
+     *
+     *  @param mosi SPI Master Out, Slave In pin
+     *  @param miso SPI Master In, Slave Out pin
+     *  @param sclk SPI Clock pin
+     *  @param name (optional) A string to identify the object
      */
     SPIHalfDuplex(PinName mosi, PinName miso, PinName sclk,
         const char *name = NULL);
 
 #if 0 // Inherited from SPI - documentation only
-    /* Function: format
-     *  Configure the data transmission format
+    /** Configure the data transmission format
      *
-     * Variables:
-     *  bits - Number of bits per SPI frame (4 - 16)
-     *  mode - Clock polarity and phase mode (0 - 3)
+     *  @param bits Number of bits per SPI frame (4 - 16)
+     *  @param mode Clock polarity and phase mode (0 - 3)
      *
-     * > mode | POL PHA
-     * > -----+--------
-     * >   0  |  0   0
-     * >   1  |  0   1
-     * >   2  |  1   0
-     * >   3  |  1   1
+     * @code
+     * mode | POL PHA
+     * -----+--------
+     *   0  |  0   0
+     *   1  |  0   1
+     *   2  |  1   0
+     *   3  |  1   1
+     * @endcode
      */
     void format(int bits, int mode = 0);
 
-    /* Function: frequency
-     *  Set the spi bus clock frequency
+    /** Set the spi bus clock frequency
      *
-     * Variables:
-     *  hz - SCLK frequency in hz (default = 1MHz)
+     *  @param hz SCLK frequency in hz (default = 1MHz)
      */
     void frequency(int hz = 1000000);
 #endif
 
-    /* Function: write
-     *  Write to the SPI Slave and return the response
+    /** Write to the SPI Slave and return the response
      *
-     * Variables:
-     *  value - Data to be sent to the SPI slave
-     *  returns - Response from the SPI slave
+     *  @param value Data to be sent to the SPI slave
+     *
+     *  @returns
+     *    Response from the SPI slave
      */
     virtual int write(int value);
     
-    /* Function: slave_format
-     *  Set the number of databits expected from the slave, from 4-16
+    /** Set the number of databits expected from the slave, from 4-16
      *
-     * Variables:
-     *  sbits - Number of expected bits in the slave response
+     *  @param sbits Number of expected bits in the slave response
      */
     void slave_format(int sbits);
 
diff -r cd19af002ccc -r aff670d0d510 SPISlave.h
--- a/SPISlave.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/SPISlave.h	Wed Oct 24 10:44:49 2012 +0000
@@ -16,104 +16,98 @@
 
 namespace mbed {
 
-/* Class: SPISlave
- *  A SPI slave, used for communicating with a SPI Master device
+/** A SPI slave, used for communicating with a SPI Master device
  *
- * The default format is set to 8-bits, mode 0, and a clock frequency of 1MHz
+ *  The default format is set to 8-bits, mode 0, and a clock frequency of 1MHz
  *
  * Example:
- * > // Reply to a SPI master as slave
- * >
- * > #include "mbed.h"
- * >
- * > SPISlave device(p5, p6, p7, p8); // mosi, miso, sclk, ssel
- * >
- * > int main() {
- * >     device.reply(0x00);              // Prime SPI with first reply
- * >     while(1) {
- * >         if(device.receive()) {
- * >             int v = device.read();   // Read byte from master
- * >             v = (v + 1) % 0x100;     // Add one to it, modulo 256
- * >             device.reply(v);         // Make this the next reply
- * >         }
- * >     }
- * > }
+ * @code
+ * // Reply to a SPI master as slave
+ *
+ * #include "mbed.h"
+ *
+ * SPISlave device(p5, p6, p7, p8); // mosi, miso, sclk, ssel
+ *
+ * int main() {
+ *     device.reply(0x00);              // Prime SPI with first reply
+ *     while(1) {
+ *         if(device.receive()) {
+ *             int v = device.read();   // Read byte from master
+ *             v = (v + 1) % 0x100;     // Add one to it, modulo 256
+ *             device.reply(v);         // Make this the next reply
+ *         }
+ *     }
+ * }
+ * @endcode
  */ 
 class SPISlave : public Base {
 
 public:
 
-    /* Constructor: SPI
-     *  Create a SPI slave connected to the specified pins
+    /** Create a SPI slave connected to the specified pins
      *
-     * Variables:
-     *  mosi - SPI Master Out, Slave In pin
-     *  miso - SPI Master In, Slave Out pin
-     *  sclk - SPI Clock pin
-     *  ssel - SPI chip select pin
-     *  name - (optional) A string to identify the object     
-     *
-     * Pin Options:
+     *  Pin Options:
      *  (5, 6, 7i, 8) or (11, 12, 13, 14)
      *
      *  mosi or miso can be specfied as NC if not used
+     *
+     *  @param mosi SPI Master Out, Slave In pin
+     *  @param miso SPI Master In, Slave Out pin
+     *  @param sclk SPI Clock pin
+     *  @param ssel SPI chip select pin
+     *  @param name (optional) A string to identify the object     
      */
     SPISlave(PinName mosi, PinName miso, PinName sclk, PinName ssel,
         const char *name = NULL);
 
-    /* Function: format
-     *  Configure the data transmission format
+    /** Configure the data transmission format
      *
-     * Variables:
-     *  bits - Number of bits per SPI frame (4 - 16)
-     *  mode - Clock polarity and phase mode (0 - 3)
+     *  @param bits Number of bits per SPI frame (4 - 16)
+     *  @param mode Clock polarity and phase mode (0 - 3)
      *
-     * > mode | POL PHA 
-     * > -----+--------	 
-     * >   0  |  0   0 
-     * >   1  |  0   1
-     * >   2  |  1   0 
-     * >   3  |  1   1
+     * @code
+     * mode | POL PHA 
+     * -----+--------     
+     *   0  |  0   0 
+     *   1  |  0   1
+     *   2  |  1   0 
+     *   3  |  1   1
+     * @endcode
      */
     void format(int bits, int mode = 0);
 
-    /* Function: frequency
-     *  Set the spi bus clock frequency
+    /** Set the spi bus clock frequency
      *
-     * Variables:
-     *  hz - SCLK frequency in hz (default = 1MHz)
+     *  @param hz SCLK frequency in hz (default = 1MHz)
      */
     void frequency(int hz = 1000000);
 
-    /* Function: receive
-     *  Polls the SPI to see if data has been received
+    /** Polls the SPI to see if data has been received
      *
-     * Variables:
-     *  returns - zero if no data, 1 otherwise
+     *  @returns
+     *    0 if no data,
+     *    1 otherwise
      */
     int receive(void);
 
-    /* Function: read
-     *  Retrieve  data from receive buffer as slave
+    /** Retrieve  data from receive buffer as slave
      *
-     * Variables:
-     *  returns - the data in the receive buffer
+     *  @returns
+     *    the data in the receive buffer
      */
     int read(void);
 
-    /* Function: reply
-     *  Fill the transmission buffer with the value to be written out
+    /** Fill the transmission buffer with the value to be written out
      *  as slave on the next received message from the master.
      *
-     * Variables:
-     *  value - the data to be transmitted next
+     *  @param value the data to be transmitted next
      */
     void reply(int value);
 
 protected:
 
-	SPIName _spi;
-	
+    SPIName _spi;
+    
     int _bits;
     int _mode;
     int _hz;
diff -r cd19af002ccc -r aff670d0d510 Serial.h
--- a/Serial.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/Serial.h	Wed Oct 24 10:44:49 2012 +0000
@@ -17,43 +17,41 @@
 
 namespace mbed {
 
-/* Class: Serial
- *  A serial port (UART) for communication with other serial devices
+/** A serial port (UART) for communication with other serial devices
  *
- * Can be used for Full Duplex communication, or Simplex by specifying 
- * one pin as NC (Not Connected)
+ *  Can be used for Full Duplex communication, or Simplex by specifying 
+ *  one pin as NC (Not Connected)
  *
  * Example:
- * > // Print "Hello World" to the PC
- * >
- * > #include "mbed.h"
- * >
- * > Serial pc(USBTX, USBRX);
- * >
- * > int main() {
- * >     pc.printf("Hello World\n");
- * > }
+ * @code
+ * // Print "Hello World" to the PC
+ *
+ * #include "mbed.h"
+ *
+ * Serial pc(USBTX, USBRX);
+ *
+ * int main() {
+ *     pc.printf("Hello World\n");
+ * }
+ * @endcode
  */
 class Serial : public Stream {
 
 public:
 
-    /* Constructor: Serial
-     *  Create a Serial port, connected to the specified transmit and receive pins
+    /** Create a Serial port, connected to the specified transmit and receive pins
      *
-     * Variables:
-     *  tx - Transmit pin 
-     *  rx - Receive pin
+     *  @param tx Transmit pin 
+     *  @param rx Receive pin
      *
-     *  Note: Either tx or rx may be specified as NC if unused
+     *  @note
+     *    Either tx or rx may be specified as NC if unused
      */
     Serial(PinName tx, PinName rx, const char *name = NULL);
 
-    /* Function: baud
-     *  Set the baud rate of the serial port
+    /** Set the baud rate of the serial port
      *  
-     * Variables:
-     *  baudrate - The baudrate of the serial port (default = 9600).
+     *  @param baudrate The baudrate of the serial port (default = 9600).
      */
     void baud(int baudrate);
 
@@ -70,90 +68,75 @@
         , TxIrq
     };
 
-    /* Function: format
-     *  Set the transmission format used by the Serial port
+    /** Set the transmission format used by the Serial port
      *
-     * Variables:
-     *  bits - The number of bits in a word (5-8; default = 8)
-     *  parity - The parity used (Serial::None, Serial::Odd, Serial::Even, Serial::Forced1, Serial::Forced0; default = Serial::None)
-     *  stop - The number of stop bits (1 or 2; default = 1)
+     *  @param bits The number of bits in a word (5-8; default = 8)
+     *  @param parity The parity used (Serial::None, Serial::Odd, Serial::Even, Serial::Forced1, Serial::Forced0; default = Serial::None)
+     *  @param stop The number of stop bits (1 or 2; default = 1)
      */
     void format(int bits = 8, Parity parity = Serial::None, int stop_bits = 1); 
 
 #if 0 // Inhereted from Stream, for documentation only
 
-    /* Function: putc
-     *  Write a character
+    /** Write a character
      *
-     * Variables:
-     *  c - The character to write to the serial port
+     *  @param c The character to write to the serial port
      */
     int putc(int c);
 
-    /* Function: getc
-     *  Read a character
+    /** Reads a character from the serial port. This will block until 
+     *  a character is available. To see if a character is available, 
+     *  see readable()
      *
-     * Reads a character from the serial port. This will block until 
-     * a character is available. To see if a character is available, 
-     * see <readable>
-     *
-     * Variables:
-     *  returns - The character read from the serial port
+     *  @returns
+     *    The character read from the serial port
      */
     int getc();
 
-    /* Function: printf
-     *  Write a formated string
+    /** Write a formated string
      *
-     * Variables:
-     *  format - A printf-style format string, followed by the 
-     *      variables to use in formating the string.
+     *  @param format A printf-style format string, followed by the 
+     *    variables to use in formating the string.
      */
     int printf(const char* format, ...);
 
-    /* Function: scanf
-     *  Read a formated string 
+    /** Read a formated string 
      *
-     * Variables:
-     *  format - A scanf-style format string,
-     *      followed by the pointers to variables to store the results. 
+     *  @param format A scanf-style format string,
+     *    followed by the pointers to variables to store the results. 
      */
     int scanf(const char* format, ...);
  
 #endif
  
-    /* Function: readable
-     *  Determine if there is a character available to read
+    /** Determine if there is a character available to read
      *
-     * Variables:
-     *  returns - 1 if there is a character available to read, else 0
+     *  @returns
+     *    1 if there is a character available to read,
+     *    0 otherwise
      */
     int readable();
 
-    /* Function: writeable
-     *  Determine if there is space available to write a character
+    /** Determine if there is space available to write a character
      * 
-     * Variables:
-     *  returns - 1 if there is space to write a character, else 0
+     *  @returns
+     *    1 if there is space to write a character,
+     *    0 otherwise
      */
     int writeable();
 
-    /* Function: attach
-     *  Attach a function to call whenever a serial interrupt is generated
+    /** Attach a function to call whenever a serial interrupt is generated
      *
-     * Variables:
-     *  fptr - A pointer to a void function, or 0 to set as none
-     *  type - Which serial interrupt to attach the member function to (Seriall::RxIrq for receive, TxIrq for transmit buffer empty)
+     *  @param fptr A pointer to a void function, or 0 to set as none
+     *  @param type Which serial interrupt to attach the member function to (Seriall::RxIrq for receive, TxIrq for transmit buffer empty)
      */
     void attach(void (*fptr)(void), IrqType type = RxIrq);
 
-    /* Function: attach
-     *  Attach a member function to call whenever a serial interrupt is generated
+    /** Attach a member function to call whenever a serial interrupt is generated
      *     
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
-     *  type - Which serial interrupt to attach the member function to (Seriall::RxIrq for receive, TxIrq for transmit buffer empty)
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
+     *  @param type Which serial interrupt to attach the member function to (Seriall::RxIrq for receive, TxIrq for transmit buffer empty)
      */
     template<typename T>
     void attach(T* tptr, void (T::*mptr)(void), IrqType type = RxIrq) {
diff -r cd19af002ccc -r aff670d0d510 SerialHalfDuplex.h
--- a/SerialHalfDuplex.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/SerialHalfDuplex.h	Wed Oct 24 10:44:49 2012 +0000
@@ -15,67 +15,64 @@
 
 namespace mbed {
 
-/* Class: SerialHalfDuplex
- * A serial port (UART) for communication with other devices using  
- * Half-Duplex, allowing transmit and receive on a single
- * shared transmit and receive line. Only one end should be transmitting 
- * at a time.
+/** A serial port (UART) for communication with other devices using  
+ *  Half-Duplex, allowing transmit and receive on a single
+ *  shared transmit and receive line. Only one end should be transmitting 
+ *  at a time.
  * 
- * Both the tx and rx pin should be defined, and wired together. 
- * This is in addition to them being wired to the other serial 
- * device to allow both read and write functions to operate.
+ *  Both the tx and rx pin should be defined, and wired together. 
+ *  This is in addition to them being wired to the other serial 
+ *  device to allow both read and write functions to operate.
+ *
+ *  For Simplex and Full-Duplex Serial communication, see Serial()
+ *
+ * Example:
+ * @code
+ * // Send a byte to a second HalfDuplex device, and read the response
+ * 
+ * #include "mbed.h"
  *
- *  Example:
- *  > // Send a byte to a second HalfDuplex device, and read the response
- *  >
- *  > #include "mbed.h"
- *  >
- *  > // p9 and p10 should be wired together to form "a"
- *  > // p28 and p27 should be wired together to form "b"
- *  > // p9/p10 should be wired to p28/p27 as the Half Duplex connection
- *  >
- *  > SerialHalfDuplex a(p9, p10);
- *  > SerialHalfDuplex b(p28, p27);
- *  >
- *  > void b_rx() { // second device response
- *  >     b.putc(b.getc() + 4);
- *  > }
- *  >   
- *  > int main() {
- *  >     b.attach(&b_rx);
- *  >     for(int c = 'A'; c < 'Z'; c++) {
- *  >         a.putc(c);
- *  >         printf("sent [%c]\n", c);
- *  >         wait(0.5);   // b should respond
- *  >         if(a.readable()) {
- *  >             printf("received [%c]\n", a.getc());
- *  >         }
- *  >     }
- *  > }
- * 
- * For Simplex and Full-Duplex Serial communication, see <Serial>
+ * // p9 and p10 should be wired together to form "a"
+ * // p28 and p27 should be wired together to form "b"
+ * // p9/p10 should be wired to p28/p27 as the Half Duplex connection
+ *
+ * SerialHalfDuplex a(p9, p10);
+ * SerialHalfDuplex b(p28, p27);
+ *
+ * void b_rx() { // second device response
+ *     b.putc(b.getc() + 4);
+ * }
+ *   
+ * int main() {
+ *     b.attach(&b_rx);
+ *     for (int c = 'A'; c < 'Z'; c++) {
+ *         a.putc(c);
+ *         printf("sent [%c]\n", c);
+ *         wait(0.5);   // b should respond
+ *         if (a.readable()) {
+ *             printf("received [%c]\n", a.getc());
+ *         }
+ *     }
+ * }
+ * @endcode
  */
 class SerialHalfDuplex : public Serial {
 
 public:
-    /* Constructor: SerialHalfDuplex
-     * Create a half-duplex serial port, connected to the specified transmit
-     * and receive pins.
+    /** Create a half-duplex serial port, connected to the specified transmit
+     *  and receive pins.
      *
-     * These pins should be wired together, as well as to the target device
+     *  These pins should be wired together, as well as to the target device
      *
-     * Variables:
-     *  tx - Transmit pin
-     *  rx - Receive pin
+     *  @param tx Transmit pin
+     *  @param rx Receive pin
      */
     SerialHalfDuplex(PinName tx, PinName rx, const char *name = NULL);
 
 #if 0       // Inherited from Serial class, for documentation
-    /* Function: baud
-     *  Set the baud rate of the serial port
+    /** Set the baud rate of the serial port
      *
-     * Variables:
-     *  baudrate - The baudrate of the serial port (default = 9600).
+     *  @param baudrate The baudrate of the serial port (default = 9600).
      */
     void baud(int baudrate);
 
@@ -87,86 +84,73 @@
         , Forced0
     };
 
-    /* Function: format
-     *  Set the transmission format used by the Serial port
+    /** Set the transmission format used by the Serial port
      *
-     * Variables:
-     *  bits - The number of bits in a word (5-8; default = 8)
-     *  parity - The parity used (Serial::None, Serial::Odd, 
-Serial::Even, Serial::Forced1, Serial::Forced0; default = Serial::None)
-     *  stop - The number of stop bits (1 or 2; default = 1)
+     *  @param bits The number of bits in a word (5-8; default = 8)
+     *  @param parity The parity used (Serial::None, Serial::Odd, 
+     *     Serial::Even, Serial::Forced1, Serial::Forced0; default = Serial::None)
+     *  @param stop The number of stop bits (1 or 2; default = 1)
      */
     void format(int bits = 8, Parity parity = Serial::None, int stop_bits 
 = 1);
 
-    /* Function: putc
-     *  Write a character
+    /** Write a character
      *
-     * Variables:
-     *  c - The character to write to the serial port
+     *  @param c The character to write to the serial port
      */
     int putc(int c);
 
-    /* Function: getc
-     *  Read a character
+    /** Read a character
      *
-     * Read a character from the serial port. This call will block
-     * until a character is available. For testing if a character is
-     * available for reading, see <readable>.
+     *  Read a character from the serial port. This call will block
+     *  until a character is available. For testing if a character is
+     *  available for reading, see <readable>.
      *
-     * Variables:
-     *  returns - The character read from the serial port
+     *  @returns
+     *    The character read from the serial port
      */
     int getc();
 
-    /* Function: printf
-     *  Write a formated string
+    /** Write a formated string
      *
-     * Variables:
-     *  format - A printf-style format string, followed by the
-     *      variables to use in formating the string.
+     *  @param format A printf-style format string, followed by the
+     *    variables to use in formating the string.
      */
     int printf(const char* format, ...);
 
-    /* Function: scanf
-     *  Read a formated string
+    /** Read a formated string
      *
-     * Variables:
-     *  format - A scanf-style format string,
-     *      followed by the pointers to variables to store the results.
+     *  @param format A scanf-style format string,
+     *    followed by the pointers to variables to store the results.
      */
     int scanf(const char* format, ...);
 
-    /* Function: readable
-     *  Determine if there is a character available to read
+    /** Determine if there is a character available to read
      *
-     * Variables:
-     *  returns - 1 if there is a character available to read, else 0
+     *  @returns
+     *    1 if there is a character available to read,
+     *    0 otherwise
      */
     int readable();
 
-    /* Function: writeable
-     *  Determine if there is space available to write a character
+    /** Determine if there is space available to write a character
      *
-     * Variables:
-     *  returns - 1 if there is space to write a character, else 0
+     *  @returns
+     *    1 if there is space to write a character,
+     *    0 otherwise
      */
     int writeable();
 
-    /* Function: attach
-     *  Attach a function to call whenever a serial interrupt is generated
+    /** Attach a function to call whenever a serial interrupt is generated
      *
-     * Variables:
-     *  fptr - A pointer to a void function, or 0 to set as none
+     *  @param fptr A pointer to a void function, or 0 to set as none
      */
     void attach(void (*fptr)(void));
 
-    /* Function: attach
-     *  Attach a member function to call whenever a serial interrupt is generated
+    /** Attach a member function to call whenever a serial interrupt is generated
      *
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
      */
     template<typename T>
     void attach(T* tptr, void (T::*mptr)(void));
diff -r cd19af002ccc -r aff670d0d510 Ticker.h
--- a/Ticker.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/Ticker.h	Wed Oct 24 10:44:49 2012 +0000
@@ -10,86 +10,78 @@
 
 namespace mbed {
 
-/* Class: Ticker
- *  A Ticker is used to call a function at a recurring interval
+/** A Ticker is used to call a function at a recurring interval
  *
- * You can use as many seperate Ticker objects as you require. 
+ *  You can use as many seperate Ticker objects as you require. 
  *
  * Example:
- * > // Toggle the blinking led after 5 seconds
- * >
- * > #include "mbed.h"
- * > 
- * > Ticker timer;
- * > DigitalOut led1(LED1);
- * > DigitalOut led2(LED2);
- * > 
- * > int flip = 0;
- * > 
- * > void attime() {
- * >     flip = !flip;
- * > }
- * >
- * > int main() {
- * >     timer.attach(&attime, 5);
- * >     while(1) {
- * >         if(flip == 0) {
- * >             led1 = !led1;
- * >         } else {
- * >             led2 = !led2;
- * >         }
- * >         wait(0.2);
- * >     }
- * > }
+ * @code
+ * // Toggle the blinking led after 5 seconds
  *
+ * #include "mbed.h"
+ * 
+ * Ticker timer;
+ * DigitalOut led1(LED1);
+ * DigitalOut led2(LED2);
+ * 
+ * int flip = 0;
+ * 
+ * void attime() {
+ *     flip = !flip;
+ * }
+ *
+ * int main() {
+ *     timer.attach(&attime, 5);
+ *     while(1) {
+ *         if(flip == 0) {
+ *             led1 = !led1;
+ *         } else {
+ *             led2 = !led2;
+ *         }
+ *         wait(0.2);
+ *     }
+ * }
+ * @endcode
  */
 class Ticker : public TimerEvent {
 
 public:
 
-    /* Function: attach
-     *  Attach a function to be called by the Ticker, specifiying the interval in seconds
+    /** Attach a function to be called by the Ticker, specifiying the interval in seconds
      *     
-     * Variables:
-     *  fptr - pointer to the function to be called
-     *  t - the time between calls in seconds
+     *  @param fptr pointer to the function to be called
+     *  @param t the time between calls in seconds
      */
     void attach(void (*fptr)(void), float t) {
         attach_us(fptr, t * 1000000.0f);
     }
     
-    /* Function: attach
-     *  Attach a member function to be called by the Ticker, specifiying the interval in seconds
+    /** Attach a member function to be called by the Ticker, specifiying the interval in seconds
      *     
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
-     *  t - the time between calls in seconds
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
+     *  @param t the time between calls in seconds
      */
     template<typename T>
     void attach(T* tptr, void (T::*mptr)(void), float t) {
         attach_us(tptr, mptr, t * 1000000.0f);
     }
     
-    /* Function: attach_us
-     *  Attach a function to be called by the Ticker, specifiying the interval in micro-seconds
+    /** Attach a function to be called by the Ticker, specifiying the interval in micro-seconds
      *     
-     * Variables:
-     *  fptr - pointer to the function to be called
-     *  t - the time between calls in micro-seconds
+     *  @param fptr pointer to the function to be called
+     *  @param t the time between calls in micro-seconds
      */
     void attach_us(void (*fptr)(void), unsigned int t) {
         _function.attach(fptr);
         setup(t);
     }
 
-    /* Function: attach_us
-     *  Attach a member function to be called by the Ticker, specifiying the interval in micro-seconds
+    /** Attach a member function to be called by the Ticker, specifiying the interval in micro-seconds
      *     
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
-     *  t - the time between calls in micro-seconds
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
+     *  @param t the time between calls in micro-seconds
      */    
     template<typename T>
     void attach_us(T* tptr, void (T::*mptr)(void), unsigned int t) {
@@ -97,8 +89,7 @@
         setup(t);
     }
     
-    /* Function: detach
-     *  Detach the function
+    /** Detach the function
      */        
     void detach();
 
diff -r cd19af002ccc -r aff670d0d510 Timeout.h
--- a/Timeout.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/Timeout.h	Wed Oct 24 10:44:49 2012 +0000
@@ -9,80 +9,73 @@
 
 namespace mbed {
 
-/* Class: Timeout
- *  A Timeout is used to call a function at a point in the future
+/** A Timeout is used to call a function at a point in the future
  *
- * You can use as many seperate Timeout objects as you require. 
+ *  You can use as many seperate Timeout objects as you require. 
  *
  * Example:
- * > // Blink until timeout.
- * >
- * > #include "mbed.h"
- * > 
- * > Timeout timeout;
- * > DigitalOut led(LED1);
- * > 
- * > int on = 1;
- * > 
- * > void attimeout() {
- * >     on = 0;
- * > }
- * > 
- * > int main() {
- * >     timeout.attach(&attimeout, 5);
- * >     while(on) {
- * >         led = !led;
- * >         wait(0.2);
- * >     }
- * > }
+ * @code
+ * // Blink until timeout.
+ *
+ * #include "mbed.h"
+ * 
+ * Timeout timeout;
+ * DigitalOut led(LED1);
+ * 
+ * int on = 1;
+ * 
+ * void attimeout() {
+ *     on = 0;
+ * }
+ * 
+ * int main() {
+ *     timeout.attach(&attimeout, 5);
+ *     while(on) {
+ *         led = !led;
+ *         wait(0.2);
+ *     }
+ * }
+ * @endcode
  */
 class Timeout : public Ticker {
 
 #if 0 // For documentation
 
-    /* Function: attach
-     *  Attach a function to be called by the Timeout, specifiying the delay in seconds
+    /** Attach a function to be called by the Timeout, specifiying the delay in seconds
      *     
-     * Variables:
-     *  fptr - pointer to the function to be called
-     *  t - the time before the call in seconds
+     *  @param fptr pointer to the function to be called
+     *  @param t the time before the call in seconds
      */
     void attach(void (*fptr)(void), float t) {
         attach_us(fptr, t * 1000000.0f);
     }
     
-    /* Function: attach
-     *  Attach a member function to be called by the Timeout, specifiying the delay in seconds
+    /** Attach a member function to be called by the Timeout, specifiying the delay in seconds
      *     
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
-     *  t - the time before the calls in seconds
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
+     *  @param t the time before the calls in seconds
      */
     template<typename T>
     void attach(T* tptr, void (T::*mptr)(void), float t) {
         attach_us(tptr, mptr, t * 1000000.0f);
     }
     
-    /* Function: attach_us
-     *  Attach a function to be called by the Timeout, specifiying the delay in micro-seconds
+    /** Attach a function to be called by the Timeout, specifiying the delay in micro-seconds
      *     
-     * Variables:
-     *  fptr - pointer to the function to be called
-     *  t - the time before the call in micro-seconds
+     *  @param fptr pointer to the function to be called
+     *  @param t the time before the call in micro-seconds
      */
     void attach_us(void (*fptr)(void), unsigned int t) {
         _function.attach(fptr);
         setup(t);
     }
 
-    /* Function: attach_us
-     *  Attach a member function to be called by the Timeout, specifiying the delay in micro-seconds
+    /** Attach a member function to be called by the Timeout, specifiying the delay in micro-seconds
      *     
-     * Variables:
-     *  tptr - pointer to the object to call the member function on
-     *  mptr - pointer to the member function to be called
-     *  t - the time before the call in micro-seconds
+     *  @param tptr pointer to the object to call the member function on
+     *  @param mptr pointer to the member function to be called
+     *  @param t the time before the call in micro-seconds
      */    
     template<typename T>
     void attach_us(T* tptr, void (T::*mptr)(void), unsigned int t) {
@@ -90,8 +83,7 @@
         setup(t);
     }
     
-    /* Function: detach
-     *  Detach the function
+    /** Detach the function
      */        
     void detach();
 
diff -r cd19af002ccc -r aff670d0d510 Timer.h
--- a/Timer.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/Timer.h	Wed Oct 24 10:44:49 2012 +0000
@@ -12,25 +12,26 @@
 
 namespace mbed {
 
-/* Class: Timer
- *  A general purpose timer 
+/** A general purpose timer 
  *
  * Example:
- * > // Count the time to toggle a LED
- * >
- * > #include "mbed.h"
- * > 
- * > Timer timer;
- * > DigitalOut led(LED1);
- * > int begin, end;
- * > 
- * > int main() {
- * >     timer.start();
- * >     begin = timer.read_us();
- * >     led = !led;
- * >     end = timer.read_us();
- * >     printf("Toggle the led takes %d us", end - begin);
- * > }
+ * @code
+ * // Count the time to toggle a LED
+ *
+ * #include "mbed.h"
+ * 
+ * Timer timer;
+ * DigitalOut led(LED1);
+ * int begin, end;
+ * 
+ * int main() {
+ *     timer.start();
+ *     begin = timer.read_us();
+ *     led = !led;
+ *     end = timer.read_us();
+ *     printf("Toggle the led takes %d us", end - begin);
+ * }
+ * @endcode
  */
 class Timer : public Base {
 
@@ -38,35 +39,29 @@
 
     Timer(const char *name = NULL);
     
-    /* Function: start
-     *  Start the timer
+    /** Start the timer
      */
     void start(); 
 
-    /* Function: stop
-     *  Stop the timer
+    /** Stop the timer
      */
     void stop(); 
 
-    /* Function: reset
-     *  Reset the timer to 0. 
+    /** Reset the timer to 0. 
      *
      * If it was already counting, it will continue
      */
     void reset();
 
-    /* Function: read
-     *  Get the time passed in seconds
+    /** Get the time passed in seconds
      */
     float read();
 
-    /* Function: read_ms
-     *  Get the time passed in mili-seconds
+    /** Get the time passed in mili-seconds
      */
     int read_ms();
 
-    /* Function: read_us
-     *  Get the time passed in micro-seconds
+    /** Get the time passed in micro-seconds
      */
     int read_us();
 
diff -r cd19af002ccc -r aff670d0d510 TimerEvent.h
--- a/TimerEvent.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/TimerEvent.h	Wed Oct 24 10:44:49 2012 +0000
@@ -7,36 +7,51 @@
 
 namespace mbed {
 
-// Base abstraction for timer interrupts
+/** Base abstraction for timer interrupts
+*/
 class TimerEvent {
 
 public:
 
     TimerEvent();
     
-    // The handler registered with the underlying timer interrupt
+    /** The handler registered with the underlying timer interrupt
+     */
     static void irq();
 
-    // Destruction removes it...    
+    /** Destruction removes it...
+     */
     virtual ~TimerEvent();
 
 protected:
 
-    // The handler called to service the timer event of the derived class
+    /** The handler called to service the timer event of the derived class
+     */
     virtual void handler() = 0;
     
-    // insert in to linked list
+    /** Insert in to linked list
+     */
     void insert(unsigned int timestamp);
     
-    // remove from linked list, if in it
+    /** Remove from linked list, if in it
+     */
     void remove();
     
-    // Get the current usec timestamp
+    /** Get the current usec timestamp
+     */
     static unsigned int timestamp();
 
-    static TimerEvent *_head;   // The head of the list of the events, NULL if none
-    TimerEvent *_next;          // Pointer to the next in the list, NULL if last
-    unsigned int _timestamp;    // The timestamp at which the even should be triggered
+    /** The head of the list of the events, NULL if none
+     */
+    static TimerEvent *_head;
+    
+    /** Pointer to the next in the list, NULL if last
+     */
+    TimerEvent *_next;
+    
+    /** The timestamp at which the even should be triggered
+     */
+    unsigned int _timestamp;
 
 };
 
diff -r cd19af002ccc -r aff670d0d510 device.h
diff -r cd19af002ccc -r aff670d0d510 error.h
--- a/error.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/error.h	Wed Oct 24 10:44:49 2012 +0000
@@ -5,24 +5,29 @@
 #ifndef MBED_ERROR_H
 #define MBED_ERROR_H
 
-/* Reporting Compile-Time Errors:
- *  To generate a fatal compile-time error, you can use the pre-processor #error directive.
+/** To generate a fatal compile-time error, you can use the pre-processor #error directive.
  *
- * > #error "That shouldn't have happened!"
+ * @code
+ * #error "That shouldn't have happened!"
+ * @endcode
  *
  * If the compiler evaluates this line, it will report the error and stop the compile.
  *
  * For example, you could use this to check some user-defined compile-time variables:
- *
- * > #define NUM_PORTS 7
- * > #if (NUM_PORTS > 4)
- * >     #error "NUM_PORTS must be less than 4"
- * > #endif
+ * 
+ * @code
+ * #define NUM_PORTS 7
+ * #if (NUM_PORTS > 4)
+ *     #error "NUM_PORTS must be less than 4"
+ * #endif
+ * @endcode
  *
  * Reporting Run-Time Errors:
  * To generate a fatal run-time error, you can use the mbed error() function.
  *
- * > error("That shouldn't have happened!");
+ * @code
+ * error("That shouldn't have happened!");
+ * @endcode
  *
  * If the mbed running the program executes this function, it will print the 
  * message via the USB serial port, and then die with the blue lights of death!
@@ -30,20 +35,20 @@
  * The message can use printf-style formatting, so you can report variables in the 
  * message too. For example, you could use this to check a run-time condition:
  * 
- * > if(x >= 5) {
- * >     error("expected x to be less than 5, but got %d", x);
- * > }
+ * @code
+ * if(x >= 5) {
+ *     error("expected x to be less than 5, but got %d", x);
+ * }
+ * #endcode
  */
  
 #if 0 // for documentation only
-/* Function: error
- * Report a fatal runtime error
+/** Report a fatal runtime error
  *
- * Outputs the specified error message to stderr so it will appear via the USB 
- * serial port, and then calls exit(1) to die with the blue lights of death.
+ *  Outputs the specified error message to stderr so it will appear via the USB 
+ *  serial port, and then calls exit(1) to die with the blue lights of death.
  *
- * Variables:
- *  format - printf-style format string, followed by associated variables
+ *  @param format printf-style format string, followed by associated variables
  */
 void error(const char* format, ...);
 #endif  
diff -r cd19af002ccc -r aff670d0d510 mbed_interface.h
--- a/mbed_interface.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/mbed_interface.h	Wed Oct 24 10:44:49 2012 +0000
@@ -1,5 +1,4 @@
-/* Title: mbed_interface
- * Functions to control the mbed interface
+/** Functions to control the mbed interface
  *
  * mbed Microcontrollers have a built-in interface to provide functionality such as 
  * drag-n-drop download, reset, serial-over-usb, and access to the mbed local file 
@@ -18,67 +17,63 @@
 extern "C" {
 #endif
 
-/* Function: mbed_interface_connected
- * Determine whether the mbed interface is connected, based on whether debug is enabled
+/** Determine whether the mbed interface is connected, based on whether debug is enabled
  * 
- * Variables:
- *  returns - 1 if interface is connected, else 0
+ *  @returns
+ *    1 if interface is connected,
+ *    0 otherwise
  */
 int mbed_interface_connected(void);
 
-/* Function: mbed_interface_reset
- * Instruct the mbed interface to reset, as if the reset button had been pressed
+/** Instruct the mbed interface to reset, as if the reset button had been pressed
  *
- * Variables:
- *  returns - 1 if successful, else 0 (e.g. interface not present)
+ *  @returns
+ *    1 if successful,
+ *    0 otherwise (e.g. interface not present)
  */
 int mbed_interface_reset(void);
 
-/* Function: mbed_interface_disconnect
- * This will disconnect the debug aspect of the interface, so semihosting will be disabled.
- * The interface will still support the USB serial aspect
+/** This will disconnect the debug aspect of the interface, so semihosting will be disabled.
+ *  The interface will still support the USB serial aspect
  *
- * Variables:
- *  returns - 0 if successful, else -1 (e.g. interface not present)
+ *  @returns
+ *    0 if successful,
+ *   -1 otherwise (e.g. interface not present)
  */
 int mbed_interface_disconnect(void);
 
-/* Function: mbed_interface_powerdown
- * This will disconnect the debug aspect of the interface, and if the USB cable is not 
- * connected, also power down the interface. If the USB cable is connected, the interface
- * will remain powered up and visible to the host 
+/** This will disconnect the debug aspect of the interface, and if the USB cable is not 
+ *  connected, also power down the interface. If the USB cable is connected, the interface
+ *  will remain powered up and visible to the host 
  *
- * Variables:
- *  returns - 0 if successful, else -1 (e.g. interface not present)
+ *  @returns
+ *    0 if successful,
+ *   -1 otherwise (e.g. interface not present)
  */
 int mbed_interface_powerdown(void);
 
-/* Function: mbed_interface_uid
- * This returns a string containing the 32-character UID of the mbed interface
+/** This returns a string containing the 32-character UID of the mbed interface
+ *  This is a weak function that can be overwritten if required
  *
- * This is a weak function that can be overwritten if required
+ *  @param uid A 33-byte array to write the null terminated 32-byte string
  *
- * Variables:
- *  uid - A 33-byte array to write the null terminated 32-byte string
- *  returns - 0 if successful, else -1 (e.g. interface not present)
+ *  @returns
+ *    0 if successful,
+ *   -1 otherwise (e.g. interface not present)
  */
 int mbed_interface_uid(char *uid);
 
-/* Function: mbed_mac_address
- * This returns a unique 6-byte MAC address, based on the interface UID
- *
- * If the interface is not present, it returns a default fixed MAC address (00:02:F7:F0:00:00)
+/** This returns a unique 6-byte MAC address, based on the interface UID
+ *  If the interface is not present, it returns a default fixed MAC address (00:02:F7:F0:00:00)
  *
- * This is a weak function that can be overwritten if you want to provide your own mechanism to
- * provide a MAC address.
-
- * Variables:
- *  mac - A 6-byte array to write the MAC address
+ *  This is a weak function that can be overwritten if you want to provide your own mechanism to
+ *  provide a MAC address.
+ *
+ *  @param mac A 6-byte array to write the MAC address
  */
 void mbed_mac_address(char *mac);
 
-/* Function: mbed_die
- * Cause the mbed to flash the BLOD LED sequence
+/** Cause the mbed to flash the BLOD LED sequence
  */
 void mbed_die(void);
 
diff -r cd19af002ccc -r aff670d0d510 rpc.h
--- a/rpc.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/rpc.h	Wed Oct 24 10:44:49 2012 +0000
@@ -5,8 +5,7 @@
 #ifndef MBED_RPC_H
 #define MBED_RPC_H
 
-/* Section rpc
- *  Helpers for rpc handling.
+/**  Helpers for rpc handling.
  */
 
 #include <stdlib.h>
@@ -20,12 +19,10 @@
 
 namespace mbed {
 
-/* Function parse_arg
- *  Parses and returns a value from a string.
+/** Parses and returns a value from a string.
  *
- * Variable
- *  arg - The string to pase
- *  next - If not NULL a pointer to after the last 
+ *  @param arg The string to pase
+ *  @param next If not NULL a pointer to after the last 
  *    character parsed is written here
  */
 template<typename T> T parse_arg(const char *arg, const char **next);
@@ -222,7 +219,7 @@
                   pin = pin * 10 + pin2;
         }
         if(pin < 5 || pin > 30) {
-	          return NC;
+              return NC;
         }
         return pin_names[pin - 5];
     } else if(str[0] == 'L') {  // LEDn
@@ -259,12 +256,10 @@
 }
 
 
-/* Function write_result
- *  Writes a value in to a result string in an appropriate manner
+/** Writes a value in to a result string in an appropriate manner
  *
- * Variable
- *  val - The value to write
- *  result - A pointer to the array to write the value into
+ *  @param val The value to write
+ *  @param result A pointer to the array to write the value into
  */
 template<typename T> void write_result(T val, char *result);
 
@@ -356,7 +351,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<class T, void (T::*member)(const char *,char *)> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) {
@@ -364,7 +359,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<class T, void (T::*member)()> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) { 
@@ -375,7 +370,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<class T, typename A1, void (T::*member)(A1)> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) {
@@ -390,7 +385,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<class T, typename A1, typename A2, void (T::*member)(A1,A2)> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) {
@@ -406,7 +401,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<class T, typename A1, typename A2, typename A3, void (T::*member)(A1,A2,A3)> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) {
@@ -423,7 +418,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<typename R, class T, R (T::*member)()> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) { 
@@ -434,7 +429,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<typename R, class T, typename A1, R (T::*member)(A1)> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) {
@@ -449,7 +444,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<typename R, class T, typename A1, typename A2, R (T::*member)(A1,A2)> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) {
@@ -465,7 +460,7 @@
 }
 
 
-/* Function rpc_method_caller
+/** rpc_method_caller
  */
 template<typename R, class T, typename A1, typename A2, typename A3, R (T::*member)(A1,A2,A3)> 
 void rpc_method_caller(Base *this_ptr, const char *arguments, char *result) {
@@ -482,7 +477,7 @@
 }
 
 
-/* Function rpc_function caller
+/** rpc_function caller
  */
 template<typename R, R (*func)()>
 void rpc_function_caller(const char *arguments, char *result) {
@@ -493,7 +488,7 @@
 }
 
 
-/* Function rpc_function caller
+/** rpc_function caller
  */
 template<typename R, typename A1, R (*func)(A1)>
 void rpc_function_caller(const char *arguments, char *result) {
@@ -505,7 +500,7 @@
 }
 
 
-/* Function rpc_function caller
+/** rpc_function caller
  */
 template<typename R, typename A1, typename A2, R (*func)(A1,A2)>
 void rpc_function_caller(const char *arguments, char *result) {
@@ -521,7 +516,7 @@
 }
 
 
-/* Function rpc_function caller
+/** rpc_function caller
  */
 template<typename R, typename A1, typename A2, typename A3, R (*func)(A1,A2,A3)>
 void rpc_function_caller(const char *arguments, char *result) {
@@ -538,7 +533,7 @@
 }
 
 
-/* Function rpc_function caller
+/** rpc_function caller
  */
 template<typename R, typename A1, typename A2, typename A3, typename A4, R (*func)(A1,A2,A3,A4)>
 void rpc_function_caller(const char *arguments, char *result) {
@@ -574,15 +569,13 @@
 #define RPC_METHOD_END { NULL, NULL }
 #define RPC_METHOD_SUPER(C) { NULL, (rpc_method::caller_t)(rpc_method::super_t)rpc_super<C> }
 
-/* Function rpc
- *  Parse a string describing a call and then do it
+/** Parse a string describing a call and then do it
  *
- * Variables
- *  call - A pointer to a string describing the call, which has
- *    the form /object/method arg ... argn. Arguments are
- *    delimited by space characters, and the string is terminated
- *    by a null character.
- *  result - A pointer to an array to write the result into.
+ * @param call A pointer to a string describing the call, which has
+ *   the form /object/method arg ... argn. Arguments are
+ *   delimited by space characters, and the string is terminated
+ *   by a null character.
+ * @param result A pointer to an array to write the result into.
  */
 bool rpc(const char *buf, char *result = 0);
 
diff -r cd19af002ccc -r aff670d0d510 rtc_time.h
--- a/rtc_time.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/rtc_time.h	Wed Oct 24 10:44:49 2012 +0000
@@ -1,30 +1,31 @@
-/* Title: time
- * Implementation of the C time.h functions
+/** Implementation of the C time.h functions
  *
  * Provides mechanisms to set and read the current time, based
  * on the microcontroller Real-Time Clock (RTC), plus some 
  * standard C manipulation and formating functions. 
  *
  * Example:
- * > #include "mbed.h"
- * >
- * > int main() {
- * >     set_time(1256729737);  // Set RTC time to Wed, 28 Oct 2009 11:35:37
- * >      
- * >     while(1) {    
- * >         time_t seconds = time(NULL);
- * >         
- * >         printf("Time as seconds since January 1, 1970 = %d\n", seconds);
- * >  
- * >         printf("Time as a basic string = %s", ctime(&seconds));
- * >
- * >         char buffer[32];
- * >         strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
- * >         printf("Time as a custom formatted string = %s", buffer);
- * >    
- * >         wait(1);
- * >     }
- * > }
+ * @code
+ * #include "mbed.h"
+ *
+ * int main() {
+ *     set_time(1256729737);  // Set RTC time to Wed, 28 Oct 2009 11:35:37
+ *      
+ *     while(1) {    
+ *         time_t seconds = time(NULL);
+ *         
+ *         printf("Time as seconds since January 1, 1970 = %d\n", seconds);
+ *  
+ *         printf("Time as a basic string = %s", ctime(&seconds));
+ *
+ *         char buffer[32];
+ *         strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
+ *         printf("Time as a custom formatted string = %s", buffer);
+ *    
+ *         wait(1);
+ *     }
+ * }
+ * @endcode
  */
  
 /* mbed Microcontroller Library - rtc_time
@@ -38,165 +39,169 @@
 #endif
 
 #if 0 // for documentation only
-/* Function: time
- * Get the current time
+/** Get the current time
  *
- * Returns the current timestamp as the number of seconds since January 1, 1970
- * (the UNIX timestamp). The value is based on the current value of the 
- * microcontroller Real-Time Clock (RTC), which can be set using <set_time>.
+ *  Returns the current timestamp as the number of seconds since January 1, 1970
+ *  (the UNIX timestamp). The value is based on the current value of the 
+ *  microcontroller Real-Time Clock (RTC), which can be set using <set_time>.
+ *
+ * @param t Pointer to a time_t to be set, or NULL if not used
+ *
+ * @returns
+ *   Number of seconds since January 1, 1970 (the UNIX timestamp)
  *
  * Example:
- * > #include "mbed.h"
- * >
- * > int main() {
- * >     time_t seconds = time(NULL);
- * >     printf("It is %d seconds since January 1, 1970\n", seconds);
- * > }
- *
- * Variables:
- *  t - Pointer to a time_t to be set, or NULL if not used
- *  returns - Number of seconds since January 1, 1970 (the UNIX timestamp)
+ * @code
+ * #include "mbed.h"
+ * 
+ * int main() {
+ *     time_t seconds = time(NULL);
+ *     printf("It is %d seconds since January 1, 1970\n", seconds);
+ * }
+ * @endcode
  */
 time_t time(time_t *t);
 #endif
 
-/* Function: set_time
- * Set the current time
+/** Set the current time
  *
  * Initialises and sets the time of the microcontroller Real-Time Clock (RTC)
  * to the time represented by the number of seconds since January 1, 1970 
  * (the UNIX timestamp). 
  * 
+ * @param t Number of seconds since January 1, 1970 (the UNIX timestamp) 
+ *
  * Example:
- * > #include "mbed.h"
- * >
- * > int main() {
- * >     set_time(1256729737); // Set time to Wed, 28 Oct 2009 11:35:37
- * > }
+ * @code
+ * #include "mbed.h"
  *
- * Variables:
- *  t - Number of seconds since January 1, 1970 (the UNIX timestamp) 
+ * int main() {
+ *     set_time(1256729737); // Set time to Wed, 28 Oct 2009 11:35:37
+ * }
+ * @endcode
  */ 
 void set_time(time_t t);
 
 #if 0 // for documentation only
-/* Function: mktime
- * Converts a tm structure in to a timestamp
- *  
- * Converts the tm structure in to a timestamp in seconds since January 1, 1970
- * (the UNIX timestamp). The values of tm_wday and tm_yday of the tm structure 
- * are also updated to their appropriate values.
+/** Converts the tm structure in to a timestamp in seconds since January 1, 1970
+ *  (the UNIX timestamp). The values of tm_wday and tm_yday of the tm structure 
+ *  are also updated to their appropriate values.
+ *
+ * @param t The tm structure to convert
+ *
+ * @returns
+ *   The converted timestamp
  *
  * Example:
- * > #include "mbed.h"
- * >
- * > int main() {
- * >     // setup time structure for Wed, 28 Oct 2009 11:35:37
- * >     struct tm t;
- * >     t.tm_sec = 37;    // 0-59
- * >     t.tm_min = 35;    // 0-59
- * >     t.tm_hour = 11;   // 0-23
- * >     t.tm_mday = 28;   // 1-31
- * >     t.tm_mon = 9;     // 0-11
- * >     t.tm_year = 109;  // year since 1900
- * > 
- * >     // convert to timestamp and display (1256729737)
- * >     time_t seconds = mktime(&t);
- * >     printf("Time as seconds since January 1, 1970 = %d\n", seconds);
- * > }
+ * @code
+ * #include "mbed.h"
+ *
+ * int main() {
+ *     // setup time structure for Wed, 28 Oct 2009 11:35:37
+ *     struct tm t;
+ *     t.tm_sec = 37;    // 0-59
+ *     t.tm_min = 35;    // 0-59
+ *     t.tm_hour = 11;   // 0-23
+ *     t.tm_mday = 28;   // 1-31
+ *     t.tm_mon = 9;     // 0-11
+ *     t.tm_year = 109;  // year since 1900
  * 
- * Variables:
- *  t - The tm structure to convert
- *  returns - The converted timestamp
+ *     // convert to timestamp and display (1256729737)
+ *     time_t seconds = mktime(&t);
+ *     printf("Time as seconds since January 1, 1970 = %d\n", seconds);
+ * }
+ * @endcode
  */
 time_t mktime(struct tm *t);
 #endif
 
 #if 0 // for documentation only
-/* Function: localtime
- * Converts a timestamp in to a tm structure
- *  
- * Converts the timestamp pointed to by t to a (statically allocated) 
- * tm structure. 
+/** Converts the timestamp pointed to by t to a (statically allocated) 
+ *  tm structure. 
+ * 
+ * @param t Pointer to the timestamp
+ *
+ * @returns
+ *   Pointer to the (statically allocated) tm structure
  *
  * Example:
- * > #include "mbed.h"
- * >
- * > int main() {
- * >     time_t seconds = 1256729737;
- * >     struct tm *t = localtime(&seconds);
- * > }
- * 
- * Variables:
- *  t - Pointer to the timestamp
- *  returns - Pointer to the (statically allocated) tm structure
+ * @code
+ * #include "mbed.h"
+ *
+ * int main() {
+ *     time_t seconds = 1256729737;
+ *     struct tm *t = localtime(&seconds);
+ * }
+ * @endcode
  */
 struct tm *localtime(const time_t *t);
 #endif
 
 #if 0 // for documentation only
-/* Function: ctime
- * Converts a timestamp to a human-readable string
+/** Converts a timestamp to a human-readable string
  *  
  * Converts a time_t timestamp in seconds since January 1, 1970 (the UNIX
  * timestamp) to a human readable string format. The result is of the 
  * format: "Wed Oct 28 11:35:37 2009\n"
  *
  * Example:
- * > #include "mbed.h"
- * >
- * > int main() {
- * >     time_t seconds = time(NULL);
- * >     printf("Time as a string = %s", ctime(&seconds));
- * > }
+ * @code
+ * #include "mbed.h"
+ *
+ * int main() {
+ *     time_t seconds = time(NULL);
+ *     printf("Time as a string = %s", ctime(&seconds));
+ * }
+ * @endcode
  * 
- * Variables:
- *  t - The timestamp to convert
- *  returns - Pointer to a (statically allocated) string containing the
+ * @param t The timestamp to convert
+ *
+ * @returns Pointer to a (statically allocated) string containing the
  *            human readable representation, including a '\n' character
  */
 char *ctime(const time_t *t);
 #endif
  
 #if 0 // for documentation only
-/* Function: strftime
- * Converts a tm structure to a custom format human-readable string
+/** Converts a tm structure to a custom format human-readable string
  *  
  * Creates a formated string from a tm structure, based on a string format 
  * specifier provided.
  *
  * Format Specifiers: 
- *  %S - Second (00-59)
- *  %M - Minute (00-59)
- *  %H - Hour (00-23)
- *  %d - Day (01-31)
- *  %m - Month (01-12)
- *  %Y/%y - Year (2009/09)
+ * - %S - Second (00-59)
+ * - %M - Minute (00-59)
+ * - %H - Hour (00-23)
+ * - %d - Day (01-31)
+ * - %m - Month (01-12)
+ * - %Y/%y - Year (2009/09)
+ * - %A/%a - Weekday Name (Monday/Mon)
+ * - %B/%b - Month Name (January/Jan)
+ * - %I - 12 Hour Format (01-12)
+ * - %p - "AM" or "PM"
+ * - %X - Time (14:55:02)
+ * - %x - Date (08/23/01)
  *
- *  %A/%a - Weekday Name (Monday/Mon)
- *  %B/%b - Month Name (January/Jan)
- *  %I - 12 Hour Format (01-12)
- *  %p - "AM" or "PM"
- *  %X - Time (14:55:02)
- *  %x - Date (08/23/01)
+ * @param buffer String buffer to store the result
+ * @param max Maximum number of characters to store in the buffer
+ * @param format Format specifier string
+ * @param t Pointer to the tm structure to convert
+ *
+ * @returns
+ *   Number of characters copied
  * 
  * Example:
- * > #include "mbed.h"
- * >
- * > int main() {
- * >     time_t seconds = time(NULL);
- * >  
- * >     char buffer[32];
- * >     strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
- * >     printf("Time as a formatted string = %s", buffer);
- * > }   
+ * @code
+ * #include "mbed.h"
  * 
- * Variables:
- *  buffer - String buffer to store the result
- *  max - Maximum number of characters to store in the buffer
- *  format - Format specifier string
- *  t - Pointer to the tm structure to convert
- *  returns - Number of characters copied
+ * int main() {
+ *     time_t seconds = time(NULL);
+ *  
+ *     char buffer[32];
+ *     strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
+ *     printf("Time as a formatted string = %s", buffer);
+ * }   
+ * @endcode
  */
 size_t strftime(char *buffer, size_t max, const char *format, const struct tm *t);
 #endif
diff -r cd19af002ccc -r aff670d0d510 wait_api.h
--- a/wait_api.h	Wed Aug 29 12:44:47 2012 +0100
+++ b/wait_api.h	Wed Oct 24 10:44:49 2012 +0000
@@ -1,21 +1,21 @@
-/* Title: wait
- * Generic wait functions.
+/** Generic wait functions.
  *
  * These provide simple NOP type wait capabilities.
  *
  * Example:
- * > #include "mbed.h"
- * >
- * > DigitalOut heartbeat(LED1);
- * >
- * > int main() {
- * >     while (1) {
- * >         heartbeat = 1;
- * >         wait(0.5);
- * >         heartbeat = 0;
- * >         wait(0.5);
- * >     }
- * > }
+ * @code
+ * #include "mbed.h"
+ *
+ * DigitalOut heartbeat(LED1);
+ *
+ * int main() {
+ *     while (1) {
+ *         heartbeat = 1;
+ *         wait(0.5);
+ *         heartbeat = 0;
+ *         wait(0.5);
+ *     }
+ * }
  */
 
 /* mbed Microcontroller Library - wait_api
@@ -29,60 +29,54 @@
 extern "C" {
 #endif
 
-/* Function: wait
- *  Waits for a number of seconds, with microsecond resolution (within
+/** Waits for a number of seconds, with microsecond resolution (within
  *  the accuracy of single precision floating point).
  *
- * Variables:
- *  s - number of seconds to wait
+ *  @param s number of seconds to wait
  */
 void wait(float s);
 
-/* Function: wait_ms
- *  Waits a number of milliseconds.
+/** Waits a number of milliseconds.
  *
- * Variables:
- *  ms - the whole number of milliseconds to wait
+ *  @param ms the whole number of milliseconds to wait
  */
 void wait_ms(int ms);
 
-/* Function: wait_us
- *  Waits a number of microseconds.
+/** Waits a number of microseconds.
  *
- * Variables:
- *  us - the whole number of microseconds to wait
+ *  @param us the whole number of microseconds to wait
  */
 void wait_us(int us);
 
 #ifdef TARGET_LPC11U24
-/* Function: sleep
- *  Send the microcontroller to sleep
+/** Send the microcontroller to sleep
+ * 
+ *  The processor is setup ready for sleep, and sent to sleep using __WFI(). In this mode, the
+ *  system clock to the core is stopped until a reset or an interrupt occurs. This eliminates 
+ *  dynamic power used by the processor, memory systems and buses. The processor, peripheral and 
+ *  memory state are maintained, and the peripherals continue to work and can generate interrupts.
  * 
- * The processor is setup ready for sleep, and sent to sleep using __WFI(). In this mode, the
- * system clock to the core is stopped until a reset or an interrupt occurs. This eliminates 
- * dynamic power used by the processor, memory systems and buses. The processor, peripheral and 
- * memory state are maintained, and the peripherals continue to work and can generate interrupts.
+ *  The processor can be woken up by any internal peripheral interrupt or external pin interrupt.
  * 
- * The processor can be woken up by any internal peripheral interrupt or external pin interrupt.
- * 
- * Note: The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored. 
- * Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
- * able to access the LocalFileSystem
+ * @note
+ *  The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored. 
+ *  Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
+ *  able to access the LocalFileSystem
  */
 void sleep(void);
 
-/* Function: deepsleep
- *  Send the microcontroller to deep sleep
+/** Send the microcontroller to deep sleep
+ * 
+ *  This processor is setup ready for deep sleep, and sent to sleep using __WFI(). This mode
+ *  has the same sleep features as sleep plus it powers down peripherals and clocks. All state
+ *  is still maintained. 
  * 
- * This processor is setup ready for deep sleep, and sent to sleep using __WFI(). This mode
- * has the same sleep features as sleep plus it powers down peripherals and clocks. All state
- * is still maintained. 
+ *  The processor can only be woken up by an external interrupt on a pin or a watchdog timer.
  * 
- * The processor can only be woken up by an external interrupt on a pin or a watchdog timer.
- * 
- * Note: The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored. 
- * Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
- * able to access the LocalFileSystem
+ * @note
+ *  The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored. 
+ *  Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
+ *  able to access the LocalFileSystem
  */
 void deepsleep(void);
 #endif