KSM edits to RA8875

Dependents:   Liz_Test_Code

Revision:
72:ecffe56af969
Parent:
71:dcac8efd842d
Child:
73:f22a18707b5e
--- a/RA8875.h	Sat Oct 04 17:45:50 2014 +0000
+++ b/RA8875.h	Sat Oct 11 17:24:29 2014 +0000
@@ -174,16 +174,16 @@
     /// }
     /// @endcode
     ///
-    /// @param mosi is the SPI master out slave in pin on the mbed.
-    /// @param miso is the SPI master in slave out pin on the mbed.
-    /// @param sclk is the SPI shift clock pin on the mbed.
-    /// @param csel is the DigitalOut pin on the mbed to use as the
+    /// @param[in] mosi is the SPI master out slave in pin on the mbed.
+    /// @param[in] miso is the SPI master in slave out pin on the mbed.
+    /// @param[in] sclk is the SPI shift clock pin on the mbed.
+    /// @param[in] csel is the DigitalOut pin on the mbed to use as the
     ///         active low chip select for the display controller.
-    /// @param reset is the DigitalOut pin on the mbed to use as the 
+    /// @param[in] reset is the DigitalOut pin on the mbed to use as the 
     ///         active low reset input on the display controller - 
     ///         but this is not currently used.
-    /// @param name is a text name for this object, which will permit
-    ///         capturing stdout and printf() directly to it.
+    /// @param[in] name is a text name for this object, which will permit
+    ///         capturing stdout to puts() and printf() directly to it.
     ///
     RA8875(PinName mosi, PinName miso, PinName sclk, PinName csel, PinName reset, const char * name = "lcd");
     
@@ -212,7 +212,7 @@
     ///     others that reference the layers use the values 0 and 1 for
     ///     cleaner iteration in the code.
     ///
-    /// @param layer is 0 or 1 to select the layer for subsequent 
+    /// @param[in] layer is 0 or 1 to select the layer for subsequent 
     ///     commands.
     /// @returns success/failure code. @see RetCode_t.
     ///
@@ -256,7 +256,7 @@
     ///     lcd.SetLayerMode(ShowLayer1);
     /// @endcode
     ///
-    /// @param mode sets the mode in the Layer Transparency Register.
+    /// @param[in] mode sets the mode in the Layer Transparency Register.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t SetLayerMode(LayerMode_T mode);
@@ -276,8 +276,8 @@
     ///     }
     /// @endcode
     ///
-    /// @param layer1 sets the layer 1 transparency.
-    /// @param layer2 sets the layer 2 transparency.
+    /// @param[in] layer1 sets the layer 1 transparency.
+    /// @param[in] layer2 sets the layer 2 transparency.
     /// @returns success/failure code. @see RetCode_t.
     /// 
     RetCode_t SetLayerTransparency(uint8_t layer1, uint8_t layer2);
@@ -287,7 +287,7 @@
     /// This command sets the background color registers that are used
     /// in the transparent color operations involving the layers.
     /// 
-    /// @param color is optional and expressed in 16-bit format. If not
+    /// @param[in] color is optional and expressed in 16-bit format. If not
     ///     supplied, a default of Black is used.
     /// @returns success/failure code. @see RetCode_t.
     ///
@@ -440,8 +440,8 @@
     ///
     /// This is a high level command, and may invoke several primitives.
     ///
-    /// @param command is the command to write.
-    /// @param data is data to be written to the command register.
+    /// @param[in] command is the command to write.
+    /// @param[in] data is data to be written to the command register.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t WriteCommandW(uint8_t command, uint16_t data);
@@ -450,8 +450,8 @@
     ///
     /// This is a high level command, and may invoke several primitives.
     ///
-    /// @param command is the command to write.
-    /// @param data is optional data to be written to the command register
+    /// @param[in] command is the command to write.
+    /// @param[in] data is optional data to be written to the command register
     ///     and only occurs if the data is in the range [0 - 0xFF].
     /// @returns success/failure code. @see RetCode_t.
     ///
@@ -461,7 +461,7 @@
     ///
     /// This is a high level command, and may invoke several primitives.
     ///
-    /// @param data is the data to write.
+    /// @param[in] data is the data to write.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t WriteDataW(uint16_t data);
@@ -470,14 +470,14 @@
     ///
     /// This is a high level command, and may invoke several primitives.
     ///
-    /// @param data is the data to write.
+    /// @param[in] data is the data to write.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t WriteData(unsigned char data);
     
     /// Read a command register
     ///
