brw1

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

RA8875 Class Reference

This is a graphics library for the Raio RA8875 Display Controller chip attached to a 4-wire SPI interface. More...

#include <RA8875.h>

Inherits GraphicsDisplay.

Public Types

enum  cursor_t { NOCURSOR, IBEAM, UNDER, BLOCK }
 

cursor type to be shown as the text cursor.

More...
enum  font_t { ISO8859_1, ISO8859_2, ISO8859_3, ISO8859_4 }
 

font type selection.

More...
enum  font_angle_t { normal, rotated }
 

font rotation selection

More...
enum  alignment_t { align_none, align_full }
 

alignment

More...
enum  Region_t { FULLWINDOW, ACTIVEWINDOW }
 

Clear screen region.

More...
enum  LayerMode_T {
  ShowLayer0, ShowLayer1, LightenOverlay, TransparentMode,
  BooleanOR, BooleanAND, FloatingWindow
}
 

Set the Layer Display Mode. SetLayerMode.

More...
enum  tpmode_t { TP_Auto, TP_Manual }
 

Touch Panel modes.

More...
typedef int HorizontalScale
 Scale factor - 1, 2, 3 4.
typedef int VerticalScale
 Scale factor - 1, 2, 3, 4.

Public Member Functions

 RA8875 (PinName mosi, PinName miso, PinName sclk, PinName csel, PinName reset, const char *name="lcd")
 Constructor for a display based on the RAiO RA8875 display controller.
RetCode_t init (int width=480, int height=272, int color_bpp=16, bool poweron=true, bool keypadon=true, bool touchscreeenon=true)
 Initialize the driver.
const char * GetErrorMessage (RetCode_t code)
 Get a pointer to the error code.
RetCode_t SelectDrawingLayer (uint16_t layer)
 Select the drawing layer for subsequent commands.
uint16_t GetDrawingLayer (void)
 Get the currently active drawing layer.
RetCode_t SetLayerMode (LayerMode_T mode)
 Set the Layer presentation mode.
RetCode_t SetLayerTransparency (uint8_t layer1, uint8_t layer2)
 Set the layer transparency for each layer.
RetCode_t SetBackgroundTransparencyColor (color_t color=RGB(0, 0, 0))
 Set the background color register used for transparency.
color_t GetBackgroundTransparencyColor (void)
 Get the background color value used for transparency.
RetCode_t TouchPanelInit (void)
 Initialize theTouch Panel controller with default values.
RetCode_t TouchPanelInit (uint8_t bTpEnable, uint8_t bTpAutoManual, uint8_t bTpDebounce, uint8_t bTpManualMode, uint8_t bTpAdcClkDiv, uint8_t bTpAdcSampleTime)
 Initialize the Touch Panel controller with detailed settings.
bool TouchPanelA2DFiltered (loc_t *x, loc_t *y)
 Poll the TouchPanel and on a touch event return the a to d filtered x, y coordinates.
bool TouchPanelA2DRaw (loc_t *x, loc_t *y)
 Poll the TouchPanel and on a touch event return the a to d raw x, y coordinates.
RetCode_t TouchPanelComputeCalibration (point_t display[3], point_t screen[3], tpMatrix_t *matrix)
 Calibrate the touch panel.
RetCode_t TouchPanelCalibrate (tpMatrix_t *matrix)
 Perform the touch panel calibration process.
RetCode_t TouchPanelCalibrate (const char *msg, tpMatrix_t *matrix=NULL)
 Perform the touch panel calibration process.
bool TouchPanelReadable (point_t *touch=NULL)
 Get the screen calibrated point of touch.
bool TouchPanelGet (point_t *touch)
 Wait for a touch panel touch and return it.
RetCode_t TouchPanelSetMatrix (tpMatrix_t *matrix)
 Set the calibration matrix for the touch panel.
void AppendISR (uint8_t bISRType, void(*fptr)(void))
 Append interrupt handler for specific RA8875 interrupt source.
void UnAppendISR (uint8_t bISRType)
 Unappend interrupt handler for specific RA8875 interrupt source.
RetCode_t KeypadInit (bool scanEnable=true, bool longDetect=false, uint8_t sampleTime=0, uint8_t scanFrequency=0, uint8_t longTimeAdjustment=0, bool interruptEnable=false, bool wakeupEnable=false)
 Initialize the keypad interface on the RA8875 controller.
RetCode_t SetKeyMap (const uint8_t *CodeList=NULL)
 Create Key Code definitions for the key matrix.
bool readable ()
 Determine if a key has been hit.
uint8_t getc ()
 Blocking read of the keypad.
RetCode_t WriteCommandW (uint8_t command, uint16_t data)
 Write a command to the display with a word of data.
virtual RetCode_t WriteCommand (unsigned char command, unsigned int data=0xFFFF)
 Write a command to the display.
RetCode_t WriteDataW (uint16_t data)
 Write a data word to the display.
virtual RetCode_t WriteData (unsigned char data)
 Write a data byte to the display.
unsigned char ReadCommand (unsigned char command)
 Read a command register.
unsigned char ReadData (void)
 Read a data byte from the display.
uint16_t ReadDataW (void)
 Read a word from the display.
unsigned char ReadStatus (void)
 Read the display status.
dim_t fontwidth (void)
 get the width in pixels of the currently active font
dim_t fontheight (void)
 get the height in pixels of the currently active font
virtual int columns (void)
 get the number of colums based on the currently active font
virtual int rows (void)
 get the number of rows based on the currently active font
virtual dim_t width (void)
 get the screen width in pixels
virtual dim_t height (void)
 get the screen height in pixels
virtual dim_t color_bpp (void)
 get the color depth in bits per pixel.
virtual RetCode_t locate (textloc_t column, textloc_t row)
 Set cursor position based on the current font size.
RetCode_t SetTextCursor (loc_t x, loc_t y)
 Prepare the controller to write text to the screen by positioning the cursor.
point_t GetTextCursor (void)
 Get the current cursor position in pixels.
loc_t GetTextCursor_X (void)
 Get the current cursor horizontal position in pixels.
loc_t GetTextCursor_Y (void)
 Get the current cursor vertical position in pixels.
RetCode_t SetTextCursorControl (cursor_t cursor=NOCURSOR, bool blink=false)
 Configure additional Cursor Control settings.
RetCode_t SetTextFont (font_t font=ISO8859_1)
 Select the ISO 8859-X font to use next.
RetCode_t SetTextFontControl (fill_t fillit=FILL, font_angle_t angle=normal, HorizontalScale hScale=1, VerticalScale vScale=1, alignment_t alignment=align_none)
 Control the font behavior.
RetCode_t SetTextFontSize (HorizontalScale hScale=1, VerticalScale vScale=-1)
 Control the font size.
virtual int _putc (int c)
 put a character on the screen.
void puts (const char *string)
 Write string of text to the display.
void puts (loc_t x, loc_t y, const char *string)
 Write string of text to the display at the specified location.
virtual RetCode_t SetGraphicsCursor (loc_t x, loc_t y)
 Prepare the controller to write binary data to the screen by positioning the memory cursor.
virtual RetCode_t SetGraphicsCursorRead (loc_t x, loc_t y)
 Prepare the controller to read binary data from the screen by positioning the memory read cursor.
virtual RetCode_t window (loc_t x, loc_t y, dim_t width, dim_t height)
 Set the window, which controls where items are written to the screen.
virtual RetCode_t cls (uint16_t layers=0)
 Clear either the specified layer, or the active layer.
RetCode_t clsw (RA8875::Region_t region=FULLWINDOW)
 Clear the screen, or clear only the active window.
virtual RetCode_t background (color_t color)
 Set the background color.
virtual RetCode_t background (unsigned char r, unsigned char g, unsigned char b)
 Set the background color.
virtual RetCode_t foreground (color_t color)
 Set the foreground color.
virtual RetCode_t foreground (unsigned char r, unsigned char g, unsigned char b)
 Set the foreground color.
color_t GetForeColor (void)
 Get the current foreground color value.
virtual RetCode_t pixel (loc_t x, loc_t y, color_t color)
 Draw a pixel in the specified color.
virtual RetCode_t pixel (loc_t x, loc_t y)
 Draw a pixel in the current foreground color.
virtual color_t getPixel (loc_t x, loc_t y)
 Get a pixel from the display.
virtual RetCode_t pixelStream (color_t *p, uint32_t count, loc_t x, loc_t y)
 Write a stream of pixels to the display.
virtual RetCode_t getPixelStream (color_t *p, uint32_t count, loc_t x, loc_t y)
 Get a stream of pixels from the display.
RetCode_t line (loc_t x1, loc_t y1, loc_t x2, loc_t y2, color_t color)
 Draw a line in the specified color.
RetCode_t line (loc_t x1, loc_t y1, loc_t x2, loc_t y2)
 Draw a line.
RetCode_t rect (rect_t rect, color_t color, fill_t fillit)
 Draw a rectangle in the specified color.
