- No category
advertisement
D.5 LCD Display
The functions used to control the LCD display are contained in the
GRAPHIC.LIB
library located in the Dynamic C
DISPLAYS\GRAPHIC
library directory. When x and y coordinates on the display screen are specified, x can range from 0 to 121, and y can range from
0 to 31. These numbers represent pixels from the top left corner of the display.
void glInit(void);
Initializes the display devices, clears the screen.
RETURN VALUE
None.
SEE ALSO glDispOnOFF, glBacklight, glSetContrast, glPlotDot, glBlock, glPlotDot, glPlotPolygon, glPlotCircle, glHScroll, glVScroll, glXFontInit, glPrintf, glPutChar, glSetBrushType, glBuffLock, glBuffUnlock, glPlotLine
void glBackLight(int onOff);
Turns the display backlight on or off.
PARAMETER onOff
turns the backlight on or off
1—turn the backlight on
0—turn the backlight off
RETURN VALUE
None.
SEE ALSO glInit, glDispOnoff, glSetContrast
void glDispOnOff(int onOff);
Sets the LCD screen on or off. Data will not be cleared from the screen.
PARAMETER onOff
turns the LCD screen on or off
1—turn the LCD screen on
0—turn the LCD screen off
RETURN VALUE
None.
SEE ALSO glInit, glSetContrast, glBackLight
User’s Manual 75
void glSetContrast(unsigned level);
Sets display contrast (the circuitry is not installed on the LCD/keypad module used with the OP6800).
void glFillScreen(char pattern);
Fills the LCD display screen with a pattern.
PARAMETER
The screen will be set to all black if
pattern
is 0xFF, all white if
pattern
is 0x00, and vertical stripes for any other pattern.
RETURN VALUE
None.
SEE ALSO glBlock, glBlankScreen, glPlotPolygon, glPlotCircle
void glBlankScreen(void);
Blanks the LCD display screen (sets LCD display screen to white).
RETURN VALUE
None.
SEE ALSO glFillScreen, glBlock, glPlotPolygon, glPlotCircle
void glBlock(int x, int y, int bmWidth, int bmHeight);
Draws a rectangular block in the page buffer and on the LCD if the buffer is unlocked. Any portion of the block that is outside the LCD display area will be clipped.
PARAMETERS x
is the x coordinate of the top left corner of the block.
y
is the y coordinate of the top left corner of the block.
bmWidth
is the width of the block.
bmWidth
is the height of the block.
RETURN VALUE
None.
SEE ALSO glFillScreen, glBlankScreen, glPlotPolygon, glPlotCircle
76 MiniCom (OP6800)
void glPlotVPolygon(int n, int *pFirstCoord);
Plots the outline of a polygon in the LCD page buffer, and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.
PARAMETERS n
is the number of vertices.
*pFirstCoord
is a pointer to array of vertex coordinates:
x1,y1
,
x2,y2
,
x3,y3
,...
RETURN VALUE
None.
SEE ALSO glPlotPolygon, glFillPolygon, glFillVPolygon
void glPlotPolygon(int n, int y1, int x2, int y2,
...);
Plots the outline of a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.
PARAMETERS n
is the number of vertices.
y1
is the
y
coordinate of the first vertex.
x1
is the
x
coordinate of the first vertex.
y2
is the
y
coordinate of the second vertex.
x2
is the
x
coordinate of the second vertex.
...
are the coordinates of additional vertices.
RETURN VALUE
None.
SEE ALSO glPlotVPolygon, glFillPolygon, glFillVPolygon
User’s Manual 77
void glFillVPolygon(int n, int *pFirstCoord);
Fills a polygon in the LCD page buffer and on the LCD screen if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.
PARAMETERS n
is the number of vertices.
*pFirstCoord
is a pointer to array of vertex coordinates:
x1,y1
,
x2,y2
,
x3,y3
,
...
RETURN VALUE
None.
SEE ALSO glFillPolygon, glPlotPolygon, glPlotVPolygon
void glFillPolygon(int n, int x1, int y1, int x2, int y2, ...);
Fills a polygon in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the polygon that is outside the LCD display area will be clipped. If fewer than 3 vertices are specified, the function will return without doing anything.
PARAMETERS n
is the number of vertices.
x1
is the
x
coordinate of the first vertex.
y1
is the
y
coordinate of the first vertex.
x2
is the
x
coordinate of the second vertex.
y2
is the
y
coordinate of the second vertex.
...
are the coordinates of additional vertices.
RETURN VALUE
None.
SEE ALSO glFillVPolygon, glPlotPolygon, glPlotVPolygon
78 MiniCom (OP6800)
void glPlotCircle(int xc, int yc, int rad);
Draws the outline of a circle in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the circle that is outside the LCD display area will be clipped.
PARAMETERS xc
is the
x
coordinate of the center of the circle.
yc
is the
y
coordinate of the center of the circle.
rad
is the radius of the center of the circle (in pixels).
RETURN VALUE
None.
SEE ALSO glFillCircle, glPlotPolygon, glFillPolygon
void glFillCircle(int xc, int yc, int rad);
Draws a filled circle in the LCD page buffer and on the LCD if the buffer is unlocked. Any portion of the circle that is outside the LCD display area will be clipped.
PARAMETERS xc
is the
x
coordinate of the center of the circle.
yc
is the
y
coordinate of the center of the circle.
rad
is the radius of the center of the circle (in pixels).
RETURN VALUE
None.
SEE ALSO glPlotCircle, glPlotPolygon, glFillPolygon
User’s Manual 79
void glXFontInit(fontInfo *pInfo, char pixWidth, char pixHeight, unsigned startChar, unsigned endChar, unsigned long xmemBuffer);
Initializes the font descriptor structure, where the font is stored in
xmem
.
PARAMETERS
*pInfo
is a pointer to the font descriptor to be initialized.
pixWidth
is the width (in pixels) of each font item.
pixHeight
is the height (in pixels) of each font item.
startChar
is the value of the first printable character in the font character set.
endChar
is the value of the last printable character in the font character set.
xmemBuffer
is the
xmem
pointer to a linear array of font bitmaps.
RETURN VALUE
None.
SEE ALSO glPrinf
unsigned long glFontCharAddr(fontInfo *pInfo, char letter);
Returns the
xmem
address of the character from the specified font set.
PARAMETERS
*pInfo
is the
xmem
address of the bitmap font set.
letter
is an ASCII character.
RETURN VALUE xmem
address of bitmap character font, column major, and byte-aligned.
SEE ALSO glPutFont, glPrintf
80 MiniCom (OP6800)
void glPutFont(int x, int y, fontInfo *pInfo, char code);
Puts an entry from the font table to the page buffer and on the LCD if the buffer is unlocked. Each font character's bitmap is column major and byte-aligned. Any portion of the bitmap character that is outside the LCD display area will be clipped.
PARAMETERS x
is the
x
coordinate (column) of the top left corner of the text.
y
is the
y
coordinate (row) of the top left corner of the text.
*pInfo
is a pointer to the font descriptor.
code
is the ASCII character to display.
RETURN VALUE
None.
SEE ALSO glFontCharAddr, glPrintf
void glSetPfStep(int stepX, int stepY);
Sets the
glPrintf()
printing step direction. The x and y step directions are independent signed values. The actual step increments depend on the height and width of the font being displayed, which are multiplied by the step values.
PARAMETERS stepX
is the
glPrintf
x
step value
stepY
is the
glPrintf
y
step value
RETURN VALUE
None.
SEE ALSO
Use
glGetPfStep()
to examine the current x and y printing step direction.
int glGetPfStep(void);
Gets the current
glPrintf()
printing step direction. Each step direction is independent of the other, and is treated as an 8-bit signed value. The actual step increments depends on the height and width of the font being displayed, which are multiplied by the step values.
RETURN VALUE
The
x
step is returned in the MSB, and the
y
step is returned in the LSB of the integer result.
SEE ALSO
Use
glGetPfStep()
to control the
x
and
y
printing step direction.
User’s Manual 81
void glPutChar(char ch, char *ptr, int *cnt, glPutCharInst *pInst)
Provides an interface between the STDIO string-handling functions and the graphic library. The STDIO string-formatting function will call this function, one character at a time, until the entire formatted string has been parsed. Any portion of the bitmap character that is outside the LCD display area will be clipped.
PARAMETERS ch
is the character to be displayed on the LCD.
*ptr
is not used, but is a place holder for STDIO string functions.
*cnt
is not used, is a place holder for STDIO string functions.
*pInst
is a font descriptor pointer.
RETURN VALUE
None.
SEE ALSO glPrintf, glPutFont, doprnt
void glPrintf(int x, int y, fontInfo *pInfo, char *fmt, ...);
Prints a formatted string (much like
printf
) on the LCD screen. Only the character codes that exist in the font set are printed, all others are skipped. For example, '\b', '\t', '\n' and '\r' (ASCII backspace, tab, new line, and carriage return, respectively) will be printed if they exist in the font set, but will not have any effect as control characters. Any portion of the bitmap character that is outside the LCD display area will be clipped.
PARAMETERS x
is the
x
coordinate (column) of the top left corner of the text.
y
is the
y
coordinate (row) of the top left corner of the text.
*pInfo
is a font descriptor pointer.
*fmt
is a formatted string.
...
are formatted string conversion parameter(s).
EXAMPLE glprintf(0,0, &fi12x16, "Test %d\n", count);
RETURN VALUE
None.
SEE ALSO glXFontInit
82 MiniCom (OP6800)
void glBuffLock(void);
Increments LCD screen locking counter. Graphic calls are recorded in the LCD memory buffer and are not transferred to the LCD if the counter is non-zero.
NOTE: glBuffLock()
and
glBuffUnlock()
can be nested up to a level of 255, but be sure to balance the calls. It is not a requirement to use these procedures, but a set of
glBuffLock()
and
glBuffUnlock()
bracketing a set of related graphic calls speeds up the rendering significantly.
RETURN VALUE
None.
SEE ALSO glBuffUnlock, glSwap
void glBuffUnlock(void);
Decrements the LCD screen locking counter. The contents of the LCD buffer are transferred to the LCD if the counter goes to zero.
RETURN VALUE
None.
SEE ALSO glBuffLock, glSwap
void glSwap(void);
Checks the LCD screen locking counter. The contents of the LCD buffer are transferred to the LCD if the counter is zero.
RETURN VALUE
None.
SEE ALSO glBuffUnlock, glBuffLock, _glSwapData
(located in the library specifically for the LCD that you are using
)
User’s Manual 83
void glSetBrushType(int type);
Sets the drawing method (or color) of pixels drawn by subsequent graphic calls.
PARAMETER type
value can be one of the following macros.
PIXBLACK
draws black pixels (turns pixel on).
PIXWHITE
draws white pixels (turns pixel off).
PIXXOR
draws old pixel XOR'ed with the new pixel.
RETURN VALUE
None.
SEE ALSO glGetBrushType
int glGetBrushType(void);
Gets the current method (or color) of pixels drawn by subsequent graphic calls.
RETURN VALUE
The current brush type.
SEE ALSO glSetBrushType
void glPlotDot(int x, int y);
Draws a single pixel in the LCD buffer, and on the LCD if the buffer is unlocked. If the coordinates are outside the LCD display area, the dot will not be plotted.
PARAMETERS x
is the
x
coordinate of the dot.
y
is the
y
coordinate of the dot.
RETURN VALUE
None.
SEE ALSO glPlotline, glPlotPolygon, glPlotCircle
84 MiniCom (OP6800)
void glPlotLine(int x0, int y0, int x1, int y1);
Draws a line in the LCD buffer, and on the LCD if the buffer is unlocked. Any portion of the line that is beyond the LCD display area will be clipped.
PARAMETERS x0
is the
x
coordinate of one endpoint of the line.
y0
is the
y
coordinate of one endpoint of the line.
x1
is the
x
coordinate of the other endpoint of the line.
y1
is the
y
coordinate of the other endpoint of the line.
RETURN VALUE
None.
SEE ALSO glPlotDot, glPlotPolygon, glPlotCircle
void glLeft1(int left, int top, int cols, int rows);
Scrolls byte-aligned window left one pixel, right column is filled by current pixel type (color).
PARAMETERS left
is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.
top
is the top left corner of the bitmap.
cols
is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.
rows
is the number of rows in the window.
RETURN VALUE
None.
SEE ALSO glHScroll, glRight1
void glRight1(int left, int top, int cols, int rows);
Scrolls byte-aligned window right one pixel, left column is filled by current pixel type (color).
PARAMETERS left
is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.
top
is the top left corner of the bitmap.
cols
is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.
rows
is the number of rows in the window.
RETURN VALUE
None.
SEE ALSO glHScroll, glLeft1
User’s Manual 85
void glUp1(int left, int top, int cols, int rows);
Scrolls byte-aligned window up one pixel, bottom column is filled by current pixel type (color).
PARAMETERS left
is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.
top
is the top left corner of the bitmap.
cols
is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.
rows
is the number of rows in the window.
RETURN VALUE
None.
SEE ALSO glVScroll, glDown1
void glDown1(int left, int top, int cols, int rows);
Scrolls byte-aligned window down one pixel, top column is filled by current pixel type (color).
PARAMETERS left
is the top left corner of bitmap, must be evenly divisible by 8, otherwise truncates.
top
is the top left corner of the bitmap.
cols
is the number of columns in the window, must be evenly divisible by 8, otherwise truncates.
rows
is the number of rows in the window.
RETURN VALUE
None.
SEE ALSO glVScroll, glUp1
86 MiniCom (OP6800)
void glHScroll(int left, int top, int cols, int rows, int nPix);
Scrolls right or left, within the defined window by x number of pixels. The opposite edge of the scrolled window will be filled in with white pixels. The window must be byte-aligned.
Parameters will be verified for the following:
1. The
left
and
cols
parameters will be verified that they are evenly divisible by 8. If not, they will be truncated to a value that is a multiple of 8.
2. Parameters will be checked to verify that the scrolling area is valid. The minimum scrolling area is a width of 8 pixels and a height of one row.
PARAMETERS left
is the top left corner of bitmap, must be evenly divisible by 8.
top
is the top left corner of the bitmap.
cols
is the number of columns in the window, must be evenly divisible by 8.
rows
is the number of rows in the window.
nPix
is the number of pixels to scroll within the defined window (a negative value will produce a scroll to the left).
RETURN VALUE
None.
SEE ALSO glVScroll
User’s Manual 87
void glVScroll(int left, int top, int cols, int rows, int nPix);
Scrolls up or down, within the defined window by x number of pixels. The opposite edge of the scrolled window will be filled in with white pixels. The window must be byte-aligned.
Parameters will be verified for the following:
1. The
left
and
cols
parameters will be verified that they are evenly divisible by 8. If not, they will be truncated to a value that is a multiple of 8.
2. Parameters will be checked to verify that the scrolling area is valid. The minimum scrolling area is a width of 8 pixels and a height of one row.
PARAMETERS left
is the top left corner of bitmap, must be evenly divisible by 8.
top
is the top left corner of the bitmap.
cols
is the number of columns in the window, must be evenly divisible by 8.
rows
is the number of rows in the window.
nPix
is the number of pixels to scroll within the defined window (a negative value will produce a scroll up).
RETURN VALUE
None.
SEE ALSO glHScroll
void glXPutBitmap(int left, int top, int width, int height, unsigned long bitmap);
Draws bitmap in the specified space. The data for the bitmap are stored in
xmem
. This function calls
glXPutFastmap
automatically if the bitmap is byte-aligned (the left edge and the width are each evenly divisible by 8, otherwise truncated).
Any portion of a bitmap image or character that is outside the LCD display area will be clipped.
PARAMETERS left
is the top left corner of the bitmap.
top
is the top left corner of the bitmap.
width
is the width of the bitmap.
height
is the height of the bitmap.
bitmap
is the address of the bitmap in
xmem
.
RETURN VALUE
None.
SEE ALSO glXPutFastmap, glPrintf
88 MiniCom (OP6800)
void glXPutFastmap(int left, int top, int width, int height, unsigned long bitmap);
Draws bitmap in the specified space. The data for the bitmap are stored in
xmem
. This function is like
glXPutBitmap
, except that it is faster. The restriction is that the bitmap must be byte-aligned.
Any portion of a bitmap image or character that is outside the LCD display area will be clipped.
PARAMETERS left
is the top left corner of the bitmap, must be evenly divisible by 8, otherwise truncates.
top
is the top left corner of the bitmap.
width
is the width of the bitmap, must be evenly divisible by 8, otherwise truncates.
height
is the height of the bitmap.
bitmap
is the address of the bitmap in
xmem
.
RETURN VALUE
None.
SEE ALSO glXPutBitmap, glPrintf
int TextWindowFrame(windowFrame *window, fontInfo *pFont, int x, int y, int winWidth, int winHeight)
Defines a text-only display window. This function provides a way to display characters within the text window using only character row and column coordinates. The text window feature provides end-of-line wrapping and clipping after the character in the last column and row is displayed.
NOTE: Execute the
TextWindowFrame
function before other
Text...
functions.
PARAMETERS
*window
is a window frame descriptor pointer.
*pFont
is a font descriptor pointer.
x
is the x coordinate of the top left corner of the text window frame.
y
is the y coordinate of the top left corner of the text window frame.
winWidth
is the width of the text window frame.
winHeight
is the height of the text window frame.
RETURN VALUE
0—window frame was successfully created.
-1—x coordinate + width has exceeded the display boundary.
-2—y coordinate + height has exceeded the display boundary.
User’s Manual 89
void TextGotoXY(windowFrame *window, int col, int row);
Sets the cursor location to where the next character will be displayed. The display location is based on the height and width of the character to be displayed.
NOTE: Execute the
TextWindowFrame
function before using this function.
PARAMETERS
*window
is a pointer to a font descriptor.
col
is a character column location.
row
is a character row location.
RETURN VALUE
None.
SEE ALSO
TextPutChar, TextPrintf, TextWindowFrame
void TextCursorLocation(windowFrame *window, int *col, int *row);
Gets the current cursor location that was set by a Graphic
Text...
function.
NOTE: Execute the
TextWindowFrame
function before using this function.
PARAMETERS
*window
is a pointer to a font descriptor.
*col
is a pointer to cursor column variable.
*row
is a pointer to cursor row variable.
RETURN VALUE
Lower word = Cursor Row location
Upper word = Cursor Column location
SEE ALSO
TextGotoXY, TextPrintf, TextWindowFrame, TextCursorLocation
90 MiniCom (OP6800)
void TextPutChar(struct windowFrame *window, char ch);
Displays a character on the display where the cursor is currently pointing. If any portion of a bitmap character is outside the LCD display area, the character will not be displayed. The cursor increments to the next character position.
NOTE: Execute the
TextWindowFrame
function before using this function.
PARAMETERS
*window
is a pointer to a font descriptor.
ch
is a character to be displayed on the LCD.
RETURN VALUE
None.
SEE ALSO
TextGotoXY, TextPrintf, TextWindowFrame, TextCursorLocation
void TextPrintf(struct windowFrame *window, char *fmt, ...);
Prints a formatted string (much like
printf
) on the LCD screen. Only printable characters in the font set are printed, also escape sequences, '\r' and '\n' are recognized. All other escape sequences will be skipped over; for example, '\b' and \'t' will print if they exist in the font set, but will not have any effect as control characters.
The text window feature provides end-of-line wrapping and clipping after the character in the last column and row is displayed. The cursor then remains at the end of the string.
NOTE: Execute the
TextWindowFrame
function before using this function.
PARAMETERS
*window
is a pointer to a font descriptor.
*fmt
is a formatted string.
...
are formatted string conversion parameter(s).
EXAMPLE
TextPrintf(&TextWindow, "Test %d\n", count);
RETURN VALUE
None.
SEE ALSO
TextGotoXY, TextPutChar, TextWindowFrame, TextCursorLocation
User’s Manual 91
advertisement
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Related manuals
advertisement
Table of contents
- 5 1.1 Description
- 5 1.2 Features
- 6 1.3 Development and Evaluation Tools
- 6 1.3.1 Tool Kit
- 7 1.3.2 Software
- 8 1.4 CE Compliance
- 9 1.4.1 Design Guidelines
- 9 1.4.2 Interfacing the OP6800 to Other Devices
- 11 2.1 Connections
- 14 2.2 Demonstration Program on Power-Up
- 14 2.3 Display Contrast Adjustment
- 15 2.4 Programming Cable Connections
- 16 2.5 Installing Dynamic C
- 16 2.6 Starting Dynamic C
- 17 2.7 PONG.C
- 17 2.8 Where Do I Go From Here?
- 20 3.1 Pinouts
- 21 3.2 Digital I/O
- 21 3.2.1 Digital Inputs
- 22 3.2.2 Digital Outputs
- 23 3.3 Serial Communication
- 23 3.3.1 RS
- 23 3.3.2 RS
- 25 3.3.3 Programming Port
- 26 3.3.4 Ethernet Port (OP6800 models only)
- 27 3.4 Memory
- 27 3.4.1 SRAM
- 27 3.4.2 Flash Memory
- 28 3.5 Keypad Labeling
- 32 4.1 Programming Cable
- 32 4.1.1 Switching Between Program Mode and Run Mode
- 32 4.1.2 Detailed Instructions: Changing from Program Mode to Run Mode
- 32 4.1.3 Detailed Instructions: Changing from Run Mode to Program Mode
- 33 4.2 OP6800 Libraries
- 34 4.3 Sample Programs
- 34 4.3.1 Board ID
- 34 4.3.2 Demonstration Board
- 35 4.3.3 Digital I/O
- 35 4.3.4 Serial Communication
- 35 4.3.5 LCD/Keypad Module Sample Programs
- 36 4.3.6 TCP/IP Sample Programs
- 37 4.4 Font and Bitmap Converter
- 39 5.1 TCP/IP Connections
- 41 5.2 TCP/IP Sample Programs
- 41 5.2.1 How to Set IP Addresses in the Sample Programs
- 42 5.2.2 How to Set Up your Computer’s IP Address for a Direct Connection
- 43 5.2.3 Run the PINGME.C Demo
- 43 5.2.4 Running More Demo Programs With a Direct Connection
- 44 5.2.5 LCD/Keypad Sample Programs Showing TCP/IP Features
- 45 5.3 Where Do I Go From Here?
- 47 6.1 Installation Guidelines
- 48 6.2 Mounting Instructions
- 48 6.2.1 Bezel-Mount Installation
- 52 A.1 Electrical and Mechanical Specifications
- 55 A.2 Conformal Coating
- 56 A.3 Jumper Configurations
- 57 A.4 Use of Rabbit 2000 Parallel Ports
- 59 A.5 I/O Address Assignments
- 61 B.1 Power Supplies
- 62 B.2 Batteries and External Battery Connections
- 62 B.2.1 Battery-Backup Circuit
- 63 B.2.2 Power to VRAM Switch
- 63 B.2.3 Reset Generator
- 64 B.3 Chip Select Circuit
- 66 C.1 Mechanical Dimensions and Layout
- 67 C.2 Power Supply
- 69 C.3 Using the Demonstration Board
- 74 D.1 Board Initialization (OP68xx.LIB)
- 75 D.2 Digital I/O (OP68xx.LIB)
- 76 D.3 Serial Communication (OP68xx.LIB)
- 78 D.4 LEDs (OP68xx.LIB)
- 79 D.5 LCD Display
- 96 D.6 Keypad