This is the David Smart RA8875 Library with mods for working with FRDM-K64F
Diff: RA8875.h
- Revision:
- 167:8aa3fb2a5a31
- Parent:
- 166:53fd4a876dac
- Child:
- 177:d8e65c0e268a
--- a/RA8875.h Sun Feb 24 19:28:26 2019 +0000 +++ b/RA8875.h Tue Feb 26 19:52:57 2019 +0000 @@ -2,32 +2,102 @@ /// @mainpage RA8875 Display Controller Driver library /// /// The RA8875 Display controller is a powerful interface for low cost displays. It -/// can support displays up to 800 x 480 pixels x 16-bit color. Another common -/// implementation is 480 x 272 x 16 with two layers. The two layers can be -/// exchanged, or blended in various ways (transparency, OR, AND, and more). -/// It includes graphics acceleration capabilities for drawing primitives, -/// such as line, rectangle, circles, and more. +/// can support displays up to 800 x 480 pixels x 16-bit color. +/// +/// Aside from 800 x 480 pixel displays, another common implementation is +/// 480 x 272 x 16 with two layers. The two layers can be exchanged, or blended +/// in various ways (transparency, OR, AND, and more). It includes graphics +/// acceleration capabilities for drawing primitives, such as line, rectangle, +/// circles, and more. +/// +/// It is not a display for video-speed animations, and maybe could hold its own +/// as a slow picture frame, at least when using the SPI ports. How the performance +/// differs using I2C, 8-bit parallel or 16-bit parallel has not been evaluated. +/// Certainly the parallel interface option would be expected to be a lot faster. +/// +/// What it is good at is performing as a basic display for appliance or simple +/// home automation, and because of the built-in capability to draw lines, circles, +/// ellipses, rectangles, rounded rectangles, and triangles, it does a lot of the +/// work that your host micro would otherwise be doing, and in many cases it does +/// it much faster. /// -/// It is not a display for super-fast animations, video, picture frames and so forth, -/// at least when using the SPI ports. Performance has not been evaluated with one -/// of the parallel port options. +/// While it is good to know about Bresenham's algorithm (to draw a line) and how +/// to implement it in software, this controller simplifies things - +/// You just give it (x1,y1), (x2,y2) and tell it to draw a line. +/// Without the hardware acceleration built into the RA8875, the host would have to +/// compute every point, set the graphics cursor to that point, and fill in that +/// point with the target color. A diagonal line of some length might take 100 +/// interactions instead of just a few. Other drawing primitives are similarly easy. +/// +/// It has some built-in fonts, which can be enhanced with optional font-chips, and +/// with the provided software font engine, and a few instructions, you can convert +/// most any True Type Font into the data structures suitable for this display. +/// +/// To round out the features, this library offers the ability to render Bitmap (BMP), +/// Icon (ICO), Join Photographic Experts Group (JPG), and Graphics Interchange Format +/// (GIF) images. These are implemented primarily in software, taking advantage of the +/// hardware acceleration where it can. +/// +/// When you are satisfied with what appears on screen, there is a PrintScreen method +/// to pull that image back out and write it to a file system as a BitMap image. /// /// The controller additionally supports backlight control (via PWM), keypad scanning -/// (for a 4 x 5 matrix) and resistive touch-panel support. Recently support for a -/// capacitive touch screen was integrated, in a manner that makes the resistive and -/// capactive interfaces nearly identical. +/// (for a 4 x 5 matrix) and resistive touch-panel support. Support for capacitive +/// touch screens is also integrated, in a manner that makes the resistive and +/// capacitive interfaces nearly API identical. The capacitive touch support is for +/// either the FT5206 or the GSL1680 controller chips. +/// +/// Here's a few hints to get started: +/// * @ref Display_Config +/// * @ref Touch_Panel +/// * @ref Hardwired_KeyPad +/// * @ref Example_Program +/// * @ref Wiring_Diagram +/// * @ref Future_Plans +/// +/// @todo Add APIs for the 2nd RA8875 PWM channel. If the frequency can be independently +/// controlled, it could be used as a simple beeper. +/// @todo Figure out how to "init()" in the constructor. I ran into some issues if +/// the display was instantiated before main(), and the code would not run, +/// thus the exposure and activation of the init() function. If the constructor +/// was within main(), then it seemed to work as expected. /// -/// @section Display_Config Display Configuration +/// @note As the author of this library, let me state that I am not affiliated with +/// Raio (silicon provider of the RA8875), or with BuyDisplay.com (where a lot +/// of these displays can be purchased), I am simply a very satisfied customer +/// of the technology of the RA8875 chip. +/// +/// @copyright Copyright © 2012-2019 by Smartware Computing, all rights reserved. +/// This library is predominantly, that of Smartware Computing, however some +/// portions are compiled from the work of others. Where the contribution of +/// others was listed as copyright, that copyright is maintained, even as a +/// derivative work may have been created for better integration in this library. +/// See @ref Copyright_References. +/// +/// @page Copyright_References Copyright References +/// +/// Following are links to the known copyright references. If I overlooked any, it was +/// unintentional - please let me know so I can update it. Some portions of the code +/// have been acquired from the cloud, and where any copyright information was available, +/// it was preserved. +/// +/// * @ref GraphicDisplay_Copyright +/// * @ref TextDisplay_Copyright +/// * @ref TinyJPEGDecompressor_Copyright +/// * @ref RA8875::TouchPanelComputeCalibration +/// +/// @page Display_Config Display Configuration /// /// This section details basics for bringing the display online. At a minimum, -/// the display is instantiated. After that any of the available commands +/// the display is instantiated, after which nearly any of the available commands /// may be issued. /// /// During the instantiation, the display is powered on, cleared, and the backlight /// is energized. Additionally, the keypad and touchscreen features are activated. -/// It is important to keep in mind that the keypad had the default mapping, and -/// the touchscreen does not have the calibration matrix configured, so additional -/// steps may be necessary. +/// It is important to keep in mind that the keypad has its default mapping, +/// a resistive touchscreen does not yet have the calibration matrix configured, +/// and the RA8875::init() function is required to configure other important options +/// like the display resolution. /// /// @code /// RA8875 lcd(p5, p6, p7, p12, NC, "tft"); @@ -37,34 +107,164 @@ /// ... /// @endcode /// -/// @section Touch_Panel Touch Panel +/// @section RA8875_Capabilities Basic Capabilities +/// @subsection RA8875_Resolution Display Resolution +/// There are two very common display resolutions that use the RA8875: +/// * 480 x 272 pixels +/// * 800 x 480 pixels +/// +/// @subsection RA8875_Layers Display Layers +/// The RA8875 Controller, depending on the resolution and color depth, can support +/// multiple display layers. +/// +/// * 1 Layer - when the color depth is 16 bits per pixel +/// * 2 Layers - when the color depth is 8 bits per pixel and the resolution is 480 x 272. /// -/// The supported touch panel interface is for a resistive panel, and is natively -/// supported by the RA8875 controller. There are a few steps to enable this interface. +/// +/// +/// @page Touch_Panel Touch Panel +/// +/// There is support for various touch panel interfaces. +/// * @ref Resistive_Touch_Panel - native control for a resistive touch panel. +/// There are a few steps to enable this interface. +/// * @ref CapSense_FT5206 - FT5206 capacitive touch controller, integrated in +/// several popular RA8875-based displays. See @ref Capacitive_Touch_Panel. +/// * @ref CapSense_GSL1680 - GSL1680 capacitive touch controller, integrated in +/// several popular RA8875-based displays. See @ref Capacitive_Touch_Panel. +/// /// -/// @subsection Touch_Panel_Enable Touch Panel Enable +/// +/// @page Hardwired_KeyPad Hardwired Keypad +/// +/// The RA8875 controller supports a hardwired matrix of keys, which can be used to +/// easily monitor for up to 20 keys (4 x 5 matrix). It is quite flexible, so these +/// could be a set of independent functions, or they could be wired as a simple +/// calculator or telephone style of keypad. +/// +/// Various parameters can be configured, such as the scan rate, using @ref RA8875::KeypadInit(). +/// The keypad has a default keypad mapping, but there is an API that permits +/// installing a custom @ref RA8875::SetKeyMap(). /// -/// See @ref TouchPanelInit has two forms - fully automatic, and controlled. See the APIs for -/// details. +/// @page Resistive_Touch_Panel Resistive Touch Panel +/// +/// The RA8875 controller supports a native resistive touchscreen interface than can +/// track a single touch-point. /// -/// @subsection Touch_Panel_Calibration +/// If your display has this option, you can easily accept touch input, but it comes with +/// some additional requirements - calibration being the primary concern. +/// +/// @section Touch_Panel_Enable Touch Panel Enable +/// +/// @ref RA8875::TouchPanelInit() has two forms - one fully automatic, and more controlled. +/// See the APIs for details. +/// +/// @section Touch_Panel_Calibration /// /// The touch panel is not initially calibrated on startup. The application should /// provide a means to activate the calibration process, and that should not require /// the touchscreen as it may not yet be usable. Alternately, a calibration matrix /// can be loaded from non-volatile and installed. /// -/// @section Keypad Keypad +/// @page Capacitive_Touch_Panel Capacitive Touch Panel +/// +/// Common to many of the commercially available display modules that use the RA8875 is +/// an option for a capacitive sense touch screen [Cap Sense] There are two known Cap Sense +/// controllers that this library can work with: +/// +/// * @ref CapSense_FT5206. +/// * @ref CapSense_GSL1680. +/// +/// @page CapSense_FT5206 Capacitive Sense - FT5206 Controller +/// +/// This is the more common controller. It supports up to 5 simultaneous touch point +/// tracking. +/// +/// @page CapSense_GSL1680 Capacitive Sense - GSL1680 Controller +/// +/// This is the less common controller. It supports either 5 or 10 simultaneous touch point +/// tracking, depending on the firmware installed in the controller. +/// +/// @page Example_Program Example Program +/// +/// This is just a small sample of what can be done, and what it can look like: +/// @image html Example_Program.png "Example Program" /// -/// The keypad has a default keypad mapping, but there is an API that permits -/// installing a custom keymap. +/// @code +/// // Small test program +/// #include "mbed.h" // Working: v146, not fully working: v147 +/// #include "RA8875.h" // Working: v149 +/// RA8875 lcd(p5, p6, p7, p12, NC, "tft"); +/// +/// int main() +/// { +/// lcd.init(480,272,16,100); +/// lcd.printf("printing 3 x 2 = %d", 3*2); +/// lcd.circle( 400,25, 25, BrightRed); +/// lcd.fillcircle( 400,25, 15, RGB(128,255,128)); +/// lcd.ellipse( 440,75, 35,20, BrightBlue); +/// lcd.fillellipse( 440,75, 25,10, Blue); +/// lcd.triangle( 440,100, 475,110, 450,125, Magenta); +/// lcd.filltriangle( 445,105, 467,111, 452,120, Cyan); +/// lcd.rect( 400,130, 475,155, Brown); +/// lcd.fillrect( 405,135, 470,150, Pink); +/// lcd.roundrect( 410,160, 475,190, 10,8, Yellow); +/// lcd.fillroundrect(415,165, 470,185, 5,3, Orange); +/// lcd.line( 430,200, 460,230, RGB(0,255,0)); +/// for (int i=0; i<=30; i+=5) +/// lcd.pixel(435+i,200+i, White); +/// } +/// @endcode /// -/// @todo Add APIs for the 2nd PWM channel, which might be quite useful as a simple -/// beeper. -/// @todo Figure out how to "init()" in the constructor. I ran into some issues if -/// the display was instantiated before main(), and the code would not run, -/// thus the exposure and activation of the init() function. If the constructor -/// was within main(), then it seemed to work as expected. +/// @page Wiring_Diagram Example Wiring Diagram +/// +/// This library was crafted around the 4-Wire SPI interface. This was the chosen +/// interface method in order to balance the requirements of the host micro IO with +/// the capability of this display. Alternatives include: 3-Wire SPI, I2C, 8-bit and +/// 16-bit parallel. +/// +/// @image html Example_Wiring.png "Example Wiring Diagram" +/// +/// @page Future_Plans Future Plans +/// +/// Following are some notions of future plans. This does not mean they will all be +/// implemented, just consider them as things I'm thinking about. If you have a suggestion, +/// please send it to me. +/// +/// - Change the return values for several functions. Most functions return @ref RA8875::RetCode_t, +/// but would benefit from returning a data type related to that function. For example, +/// @ref RA8875::SelectDrawingLayer() could return the current drawing layer even as a new +/// layer is defined. This can facilitate switching back and forth between configurations. +/// Examples: +/// - @ref RA8875::SelectDrawingLayer() +/// - @ref RA8875::SelectUserFont() +/// - @ref RA8875::SetBackgroundTransparencyColor() +/// - @ref RA8875::SetLayerMode() +/// - @ref RA8875::SetLayerTransparency() +/// - @ref RA8875::SetOrientation() +/// - @ref RA8875::SetTextCursor() +/// - @ref RA8875::SetTextCursorControl() +/// - @ref RA8875::SetTextFont() +/// - @ref RA8875::SetTextFontControl() +/// - @ref RA8875::SetTextFontSize() +/// - @ref RA8875::background() +/// - @ref RA8875::foreground() +/// - @ref RA8875::Backlight() +/// - @ref RA8875::window() +/// - @ref RA8875::WindowMax() +/// +/// - Change the title-case of the functions to be consistent. Because this was adapted +/// from parts of several different libraries, it isn't very consistently titled. +/// +/// - Change names of some of the functions to be more consistent. Why are some Set* +/// and others are Select*. The layer commands SetDrawingLayer and GetDrawingLayer do +/// not need 'Drawing' in them. +/// +/// - Improve the PrintScreen method. There are two functions - one that accepts a filename, +/// and a second more experimental version that could pipe the image stream back to +/// a calling process. This could be used, for example, to send the image over a +/// network interface. The intended side effect is that there is then only a single +/// PrintScreen method with either an internal helper (for file system access) or +/// a callback for the user handled process. /// #ifndef RA8875_H #define RA8875_H @@ -89,7 +289,57 @@ // .cpp file. See also the bottom of this file. //#define TESTENABLE -/// DOS colors - slightly color enhanced +/// @page PredefinedColors Predefined Colors +/// +/// Keep in mind that the color scheme shown here is unlikely to precisely match +/// that on the actual display. The perceived color is additional affected by +/// other attributes, such as the backlight brightness. +/// +/// These are the predefined colors that are typically used where any @ref color_t +/// variable is applied. +/// +/// <blockquote> +/// <table> +/// <tr> +/// <td bgcolor='#000000'> </td><td>@ref Black</td> +/// <td bgcolor='#0000BB'> </td><td>@ref Blue</td> +/// <td bgcolor='#00BB00'> </td><td>@ref Green</td> +/// <td bgcolor='#00BBBB'> </td><td>@ref Cyan</td> +/// </tr> +/// <tr> +/// <td bgcolor='#BB0000'> </td><td>@ref Red</td> +/// <td bgcolor='#BB00BB'> </td><td>@ref Magenta</td> +/// <td bgcolor='#3F3F3F'> </td><td>@ref Brown</td> +/// <td bgcolor='#BBBBBB'> </td><td>@ref Gray</td> +/// </tr> +/// <tr> +/// <td bgcolor='#555555'> </td><td>@ref Charcoal</td> +/// <td bgcolor='#0000FF'> </td><td>@ref BrightBlue</td> +/// <td bgcolor='#00FF00'> </td><td>@ref BrightGreen</td> +/// <td bgcolor='#00FFFF'> </td><td>@ref BrightCyan</td> +/// </tr> +/// <tr> +/// <td bgcolor='#FF5555'> </td><td>@ref Orange</td> +/// <td bgcolor='#FF55FF'> </td><td>@ref Pink</td> +/// <td bgcolor='#BBBB00'> </td><td>@ref Yellow</td> +/// <td bgcolor='#FFFFFF'> </td><td>@ref White</td> +/// </tr> +/// <tr> +/// <td bgcolor='#00003F'> </td><td>@ref DarkBlue </td> +/// <td bgcolor='#003F00'> </td><td>@ref DarkGreen</td> +/// <td bgcolor='#003F3F'> </td><td>@ref DarkCyan </td> +/// <td bgcolor='#3F0000'> </td><td>@ref DarkRed </td> +/// </tr> +/// <tr> +/// <td bgcolor='#3F003F'> </td><td>@ref DarkMagenta</td> +/// <td bgcolor='#3F3F00'> </td><td>@ref DarkBrown </td> +/// <td bgcolor='#3F3F3F'> </td><td>@ref DarkGray </td> +/// <td bgcolor='#FFFFFF'> </td><td> </td> +/// </tr> +/// </table> +/// </blockquote> +/// + #define Black (color_t)(RGB(0,0,0)) #define Blue (color_t)(RGB(0,0,187)) #define Green (color_t)(RGB(0,187,0)) @@ -172,16 +422,16 @@ class RA8875 : public GraphicsDisplay { public: - /// cursor type to be shown as the text cursor. + /// cursor type argument for @ref SetTextCursorControl() typedef enum { NOCURSOR, ///< cursor is hidden - IBEAM, ///< | cursor - UNDER, ///< _ cursor + IBEAM, ///< I Beam '|' cursor + UNDER, ///< Underscore '_' cursor BLOCK ///< Block cursor } cursor_t; - /// font type selection. + /// font type selection argument for @ref SetTextFont() typedef enum { ISO8859_1, ///< ISO8859-1 font @@ -190,7 +440,8 @@ ISO8859_4 ///< ISO8859-4 font } font_t; - /// display orientation + /// display orientation argument for @ref SetOrientation() + /// with landscape mode as the normal (0 degree) orientation. typedef enum { normal, ///< normal (landscape) orientation @@ -200,27 +451,27 @@ rotate_270, ///< rotated clockwise 270 degree } orientation_t; - /// alignment + /// alignment control argument for @ref SetTextFontControl() typedef enum { align_none, ///< align - none align_full ///< align - full } alignment_t; - /// Font Horizontal Scale factor - 1, 2, 3 4 + /// Font Horizontal Scale factor - 1, 2, 3 4 for @ref SetTextFontSize(), @ref GetTextFontSize() typedef int HorizontalScale; - /// Font Vertical Scale factor - 1, 2, 3, 4 + /// Font Vertical Scale factor - 1, 2, 3, 4 for @ref SetTextFontSize(), @ref GetTextFontSize() typedef int VerticalScale; - /// Clear screen region + /// Clear screen region option for @ref clsw() typedef enum { FULLWINDOW, ///< Full screen ACTIVEWINDOW ///< active window/region } Region_t; - - /// Set the Layer Display Mode. @ref SetLayerMode + + /// Layer Display Mode argument for @ref SetLayerMode, @ref GetLayerMode typedef enum { ShowLayer0, ///< Only layer 0 is visible, layer 1 is hidden (default) @@ -239,7 +490,7 @@ TP_Manual, ///< Manual touch detection mode } tpmode_t; - /// PrintScreen callback commands + /// PrintScreen callback commands for the user code @ref PrintCallback_T() typedef enum { OPEN, ///< command to open the file. cast uint32_t * to the buffer to get the total size to be written. @@ -282,11 +533,11 @@ /// @param cmd is the command to execute. See @ref filecmd_t. /// @param buffer is a pointer to the buffer being passed. /// @param size is the number of bytes in the buffer. - /// @returns the noerror signal. + /// @returns @ref RetCode_t value. /// typedef RetCode_t (* PrintCallback_T)(filecmd_t cmd, uint8_t * buffer, uint16_t size); - /// Idle reason provided in the Idle Callback + /// Idle reason provided in the Idle Callback @ref IdleCallback_T() typedef enum { unknown, ///< reason has not been assigned (this should not happen) status_wait, ///< driver is polling the status register while busy @@ -326,8 +577,7 @@ /// @param reason informs the callback why it is idle. /// @param param is a 2nd parameter, which is used for certain reason codes /// for 'progress' reason code, param ranges from 0 to 100 (percent) - /// @returns noerror to allow the driver continue waiting. - /// @returns external_abort if the pending action should be aborted. + /// @returns @ref RetCode_t value. /// typedef RetCode_t (* IdleCallback_T)(IdleReason_T reason, uint16_t param = 0); @@ -476,13 +726,13 @@ /// parameter causes the driver to initialize. /// - If the constructor was called without support for the capacitive driver, this /// parameter is used to enable and initialize the resistive touchscreen driver. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t init(int width = 480, int height = 272, int color_bpp = 16, uint8_t poweron = 40, bool keypadon = true, bool touchscreeenon = true); - /// Get a pointer to the error code. + /// Get a pointer to the text string representing the RetCode_t /// /// This method returns a pointer to a text string that matches the /// code. See @ref RetCode_t. @@ -523,7 +773,7 @@ /// @param[out] prevLayer is an optiona pointer to where the previous layer /// will be written, making it a little easer to restore layers. /// Writes 0 or 1 when the pointer is not NULL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t SelectDrawingLayer(uint16_t layer, uint16_t * prevLayer = NULL); @@ -568,7 +818,7 @@ /// @endcode /// /// @param[in] mode sets the mode in the Layer Transparency Register. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetLayerMode(LayerMode_T mode); @@ -599,7 +849,7 @@ /// /// @param[in] layer1 sets the layer 1 transparency. /// @param[in] layer2 sets the layer 2 transparency. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetLayerTransparency(uint8_t layer1, uint8_t layer2); @@ -611,7 +861,7 @@ /// /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetBackgroundTransparencyColor(color_t color = RGB(0,0,0)); @@ -635,7 +885,7 @@ /// Additionally, for an even simpler interface for most RESISTIVE /// touch use cases, the init() method can perform the calibration. /// - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t TouchPanelInit(void); @@ -680,7 +930,7 @@ /// - TP_ADC_SAMPLE_16384_CLKS: Wait 16384 system clocks /// - TP_ADC_SAMPLE_32768_CLKS: Wait 32768 system clocks /// - TP_ADC_SAMPLE_65536_CLKS: Wait 65536 system clocks - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t TouchPanelInit(uint8_t bTpEnable, uint8_t bTpAutoManual, uint8_t bTpDebounce, uint8_t bTpManualMode, uint8_t bTpAdcClkDiv, uint8_t bTpAdcSampleTime); @@ -928,7 +1178,7 @@ /// for further details. See also the article /// http://www.embedded.com/design/system-integration/4023968/How-To-Calibrate-Touch-Screens /// - /// @copyright Copyright (c) 2001, Carlos E. Vidales. All rights reserved. + /// @copyright Copyright © 2001, Carlos E. Vidales. All rights reserved. /// This sample program was written and put in the public domain /// by Carlos E. Vidales. The program is provided "as is" /// without warranty of any kind, either expressed or implied. @@ -954,7 +1204,7 @@ /// @param[out] matrix is an optional parameter to hold the calibration matrix /// as a result of the calibration. This can be saved in /// non-volatile memory to recover the calibration after a power fail. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t TouchPanelComputeCalibration(point_t display[3], point_t screen[3], tpMatrix_t * matrix); @@ -970,7 +1220,7 @@ /// @param[out] matrix is an optional parameter to hold the calibration matrix /// as a result of the calibration. This can be saved in /// non-volatile memory to recover the calibration after a power fail. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t TouchPanelCalibrate(tpMatrix_t * matrix = NULL); @@ -991,7 +1241,7 @@ /// @param[in] maxwait_s is the maximum number of seconds to wait for a touch /// calibration. If no touch panel installed, it then reports /// touch_cal_timeout. Default: 30 s. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t TouchPanelCalibrate(const char * msg, tpMatrix_t * matrix = NULL, int maxwait_s = 30); @@ -1016,7 +1266,7 @@ /// @endcode /// /// @param[in] matrix is a pointer to the touch panel calibration matrix. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t TouchPanelSetMatrix(tpMatrix_t * matrix); @@ -1076,7 +1326,7 @@ /// @param[in] interruptEnable when true, enables interrupts from keypress (default: false). /// @param[in] wakeupEnable when true, activates the wakeup function (default: false). /// - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t KeypadInit(bool scanEnable = true, bool longDetect = false, uint8_t sampleTime = 0, uint8_t scanFrequency = 0, @@ -1119,7 +1369,7 @@ /// from raw code to your reassigned value. /// If CodeList is NULL, the original raw value key map is /// restored. - /// @returns noerror. + /// @returns @ref RetCode_t value. /// RetCode_t SetKeyMap(const uint8_t * CodeList = NULL); @@ -1189,7 +1439,7 @@ /// @returns true if pRect1 and pRect2 intersect and pRect1 is written with /// the rectangle describing the intersection. /// - bool Intersect(rect_t * rect1, const rect_t * rect2); + bool Intersect(rect_t * pRect1, const rect_t * pRect2); /// Write a command to the display with a word of data. @@ -1198,7 +1448,7 @@ /// /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t WriteCommandW(uint8_t command, uint16_t data); @@ -1210,7 +1460,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t WriteCommand(unsigned char command, unsigned int data = 0xFFFF); @@ -1220,7 +1470,7 @@ /// This is a high level command, and may invoke several primitives. /// /// @param[in] data is the data to write. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t WriteDataW(uint16_t data); @@ -1230,7 +1480,7 @@ /// This is a high level command, and may invoke several primitives. /// /// @param[in] data is the data to write. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t WriteData(unsigned char data); @@ -1330,7 +1580,7 @@ /// /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t locate(textloc_t column, textloc_t row); @@ -1345,7 +1595,7 @@ /// /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetTextCursor(loc_t x, loc_t y); @@ -1360,7 +1610,7 @@ /// @endcode /// /// @param[in] p is the x:y point in pixels from the top-left. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetTextCursor(point_t p); @@ -1401,7 +1651,7 @@ /// @param[in] cursor can be set to NOCURSOR (default), IBEAM, /// UNDER, or BLOCK. /// @param[in] blink can be set to true or false (default false) - /// @returns success/failure code. See @ref RetCode_t + /// @returns @ref RetCode_t value. /// RetCode_t SetTextCursorControl(cursor_t cursor = NOCURSOR, bool blink = false); @@ -1417,7 +1667,7 @@ /// /// @note if either hScale or vScale is outside of its permitted range, /// the command is not executed. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetTextFont(font_t font = ISO8859_1); @@ -1459,7 +1709,7 @@ /// - rotate_90 (clockwise) /// - rotate_180 /// - rotate_270 (clockwise) - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetOrientation(orientation_t angle = normal); @@ -1494,7 +1744,7 @@ /// /// @note if either hScale or vScale is outside of its permitted range, /// the command is not executed. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetTextFontControl(fill_t fillit = FILL, HorizontalScale hScale = 1, @@ -1531,7 +1781,7 @@ /// /// @note if either hScale or vScale is outside of its permitted range, /// the command is not executed. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t SetTextFontSize(HorizontalScale hScale = 1, VerticalScale vScale = -1); @@ -1546,7 +1796,7 @@ /// will be written. If the pointer is null, that item will be ignored. /// @param[out] vScale is a pointer to memory where the vertical scale factor /// will be written. If the pointer is null, that item will be ignored. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t GetTextFontSize(HorizontalScale * hScale, VerticalScale * vScale); @@ -1587,7 +1837,7 @@ /// /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t SetGraphicsCursor(loc_t x, loc_t y); @@ -1595,7 +1845,7 @@ /// the memory cursor. /// /// @param[in] p is the point representing the cursor position to set - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t SetGraphicsCursor(point_t p); @@ -1611,7 +1861,7 @@ /// /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t SetGraphicsCursorRead(loc_t x, loc_t y); @@ -1638,7 +1888,7 @@ /// @endcode /// /// @param[in] r is the rect_t used to set the window. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t window(rect_t r); @@ -1669,7 +1919,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t window(loc_t x = 0, loc_t y = 0, dim_t width = (dim_t)-1, dim_t height = (dim_t)-1); @@ -1690,7 +1940,7 @@ /// 1 is set, layer 1 is cleared. If both are set, both layers /// are cleared. Any other value does not cause an action. /// - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t cls(uint16_t layers = 0); @@ -1708,7 +1958,7 @@ /// /// @param[in] region is an optional parameter that defaults to FULLWINDOW /// or may be set to ACTIVEWINDOW. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t clsw(RA8875::Region_t region = FULLWINDOW); @@ -1716,7 +1966,7 @@ /// Set the background color. /// /// @param[in] color is expressed in 16-bit format. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t background(color_t color); @@ -1726,7 +1976,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t background(unsigned char r, unsigned char g, unsigned char b); @@ -1734,7 +1984,7 @@ /// Set the foreground color. /// /// @param[in] color is expressed in 16-bit format. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t foreground(color_t color); @@ -1744,14 +1994,14 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t foreground(unsigned char r, unsigned char g, unsigned char b); /// Get the current foreground color value. /// - /// @returns the current foreground color. + /// @returns the current foreground color as @ref color_t. /// color_t GetForeColor(void); @@ -1762,7 +2012,8 @@ /// set the forecolor! /// /// @param[in] p is the point_t defining the location. - /// @returns success/failure code. See @ref RetCode_t. + /// @param[in] color is expressed in 16-bit format. + /// @returns @ref RetCode_t value. /// virtual RetCode_t pixel(point_t p, color_t color); @@ -1770,7 +2021,7 @@ /// Draw a pixel in the current foreground color. /// /// @param[in] p is the point_t defining the location. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t pixel(point_t p); @@ -1783,7 +2034,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t pixel(loc_t x, loc_t y, color_t color); @@ -1792,7 +2043,7 @@ /// /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t pixel(loc_t x, loc_t y); @@ -1801,7 +2052,7 @@ /// /// @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 + /// @returns the pixel. See @ref color_t /// virtual color_t getPixel(loc_t x, loc_t y); @@ -1812,7 +2063,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t pixelStream(color_t * p, uint32_t count, loc_t x, loc_t y); @@ -1823,7 +2074,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t getPixelStream(color_t * p, uint32_t count, loc_t x, loc_t y); @@ -1849,7 +2100,7 @@ /// @param[in] h is the height of the rectangular region to fill. /// @param[in] boolStream is the inline memory image from which to extract /// the bitstream. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t booleanStream(loc_t x, loc_t y, dim_t w, dim_t h, const uint8_t * boolStream); @@ -1862,7 +2113,7 @@ /// @param[in] p1 is the point to start the line. /// @param[in] p2 is the point to end the line. /// @param[in] color defines the foreground color. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t line(point_t p1, point_t p2, color_t color); @@ -1873,7 +2124,7 @@ /// /// @param[in] p1 is the point to start the line. /// @param[in] p2 is the point to end the line. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t line(point_t p1, point_t p2); @@ -1888,7 +2139,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t line(loc_t x1, loc_t y1, loc_t x2, loc_t y2, color_t color); @@ -1901,7 +2152,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t line(loc_t x1, loc_t y1, loc_t x2, loc_t y2); @@ -1923,7 +2174,7 @@ /// @param[in] p2 is the point to end the line. /// @param[in] thickness is the line thickness. /// @param[in] color defines the foreground color. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t ThickLine(point_t p1, point_t p2, dim_t thickness, color_t color); @@ -1936,7 +2187,7 @@ /// @param[in] rect defines the rectangle. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t rect(rect_t rect, color_t color, fill_t fillit = NOFILL); @@ -1949,7 +2200,7 @@ /// @param[in] rect defines the rectangle. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t fillrect(rect_t rect, color_t color, fill_t fillit = FILL); @@ -1965,7 +2216,7 @@ /// @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 FILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t rect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, color_t color, fill_t fillit = NOFILL); @@ -1982,7 +2233,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// virtual RetCode_t fillrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, color_t color, fill_t fillit = FILL); @@ -1997,7 +2248,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t rect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, fill_t fillit = NOFILL); @@ -2025,7 +2276,7 @@ /// is returned. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t fillroundrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, dim_t radius1, dim_t radius2, color_t color, fill_t fillit = FILL); @@ -2050,7 +2301,7 @@ /// is returned. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t fillroundrect(rect_t r, dim_t radius1, dim_t radius2, color_t color, fill_t fillit = FILL); @@ -2075,7 +2326,7 @@ /// is returned. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t roundrect(rect_t r, dim_t radius1, dim_t radius2, color_t color, fill_t fillit = NOFILL); @@ -2103,7 +2354,7 @@ /// is returned. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t roundrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, dim_t radius1, dim_t radius2, color_t color, fill_t fillit = NOFILL); @@ -2127,7 +2378,7 @@ /// that this value < 1/2 the height of the rectangle, or bad_parameter /// is returned. /// @param[in] fillit is optional to FILL the rectangle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t roundrect(loc_t x1, loc_t y1, loc_t x2, loc_t y2, dim_t radius1, dim_t radius2, fill_t fillit = NOFILL); @@ -2146,7 +2397,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t triangle(loc_t x1, loc_t y1, loc_t x2, loc_t y2, loc_t x3, loc_t y3, color_t color, fill_t fillit = NOFILL); @@ -2165,7 +2416,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t filltriangle(loc_t x1, loc_t y1, loc_t x2, loc_t y2, loc_t x3, loc_t y3, color_t color, fill_t fillit = FILL); @@ -2182,7 +2433,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t triangle(loc_t x1, loc_t y1, loc_t x2, loc_t y2, loc_t x3, loc_t y3, fill_t fillit = NOFILL); @@ -2197,7 +2448,7 @@ /// @param[in] radius defines the size of the circle. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the circle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t circle(point_t p, dim_t radius, color_t color, fill_t fillit = NOFILL); @@ -2211,7 +2462,7 @@ /// @param[in] radius defines the size of the circle. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the circle. default is FILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t fillcircle(point_t p, dim_t radius, color_t color, fill_t fillit = FILL); @@ -2223,7 +2474,7 @@ /// @param[in] p defines the center of the circle. /// @param[in] radius defines the size of the circle. /// @param[in] fillit is optional to FILL the circle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t circle(point_t p, dim_t radius, fill_t fillit = NOFILL); @@ -2238,7 +2489,7 @@ /// @param[in] radius defines the size of the circle. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the circle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t circle(loc_t x, loc_t y, dim_t radius, color_t color, fill_t fillit = NOFILL); @@ -2253,7 +2504,7 @@ /// @param[in] radius defines the size of the circle. /// @param[in] color defines the foreground color. /// @param[in] fillit is optional to FILL the circle. default is FILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t fillcircle(loc_t x, loc_t y, dim_t radius, color_t color, fill_t fillit = FILL); @@ -2266,7 +2517,7 @@ /// @param[in] y is the vertical center of the circle. /// @param[in] radius defines the size of the circle. /// @param[in] fillit is optional to FILL the circle. default is NOFILL. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t circle(loc_t x, loc_t y, dim_t radius, fill_t fillit = NOFILL); @@ -2281,7 +2532,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t ellipse(loc_t x, loc_t y, dim_t radius1, dim_t radius2, color_t color, fill_t fillit = NOFILL); @@ -2298,7 +2549,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t fillellipse(loc_t x, loc_t y, dim_t radius1, dim_t radius2, color_t color, fill_t fillit = FILL); @@ -2313,7 +2564,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t ellipse(loc_t x, loc_t y, dim_t radius1, dim_t radius2, fill_t fillit = NOFILL); @@ -2330,6 +2581,8 @@ /// outside of this API. /// /// @code + /// // Block Move Demo + /// /// // Calibrate the resistive touch screen, and store the data on the /// // local file system. /// // @@ -2423,7 +2676,7 @@ /// (write/read/move/...) /// @param[in] bte_rop_code [51.7-4] defines what type of BTE operation to perform /// (what is placed at the destination) - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t BlockMove(uint8_t dstLayer, uint8_t dstDataSelect, point_t dstPoint, uint8_t srcLayer, uint8_t srcDataSelect, point_t srcPoint, @@ -2434,14 +2687,14 @@ /// Control display power /// /// @param[in] on when set to true will turn on the display, when false it is turned off. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t Power(bool on); /// Reset the display controller via the Software Reset interface. /// - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t Reset(void); @@ -2452,7 +2705,7 @@ /// API can be used to set the brightness. /// /// @param[in] brightness ranges from 0 (off) to 255 (full on) - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t Backlight_u8(uint8_t brightness); @@ -2469,7 +2722,7 @@ /// API can be used to set the brightness. /// /// @param[in] brightness ranges from 0.0 (off) to 1.0 (full on) - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t Backlight(float brightness); @@ -2489,7 +2742,7 @@ /// format. /// /// @param[in] font is a pointer to a specially formed font resource. - /// @returns error code. + /// @returns @ref RetCode_t value. /// virtual RetCode_t SelectUserFont(const uint8_t * font = NULL); @@ -2499,26 +2752,30 @@ /// virtual const uint8_t * GetUserFont(void) { return font; } - /// Get the RGB value for a DOS color. - /// + /// Get the @ref color_t value from a DOS color index. + /// + /// See @ref PredefinedColors, @ref color_t. + /// /// @code /// color_t color = DOSColor(12); /// @endcode /// - /// @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. + /// @param[in] i is the color index, in the range 0 to 15; + /// @returns the @ref color_t value of the selected index, + /// or 0 (@ref Black) if the index is out of bounds. /// color_t DOSColor(int i); - /// Get the color name (string) for a DOS color. - /// + /// Get the color name (string) from a DOS color index. + /// + /// See @ref PredefinedColors, @ref color_t. + /// /// @code /// printf("color is %s\n", DOSColorNames(12)); /// @endcode /// - /// @param[in] i is the color, in the range 0 to 15; + /// @param[in] i is the color index, 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. /// @@ -2536,9 +2793,9 @@ /// be used to send individual pixels to the screen. /// /// To conclude the graphics stream, See @ref _EndGraphicsStream should - /// be callled. - /// - /// @returns error code. + /// be called. + /// + /// @returns @ref RetCode_t value. /// virtual RetCode_t _StartGraphicsStream(void); @@ -2554,7 +2811,7 @@ /// @endcode /// /// @param[in] pixel is a color value to be put on the screen. - /// @returns error code. + /// @returns @ref RetCode_t value. /// virtual RetCode_t _putp(color_t pixel); @@ -2566,7 +2823,7 @@ /// class in order to stop the hardware from accept the streaming /// data. /// - /// @returns error code. + /// @returns @ref RetCode_t value. /// virtual RetCode_t _EndGraphicsStream(void); @@ -2596,7 +2853,7 @@ /// applications as a starting point. /// @param[in] Hz2 is an optional parameter and will set the read /// speed independently of the write speed. - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t frequency(unsigned long Hz = RA8875_DEFAULT_SPI_FREQ, unsigned long Hz2 = 0); @@ -2623,7 +2880,7 @@ /// accepts the values 24, 8 /// NOTE: The downscaling is CPU intensive, and the operation /// takes longer. - /// @return success or error code. + /// @returns @ref RetCode_t value. /// RetCode_t PrintScreen(loc_t x, loc_t y, dim_t w, dim_t h, const char *Name_BMP, uint8_t bitsPerPixel = 24); @@ -2651,7 +2908,7 @@ /// accepts the values 24, 8 /// NOTE: The downscaling is CPU intensive, and the operation /// takes longer. - /// @return success or error code. + /// @returns @ref RetCode_t value. /// RetCode_t PrintScreen(loc_t x, loc_t y, dim_t w, dim_t h, uint8_t bitsPerPixel = 24); @@ -2701,7 +2958,7 @@ /// @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. + /// @returns @ref RetCode_t value. /// RetCode_t PrintScreen(uint16_t layer, loc_t x, loc_t y, dim_t w, dim_t h, const char *Name_BMP); @@ -2901,7 +3158,7 @@ /// /// @param[in] regAddr is the register address starting the trio /// @param[in] color is the color to write - /// @returns success/failure code. See @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t _writeColorTrio(uint8_t regAddr, color_t color); @@ -2936,7 +3193,7 @@ /// @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 @ref RetCode_t. + /// @returns @ref RetCode_t value. /// RetCode_t _select(bool chipsel);