RetCode_t fillrect (rect_t rect, color_t color, fill_t fillit=FILL)
 Draw a filled rectangle in the specified color.
RetCode_t rect (loc_t x1, loc_t y1, loc_t x2, loc_t y2, color_t color, fill_t fillit=NOFILL)
 Draw a rectangle in the specified color.
virtual RetCode_t fillrect (loc_t x1, loc_t y1, loc_t x2, loc_t y2, color_t color, fill_t fillit=FILL)
 Draw a filled rectangle in the specified color.
RetCode_t rect (loc_t x1, loc_t y1, loc_t x2, loc_t y2, fill_t fillit=NOFILL)
 Draw a rectangle.
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)
 Draw a filled rectangle with rounded corners using the specified color.
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)
 Draw a rectangle with rounded corners using the specified color.
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)
 Draw a rectangle with rounded corners.
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)
 Draw a triangle in the specified color.
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)
 Draw a filled triangle in the specified color.
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)
 Draw a triangle.
RetCode_t circle (loc_t x, loc_t y, dim_t radius, color_t color, fill_t fillit=NOFILL)
 Draw a circle using the specified color.
RetCode_t fillcircle (loc_t x, loc_t y, dim_t radius, color_t color, fill_t fillit=FILL)
 Draw a filled circle using the specified color.
RetCode_t circle (loc_t x, loc_t y, dim_t radius, fill_t fillit=NOFILL)
 Draw a circle.
RetCode_t ellipse (loc_t x, loc_t y, dim_t radius1, dim_t radius2, color_t color, fill_t fillit=NOFILL)
 Draw an Ellipse using the specified color.
RetCode_t fillellipse (loc_t x, loc_t y, dim_t radius1, dim_t radius2, color_t color, fill_t fillit=FILL)
 Draw a filled Ellipse using the specified color.
RetCode_t ellipse (loc_t x, loc_t y, dim_t radius1, dim_t radius2, fill_t fillit=NOFILL)
 Draw an Ellipse.
RetCode_t Power (bool on)
 Control display power.
RetCode_t Reset (void)
 Reset the display controller via the Software Reset interface.
RetCode_t Backlight_u8 (unsigned char brightness)
 Set backlight brightness.
RetCode_t Backlight (float brightness)
 Set backlight brightness.
virtual RetCode_t set_font (const unsigned char *font=NULL)
 Select a bitmap font (provided by the user) for all subsequent text.
color_t DOSColor (int i)
 Get the RGB value for a DOS color.
const char * DOSColorNames (int i)
 Get the color name (string) for a DOS color.
virtual RetCode_t _StartGraphicsStream (void)
 Advanced method indicating the start of a graphics stream.
virtual RetCode_t _putp (color_t pixel)
 Advanced method to put a single color pixel to the screen.
virtual RetCode_t _EndGraphicsStream (void)
 Advanced method indicating the end of a graphics stream.
RetCode_t frequency (unsigned long Hz=RA8875_DEFAULT_SPI_FREQ, unsigned long Hz2=0)
 Set the SPI port frequency (in Hz).
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.
RetCode_t PrintScreen (uint16_t layer, 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.
void ClearPerformance ()
 Clear the performance metrics to zero.
void CountIdleTime (uint32_t t)
 Count idle time.
void ReportPerformance (Serial &pc)
 Report the performance metrics for drawing functions using the available serial channel.
virtual RetCode_t WindowMax (void)
 method to set the window region to the full screen.
virtual RetCode_t fill (int x, int y, int w, int h, color_t color)
 method to fill a region.
virtual int fontblit (int x, int y, const unsigned char *fontTable, const unsigned char *fontChar)
 This method transfers one character from the external font data to the screen.
color_t RGBQuadToRGB16 (RGBQUAD *colorPaletteArray, uint16_t index)
 This method returns the color value from a palette.
RGBQUAD RGB16ToRGBQuad (color_t c)
 This method converts a 16-bit color value into a 24-bit RGB Quad.
RetCode_t RenderImageFile (loc_t x, loc_t y, const char *FileName)
 This method attempts to render a specified graphics image file at the specified screen location.
RetCode_t RenderBitmapFile (loc_t x, loc_t y, const char *Name_BMP)
 This method reads a disk file that is in bitmap format and puts it on the screen.
RetCode_t RenderIconFile (loc_t x, loc_t y, const char *Name_ICO)
 This method reads a disk file that is in ico format and puts it on the screen.
virtual int character (int x, int y, int value)
 prints one character at the specified coordinates.
virtual bool claim (FILE *stream)
 redirect output from a stream (stoud, sterr) to display

Protected Member Functions

RetCode_t _RenderBitmap (loc_t x, loc_t y, uint32_t fileOffset, FILE *Image)
 Protected method to render an image given a file handle and coordinates.

Detailed Description

This is a graphics library for the Raio RA8875 Display Controller chip attached to a 4-wire SPI interface.

It offers both primitive and high level APIs.

Central to this API is a coordinate system, where the origin (0,0) is in the top-left corner of the display, and the width (x) extends positive to the right and the height (y) extends positive toward the bottom.

As there are both graphics and text commands, one must take care to use the proper coordinate system for each. Some of the text APIs are in units of column and row, which is measured in character positions (and dependent on the font size), where other text APIs permit pixel level positioning.

 #include "RA8875.h"
 RA8875 lcd(p5, p6, p7, p12, NC, "tft");

 int main()
 {
     lcd.init();
     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);
 }

Definition at line 150 of file RA8875.h.


Member Typedef Documentation

typedef int HorizontalScale

Scale factor - 1, 2, 3 4.

Definition at line 186 of file RA8875.h.

typedef int VerticalScale

Scale factor - 1, 2, 3, 4.

Definition at line 189 of file RA8875.h.


Member Enumeration Documentation

alignment

Enumerator:
align_none 

align - none

align_full 

align - full

Definition at line 179 of file RA8875.h.

enum cursor_t

cursor type to be shown as the text cursor.

Enumerator:
NOCURSOR 

cursor is hidden

IBEAM 

| cursor

UNDER 

_ cursor

BLOCK 

Block cursor.

Definition at line 154 of file RA8875.h.

font rotation selection

Enumerator:
normal 

normal orientation

rotated 

rotated orientation

Definition at line 172 of file RA8875.h.

enum font_t

font type selection.

Enumerator:
ISO8859_1 

ISO8859-1 font.

ISO8859_2 

ISO8859-2 font.

ISO8859_3 

ISO8859-3 font.

ISO8859_4 

ISO8859-4 font.

Definition at line 163 of file RA8875.h.

Set the Layer Display Mode. SetLayerMode.

Enumerator:
ShowLayer0 

Only layer 0 is visible, layer 1 is hidden (default)

ShowLayer1 

Only layer 1 is visible, layer 0 is hidden.

LightenOverlay 

Lighten-overlay mode.

TransparentMode 

Transparent mode.

BooleanOR 

Boolean OR mode.

BooleanAND 

Boolean AND mode.

FloatingWindow 

Floating Window mode.

Definition at line 199 of file RA8875.h.

enum Region_t

Clear screen region.

Enumerator:
FULLWINDOW 

Full screen.

ACTIVEWINDOW 

active window/region

Definition at line 192 of file RA8875.h.

enum tpmode_t

Touch Panel modes.

Enumerator:
TP_Auto 

Auto touch detection mode.

TP_Manual 

Manual touch detection mode.

Definition at line 211 of file RA8875.h.


Constructor & Destructor Documentation

RA8875 ( PinName  mosi,
PinName  miso,
PinName  sclk,
PinName  csel,
PinName  reset,
const char *  name = "lcd" 
)

Constructor for a display based on the RAiO RA8875 display controller.

This configures the registers and calls the init method.

 #include "RA8875.h"
 RA8875 lcd(p5, p6, p7, p12, NC, "tft");

 int main()
 {
     lcd.init();
     lcd.printf("printing 3 x 2 = %d", 3*2);
     lcd.circle(400,25, 25, BrightRed);
 }
Parameters:
[in]mosiis the SPI master out slave in pin on the mbed.
[in]misois the SPI master in slave out pin on the mbed.
[in]sclkis the SPI shift clock pin on the mbed.
[in]cselis the DigitalOut pin on the mbed to use as the active low chip select for the display controller.
[in]resetis the DigitalOut pin on the mbed to use as the active low reset input on the display controller - but this is not currently used.
[in]nameis a text name for this object, which will permit capturing stdout to puts() and printf() directly to it.

Definition at line 93 of file RA8875.cpp.


Member Function Documentation

RetCode_t _EndGraphicsStream ( void   ) [virtual]

Advanced method indicating the end of a graphics stream.

This is called to conclude a stream of pixel data that was sent. This may cause register configuration changes in the derived class in order to stop the hardware from accept the streaming data.

Returns:
error code.

Implements GraphicsDisplay.

Definition at line 789 of file RA8875.cpp.