-    /// @param command is the command register to read.
+    /// @param[in] command is the command register to read.
     /// @returns the value read from the register.
     ///
     unsigned char ReadCommand(unsigned char command);
@@ -550,8 +550,8 @@
 
     /// Set cursor position based on the current font size.
     /// 
-    /// @param column is the horizontal position in character positions
-    /// @param row is the vertical position in character positions
+    /// @param[in] column is the horizontal position in character positions
+    /// @param[in] row is the vertical position in character positions
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t locate(textloc_t column, textloc_t row);
@@ -564,8 +564,8 @@
     ///     lcd.puts("Hello");
     /// @endcode
     ///
-    /// @param x is the horizontal position in pixels (from the left edge)
-    /// @param y is the vertical position in pixels (from the top edge)
+    /// @param[in] x is the horizontal position in pixels (from the left edge)
+    /// @param[in] y is the vertical position in pixels (from the top edge)
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t SetTextCursor(loc_t x, loc_t y);
@@ -600,9 +600,9 @@
     /// Cursor visible/hidden, Cursor blink/normal, 
     /// Cursor I-Beam/underscore/box.
     ///
-    /// @param cursor can be set to NOCURSOR (default), IBEAM,
+    /// @param[in] cursor can be set to NOCURSOR (default), IBEAM,
     ///         UNDER, or BLOCK.
-    /// @param blink can be set to true or false (default false)
+    /// @param[in] blink can be set to true or false (default false)
     /// @returns success/failure code. @see RetCode_t
     ///
     RetCode_t SetTextCursorControl(cursor_t cursor = NOCURSOR, bool blink = false);
@@ -611,7 +611,7 @@
     ///
     /// Supported fonts: ISO 8859-1, -2, -3, -4
     ///
-    /// @param font selects the font for the subsequent text rendering.
+    /// @param[in] font selects the font for the subsequent text rendering.
     ///
     /// @note if either hScale or vScale is outside of its permitted range,
     ///     the command is not executed.
@@ -633,13 +633,13 @@
     /// @li Vertical scale x 1
     /// @li alignment
     /// 
-    /// @param fillit defaults to FILL, but can be NOFILL
-    /// @param angle defaults to normal, but can be rotated
-    /// @param hScale defaults to 1, but can be 1, 2, 3, or 4,
+    /// @param[in] fillit defaults to FILL, but can be NOFILL
+    /// @param[in] angle defaults to normal, but can be rotated
+    /// @param[in] hScale defaults to 1, but can be 1, 2, 3, or 4,
     ///     and scales the font size by this amount.
-    /// @param vScale defaults to 1, but can be 1, 2, 3, or 4,
+    /// @param[in] vScale defaults to 1, but can be 1, 2, 3, or 4,
     ///     and scales the font size by this amount.
-    /// @param alignment defaults to align_none, but can be
+    /// @param[in] alignment defaults to align_none, but can be
     ///     align_full.
     /// 
     /// @note if either hScale or vScale is outside of its permitted range,
@@ -658,9 +658,9 @@
     /// and vertical, independent of the rotation, background, and 
     /// alignment. @see SetTextFontControl.
     ///
-    /// @param hScale defaults to 1, but can be 1, 2, 3, or 4,
+    /// @param[in] hScale defaults to 1, but can be 1, 2, 3, or 4,
     ///     and scales the font size by this amount.
-    /// @param vScale is an optional parameter that defaults to the hScale value, 
+    /// @param[in] vScale is an optional parameter that defaults to the hScale value, 
     ///     but can be 1, 2, 3, or 4, and scales the font size by this amount.
     ///
     /// @code
@@ -680,7 +680,7 @@
     
     /// put a character on the screen.
     ///
-    /// @param c is the character.
+    /// @param[in] c is the character.
     /// @returns the character, or EOF if there is an error.
     ///
     virtual int _putc(int c);
@@ -691,7 +691,7 @@
     ///     lcd.puts("Test STring");
     /// @endcode
     ///
-    /// @param string is the null terminated string to send to the display.
+    /// @param[in] string is the null terminated string to send to the display.
     ///
     void puts(const char * string);
     
@@ -701,17 +701,17 @@
     ///     lcd.puts(10,25, "Test STring");
     /// @endcode
     ///
-    /// @param x is the horizontal position in pixels (from the left edge)
-    /// @param y is the vertical position in pixels (from the top edge)
-    /// @param string is the null terminated string to send to the display.
+    /// @param[in] x is the horizontal position in pixels (from the left edge)
+    /// @param[in] y is the vertical position in pixels (from the top edge)
+    /// @param[in] string is the null terminated string to send to the display.
     ///
     void puts(loc_t x, loc_t y, const char * string);
     
     /// Prepare the controller to write binary data to the screen by positioning
     /// the memory cursor.
     ///