int _putc ( int  c ) [virtual]

put a character on the screen.

Parameters:
[in]cis the character.
Returns:
the character, or EOF if there is an error.

Reimplemented from TextDisplay.

Definition at line 713 of file RA8875.cpp.

RetCode_t _putp ( color_t  pixel ) [virtual]

Advanced method to put a single color pixel to the screen.

This method may be called as many times as necessary after

See also:
_StartGraphicsStream() is called, and it should be followed by _EndGraphicsStream.
Parameters:
[in]pixelis a color value to be put on the screen.
Returns:
error code.

Reimplemented from GraphicsDisplay.

Definition at line 795 of file RA8875.cpp.

RetCode_t _RenderBitmap ( loc_t  x,
loc_t  y,
uint32_t  fileOffset,
FILE *  Image 
) [protected, inherited]

Protected method to render an image given a file handle and coordinates.

Parameters:
[in]xis the horizontal pixel coordinate
[in]yis the vertical pixel coordinate
[in]wis the image width restriction, or zero to permit full image width.
[in]his the image height restriction, or zero to permit full image height.
[in]fileOffsetis the offset into the file where the image data starts
[in]Imageis the filename stream already opened for the data.
Returns:
success or error code.

Definition at line 359 of file GraphicsDisplay.cpp.

RetCode_t _StartGraphicsStream ( void   ) [virtual]

Advanced method indicating the start of a graphics stream.

This is called prior to a stream of pixel data being sent. This may cause register configuration changes in the derived class in order to prepare the hardware to accept the streaming data.

Following this command, a series of

See also:
_putp() commands can be used to send individual pixels to the screen.

To conclude the graphics stream,

See also:
_EndGraphicsStream should be callled.
Returns:
error code.

Implements GraphicsDisplay.

Definition at line 781 of file RA8875.cpp.

void AppendISR ( uint8_t  bISRType,
void(*)(void)  fptr 
)

Append interrupt handler for specific RA8875 interrupt source.

Parameters:
[in]bISRTypeInterrupt Source, should be:

  • RA8875_INT_KEYSCAN: KEYCAN interrupt
  • RA8875_INT_DMA: DMA interrupt
  • RA8875_INT_TP: Touch panel interrupt
  • RA8875_INT_BTE: BTE process complete interrupt
  • RA8875_INT_BTEMCU_FONTWR: Multi-purpose interrupt (see spec sheet)
[in]fptris a callback function to handle the interrupt event.
Returns:
none
RetCode_t background ( color_t  color ) [virtual]

Set the background color.

Parameters:
[in]coloris expressed in 16-bit format.
Returns:
success/failure code.
See also:
RetCode_t.

Implements TextDisplay.

Definition at line 1341 of file RA8875.cpp.

RetCode_t background ( unsigned char  r,
unsigned char  g,
unsigned char  b 
) [virtual]

Set the background color.

Parameters:
[in]ris the red element of the color.
[in]gis the green element of the color.
[in]bis the blue element of the color.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1351 of file RA8875.cpp.

RetCode_t Backlight ( float  brightness )

Set backlight brightness.

When the built-in PWM is used to control the backlight, this API can be used to set the brightness.

Parameters:
[in]brightnessranges from 0.0 (off) to 1.0 (full on)
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1316 of file RA8875.cpp.

RetCode_t Backlight_u8 ( unsigned char  brightness )

Set backlight brightness.

When the built-in PWM is used to control the backlight, this API can be used to set the brightness.

Parameters:
[in]brightnessranges from 0 (off) to 255 (full on)
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1297 of file RA8875.cpp.

int character ( int  x,
int  y,
int  value 
) [virtual, inherited]

prints one character at the specified coordinates.

This will print the character at the specified pixel coordinates.

Parameters:
[in]xis the horizontal offset in pixels.
[in]yis the vertical offset in pixels.
[in]valueis the character to print.
Returns:
number of pixels to index to the right if a character was printed, 0 otherwise.

Implements TextDisplay.

Definition at line 196 of file GraphicsDisplay.cpp.

RetCode_t circle ( loc_t  x,
loc_t  y,
dim_t  radius,
fill_t  fillit = NOFILL 
)

Draw a circle.

Draws a circle using the foreground color setting.

Parameters:
[in]xis the horizontal center of the circle.
[in]yis the vertical center of the circle.
[in]radiusdefines the size of the circle.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1198 of file RA8875.cpp.

RetCode_t circle ( loc_t  x,
loc_t  y,
dim_t  radius,
color_t  color,
fill_t  fillit = NOFILL 
)

Draw a circle using the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]xis the horizontal center of the circle.
[in]yis the vertical center of the circle.
[in]radiusdefines the size of the circle.
[in]colordefines the foreground color.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1182 of file RA8875.cpp.

bool claim ( FILE *  stream ) [virtual, inherited]

redirect output from a stream (stoud, sterr) to display

Note:
this method may be overridden in a derived class.
Parameters:
[in]streamthat shall be redirected to the TextDisplay
Returns:
true if the claim succeeded.

Definition at line 95 of file TextDisplay.cpp.

void ClearPerformance (  )

Clear the performance metrics to zero.

Definition at line 368 of file RA8875.cpp.

RetCode_t cls ( uint16_t  layers = 0 ) [virtual]

Clear either the specified layer, or the active layer.

The behavior is to clear the whole screen for the specified layer. When not specified, the active drawing layer is cleared. This command can also be used to specifically clear either, or both layers.

See also:
clsw().
     lcd.cls();
Parameters:
[in]layersis 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.
Returns:
success/failure code.
See also:
RetCode_t.

Reimplemented from GraphicsDisplay.

Definition at line 870 of file RA8875.cpp.

RetCode_t clsw ( RA8875::Region_t  region = FULLWINDOW )

Clear the screen, or clear only the active window.

The default behavior is to clear the whole screen. With the optional parameter, the action can be restricted to the active window, which can be set with the

See also:
window method.
     lcd.window(20,20, 40,10);
     lcd.clsw();
Parameters:
[in]regionis an optional parameter that defaults to FULLWINDOW or may be set to ACTIVEWINDOW.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 897 of file RA8875.cpp.

dim_t color_bpp ( void   ) [virtual]

get the color depth in bits per pixel.

Returns:
8 or 16 only.

Definition at line 583 of file RA8875.cpp.

int columns ( void   ) [virtual]

get the number of colums based on the currently active font

Returns:
number of columns.

Reimplemented from GraphicsDisplay.

Definition at line 559 of file RA8875.cpp.

void CountIdleTime ( uint32_t  t )

Count idle time.

Parameters:
[in]tis the amount of idle time to accumulate.

Definition at line 385 of file RA8875.cpp.

color_t DOSColor ( int  i )

Get the RGB value for a DOS color.

Parameters:
[in]iis 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.

Definition at line 1392 of file RA8875.cpp.

const char * DOSColorNames ( int  i )

Get the color name (string) for a DOS color.

Parameters:
[in]iis 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.

Definition at line 1407 of file RA8875.cpp.

RetCode_t ellipse ( loc_t  x,
loc_t  y,
dim_t  radius1,
dim_t  radius2,
color_t  color,
fill_t  fillit = NOFILL 
)

Draw an Ellipse using the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]xis the horizontal center of the ellipse.
[in]yis the vertical center of the ellipse.
[in]radius1defines the horizontal radius of the ellipse.
[in]radius2defines the vertical radius of the ellipse.
[in]colordefines the foreground color.
[in]fillitdefines whether the circle is filled or not.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1223 of file RA8875.cpp.

RetCode_t ellipse ( loc_t  x,
loc_t  y,
dim_t  radius1,
dim_t  radius2,
fill_t  fillit = NOFILL 
)

Draw an Ellipse.

Draws it using the foreground color setting.

Parameters:
[in]xis the horizontal center of the ellipse.
[in]yis the vertical center of the ellipse.
[in]radius1defines the horizontal radius of the ellipse.
[in]radius2defines the vertical radius of the ellipse.
[in]fillitdefines whether the circle is filled or not.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1237 of file RA8875.cpp.

RetCode_t fill ( int  x,
int  y,
int  w,
int  h,
color_t  color 
) [virtual, inherited]

method to fill a region.

This method fills a region with the specified color.

Parameters:
[in]xis the left-edge of the region.
[in]yis the top-edge of the region.
[in]wspecifies the width of the region.
[in]hspecifies the height of the region.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 251 of file GraphicsDisplay.cpp.

RetCode_t fillcircle ( loc_t  x,
loc_t  y,
dim_t  radius,
color_t  color,
fill_t  fillit = FILL 
)

Draw a filled circle using the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]xis the horizontal center of the circle.
[in]yis the vertical center of the circle.
[in]radiusdefines the size of the circle.
[in]colordefines the foreground color.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1190 of file RA8875.cpp.

RetCode_t fillellipse ( loc_t  x,
loc_t  y,
dim_t  radius1,
dim_t  radius2,
color_t  color,
fill_t  fillit = FILL 
)

Draw a filled Ellipse using the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]xis the horizontal center of the ellipse.
[in]yis the vertical center of the ellipse.
[in]radius1defines the horizontal radius of the ellipse.
[in]radius2defines the vertical radius of the ellipse.
[in]colordefines the foreground color.
[in]fillitdefines whether the circle is filled or not.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1230 of file RA8875.cpp.

RetCode_t fillrect ( rect_t  rect,
color_t  color,
fill_t  fillit = FILL 
)

Draw a filled rectangle in the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]rectdefines the rectangle.
[in]colordefines the foreground color.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1031 of file RA8875.cpp.

RetCode_t fillrect ( loc_t  x1,
loc_t  y1,
loc_t  x2,
loc_t  y2,
color_t  color,
fill_t  fillit = FILL 
) [virtual]

Draw a filled rectangle in the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]x1is the horizontal start of the line.
[in]y1is the vertical start of the line.
[in]x2is the horizontal end of the line.
[in]y2is the vertical end of the line.
[in]colordefines the foreground color.
[in]fillitis optional to NOFILL the rectangle. default is FILL.
Returns:
success/failure code.
See also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 1036 of file RA8875.cpp.

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 
)

Draw a filled rectangle with rounded corners using the specified color.

This draws a rounded rectangle. A numbers of checks are made on the values, and it could reduce this to drawing a line (if either x1 == x2, or y1 == y2), 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.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]x1is the horizontal start of the line and must be <= x2.
[in]y1is the vertical start of the line and must be <= y2.
[in]x2is the horizontal end of the line and must be >= x1.
[in]y2is the vertical end of the line and must be >= y1.
[in]radius1defines the horizontal radius of the curved corner. Take care that this value < 1/2 the width of the rectangle, or bad_parameter is returned.
[in]radius2defines the vertical radius of the curved corner. Take care that this value < 1/2 the height of the rectangle, or bad_parameter is returned.
[in]colordefines the foreground color.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1082 of file RA8875.cpp.

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 
)

Draw a filled triangle in the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]x1is the horizontal for point 1.
[in]y1is the vertical for point 1.
[in]x2is the horizontal for point 2.
[in]y2is the vertical for point 2.
[in]x3is the horizontal for point 3.
[in]y3is the vertical for point 3.
[in]colordefines the foreground color.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1145 of file RA8875.cpp.

int fontblit ( int  x,
int  y,
const unsigned char *  fontTable,
const unsigned char *  fontChar 
) [virtual, inherited]

This method transfers one character from the external font data to the screen.

Note:
the font data is in a special format as generate by the mikroe font creator. \ See http://www.mikroe.com/glcd-font-creator/
Parameters:
[in]xis the horizontal pixel coordinate
[in]yis the vertical pixel coordinate
[in]fontTableis the base of the table which has the metrics
[in]fontCharis the start of that record in the table for the char (e.g. 'A' - 'Z')
Returns:
how far the cursor should advance to the right in pixels

Definition at line 298 of file GraphicsDisplay.cpp.

dim_t fontheight ( void   )

get the height in pixels of the currently active font

Returns:
font height in pixels.

Definition at line 544 of file RA8875.cpp.

dim_t fontwidth ( void   )

get the width in pixels of the currently active font

Returns:
font width in pixels.

Definition at line 535 of file RA8875.cpp.

RetCode_t foreground ( color_t  color ) [virtual]

Set the foreground color.

Parameters:
[in]coloris expressed in 16-bit format.
Returns:
success/failure code.
See also:
RetCode_t.

Implements TextDisplay.

Definition at line 1361 of file RA8875.cpp.

RetCode_t foreground ( unsigned char  r,
unsigned char  g,
unsigned char  b 
) [virtual]

Set the foreground color.

Parameters:
[in]ris the red element of the color.
[in]gis the green element of the color.
[in]bis the blue element of the color.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1371 of file RA8875.cpp.

RetCode_t frequency ( unsigned long  Hz = RA8875_DEFAULT_SPI_FREQ,
unsigned long  Hz2 = 0 
)

Set the SPI port frequency (in Hz).

This uses the mbed SPI driver, and is therefore dependent on its capabilities. The RA8875 can accept writes via SPI faster than a read can be performed. The frequency set by this API is for the SPI writes. It will automatically reduce the SPI clock rate when a read is performed, and restore it for the next write. Alternately, the 2nd parameters permits setting the read speed rather than letting it compute it automatically.

Note:
The primary effect of this is to recover more CPU cycles for your application code. Keep in mind that when more than one command is sent to the display controller, that it will wait for the controller to finish the prior command. In this case, the performance is limited by the RA8875.
Parameters:
[in]Hzis 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. This depends partially on your hardware design and the wires connecting the display module. The default value is 5,000,000, which should work for most applications as a starting point.
[in]Hz2is an optional parameter and will set the read speed independently of the write speed.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1263 of file RA8875.cpp.

color_t GetBackgroundTransparencyColor ( void   )

Get the background color value used for transparency.

This command reads the background color registers that define the transparency color for operations involving layers.

Returns:
the color.

Definition at line 245 of file RA8875.cpp.

uint8_t getc ( void   )

Blocking read of the keypad.

: This is a blocking read, so it is important to first call _kbhit() to avoid hanging your processes.

A keypad connected to the RA8875 is connected in a matrix of 4 rows and 5 columns. When pressed, this method will return a code in the range of 1 through 20, reserving the value 0 to indicate that no key is pressed.

Additionally, if configured to detect a "long press", bit 7 will be set to indicate this. In this situation, first a "normal press" would be detected and signaled and soon after that a "long press" of the same key would be detected and communicated.

Returns:
8-bit where bit 7 indicates a long press. The remaining bits indicate the keypress using 0 = no key pressed, 1 - 20 = the key pressed.

Definition at line 293 of file RA8875.cpp.

uint16_t GetDrawingLayer ( void   )

Get the currently active drawing layer.

This returns a value, 0 or 1, based on the screen configuration and the currently active drawing layer.

     uint16_t prevLayer = lcd.GetDrawingLayer();
     lcd.SelectDrawingLayer(x);
     lcd.circle(400,25, 25, BrightRed);
     lcd.SelectDrawingLayer(prevLayer);
Attention:
The user manual refers to Layer 1 and Layer 2, however the actual register values are value 0 and 1. This API as well as others that reference the layers use the values 0 and 1 for cleaner iteration in the code.
Returns:
the current drawing layer; 0 or 1.

Definition at line 193 of file RA8875.cpp.

const char * GetErrorMessage ( RetCode_t  code )

Get a pointer to the error code.

This method returns a pointer to a text string that matches the code.

See also:
RetCode_t.
Parameters:
[in]codeis the return value from RetCode_t to look up.
Returns:
a pointer to the text message representing code. If code is not a valid value, then it returns the text for bad_parameter;

Definition at line 185 of file RA8875.cpp.

color_t GetForeColor ( void   )

Get the current foreground color value.

Returns:
the current foreground color.

Definition at line 1381 of file RA8875.cpp.

color_t getPixel ( loc_t  x,
loc_t  y 
) [virtual]

Get a pixel from the display.

Parameters:
[in]xis the horizontal offset to this pixel.
[in]yis the vertical offset to this pixel.
Returns:
the pixel. see

Implements GraphicsDisplay.

Definition at line 962 of file RA8875.cpp.

RetCode_t getPixelStream ( color_t *  p,
uint32_t  count,
loc_t  x,
loc_t  y 
) [virtual]

Get a stream of pixels from the display.

Parameters:
[in]pis a pointer to a color_t array to accept the stream.
[in]countis the number of pixels to read.
[in]xis the horizontal offset to this pixel.
[in]yis the vertical offset to this pixel.
Returns:
success/failure code.
See also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 982 of file RA8875.cpp.

point_t GetTextCursor ( void   )

Get the current cursor position in pixels.

     point_t point = GetTextCursor();
     if (point.x > 100 && point.y > 150)
         //...
Returns:
cursor position.
loc_t GetTextCursor_X ( void   )

Get the current cursor horizontal position in pixels.

Returns:
cursor position horizontal offset.

Definition at line 611 of file RA8875.cpp.

loc_t GetTextCursor_Y ( void   )

Get the current cursor vertical position in pixels.

Returns:
cursor position vertical offset.

Definition at line 602 of file RA8875.cpp.

dim_t height ( void   ) [virtual]

get the screen height in pixels

Returns:
screen height in pixels.

Implements GraphicsDisplay.

Definition at line 577 of file RA8875.cpp.

RetCode_t init ( int  width = 480,
int  height = 272,
int  color_bpp = 16,
bool  poweron = true,
bool  keypadon = true,
bool  touchscreeenon = true 
)

Initialize the driver.