-    /// @param x is the horizontal position in pixels (from the left edge)
-    /// @param y is the vertical position in pixels (from the top edge)
+    /// @param[in] x is the horizontal position in pixels (from the left edge)
+    /// @param[in] y is the vertical position in pixels (from the top edge)
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t SetGraphicsCursor(loc_t x, loc_t y);
@@ -719,8 +719,8 @@
     /// Prepare the controller to read binary data from the screen by positioning
     /// the memory read cursor.
     ///
-    /// @param x is the horizontal position in pixels (from the left edge)
-    /// @param y is the vertical position in pixels (from the top edge)
+    /// @param[in] x is the horizontal position in pixels (from the left edge)
+    /// @param[in] y is the vertical position in pixels (from the top edge)
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t SetGraphicsCursorRead(loc_t x, loc_t y);
@@ -736,10 +736,10 @@
     ///     lcd.puts("012345678901234567890123456789012345678901234567890");
     /// @endcode
     ///
-    /// @param x is the left edge in pixels.
-    /// @param y is the top edge in pixels.
-    /// @param width is the window width in pixels.
-    /// @param height is the window height in pixels.
+    /// @param[in] x is the left edge in pixels.
+    /// @param[in] y is the top edge in pixels.
+    /// @param[in] width is the window width in pixels.
+    /// @param[in] height is the window height in pixels.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t window(loc_t x, loc_t y, dim_t width, dim_t height);
@@ -755,7 +755,7 @@
     ///     lcd.cls();
     /// @endcode
     ///
-    /// @param layers is optional. If not provided, the active layer
+    /// @param[in] layers is optional. If not provided, the active layer
     ///     is cleared. If bit 0 is set, layer 0 is cleared, if bit
     ///     1 is set, layer 1 is cleared. If both are set, both layers
     ///     are cleared. Any other value does not cause an action.
@@ -775,7 +775,7 @@
     ///     lcd.clsw();
     /// @endcode
     ///
-    /// @param region is an optional parameter that defaults to FULLWINDOW
+    /// @param[in] region is an optional parameter that defaults to FULLWINDOW
     ///         or may be set to ACTIVEWINDOW.
     /// @returns success/failure code. @see RetCode_t.
     ///
@@ -783,32 +783,32 @@
 
     /// Set the background color.
     ///
-    /// @param color is expressed in 16-bit format.
+    /// @param[in] color is expressed in 16-bit format.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t background(color_t color);
     
     /// Set the background color.
     ///
-    /// @param r is the red element of the color.
-    /// @param g is the green element of the color.
-    /// @param b is the blue element of the color.
+    /// @param[in] r is the red element of the color.
+    /// @param[in] g is the green element of the color.
+    /// @param[in] b is the blue element of the color.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t background(unsigned char r, unsigned char g, unsigned char b);
     
     /// Set the foreground color.
     ///
-    /// @param color is expressed in 16-bit format.
+    /// @param[in] color is expressed in 16-bit format.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t foreground(color_t color);
     
     /// Set the foreground color.
     ///
-    /// @param r is the red element of the color.
-    /// @param g is the green element of the color.
-    /// @param b is the blue element of the color.
+    /// @param[in] r is the red element of the color.
+    /// @param[in] g is the green element of the color.
+    /// @param[in] b is the blue element of the color.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t foreground(unsigned char r, unsigned char g, unsigned char b);
@@ -824,45 +824,45 @@
     /// @note Unlike many other operations, this does not
     ///         set the forecolor!
     ///
-    /// @param x is the horizontal offset to this pixel.
-    /// @param y is the vertical offset to this pixel.
-    /// @param color defines the color for the pixel.
+    /// @param[in] x is the horizontal offset to this pixel.
+    /// @param[in] y is the vertical offset to this pixel.
+    /// @param[in] color defines the color for the pixel.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t pixel(loc_t x, loc_t y, color_t color);
     
     /// Draw a pixel in the current foreground color.
     ///
-    /// @param x is the horizontal offset to this pixel.
-    /// @param y is the veritical offset to this pixel.
+    /// @param[in] x is the horizontal offset to this pixel.
+    /// @param[in] y is the veritical offset to this pixel.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t pixel(loc_t x, loc_t y);
     
     /// Get a pixel from the display.
     ///