Parameters:
[in]widthin pixels to configure the display for. This parameter is optional and the default is 480.
[in]heightin pixels to configure the display for. This parameter is optional and the default is 272.
[in]color_bppcan be either 8 or 16, but must be consistent with the width and height parameters. This parameter is optional and the default is 16.
[in]powerdefines if the display should be left in the power-on or off state. If power is true (on), the backlight is set to 100%. This parameter is optional and the default is true (on).
See also:
Power.
Parameters:
[in]keypadondefines if the keypad support should be enabled. This parameter is optional and the default is true (enabled).
See also:
KeypadInit.
Parameters:
[in]touchscreeenondefines if the keypad support should be enabled. This parameter is optional and the default is true (enabled).
See also:
TouchPanelInit.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 105 of file RA8875.cpp.

RetCode_t KeypadInit ( bool  scanEnable = true,
bool  longDetect = false,
uint8_t  sampleTime = 0,
uint8_t  scanFrequency = 0,
uint8_t  longTimeAdjustment = 0,
bool  interruptEnable = false,
bool  wakeupEnable = false 
)

Initialize the keypad interface on the RA8875 controller.

Enables the keypad subsystem. It will scan the 4 x 5 matrix and make available key presses.

Note:
See section 5-13 of RAIO RA8875 data sheet for more details. When using the display from buy-display.com, be sure that the option for the keypad is configured on the hardware.

All parameters are optional.

Parameters:
[in]scanEnablewhen true, enables the key scan function (default: true).
[in]longDetectwhen true, additionally enables the long key held detection (default: false).
[in]sampleTimesetting (range: 0 - 3, default: 0).
[in]scanFrequencysetting (range: 0 - 7, default: 0).
[in]longTimeAdjustment(range: 0 - 3, default: 0).
[in]interruptEnablewhen true, enables interrupts from keypress (default: false).
[in]wakeupEnablewhen true, activates the wakeup function (default: false).
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 255 of file RA8875.cpp.

RetCode_t line ( loc_t  x1,
loc_t  y1,
loc_t  x2,
loc_t  y2,
color_t  color 
)

Draw a line in the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]x1is the horizontal start of the line.
[in]y1is the vertical start of the line.
[in]x2is the horizontal end of the line.
[in]y2is the vertical end of the line.
[in]colordefines the foreground color.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1005 of file RA8875.cpp.

RetCode_t line ( loc_t  x1,
loc_t  y1,
loc_t  x2,
loc_t  y2 
)

Draw a line.

Draws a line using the foreground color setting.

Parameters:
[in]x1is the horizontal start of the line.
[in]y1is the vertical start of the line.
[in]x2is the horizontal end of the line.
[in]y2is the vertical end of the line.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1012 of file RA8875.cpp.

RetCode_t locate ( textloc_t  column,
textloc_t  row 
) [virtual]

Set cursor position based on the current font size.

Parameters:
[in]columnis the horizontal position in character positions
[in]rowis the vertical position in character positions
Returns:
success/failure code.
See also:
RetCode_t.

Implements TextDisplay.

Definition at line 553 of file RA8875.cpp.

RetCode_t pixel ( loc_t  x,
loc_t  y,
color_t  color 
) [virtual]

Draw a pixel in the specified color.

Note:
Unlike many other operations, this does not set the forecolor!
Parameters:
[in]xis the horizontal offset to this pixel.
[in]yis the vertical offset to this pixel.
[in]colordefines the color for the pixel.
Returns:
success/failure code.
See also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 907 of file RA8875.cpp.

RetCode_t pixel ( loc_t  x,
loc_t  y 
) [virtual]

Draw a pixel in the current foreground color.

Parameters:
[in]xis the horizontal offset to this pixel.
[in]yis the veritical offset to this pixel.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 923 of file RA8875.cpp.

RetCode_t pixelStream ( color_t *  p,
uint32_t  count,
loc_t  x,
loc_t  y 
) [virtual]

Write a stream of pixels to the display.

Parameters:
[in]pis a pointer to a color_t array to write.
[in]countis the number of pixels to write.
[in]xis the horizontal position on the display.
[in]yis the vertical position on the display.
Returns:
success/failure code.
See also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 943 of file RA8875.cpp.

RetCode_t Power ( bool  on )

Control display power.

Parameters:
[in]onwhen set to true will turn on the display, when false it is turned off.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1290 of file RA8875.cpp.

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.

Even though this is a 16-bit display, the stored image is in 24-bit format.

This method will interrogate the current display setting and create a bitmap based on those settings. For instance, if only layer 1 is visible, then the bitmap is only layer 1. However, if there is some other operation in effect (transparent mode).

Parameters:
[in]xis the left edge of the region to capture
[in]yis the top edge of the region to capture
[in]wis the width of the region to capture
[in]his the height of the region to capture.
[out]Name_BMPis the filename to write the image to.
Returns:
success or error code.

Definition at line 1473 of file RA8875.cpp.

RetCode_t PrintScreen ( uint16_t  layer,
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.

This method is deprecated as the alternate PrintScreen API automatically examines the display layer configuration. Therefore, calls to this API will ignore the layer parameter and automatically execute the other method.

Even though this is a 16-bit display, the stored image is in 24-bit format.

Parameters:
[in]layeris 0 or 1 to select the layer to extract.
[in]xis the left edge of the region to capture
[in]yis the top edge of the region to capture
[in]wis the width of the region to capture
[in]his the height of the region to capture.
[out]Name_BMPis the filename to write the image to.
Returns:
success or error code.

Definition at line 1455 of file RA8875.cpp.

void puts ( const char *  string )

Write string of text to the display.

     lcd.puts("Test STring");
Parameters:
[in]stringis the null terminated string to send to the display.

Definition at line 809 of file RA8875.cpp.

void puts ( loc_t  x,
loc_t  y,
const char *  string 
)

Write string of text to the display at the specified location.

     lcd.puts(10,25, "Test STring");
Parameters:
[in]xis the horizontal position in pixels (from the left edge)
[in]yis the vertical position in pixels (from the top edge)
[in]stringis the null terminated string to send to the display.

Definition at line 802 of file RA8875.cpp.

bool readable ( void   )

Determine if a key has been hit.

Returns:
true if a key has been hit

Definition at line 287 of file RA8875.cpp.

unsigned char ReadCommand ( unsigned char  command )

Read a command register.

Parameters:
[in]commandis the command register to read.
Returns:
the value read from the register.

Definition at line 457 of file RA8875.cpp.

unsigned char ReadData ( void   )

Read a data byte from the display.

This is a high level command, and may invoke several primitives.

Returns:
data that was read.

Definition at line 464 of file RA8875.cpp.

uint16_t ReadDataW ( void   )

Read a word from the display.

This is a high level command, and may invoke several primitives.

Returns:
data that was read.

Definition at line 476 of file RA8875.cpp.

unsigned char ReadStatus ( void   )

Read the display status.

This is a high level command, and may invoke several primitives.

Returns:
data that was read.

Definition at line 489 of file RA8875.cpp.

RetCode_t rect ( rect_t  rect,
color_t  color,
fill_t  fillit 
)

Draw a rectangle in the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]rectdefines the rectangle.
[in]colordefines the foreground color.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1042 of file RA8875.cpp.

RetCode_t rect ( loc_t  x1,
loc_t  y1,
loc_t  x2,
loc_t  y2,
color_t  color,
fill_t  fillit = NOFILL 
)

Draw a rectangle in the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]x1is the horizontal start of the line.
[in]y1is the vertical start of the line.
[in]x2is the horizontal end of the line.
[in]y2is the vertical end of the line.
[in]colordefines the foreground color.
[in]fillitis optional to FILL the rectangle. default is FILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1047 of file RA8875.cpp.

RetCode_t rect ( loc_t  x1,
loc_t  y1,
loc_t  x2,
loc_t  y2,
fill_t  fillit = NOFILL 
)

Draw a rectangle.

Draws a rectangle using the foreground color setting.

Parameters:
[in]x1is the horizontal start of the line.
[in]y1is the vertical start of the line.
[in]x2is the horizontal end of the line.
[in]y2is the vertical end of the line.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1055 of file RA8875.cpp.

RetCode_t RenderBitmapFile ( loc_t  x,
loc_t  y,
const char *  Name_BMP 
) [inherited]

This method reads a disk file that is in bitmap format and puts it on the screen.

Supported formats:

  • 4-bit color format (16 colors)
  • 8-bit color format (256 colors)
  • 16-bit color format (65k colors)
  • compression: no.
Note:
This is a slow operation, typically due to the use of the file system, and partially because bmp files are stored from the bottom up, and the memory is written from the top down; as a result, it constantly 'seeks' on the file system for the next row of information.

As a performance test, a sample picture was timed. A family picture was converted to Bitmap format; shrunk to 352 x 272 pixels and save in 8-bit color format. The resulting file size was 94.5 KByte. The SPI port interface was set to 20 MHz. The original bitmap rendering software was purely in software, pushing 1 pixel at a time to the write function, which did use SPI hardware (not pin wiggling) to transfer commands and data to the display. Then, the driver was improved to leverage the capability of the derived display driver. As a final check, instead of the [known slow] local file system, a randomly chosen USB stick was used. The performance results are impressive (but depend on the listed factors).

  • 34 seconds, LocalFileSystem, Software Rendering
  • 9 seconds, LocalFileSystem, Hardware Rending for RA8875
  • 3 seconds, MSCFileSystem, Hardware Rendering for RA8875
Parameters:
[in]xis the horizontal pixel coordinate
[in]yis the vertical pixel coordinate
[in]Name_BMPis the filename on the mounted file system.
Returns:
success or error code.

Definition at line 491 of file GraphicsDisplay.cpp.

RetCode_t RenderIconFile ( loc_t  x,
loc_t  y,
const char *  Name_ICO 
) [inherited]

This method reads a disk file that is in ico format and puts it on the screen.

Reading the disk is slow, but a typical icon file is small so it should be ok.

Note:
An Icon file can have more than one icon in it. This implementation only processes the first image in the file.
Parameters:
[in]xis the horizontal pixel coordinate
[in]yis the vertical pixel coordinate
[in]Name_ICOis the filename on the mounted file system.
Returns:
success or error code.

Definition at line 517 of file GraphicsDisplay.cpp.

RetCode_t RenderImageFile ( loc_t  x,
loc_t  y,
const char *  FileName 
) [inherited]

This method attempts to render a specified graphics image file at the specified screen location.

This supports several variants of the following file types:

  • Bitmap file format,
  • Icon file format.
Note:
The specified image width and height, when adjusted for the x and y origin, must fit on the screen, or the image will not be shown (it does not clip the image).
The file extension is tested, and if it ends in a supported format, the appropriate handler is called to render that image.
Parameters:
[in]xis the horizontal pixel coordinate
[in]yis the vertical pixel coordinate
[in]FileNamerefers to the fully qualified path and file on a mounted file system.
Returns:
success or error code.

Definition at line 480 of file GraphicsDisplay.cpp.

void ReportPerformance ( Serial &  pc )

Report the performance metrics for drawing functions using the available serial channel.

Parameters:
[in,out]pcis the serial channel to write to.

Definition at line 391 of file RA8875.cpp.

RetCode_t Reset ( void   )

Reset the display controller via the Software Reset interface.

Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 171 of file RA8875.cpp.

RGBQUAD RGB16ToRGBQuad ( color_t  c ) [inherited]

This method converts a 16-bit color value into a 24-bit RGB Quad.

RRRR RGGG GGGB BBBB.

Parameters:
[in]cis the 16-bit color.
See also:
color_t.
Returns:
an RGBQUAD value.
See also:
RGBQUAD

Definition at line 347 of file GraphicsDisplay.cpp.

color_t RGBQuadToRGB16 ( RGBQUAD *  colorPaletteArray,
uint16_t  index 
) [inherited]

This method returns the color value from a palette.

This method accepts a pointer to a Bitmap color palette, which is a table in memory composed of RGB Quad values (r, g, b, 0), and an index into that table. It then extracts the color information and downsamples it to a color_t value which it returns.

Note:
This method probably has very little value outside of the internal methods for reading BMP files.
Parameters:
[in]colorPaletteArrayis the handle to the color palette array to use.
[in]indexis the index into the color palette.
Returns:
the color in color_t format.

Definition at line 336 of file GraphicsDisplay.cpp.

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 
)

Draw a rectangle with rounded corners using the specified color.

This draws a rounded rectangle. A numbers of checks are made on the values, and it could reduce this to drawing a line (if either x1 == x2, or y1 == y2), 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.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]x1is the horizontal start of the line and must be <= x2.
[in]y1is the vertical start of the line and must be <= y2.
[in]x2is the horizontal end of the line and must be >= x1.
[in]y2is the vertical end of the line and must be >= y1.
[in]radius1defines the horizontal radius of the curved corner. Take care that this value < 1/2 the width of the rectangle, or bad_parameter is returned.
[in]radius2defines the vertical radius of the curved corner. Take care that this value < 1/2 the height of the rectangle, or bad_parameter is returned.
[in]colordefines the foreground color.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1090 of file RA8875.cpp.

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 
)

Draw a rectangle with rounded corners.

This draws a rounded rectangle. A numbers of checks are made on the values, and it could reduce this to drawing a line (if either x1 == x2, or y1 == y2), 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.

Parameters:
[in]x1is the horizontal start of the line and must be <= x2.
[in]y1is the vertical start of the line and must be <= y2.
[in]x2is the horizontal end of the line and must be >= x1.
[in]y2is the vertical end of the line and must be >= y1.
[in]radius1defines the horizontal radius of the curved corner. Take care that this value < 1/2 the width of the rectangle, or bad_parameter is returned.
[in]radius2defines the vertical radius of the curved corner. Take care that this value < 1/2 the height of the rectangle, or bad_parameter is returned.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1098 of file RA8875.cpp.

int rows ( void   ) [virtual]

get the number of rows based on the currently active font

Returns:
number of rows.

Reimplemented from GraphicsDisplay.

Definition at line 565 of file RA8875.cpp.

RetCode_t SelectDrawingLayer ( uint16_t  layer )

Select the drawing layer for subsequent commands.

If the screen configuration is 480 x 272, or if it is 800 x 480 and 8-bit color, the the display supports two layers, which can be independently drawn on and shown. Additionally, complex operations involving both layers are permitted.

     //lcd.SetLayerMode(OnlyLayer0); // default is layer 0
     lcd.rect(400,130, 475,155,Brown);
     lcd.SelectDrawingLayer(1);
     lcd.circle(400,25, 25, BrightRed);
     wait(1);
     lcd.SetLayerMode(ShowLayer1);
Attention:
The user manual refers to Layer 1 and Layer 2, however the actual register values are value 0 and 1. This API as well as others that reference the layers use the values 0 and 1 for cleaner iteration in the code.
Parameters:
[in]layeris 0 or 1 to select the layer for subsequent commands.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 199 of file RA8875.cpp.

RetCode_t set_font ( const unsigned char *  font = NULL ) [virtual]

Select a bitmap font (provided by the user) for all subsequent text.

Note:
Tool to create the fonts is accessible from its creator available at http://www.mikroe.com. Change the data to an array of type char[].
Parameters:
[in]fontis 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
  • the vertical size in pixels for each character
  • the horizontal size in pixels for each character
  • the number of bytes per vertical line (width of the array)
Returns:
error code.

Reimplemented from GraphicsDisplay.

Definition at line 1330 of file RA8875.cpp.

RetCode_t SetBackgroundTransparencyColor ( color_t  color = RGB(0,0,0) )

Set the background color register used for transparency.

This command sets the background color registers that are used in the transparent color operations involving the layers.

Parameters:
[in]coloris optional and expressed in 16-bit format. If not supplied, a default of Black is used.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 236 of file RA8875.cpp.

RetCode_t SetGraphicsCursor ( loc_t  x,
loc_t  y 
) [virtual]

Prepare the controller to write binary data to the screen by positioning the memory cursor.

Parameters:
[in]xis the horizontal position in pixels (from the left edge)
[in]yis the vertical position in pixels (from the top edge)
Returns:
success/failure code.
See also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 840 of file RA8875.cpp.

RetCode_t SetGraphicsCursorRead ( loc_t  x,
loc_t  y 
) [virtual]

Prepare the controller to read binary data from the screen by positioning the memory read cursor.

Parameters:
[in]xis the horizontal position in pixels (from the left edge)
[in]yis the vertical position in pixels (from the top edge)
Returns:
success/failure code.
See also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 848 of file RA8875.cpp.

RetCode_t SetKeyMap ( const uint8_t *  CodeList = NULL )

Create Key Code definitions for the key matrix.

This API provides a table of 22 key-code assignments for the matrix of keys. This can be used to translate the keys 1 - 20 into some other value, as well as to communicate the "no key" (zero) and "error state" (21).

In this way, a keypad could easily emulate a piece of a keyboard, transforming 0 - 20 into the values 0, '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '-', '*' , '/', '=', '<bs>', '<cr>', and so on...

 //        Return Value by Row, Column   Example reassignment
 //    Column    0    1    2    3    4 
 //          +-------------------------+  +-------------------------+
 // Row   0  |   1    2    3    4    5 |  | '7'  '8'  '9'  ',' '<-' |
 //       1  |   6    7    8    9   10 |  | '4'  '5'  '6'  '/'  '-' |
 //       2  |  11   12   13   14   15 |  | '1'  '2'  '3'  '*'  '+' |
 //       3  |  16   17   18   19   20 |  | '0'  '.'  '('  ')' '\n' |
 //          +-------------------------+  +-------------------------+
 //     Return value  0 = No Key pressed
 //     Return value 21 = Error
 const uint8_t CodeList[22] = 
     {0, '7', '8', '9', ',', '\h', 
         '4', '5', '6', '/', '-',
         '1', '2', '3', '*', '+',
         '0', '.', '(', ')', '\n', 
         '\x1b'};
     lcd.SetKeyMap(CodeList);