-    /// @param x is the horizontal offset to this pixel.
-    /// @param y is the vertical offset to this pixel.
+    /// @param[in] x is the horizontal offset to this pixel.
+    /// @param[in] y is the vertical offset to this pixel.
     /// @returns the pixel. see @color_t
     ///
     virtual color_t getPixel(loc_t x, loc_t y);
     
     /// Write a stream of pixels to the display.
     ///
-    /// @param p is a pointer to a color_t array to write.
-    /// @param count is the number of pixels to write.
-    /// @param x is the horizontal position on the display.
-    /// @param y is the vertical position on the display.
+    /// @param[in] p is a pointer to a color_t array to write.
+    /// @param[in] count is the number of pixels to write.
+    /// @param[in] x is the horizontal position on the display.
+    /// @param[in] y is the vertical position on the display.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t pixelStream(color_t * p, uint32_t count, loc_t x, loc_t y);
     
     /// Get a stream of pixels from the display.
     ///
-    /// @param p is a pointer to a color_t array to accept the stream.
-    /// @param count is the number of pixels to read.
-    /// @param x is the horizontal offset to this pixel.
-    /// @param y is the vertical offset to this pixel.
+    /// @param[in] p is a pointer to a color_t array to accept the stream.
+    /// @param[in] count is the number of pixels to read.
+    /// @param[in] x is the horizontal offset to this pixel.
+    /// @param[in] y is the vertical offset to this pixel.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t getPixelStream(color_t * p, uint32_t count, loc_t x, loc_t y);
@@ -872,11 +872,11 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x1 is the horizontal start of the line.
-    /// @param y1 is the vertical start of the line.
-    /// @param x2 is the horizontal end of the line.
-    /// @param y2 is the vertical end of the line.
-    /// @param color defines the foreground color.
+    /// @param[in] x1 is the horizontal start of the line.
+    /// @param[in] y1 is the vertical start of the line.
+    /// @param[in] x2 is the horizontal end of the line.
+    /// @param[in] y2 is the vertical end of the line.
+    /// @param[in] color defines the foreground color.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t line(loc_t x1, loc_t y1, loc_t x2, loc_t y2, color_t color);
@@ -885,10 +885,10 @@
     ///
     /// Draws a line using the foreground color setting.
     ///
-    /// @param x1 is the horizontal start of the line.
-    /// @param y1 is the vertical start of the line.
-    /// @param x2 is the horizontal end of the line.
-    /// @param y2 is the vertical end of the line.
+    /// @param[in] x1 is the horizontal start of the line.
+    /// @param[in] y1 is the vertical start of the line.
+    /// @param[in] x2 is the horizontal end of the line.
+    /// @param[in] y2 is the vertical end of the line.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t line(loc_t x1, loc_t y1, loc_t x2, loc_t y2);
@@ -898,12 +898,12 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x1 is the horizontal start of the line.
-    /// @param y1 is the vertical start of the line.
-    /// @param x2 is the horizontal end of the line.
-    /// @param y2 is the vertical end of the line.
-    /// @param color defines the foreground color.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] x1 is the horizontal start of the line.
+    /// @param[in] y1 is the vertical start of the line.
+    /// @param[in] x2 is the horizontal end of the line.
+    /// @param[in] y2 is the vertical end of the line.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t rect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -914,12 +914,12 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x1 is the horizontal start of the line.
-    /// @param y1 is the vertical start of the line.
-    /// @param x2 is the horizontal end of the line.
-    /// @param y2 is the vertical end of the line.
-    /// @param color defines the foreground color.
-    /// @param fillit is optional to NOFILL the rectangle. default is FILL.
+    /// @param[in] x1 is the horizontal start of the line.
+    /// @param[in] y1 is the vertical start of the line.
+    /// @param[in] x2 is the horizontal end of the line.
+    /// @param[in] y2 is the vertical end of the line.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit is optional to NOFILL the rectangle. default is FILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     virtual RetCode_t fillrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -929,11 +929,11 @@
     ///
     /// Draws a rectangle using the foreground color setting.
     ///
-    /// @param x1 is the horizontal start of the line.
-    /// @param y1 is the vertical start of the line.
-    /// @param x2 is the horizontal end of the line.
-    /// @param y2 is the vertical end of the line.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] x1 is the horizontal start of the line.
+    /// @param[in] y1 is the vertical start of the line.
+    /// @param[in] x2 is the horizontal end of the line.
+    /// @param[in] y2 is the vertical end of the line.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t rect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -949,18 +949,18 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x1 is the horizontal start of the line and must be <= x2.
-    /// @param y1 is the vertical start of the line and must be <= y2.
-    /// @param x2 is the horizontal end of the line and must be >= x1.
-    /// @param y2 is the vertical end of the line and must be >= y1.
-    /// @param radius1 defines the horizontal radius of the curved corner. Take care
+    /// @param[in] x1 is the horizontal start of the line and must be <= x2.
+    /// @param[in] y1 is the vertical start of the line and must be <= y2.
+    /// @param[in] x2 is the horizontal end of the line and must be >= x1.
+    /// @param[in] y2 is the vertical end of the line and must be >= y1.
+    /// @param[in] radius1 defines the horizontal radius of the curved corner. Take care
     ///         that this value < 1/2 the width of the rectangle, or bad_parameter 
     ///         is returned.