Parameters:
[in]CodeListis a pointer to an always available byte-array where the first 22 bytes are used as the transformation from raw code to your reassigned value. If CodeList is NULL, the original raw value key map is restored.
Returns:
noerror.

Definition at line 280 of file RA8875.cpp.

RetCode_t SetLayerMode ( LayerMode_T  mode )

Set the Layer presentation mode.

This sets the presentation mode for layers, and permits showing a single layer, or applying a mode where the two layers are combined using one of the hardware methods.

Refer to the RA8875 data sheet for full details.

     //lcd.SetLayerMode(OnlyLayer0); // default is layer 0
     lcd.rect(400,130, 475,155,Brown);
     lcd.SelectDrawingLayer(1);
     lcd.circle(400,25, 25, BrightRed);
     wait(1);
     lcd.SetLayerMode(ShowLayer1);
Parameters:
[in]modesets the mode in the Layer Transparency Register.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 213 of file RA8875.cpp.

RetCode_t SetLayerTransparency ( uint8_t  layer1,
uint8_t  layer2 
)

Set the layer transparency for each layer.

Set the transparency, where the range of values is from zero (fully visible) to eight (fully transparent). The input value is automatically limited to this range.

     // draw something on each layer, then step-fade across
     display.SetLayerMode(RA8875::TransparentMode);
     for (i=0; i<=8; i++) {
         display.SetLayerTransparency(i, 8-i);
         wait_ms(200);
     }
Parameters:
[in]layer1sets the layer 1 transparency.
[in]layer2sets the layer 2 transparency.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 225 of file RA8875.cpp.

RetCode_t SetTextCursor ( loc_t  x,
loc_t  y 
)

Prepare the controller to write text to the screen by positioning the cursor.

     lcd.SetTextCursor(100, 25);
     lcd.puts("Hello");
Parameters:
[in]xis the horizontal position in pixels (from the left edge)
[in]yis the vertical position in pixels (from the top edge)
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 592 of file RA8875.cpp.

RetCode_t SetTextCursorControl ( cursor_t  cursor = NOCURSOR,
bool  blink = false 
)

Configure additional Cursor Control settings.

This API lets you modify other cursor control settings; Cursor visible/hidden, Cursor blink/normal, Cursor I-Beam/underscore/box.

Parameters:
[in]cursorcan be set to NOCURSOR (default), IBEAM, UNDER, or BLOCK.
[in]blinkcan be set to true or false (default false)
Returns:
success/failure code.
See also:
RetCode_t

Definition at line 620 of file RA8875.cpp.

RetCode_t SetTextFont ( RA8875::font_t  font = ISO8859_1 )

Select the ISO 8859-X font to use next.

Supported fonts: ISO 8859-1, -2, -3, -4

Parameters:
[in]fontselects the font for the subsequent text rendering.
Note:
if either hScale or vScale is outside of its permitted range, the command is not executed.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 658 of file RA8875.cpp.

RetCode_t SetTextFontControl ( fill_t  fillit = FILL,
RA8875::font_angle_t  angle = normal,
RA8875::HorizontalScale  hScale = 1,
RA8875::VerticalScale  vScale = 1,
RA8875::alignment_t  alignment = align_none 
)

Control the font behavior.

This command lets you make several modifications to any text that will be written to the screen.

Options can be combined: Default:

  • Full alignment disabled,
  • Font with Background color,
  • Font in normal orientiation,
  • Horizontal scale x 1
  • Vertical scale x 1
  • alignment
Parameters:
[in]fillitdefaults to FILL, but can be NOFILL
[in]angledefaults to normal, but can be rotated
[in]hScaledefaults to 1, but can be 1, 2, 3, or 4, and scales the font size by this amount.
[in]vScaledefaults to 1, but can be 1, 2, 3, or 4, and scales the font size by this amount.
[in]alignmentdefaults to align_none, but can be align_full.
Note:
if either hScale or vScale is outside of its permitted range, the command is not executed.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 669 of file RA8875.cpp.

RetCode_t SetTextFontSize ( RA8875::HorizontalScale  hScale = 1,
RA8875::VerticalScale  vScale = -1 
)

Control the font size.

This command lets you set the font enlargement for both horizontal and vertical, independent of the rotation, background, and alignment.

See also:
SetTextFontControl.
Parameters:
[in]hScaledefaults to 1, but can be 1, 2, 3, or 4, and scales the font size by this amount.
[in]vScaleis 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.
     lcd.SetTextFontSize(2);     // Set the font to 2x normal size
     lcd.puts("Two times");
     lcd.SetTextFontSize(2,3);   // Set the font to 2x Width and 3x Height
     lcd.puts("2*2 3*h");
     lcd.SetTextFontSize();      // Restore to normal size in both dimensions
     lcd.puts("normal");
Note:
if either hScale or vScale is outside of its permitted range, the command is not executed.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 695 of file RA8875.cpp.

bool TouchPanelA2DFiltered ( loc_t *  x,
loc_t *  y 
)

Poll the TouchPanel and on a touch event return the a to d filtered x, y coordinates.

This method reads the touch controller, which has a 10-bit range for each the x and the y axis.

Note:
The returned values are not in display (pixel) units but are in analog to digital converter units.
This API is usually not needed.
See also:
TouchPanelComputeCalibration.
TouchPanelReadable.
Parameters:
[out]xis the x scale a/d value.
[out]yis the y scale a/d value.
Returns:
true if touch was detected, in which case the x and y values were set.

Definition at line 186 of file RA8875_Touch.cpp.

bool TouchPanelA2DRaw ( loc_t *  x,
loc_t *  y 
)

Poll the TouchPanel and on a touch event return the a to d raw x, y coordinates.

This method reads the touch controller, which has a 10-bit range for each the x and the y axis. A number of samples of the raw data are taken, filtered, and the results are returned.

Note:
The returned values are not in display (pixel) units but are in analog to digital converter units.
This API is usually not needed.
See also:
TouchPanelComputeCalibration.
TouchPanelReadable.
Parameters:
[out]xis the x scale a/d value.
[out]yis the y scale a/d value.
Returns:
true if touch was detected, in which case the x and y values were set.

Definition at line 249 of file RA8875_Touch.cpp.

RetCode_t TouchPanelCalibrate ( tpMatrix_t *  matrix )

Perform the touch panel calibration process.

This method provides the easy "shortcut" to calibrating the touch panel. The process will automatically generate the calibration points, present the targets on-screen, detect the touches, compute the calibration matrix, and optionally provide the calibration matrix to the calling code for persistence in non-volatile memory.

Parameters:
[out]matrixis 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 also:
RetCode_t.

Definition at line 53 of file RA8875_Touch.cpp.

RetCode_t TouchPanelCalibrate ( const char *  msg,
tpMatrix_t *  matrix = NULL 
)

Perform the touch panel calibration process.

This method provides the easy "shortcut" to calibrating the touch panel. The process will automatically generate the calibration points, present the targets on-screen, detect the touches, compute the calibration matrix, and optionally provide the calibration matrix to the calling code for persistence in non-volatile memory.

Parameters:
[in]msgis a text message to present on the screen during the calibration process.
[out]matrixis 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 also:
RetCode_t.

Definition at line 59 of file RA8875_Touch.cpp.

RetCode_t TouchPanelComputeCalibration ( point_t  display[3],
point_t  screen[3],
tpMatrix_t *  matrix 
)

Calibrate the touch panel.

This method accepts two lists - one list is target points in , display coordinates and the other is a lit of raw touch coordinate values. It generates a calibration matrix for later use. This matrix is also accessible to the calling API, which may store the matrix in persistent memory and then install the calibration matrix on the next power cycle. By doing so, it can avoid the need to calibrate on every power cycle.

Note:
The methods "TouchPanelComputeCalibration", "TouchPanelReadable", and indirectly the "TouchPanelSetMatrix" methods are all derived from a program by Carlos E. Vidales. See the copyright note for further details. See also the article http://www.embedded.com/design/system-integration/4023968/How-To-Calibrate-Touch-Screens

Copyright (c) 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. If you choose to use the program within your own products you do so at your own risk, and assume the responsibility for servicing, repairing or correcting the program should it prove defective in any manner. You may copy and distribute the program's source code in any medium, provided that you also include in each copy an appropriate copyright notice and disclaimer of warranty. You may also modify this program and distribute copies of it provided that you include prominent notices stating that you changed the file(s) and the date of any change, and that you do not charge any royalties or licenses for its use.

Parameters:
[in]displayis a pointer to a set of 3 points, which are in display units of measure. These are the targets the calibration was aiming for.
[in]screenis a pointer to a set of 3 points, which are in touchscreen units of measure. These are the registered touches.
[out]matrixis 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 also:
RetCode_t.
bool TouchPanelGet ( point_t touch )

Wait for a touch panel touch and return it.

This method is similar to Serial.getc() in that it will wait for a touch and then return. In order to extract the coordinates of the touch, a valid pointer to a point_t must be provided.

Note:
There is no timeout on this function, so its use is not recommended.
     Timer t;
     t.start();
     do {
        point_t point = {0, 0};
        display.TouchPanelGet(&point);
        display.pixel(point.x, point.y, Red);
    } while (t.read_ms() < 30000);
Parameters:
[out]touchis the touch point, if a touch is registered.
Returns:
true if a touch was registered, and touch is updated.
false if no touch was detected, or if the calibration matrix is not defined.
RetCode_t TouchPanelInit ( uint8_t  bTpEnable,
uint8_t  bTpAutoManual,
uint8_t  bTpDebounce,
uint8_t  bTpManualMode,
uint8_t  bTpAdcClkDiv,
uint8_t  bTpAdcSampleTime 
)

Initialize the Touch Panel controller with detailed settings.

This is the detailed touch panel init, which provides the ability to set nearly every possible option.

Parameters:
[in]bTpEnableTouch Panel enable/disable control:

  • TP_ENABLE: enable the touch panel
  • TP_DISABLE: disable the touch panel
[in]bTpAutoManualTouch Panel operating mode:

  • TP_MODE_AUTO: automatic capture
  • TP_MODE_MANUAL: manual capture
[in]bTpDebounceDebounce circuit enable for touch panel interrupt:

  • TP_DEBOUNCE_OFF: disable the debounce circuit
  • TP_DEBOUNCE_ON: enable the debounce circuit
[in]bTpManualModeWhen Manual Mode is selected, this sets the mode:

  • TP_MANUAL_IDLE: touch panel is idle
  • TP_MANUAL_WAIT: wait for touch panel event
  • TP_MANUAL_LATCH_X: latch X data
  • TP_MANUAL_LATCH_Y: latch Y data
[in]bTpAdcClkDivSets the ADC clock as a fraction of the System CLK:

  • TP_ADC_CLKDIV_1: Use CLK
  • TP_ADC_CLKDIV_2: Use CLK/2
  • TP_ADC_CLKDIV_4: Use CLK/4
  • TP_ADC_CLKDIV_8: Use CLK/8
  • TP_ADC_CLKDIV_16: Use CLK/16
  • TP_ADC_CLKDIV_32: Use CLK/32
  • TP_ADC_CLKDIV_64: Use CLK/64
  • TP_ADC_CLKDIV_128: Use CLK/128
[in]bTpAdcSampleTimeTouch Panel sample time delay before ADC data is ready:

  • TP_ADC_SAMPLE_512_CLKS: Wait 512 system clocks
  • TP_ADC_SAMPLE_1024_CLKS: Wait 1024 system clocks
  • TP_ADC_SAMPLE_2048_CLKS: Wait 2048 system clocks
  • TP_ADC_SAMPLE_4096_CLKS: Wait 4096 system clocks
  • TP_ADC_SAMPLE_8192_CLKS: Wait 8192 system clocks
  • 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 also:
RetCode_t.

Definition at line 19 of file RA8875_Touch.cpp.

RetCode_t TouchPanelInit ( void   )

Initialize theTouch Panel controller with default values.

This file contains the RA8875 Touch panel methods.

This activates the simplified touch panel init, which may work for most uses. The alternate API is available if fine-grained control is needed for the numerous settings.

Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 8 of file RA8875_Touch.cpp.

bool TouchPanelReadable ( point_t touch = NULL )

Get the screen calibrated point of touch.

This method determines if there is a touch and if so it will provide the screen-relative touch coordinates. This method can be used in a manner similar to Serial.readable(), to determine if there was a touch and indicate that - but not care about the coordinates. Alternately, if a valid pointer to a point_t is provided, then if a touch is detected the point_t will be populated with data.

     Timer t;
     t.start();
     do {
        point_t point = {0, 0};
        if (display.TouchPanelReadable(&point)) {
            display.pixel(point.x, point.y, Red);
        }
    } while (t.read_ms() < 30000);
Parameters:
[out]touchis the touch point, if a touch is registered.
Returns:
true if a touch was registered, and touch is updated.
false if no touch was detected, or if the calibration matrix is not defined.

Definition at line 148 of file RA8875_Touch.cpp.

RetCode_t TouchPanelSetMatrix ( tpMatrix_t *  matrix )

Set the calibration matrix for the touch panel.

This method is used to set the calibration matrix for the touch panel. After performing the calibration (

See also:
TouchPanelComputeCalibration), the matrix can be stored. On a subsequence power cycle, the matrix may be restored from non-volatile and passed in to this method. It will then be held to perform the corrections when reading the touch panel point.
 FILE * fh = fopen("/local/tpmatrix.cfg", "r");
 if (fh) {
     tpMatrix_t matrix;
     if (fread(fh, &matrix, sizeof(tpMatrix_t))) {
         lcd.TouchPanelSetMatrix(&matrix);
     }
     fclose(fh);
 }
Parameters:
[in]matrixis a pointer to the touch panel calibration matrix.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 177 of file RA8875_Touch.cpp.

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 
)

Draw a triangle in the specified color.

Note:
As a side effect, this changes the current foreground color for subsequent operations.
Parameters:
[in]x1is the horizontal for point 1.
[in]y1is the vertical for point 1.
[in]x2is the horizontal for point 2.
[in]y2is the vertical for point 2.
[in]x3is the horizontal for point 3.
[in]y3is the vertical for point 3.
[in]colordefines the foreground color.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1134 of file RA8875.cpp.

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 
)

Draw a triangle.

Draws a triangle using the foreground color setting.

Parameters:
[in]x1is the horizontal for point 1.
[in]y1is the vertical for point 1.
[in]x2is the horizontal for point 2.
[in]y2is the vertical for point 2.
[in]x3is the horizontal for point 3.
[in]y3is the vertical for point 3.
[in]fillitis optional to FILL the rectangle. default is NOFILL.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 1156 of file RA8875.cpp.

void UnAppendISR ( uint8_t  bISRType )

Unappend interrupt handler for specific RA8875 interrupt source.

Parameters:
[in]bISRTypeInterrupt Source, should be:

  • RA8875_INT_KEYSCAN: KEYCAN interrupt
  • RA8875_INT_DMA: DMA interrupt
  • RA8875_INT_TP: Touch panel interrupt
  • RA8875_INT_BTE: BTE process complete interrupt
  • RA8875_INT_BTEMCU_FONTWR: Multi-purpose interrupt (see spec sheet)
Returns:
none
dim_t width ( void   ) [virtual]

get the screen width in pixels

Returns:
screen width in pixels.

Implements GraphicsDisplay.

Definition at line 571 of file RA8875.cpp.

RetCode_t window ( loc_t  x,
loc_t  y,
dim_t  width,
dim_t  height 
) [virtual]

Set the window, which controls where items are written to the screen.

When something hits the window width, it wraps back to the left side and down a row. If the initial write is outside the window, it will be captured into the window when it crosses a boundary.

     lcd.window(10,10, 80,80);
     lcd.puts("012345678901234567890123456789012345678901234567890");
Parameters:
[in]xis the left edge in pixels.
[in]yis the top edge in pixels.
[in]widthis the window width in pixels.
[in]heightis the window height in pixels.
Returns:
success/failure code.
See also:
RetCode_t.

Reimplemented from GraphicsDisplay.

Definition at line 858 of file RA8875.cpp.

RetCode_t WindowMax ( void   ) [virtual, inherited]

method to set the window region to the full screen.

This restores the 'window' to the full screen, so that other operations (

See also:
cls) would clear the whole screen.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 231 of file GraphicsDisplay.cpp.

RetCode_t WriteCommand ( unsigned char  command,
unsigned int  data = 0xFFFF 
) [virtual]

Write a command to the display.

This is a high level command, and may invoke several primitives.

Parameters:
[in]commandis the command to write.
[in]datais 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 also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 422 of file RA8875.cpp.

RetCode_t WriteCommandW ( uint8_t  command,
uint16_t  data 
)

Write a command to the display with a word of data.

This is a high level command, and may invoke several primitives.

Parameters:
[in]commandis the command to write.
[in]datais data to be written to the command register.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 402 of file RA8875.cpp.

RetCode_t WriteData ( unsigned char  data ) [virtual]

Write a data byte to the display.

This is a high level command, and may invoke several primitives.

Parameters:
[in]datais the data to write.
Returns:
success/failure code.
See also:
RetCode_t.

Implements GraphicsDisplay.

Definition at line 447 of file RA8875.cpp.

RetCode_t WriteDataW ( uint16_t  data )

Write a data word to the display.

This is a high level command, and may invoke several primitives.

Parameters:
[in]datais the data to write.
Returns:
success/failure code.
See also:
RetCode_t.

Definition at line 436 of file RA8875.cpp.