-    /// @param radius2 defines the vertical radius of the curved corner. Take care
+    /// @param[in] radius2 defines the vertical radius of the curved corner. Take care
     ///         that this value < 1/2 the height of the rectangle, or bad_parameter 
     ///         is returned.
-    /// @param color defines the foreground color.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t fillroundrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -976,18 +976,18 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x1 is the horizontal start of the line and must be <= x2.
-    /// @param y1 is the vertical start of the line and must be <= y2.
-    /// @param x2 is the horizontal end of the line and must be >= x1.
-    /// @param y2 is the vertical end of the line and must be >= y1.
-    /// @param radius1 defines the horizontal radius of the curved corner. Take care
+    /// @param[in] x1 is the horizontal start of the line and must be <= x2.
+    /// @param[in] y1 is the vertical start of the line and must be <= y2.
+    /// @param[in] x2 is the horizontal end of the line and must be >= x1.
+    /// @param[in] y2 is the vertical end of the line and must be >= y1.
+    /// @param[in] radius1 defines the horizontal radius of the curved corner. Take care
     ///         that this value < 1/2 the width of the rectangle, or bad_parameter 
     ///         is returned.
-    /// @param radius2 defines the vertical radius of the curved corner. Take care
+    /// @param[in] radius2 defines the vertical radius of the curved corner. Take care
     ///         that this value < 1/2 the height of the rectangle, or bad_parameter 
     ///         is returned.
-    /// @param color defines the foreground color.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t roundrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -1000,17 +1000,17 @@
     /// or a single point (x1 == x2 && y1 == y2). If the radius parameters are
     /// > 1/2 the length of that side (width or height), an error value is returned.
     ///
-    /// @param x1 is the horizontal start of the line and must be <= x2.
-    /// @param y1 is the vertical start of the line and must be <= y2.
-    /// @param x2 is the horizontal end of the line and must be >= x1.
-    /// @param y2 is the vertical end of the line and must be >= y1.
-    /// @param radius1 defines the horizontal radius of the curved corner. Take care
+    /// @param[in] x1 is the horizontal start of the line and must be <= x2.
+    /// @param[in] y1 is the vertical start of the line and must be <= y2.
+    /// @param[in] x2 is the horizontal end of the line and must be >= x1.
+    /// @param[in] y2 is the vertical end of the line and must be >= y1.
+    /// @param[in] radius1 defines the horizontal radius of the curved corner. Take care
     ///         that this value < 1/2 the width of the rectangle, or bad_parameter 
     ///         is returned.
-    /// @param radius2 defines the vertical radius of the curved corner. Take care
+    /// @param[in] radius2 defines the vertical radius of the curved corner. Take care
     ///         that this value < 1/2 the height of the rectangle, or bad_parameter 
     ///         is returned.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t roundrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -1021,14 +1021,14 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x1 is the horizontal for point 1.
-    /// @param y1 is the vertical for point 1. 
-    /// @param x2 is the horizontal for point 2.
-    /// @param y2 is the vertical for point 2.
-    /// @param x3 is the horizontal for point 3.
-    /// @param y3 is the vertical for point 3.
-    /// @param color defines the foreground color.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] x1 is the horizontal for point 1.
+    /// @param[in] y1 is the vertical for point 1. 
+    /// @param[in] x2 is the horizontal for point 2.
+    /// @param[in] y2 is the vertical for point 2.
+    /// @param[in] x3 is the horizontal for point 3.
+    /// @param[in] y3 is the vertical for point 3.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t triangle(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -1039,14 +1039,14 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x1 is the horizontal for point 1.
-    /// @param y1 is the vertical for point 1.
-    /// @param x2 is the horizontal for point 2.
-    /// @param y2 is the vertical for point 2.
-    /// @param x3 is the horizontal for point 3.
-    /// @param y3 is the vertical for point 3.
-    /// @param color defines the foreground color.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] x1 is the horizontal for point 1.
+    /// @param[in] y1 is the vertical for point 1.
+    /// @param[in] x2 is the horizontal for point 2.
+    /// @param[in] y2 is the vertical for point 2.
+    /// @param[in] x3 is the horizontal for point 3.
+    /// @param[in] y3 is the vertical for point 3.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t filltriangle(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -1056,13 +1056,13 @@
     ///
     /// Draws a triangle using the foreground color setting.
     ///
-    /// @param x1 is the horizontal for point 1.
-    /// @param y1 is the vertical for point 1.
-    /// @param x2 is the horizontal for point 2.
-    /// @param y2 is the vertical for point 2.
-    /// @param x3 is the horizontal for point 3.
-    /// @param y3 is the vertical for point 3.
-    /// @param fillit is optional to FILL the rectangle. default is NOFILL.
+    /// @param[in] x1 is the horizontal for point 1.
+    /// @param[in] y1 is the vertical for point 1.
+    /// @param[in] x2 is the horizontal for point 2.
+    /// @param[in] y2 is the vertical for point 2.
+    /// @param[in] x3 is the horizontal for point 3.
+    /// @param[in] y3 is the vertical for point 3.
+    /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t triangle(loc_t x1, loc_t y1, loc_t x2, loc_t y2, 
@@ -1073,10 +1073,10 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x is the horizontal center of the circle.
-    /// @param y is the vertical center of the circle.
-    /// @param radius defines the size of the circle.
-    /// @param color defines the foreground color.
+    /// @param[in] x is the horizontal center of the circle.
+    /// @param[in] y is the vertical center of the circle.
+    /// @param[in] radius defines the size of the circle.
+    /// @param[in] color defines the foreground color.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t circle(loc_t x, loc_t y, dim_t radius, color_t color, fill_t fillit = NOFILL);
@@ -1086,10 +1086,10 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x is the horizontal center of the circle.
-    /// @param y is the vertical center of the circle.
-    /// @param radius defines the size of the circle.
-    /// @param color defines the foreground color.
+    /// @param[in] x is the horizontal center of the circle.
+    /// @param[in] y is the vertical center of the circle.
+    /// @param[in] radius defines the size of the circle.
+    /// @param[in] color defines the foreground color.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t fillcircle(loc_t x, loc_t y, dim_t radius, color_t color, fill_t fillit = FILL);
@@ -1098,9 +1098,9 @@
     ///
     /// Draws a circle using the foreground color setting.
     ///
-    /// @param x is the horizontal center of the circle.
-    /// @param y is the vertical center of the circle.
-    /// @param radius defines the size of the circle.
+    /// @param[in] x is the horizontal center of the circle.
+    /// @param[in] y is the vertical center of the circle.
+    /// @param[in] radius defines the size of the circle.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t circle(loc_t x, loc_t y, dim_t radius, fill_t fillit = NOFILL);
@@ -1110,12 +1110,12 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x is the horizontal center of the ellipse.
-    /// @param y is the vertical center of the ellipse.
-    /// @param radius1 defines the horizontal radius of the ellipse.
-    /// @param radius2 defines the vertical radius of the ellipse.
-    /// @param color defines the foreground color.
-    /// @param fillit defines whether the circle is filled or not.
+    /// @param[in] x is the horizontal center of the ellipse.
+    /// @param[in] y is the vertical center of the ellipse.
+    /// @param[in] radius1 defines the horizontal radius of the ellipse.
+    /// @param[in] radius2 defines the vertical radius of the ellipse.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit defines whether the circle is filled or not.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t ellipse(loc_t x, loc_t y, dim_t radius1, dim_t radius2, 
@@ -1126,12 +1126,12 @@
     /// @note As a side effect, this changes the current
     ///     foreground color for subsequent operations.
     ///
-    /// @param x is the horizontal center of the ellipse.
-    /// @param y is the vertical center of the ellipse.
-    /// @param radius1 defines the horizontal radius of the ellipse.
-    /// @param radius2 defines the vertical radius of the ellipse.
-    /// @param color defines the foreground color.
-    /// @param fillit defines whether the circle is filled or not.
+    /// @param[in] x is the horizontal center of the ellipse.
+    /// @param[in] y is the vertical center of the ellipse.
+    /// @param[in] radius1 defines the horizontal radius of the ellipse.
+    /// @param[in] radius2 defines the vertical radius of the ellipse.
+    /// @param[in] color defines the foreground color.
+    /// @param[in] fillit defines whether the circle is filled or not.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t fillellipse(loc_t x, loc_t y, dim_t radius1, dim_t radius2, 
@@ -1141,18 +1141,18 @@
     ///
     /// Draws it using the foreground color setting.
     ///
-    /// @param x is the horizontal center of the ellipse.
-    /// @param y is the vertical center of the ellipse.
-    /// @param radius1 defines the horizontal radius of the ellipse.
-    /// @param radius2 defines the vertical radius of the ellipse.
-    /// @param fillit defines whether the circle is filled or not.
+    /// @param[in] x is the horizontal center of the ellipse.
+    /// @param[in] y is the vertical center of the ellipse.
+    /// @param[in] radius1 defines the horizontal radius of the ellipse.
+    /// @param[in] radius2 defines the vertical radius of the ellipse.
+    /// @param[in] fillit defines whether the circle is filled or not.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t ellipse(loc_t x, loc_t y, dim_t radius1, dim_t radius2, fill_t fillit = NOFILL);
     
     /// Control display power
     ///
-    /// @param on when set to true will turn on the display, when false it is turned off.
+    /// @param[in] on when set to true will turn on the display, when false it is turned off.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t Power(bool on);
@@ -1168,7 +1168,7 @@
     /// When the built-in PWM is used to control the backlight, this 
     /// API can be used to set the brightness.
     /// 
-    /// @param brightness ranges from 0 (off) to 255 (full on)
+    /// @param[in] brightness ranges from 0 (off) to 255 (full on)
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t Backlight_u8(unsigned char brightness);
@@ -1178,7 +1178,7 @@
     /// When the built-in PWM is used to control the backlight, this 
     /// API can be used to set the brightness.
     /// 
-    /// @param brightness ranges from 0.0 (off) to 1.0 (full on)
+    /// @param[in] brightness ranges from 0.0 (off) to 1.0 (full on)
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t Backlight(float brightness);
@@ -1189,7 +1189,7 @@
     ///     available at http://www.mikroe.com. 
     ///     Change the data to an array of type char[].
     ///
-    /// @param font is a pointer to a specially formed font array.
+    /// @param[in] font is a pointer to a specially formed font array.
     ///     This special font array has a 4-byte header, followed by 
     ///     the data:
     ///   - the number of bytes per char
@@ -1202,7 +1202,7 @@
 
     /// Get the RGB value for a DOS color.
     ///
-    /// @param i is the color, in the range 0 to 15;
+    /// @param[in] i is the color, in the range 0 to 15;
     /// @returns the RGB color of the selected index, or 0 
     ///     if the index is out of bounds.
     ///
@@ -1210,7 +1210,7 @@
 
     /// Get the color name (string) for a DOS color.
     ///
-    /// @param i is the color, in the range 0 to 15;
+    /// @param[in] i is the color, in the range 0 to 15;
     /// @returns a pointer to a string with the color name,
     ///     or NULL if the index is out of bounds.
     /// 
@@ -1239,7 +1239,7 @@
     /// @see _StartGraphicsStream() is called, and it should be followed 
     /// by _EndGraphicsStream.
     ///
-    /// @param pixel is a color value to be put on the screen.
+    /// @param[in] pixel is a color value to be put on the screen.
     /// @returns error code.
     ///
     virtual RetCode_t _putp(color_t pixel);
@@ -1271,16 +1271,46 @@
     ///     will wait for the controller to finish the prior command.
     ///     In this case, the performance is limited by the RA8875.
     ///
-    /// @param Hz is the frequency in Hz, tested range includes the
+    /// @param[in] Hz is the frequency in Hz, tested range includes the
     ///     range from 1,000,000 (1MHz) to 10,000,000 (10 MHz). Values
     ///     outside this range will be accepted, but operation may
     ///     be unreliable.
-    /// @param Hz2 is an optional parameter and will set the read
+    /// @param[in] Hz2 is an optional parameter and will set the read
     ///     speed independently of the write speed.
     /// @returns success/failure code. @see RetCode_t.
     ///
     RetCode_t frequency(unsigned long Hz = RA8875_DEFAULT_SPI_FREQ, unsigned long Hz2 = 0);
     
+    /// This method captures the specified area as a 24-bit bitmap file.
+    ///
+    /// Even though this is a 16-bit display, the stored image is in
+    /// 24-bit format.
+    ///
+    /// @param[in] x is the left edge of the region to capture
+    /// @param[in] y is the top edge of the region to capture
+    /// @param[in] w is the width of the region to capture
+    /// @param[in] h is the height of the region to capture.
+    /// @param[out] Name_BMP is the filename to write the image to.
+    /// @return success or error code.
+    ///
+    RetCode_t PrintScreen(loc_t x, loc_t y, dim_t w, dim_t h, const char *Name_BMP);
+    
+    /// This method captures the specified area as a 24-bit bitmap file,
+    /// including the option of layer selection.
+    ///
+    /// Even though this is a 16-bit display, the stored image is in
+    /// 24-bit format.
+    ///
+    /// @param[in] layer is 0 or 1 to select the layer to extract.
+    /// @param[in] x is the left edge of the region to capture
+    /// @param[in] y is the top edge of the region to capture
+    /// @param[in] w is the width of the region to capture
+    /// @param[in] h is the height of the region to capture.
+    /// @param[out] Name_BMP is the filename to write the image to.
+    /// @return success or error code.
+    ///
+    RetCode_t PrintScreen(uint16_t layer, loc_t x, loc_t y, dim_t w, dim_t h, const char *Name_BMP);
+    
 
 #ifdef PERF_METRICS
     /// Clear the performance metrics to zero.
@@ -1288,14 +1318,14 @@
     
     /// Count idle time.
     ///
-    /// @param t is the amount of idle time to accumulate.
+    /// @param[in] t is the amount of idle time to accumulate.
     ///
     void CountIdleTime(uint32_t t);
     
     /// Report the performance metrics for drawing functions using
     /// the available serial channel.
     ///
-    /// @param pc is the serial channel to write to.
+    /// @param[in,out] pc is the serial channel to write to.
     ///
     void ReportPerformance(Serial & pc);
 #endif
@@ -1378,9 +1408,9 @@
     ///     are consistent with each other - see the RA8875 user
     ///     manual.
     ///
-    /// @param width in pixels to configure the display for.
-    /// @param height in pixels to configure the display for.
-    /// @param color_bpp can be either 8 or 16, but must be consistent
+    /// @param[in] width in pixels to configure the display for.
+    /// @param[in] height in pixels to configure the display for.
+    /// @param[in] color_bpp can be either 8 or 16, but must be consistent
     ///     with the width and height parameters.
     /// @returns success/failure code. @see RetCode_t.
     ///
@@ -1388,21 +1418,21 @@
     
     /// Internal function to put a character using the built-in (internal) font engine
     ///
-    /// @param is the character to put to the screen.
+    /// @param[in] is the character to put to the screen.
     /// @returns the character put.
     ///
     int _internal_putc(int c);
     
     /// Internal function to put a character using the external font engine
     ///
-    /// @param is the character to put to the screen.
+    /// @param[in] is the character to put to the screen.
     /// @returns the character put.
     ///
     int _external_putc(int c);
     
     /// Select the peripheral to use it.
     ///
-    /// @param chipsel when true will select the peripheral, and when false
+    /// @param[in] chipsel when true will select the peripheral, and when false
     ///     will deselect the chip. This is the logical selection, and
     ///     the pin selection is the invert of this.
     /// @returns success/failure code. @see RetCode_t.
@@ -1411,7 +1441,7 @@
 
     /// Wait while the status register indicates the controller is busy.
     ///
-    /// @param mask is the mask of bits to monitor.
+    /// @param[in] mask is the mask of bits to monitor.
     /// @returns true if a normal exit.
     /// @returns false if a timeout exit.
     ///
@@ -1419,8 +1449,8 @@
 
     /// Wait while the the register anded with the mask is true.
     ///
-    /// @param reg is the register to monitor
-    /// @param mask is the bit mask to monitor
+    /// @param[in] reg is the register to monitor
+    /// @param[in] mask is the bit mask to monitor
     /// @returns true if it was a normal exit
     /// @returns false if it was a timeout that caused the exit.
     ///
@@ -1432,14 +1462,14 @@
     /// and the read speed for the SPI port to the RA8875, since
     /// it can accept writes faster than reads.
     ///
-    /// @param writeSpeed when true selects the write frequency,
+    /// @param[in] writeSpeed when true selects the write frequency,
     ///     and when false it selects the read frequency.
     ///
     void _setWriteSpeed(bool writeSpeed);
 
     /// The most primitive - to write a data value to the SPI interface.
     ///
-    /// @param data is the value to write.
+    /// @param[in] data is the value to write.
     /// @returns a value read from the port, since SPI is often shift
     ///     in while shifting out.
     ///
@@ -1515,8 +1545,8 @@
 /// stdin to switch from automatic test mode to manual, run a specific
 /// test, or to exit the test mode.
 ///
-/// @param lcd is a reference to the display class.
-/// @param pc is a reference to a serial interface, typically the USB to PC.
+/// @param[in] lcd is a reference to the display class.
+/// @param[in] pc is a reference to a serial interface, typically the USB to PC.
 ///
 void RunTestSet(RA8875 & lcd, Serial & pc);