Driver for 4D Systems LCD screen with Picaso processor. Ported from 4D Systems Picaso Serial Linux Library

Dependencies:   MODSERIAL

Dependents:   uLCD_4D_24PTU Drawing Program RoommateTracker_ScreenAndPhone ece4180_roommate_tracker_final

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Picaso_enums.h Source File

Picaso_enums.h

Go to the documentation of this file.
00001 /** @file Picaso_enums.h
00002  *
00003  * This file contains various constants for use with the Picaso serial commands.
00004  * 
00005  * This is a port of the 4D systems Picaso Serial Linux Library
00006  * Copyright (c) 2014 4D Systems PTY Ltd, Sydney, Australia
00007  * From https://github.com/4dsystems/Picaso-Serial-Linux-Library, retrieved March 5, 2015
00008  *
00009  * All software in this library is provided without warranty; use at your own risk.
00010  */
00011 
00012 #ifndef PICASO_ENUMS_H
00013 #define PICASO_ENUMS_H
00014 
00015 /** @namespace Picaso
00016  * Namespace to contain all of the constants that the user may need for the Picaso processor.
00017  */
00018 namespace Picaso {
00019     
00020     /** @enum
00021      * Generic constants
00022      */
00023     enum {
00024         ENABLE = 1,
00025         DISABLE = 0,
00026     
00027         HI = 1,
00028         LO = 0,
00029     
00030         INPUT = 1,
00031         OUTPUT = 0,
00032     
00033         ON = 1,
00034         OFF = 0,
00035         
00036         ALL = 0xFFFF /** argument for img_xxx functions to update all images */
00037     };
00038     
00039     
00040     /** @enum BaudRate
00041      * Allowed serial interface baud rates.
00042      */
00043     enum BaudRate {
00044         BAUD_110 = 0, BAUD_300, BAUD_600, BAUD_1200, BAUD_2400, BAUD_4800, BAUD_9600, BAUD_14400,
00045         BAUD_19200, BAUD_31250, BAUD_38400, BAUD_56000, BAUD_57600, BAUD_115200, BAUD_128000,
00046         BAUD_256000, BAUD_300000, BAUD_375000, BAUD_500000, BAUD_600000
00047     };
00048     
00049     
00050     /**
00051      * @enum Color
00052      *
00053      * 16 bit RGB (565) Colour Chart
00054      * Original work by 4D Forum Member: skadoo
00055      */
00056     enum Color {
00057         ALICEBLUE = 0xF7DF,
00058         ANTIQUEWHITE = 0xFF5A,
00059         AQUA = 0x07FF,
00060         AQUAMARINE = 0x7FFA,
00061         AZURE = 0xF7FF,
00062         BEIGE = 0xF7BB,
00063         BISQUE = 0xFF38,
00064         BLACK = 0x0000,
00065         BLANCHEDALMOND = 0xFF59,
00066         BLUE = 0x001F,
00067         BLUEVIOLET = 0x895C,
00068         BROWN = 0xA145,
00069         BURLYWOOD = 0xDDD0,
00070         CADETBLUE = 0x5CF4,
00071         CHARTREUSE = 0x7FE0,
00072         CHOCOLATE = 0xD343,
00073         CORAL = 0xFBEA,
00074         CORNFLOWERBLUE = 0x64BD,
00075         CORNSILK = 0xFFDB,
00076         CRIMSON = 0xD8A7,
00077         CYAN = 0x07FF,
00078         DARKBLUE = 0x0011,
00079         DARKCYAN = 0x0451,
00080         DARKGOLDENROD = 0xBC21,
00081         DARKGRAY = 0xAD55,
00082         DARKGREEN = 0x0320,
00083         DARKKHAKI = 0xBDAD,
00084         DARKMAGENTA = 0x8811,
00085         DARKOLIVEGREEN = 0x5345,
00086         DARKORANGE = 0xFC60,
00087         DARKORCHID = 0x9999,
00088         DARKRED = 0x8800,
00089         DARKSALMON = 0xECAF,
00090         DARKSEAGREEN = 0x8DF1,
00091         DARKSLATEBLUE = 0x49F1,
00092         DARKSLATEGRAY = 0x2A69,
00093         DARKTURQUOISE = 0x067A,
00094         DARKVIOLET = 0x901A,
00095         DEEPPINK = 0xF8B2,
00096         DEEPSKYBLUE = 0x05FF,
00097         DIMGRAY = 0x6B4D,
00098         DODGERBLUE = 0x1C9F,
00099         FIREBRICK = 0xB104,
00100         FLORALWHITE = 0xFFDE,
00101         FORESTGREEN = 0x2444,
00102         FUCHSIA = 0xF81F,
00103         GAINSBORO = 0xDEFB,
00104         GHOSTWHITE = 0xFFDF,
00105         GOLD = 0xFEA0,
00106         GOLDENROD = 0xDD24,
00107         GRAY = 0x8410,
00108         GREEN = 0x0400,
00109         GREENYELLOW = 0xAFE5,
00110         HONEYDEW = 0xF7FE,
00111         HOTPINK = 0xFB56,
00112         INDIANRED = 0xCAEB,
00113         INDIGO = 0x4810,
00114         IVORY = 0xFFFE,
00115         KHAKI = 0xF731,
00116         LAVENDER = 0xE73F,
00117         LAVENDERBLUSH = 0xFF9E,
00118         LAWNGREEN = 0x7FE0,
00119         LEMONCHIFFON = 0xFFD9,
00120         LIGHTBLUE = 0xAEDC,
00121         LIGHTCORAL = 0xF410,
00122         LIGHTCYAN = 0xE7FF,
00123         LIGHTGOLD = 0xFFDA,
00124         LIGHTGREEN = 0x9772,
00125         LIGHTGREY = 0xD69A,
00126         LIGHTPINK = 0xFDB8,
00127         LIGHTSALMON = 0xFD0F,
00128         LIGHTSEAGREEN = 0x2595,
00129         LIGHTSKYBLUE = 0x867F,
00130         LIGHTSLATEGRAY = 0x7453,
00131         LIGHTSTEELBLUE = 0xB63B,
00132         LIGHTYELLOW = 0xFFFC,
00133         LIME = 0x07E0,
00134         LIMEGREEN = 0x3666,
00135         LINEN = 0xFF9C,
00136         MAGENTA = 0xF81F,
00137         MAROON = 0x8000,
00138         MEDIUMAQUAMARINE = 0x6675,
00139         MEDIUMBLUE = 0x0019,
00140         MEDIUMORCHID = 0xBABA,
00141         MEDIUMPURPLE = 0x939B,
00142         MEDIUMSEAGREEN = 0x3D8E,
00143         MEDIUMSLATEBLUE = 0x7B5D,
00144         MEDIUMSPRINGGREEN = 0x07D3,
00145         MEDIUMTURQUOISE = 0x4E99,
00146         MEDIUMVIOLETRED = 0xC0B0,
00147         MIDNIGHTBLUE = 0x18CE,
00148         MINTCREAM = 0xF7FF,
00149         MISTYROSE = 0xFF3C,
00150         MOCCASIN = 0xFF36,
00151         NAVAJOWHITE = 0xFEF5,
00152         NAVY = 0x0010,
00153         OLDLACE = 0xFFBC,
00154         OLIVE = 0x8400,
00155         OLIVEDRAB = 0x6C64,
00156         ORANGE = 0xFD20,
00157         ORANGERED = 0xFA20,
00158         ORCHID = 0xDB9A,
00159         PALEGOLDENROD = 0xEF55,
00160         PALEGREEN = 0x9FD3,
00161         PALETURQUOISE = 0xAF7D,
00162         PALEVIOLETRED = 0xDB92,
00163         PAPAYAWHIP = 0xFF7A,
00164         PEACHPUFF = 0xFED7,
00165         PERU = 0xCC27,
00166         PINK = 0xFE19,
00167         PLUM = 0xDD1B,
00168         POWDERBLUE = 0xB71C,
00169         PURPLE = 0x8010,
00170         RED = 0xF800,
00171         ROSYBROWN = 0xBC71,
00172         ROYALBLUE = 0x435C,
00173         SADDLEBROWN = 0x8A22,
00174         SALMON = 0xFC0E,
00175         SANDYBROWN = 0xF52C,
00176         SEAGREEN = 0x2C4A,
00177         SEASHELL = 0xFFBD,
00178         SIENNA = 0xA285,
00179         SILVER = 0xC618,
00180         SKYBLUE = 0x867D,
00181         SLATEBLUE = 0x6AD9,
00182         SLATEGRAY = 0x7412,
00183         SNOW = 0xFFDF,
00184         SPRINGGREEN = 0x07EF,
00185         STEELBLUE = 0x4416,
00186         TAN = 0xD5B1,
00187         TEAL = 0x0410,
00188         THISTLE = 0xDDFB,
00189         TOMATO = 0xFB08,
00190         TURQUOISE = 0x471A,
00191         VIOLET = 0xEC1D,
00192         WHEAT = 0xF6F6,
00193         WHITE = 0xFFFF,
00194         WHITESMOKE = 0xF7BE,
00195         YELLOW = 0xFFE0,
00196         YELLOWGREEN = 0x9E66
00197     };
00198     
00199     /** @enum Pin
00200      * Constants for referencing I/O pins.
00201      */
00202     enum Pin {
00203         IO1_PIN = 1, // pin 2 J1
00204         IO2_PIN = 2, // pin 1 J1
00205         IO3_PIN = 3, // pin 3 J1
00206         IO4_PIN = 4, // pin 5 J1 (also used for BUS_RD)
00207         IO5_PIN = 5, // pin 9 J2 (also used for BUS_WR)
00208         BUS_RD_PIN = 4, // pin 5 J1 (alias IO4_PIN)
00209         BUS_WR_PIN = 5, // pin 9 J2 (alias IO5_PIN)
00210         BACKLITE = 6, // backlite control pin
00211         AUDIO_ENABLE = 7, // amplifier chip control pin
00212         BUS_0 = 8, // pin 27 of J1
00213         BUS_1 = 9, // pin 25 of J1
00214         BUS_2 = 10, // pin 23 of J1
00215         BUS_3 = 11, // pin 21 of J1
00216         BUS_4 = 12, // pin 19 of J1
00217         BUS_5 = 13, // pin 17 of J1
00218         BUS_6 = 14, // pin 13 of J2
00219         BUS_7 = 15 // pin 11 of J2
00220     };
00221     
00222 
00223     /** @enum GFXSetFunc
00224      *  Constants for referencing various parameters with gfx_Set and peekW/pokeW.
00225      */
00226     enum GFXSetFunc {
00227         PEN_SIZE = 16,              // not necessary to use (legacy mode)
00228         BACKGROUND_COLOUR = 17,
00229         OBJECT_COLOUR = 18,         // line / circle / rectangle generic colour
00230         CLIPPING = 19,              // clipping ON / OFF
00231         TRANSPARENT_COLOUR = 20,    // (only on displays with specific hware feature)
00232         TRANSPARENCY = 21,          // 0 = OFF, 1 = ON (only on displays with specific hware feature)
00233         FRAME_DELAY = 22,           // legacy mode, see pokeB(IMAGE_DELAY, n);
00234         SCREEN_MODE = 23,           // LANDSCAPE, LANDSCAPE_R, PORTRAIT, PORTRAIT_R
00235         OUTLINE_COLOUR = 24,        // if not BLACK (0) , used for outline around circles,rectangles and filled polygons
00236         CONTRAST = 25,              // for OLED, change contrast, for LCD on or off only
00237         LINE_PATTERN = 26,          // used for patterned lines, 16bit value (0 = no pattern, '1's = pattern)
00238         COLOUR_MODE = 27,           // select 8 or 16 bit colour mode
00239         BEVEL_WIDTH = 28,           // button bevel width
00240         BEVEL_SHADOW = 29,          // button bevel shadow depth
00241         X_ORIGIN = 30,              // display position X offset
00242         Y_ORIGIN = 31               // display position X offset
00243     };
00244     
00245     
00246     /** @enum GFXGetMode
00247      *  Constants to pass to gfx_Get.
00248      */
00249     enum GFXGetMode {
00250         X_MAX = 0,          // current orientations screen maximum X co-ordinate
00251         Y_MAX = 1,          // current orientations screen maximum Y co-ordinate
00252         LEFT_POS = 2,       // last objects left co-ord
00253         TOP_POS = 3,        // last objects top co-ord
00254         RIGHT_POS = 4,      // last objects right co-ord
00255         BOTTOM_POS = 5,     // last objects bottom co-ord
00256         X_ORG = 6,          // display position X offset
00257         Y_ORG = 7           // display position X offset
00258     };
00259     
00260     
00261     /** @enum FileError
00262      * File I/O error codes.
00263      */
00264     enum FileError {
00265         FE_OK = 0,                  // IDE function succeeded
00266         FE_IDE_ERROR = 1,           // IDE command execution error
00267         FE_NOT_PRESENT = 2,         // CARD not present
00268         FE_PARTITION_TYPE = 3,      // WRONG partition type, not FAT16
00269         FE_INVALID_MBR = 4,         // MBR sector invalid signature
00270         FE_INVALID_BR = 5,          // Boot Record invalid signature
00271         FE_DISK_NOT_MNTD = 6,       // Media not mounted
00272         FE_FILE_NOT_FOUND = 7,      // File not found in open for read
00273         FE_INVALID_FILE = 8,        // File not open
00274         FE_FAT_EOF = 9,             // Fat attempt to read beyond EOF
00275         FE_EOF = 10,                // Reached the end of file
00276         FE_INVALID_CLUSTER = 11,    // Invalid cluster value > maxcls
00277         FE_DIR_FULL = 12,           // All root dir entry are taken
00278         FE_DISK_FULL = 13,          // All clusters in partition are taken
00279         FE_FILE_OVERWRITE = 14,     // A file with same name exist already
00280         FE_CANNOT_INIT = 15,        // Cannot init the CARD
00281         FE_CANNOT_READ_MBR = 16,    // Cannot read the MBR
00282         FE_MALLOC_FAILED = 17,      // Malloc could not allocate the FILE struct
00283         FE_INVALID_MODE = 18,       // Mode was not r.w.
00284         FE_FIND_ERROR = 19,         // Failure during FILE search
00285         FE_INVALID_FNAME = 20,      // bad filename
00286         FE_INVALID_MEDIA = 21,      // bad media
00287         FE_SECTOR_READ_FAIL = 22,   // sector read failed
00288         FE_SECTOR_WRITE_FAIL = 23   // sector write failed
00289     };
00290     
00291     /** @enum ScreenMode
00292      *  Constants to pass to the gfx_ScreenMode command.
00293      */
00294     enum ScreenMode {
00295         LANDSCAPE = 0, // SCREEN_MODE (north)
00296         LANDSCAPE_R = 1, // SCREEN_MODE (south)
00297         PORTRAIT = 2, // SCREEN_MODE (west)
00298         PORTRAIT_R = 3 // SCREEN_MODE (east)
00299     };
00300     
00301     /** @enum ButtonState
00302      *  Constants to pass to gfx_Button for setting button appearance.
00303      */
00304     enum ButtonState {
00305         BUTTON_DEPRESSED = 0,
00306         BUTTON_RAISED = 1
00307     };
00308     
00309     /** @enum SliderState
00310      *  Constants to pass to gfx_Slider for setting slider appearance.
00311      */
00312     enum SliderState {
00313         SLIDER_SUNKEN = 0,
00314         SLIDER_RAISED = 1,
00315         SLIDER_HIDDEN = 2
00316     };
00317     
00318     /** @enum PanelState
00319      *  Constants to pass to gfx_Panel for setting panel appearance.
00320      */
00321     enum PanelState {
00322         PANEL_SUNKEN = 0,
00323         PANEL_RAISED = 1,
00324         PANEL_HIDDEN = 2
00325     };
00326     
00327     
00328     //------------------------------------------------------------------------------
00329     //txt_Set() related constants
00330     //------------------------------------------------------------------------------
00331     /** @enum TextSetFunc
00332      *  Constants for referencing text parameters for use in the txt_Set, peekW, and peekM commands.
00333      */
00334     enum TextSetFunc {
00335         TEXT_COLOUR = 0,        ///< text foreground colr
00336         TEXT_BACKGROUND = 1,    ///< text background colr
00337         TEXT_HIGHLIGHT = 1,     ///< text background colr
00338         FONT_ID = 2,            ///< default 0, else points to data statement font
00339         FONT_SIZE = 2,          ///< compatibility
00340         TEXT_WIDTH = 3,         ///< text width multiplier
00341         TEXT_HEIGHT = 4,        ///< text height multiplier
00342         TEXT_XGAP = 5,          ///< horizontal text gap (default 1)
00343         TEXT_YGAP = 6,          ///< vertical text gap (default 1)
00344         TEXT_PRINTDELAY = 7,    ///< for 'teletype' like effect when printing
00345         TEXT_OPACITY = 8,       ///< text mode flag, TRANSPARENT or OPAQUE
00346         TEXT_BOLD = 9,          ///< embolden text (auto reset)
00347         TEXT_ITALIC = 10,       ///< italicize text (auto reset)
00348         TEXT_INVERSE = 11,      ///< invert text (auto reset)
00349         TEXT_UNDERLINED = 12,   ///< underline text (auto reset)
00350         TEXT_ATTRIBUTES = 13,   ///< controls BOLD/ITALIC/INVERSE/UNDERLINE simultaneously
00351         TEXT_WRAP = 14          ///< Sets the pixel position where text wrap will occur at RHS
00352     };
00353     
00354     
00355     /** @enum Font
00356      *  Picaso Font IDs.
00357      */
00358     enum Font {
00359         FONT1 = 0,          ///< System font
00360         FONT2 = 1,
00361         FONT3 = 2           ///< Default font
00362     };
00363     
00364     enum TextOpacity  {
00365         TRANSPARENT = 0,    ///< TEXT_OPACITY  transparent  text
00366         OPAQUE = 1          ///< TEXT_OPACITY  opaque text
00367     };
00368     
00369     enum TextAttribute  {
00370         BOLD = 16,          ///< TEXT_ATTRIBUTES bold text
00371         ITALIC = 32,        ///< TEXT_ATTRIBUTES italic text
00372         INVERSE = 64,       ///< TEXT_ATTRIBUTES inverse text
00373         UNDERLINED = 128    ///< TEXT_ATTRIBUTES underlined
00374     };
00375     
00376     /** @enum Touch
00377      *  Constants to pass to the touch_Set and touch_Get commands.
00378      */
00379     enum Touch {
00380         TOUCH_ENABLE = 0,
00381         TOUCH_DISABLE = 1,
00382         TOUCH_REGIONDEFAULT = 2,
00383         
00384         TOUCH_STATUS = 0,
00385         TOUCH_GETX = 1,
00386         TOUCH_GETY = 2,
00387         NOTOUCH = 0,
00388         TOUCH_PRESSED = 1,
00389         TOUCH_RELEASED = 2,
00390         TOUCH_MOVING = 3
00391     };
00392     
00393     /** @enum ImageAttribute
00394      *  Flags for image attributes to be passed to the img_SetAttributes and img_ClearAttributes commands.
00395      */
00396     enum ImageAttribute {
00397         I_ENABLED = 0x8000,         ///< bit 15,  set for image enabled
00398         I_DARKEN = 0x4000,          ///< bit 14,  display dimmed
00399         I_LIGHTEN = 0x2000,         ///< bit 13,  display bright
00400         I_TOUCHED = 0x1000,         ///< bit 12,  touch test result
00401         I_Y_LOCK = 0x0800,          ///< bit 11,  stop Y movement
00402         I_X_LOCK = 0x0400,          ///< bit 10,  stop X movement
00403         I_TOPMOST = 0x0200,         ///< bit 9,   draw on top of other images next update (auto reset)
00404         I_STAYONTOP = 0x0100,       ///< bit 8,   draw on top of other images always
00405         I_MOVIE = 0x0080,           ///< bit 7,   image is a movie
00406         I_NOGROUP = 0x0040,         ///< bit 6,   set to exclude image refresh when using img_Show(hndl, ALL);
00407         I_TOUCH_DISABLE = 0x0020,   ///< bit 5,   set to disable touch for this image, default=1 for movie, 0 for image
00408         I_COLOUR16 = 0x0010         ///< bit 4,   indicates 16 bit colour mode
00409                                     ///< bits 0-3 reserved
00410     };
00411     
00412     
00413     // image control entry offsets
00414     enum ImageControlOffset  {
00415         IMAGE_LOWORD = 0,       ///< WORD image address LO
00416         IMAGE_HIWORD = 1,       ///< WORD image address HI
00417         IMAGE_XPOS = 2,         ///< WORD image location X
00418         IMAGE_YPOS = 3,         ///< WORD image location Y
00419         IMAGE_WIDTH = 4,        ///< WORD image width
00420         IMAGE_HEIGHT = 5,       ///< WORD image height
00421         IMAGE_FLAGS = 6,        ///< WORD image flags
00422         IMAGE_DELAY = 7,        ///< WORD inter frame delay
00423         IMAGE_FRAMES = 8,       ///< WORD number of frames
00424         IMAGE_INDEX = 9,        ///< WORD current frame
00425         IMAGE_CLUSTER = 10,     ///< WORD image start cluster  pos (for FAT16 only)
00426         IMAGE_SECTOR = 11,      ///< WORD image start sector in cluster pos (for FAT16 only)
00427         IMAGE_TAG = 12,         ///< WORD user variable #1
00428         IMAGE_TAG2 = 13         ///< WORD user variable #2
00429     };
00430     
00431     
00432     /** @enum MemOffsets
00433      *  Various memory offsets.
00434      */
00435     enum MemOffsets {
00436         // DISK struct offsets
00437         DISK_FIRST_SECT_LO     = 0, ///< DWORD address of the first sector of the FAT partition (LO word)
00438         DISK_FIRST_SECT_HI     = 1, ///<       address of the first sector of the FAT partition (HI word)
00439         DISK_FAT_LO            = 2, ///< DWORD address of FAT (LO word)
00440         DISK_FAT_HI            = 3, ///<       address of FAT (HI word)
00441         DISK_ROOT_LO           = 4, ///< DWORD address of root directory (LO word)
00442         DISK_ROOT_HI           = 5, ///<       address of root directory (HI word)
00443         DISK_DATA_LO           = 6, ///< DWORD address of data area (LO word)
00444         DISK_DATA_HI           = 7, ///<       address of data area (HI word)
00445         DISK_MAXCLUS_LO        = 8, ///< DWORD max number of clusters in partition (LO word)
00446         DISK_MAXCLUS_HI        = 9, ///<       max number of clusters in partition (HI word)
00447         DISK_MAXROOT           = 10, ///< WORD  max entries in root directory
00448         DISK_FATSIZE           = 11, ///< WORD  number of sectors in FAT
00449         DISK_FATCOPIES         = 12, ///< WORD  number of fat copies
00450         DISK_SECT_PER_CLUS     = 13, ///< WORD  number of sectors per cluster
00451         DISK_TYPE              = 14, ///< WORD  type of fat
00452         DISK_BUF               = 15, ///< WORD  pointer to 512 byte info buffer
00453         
00454         // FILE struct offsets
00455         FILE_FIRST_CLUSTER     = 0, ///< WORD  first cluster
00456         FILE_CURR_CLUSTER      = 1, ///< WORD  current cluster in file
00457         FILE_CURR_SECTOR       = 2, ///< WORD  sector in current cluster
00458         FILE_CURR_SECTOR_POS   = 3, ///< WORD  position in current sector
00459         FILE_CURR_SECTOR_TOP   = 4, ///< WORD  number bytes in current sector buffer
00460         FILE_SEEK_POS_LO       = 5, ///< DWORD position in the file (LO word)
00461         FILE_SEEK_POS_HI       = 6, ///<       position in the file (HI word)
00462         FILE_SIZE_LO           = 7, ///< DWORD file size (LO word)
00463         FILE_SIZE_HI           = 8, ///<       file size (HI word)
00464         FILE_TIME              = 9, ///< WORD  last update time
00465         FILE_DATE              = 10, ///< WORD  last update date
00466         FILE_NAME              = 11, ///< WORD  12 byte buffer for filename
00467         FILE_MODE              = 17, ///< WORD  file mode 'r', 'w', 'a'
00468         FILE_ATTRIBUTES        = 18, ///< WORD  files attributes
00469         FILE_PAGEFLAG          = 19, ///< WORD  cache check flag
00470         FILE_ENTRY             = 20, ///< WORD  entry position in cur directory
00471         FILE_DISK              = 21, ///< WORD* pointer to DISK mount media structure
00472         FILE_BUFFER            = 22 ///< WORD*  sector buffer
00473     };
00474     
00475     
00476     /** @enum MemAddresses
00477      *  Various memory addresses for use with the peekM and pokeM commands.
00478      *  Note that the txt_Set variables (0-15) and gfx_set variables (16-31)
00479      *  can also be accessed with peekW and pokeW
00480      */
00481     enum MemAddresses {        
00482         RANDOM_LO              = 32, ///< random number generator LO word
00483         RANDOM_HI              = 33, ///< random number generator LO word
00484         SYSTEM_TIMER_LO        = 34, ///< 1msec 32 bit free running timer LO word
00485         SYSTEM_TIMER_HI        = 35, ///< 1msec 32 bit free running timer HI word
00486         TMR0                   = 36, ///< user timer0
00487         TMR1                   = 37, ///< user timer1
00488         TMR2                   = 38, ///< user timer2
00489         TMR3                   = 39, ///< user timer3 (10msec resolution)
00490         TMR4                   = 40, ///< user timer0
00491         TMR5                   = 41, ///< user timer1
00492         TMR6                   = 42, ///< user timer2
00493         TMR7                   = 43, ///< user timer3 (10msec resolution)
00494         SYS_X_MAX              = 44, ///< display hardware X res-1
00495         SYS_Y_MAX              = 45, ///< display hardware Y res-1
00496         GFX_XMAX               = 46, ///< current display width-1 determined by portrait / landscape swapping
00497         GFX_YMAX               = 47, ///< current display width-1 determined by portrait / landscape swapping
00498         GFX_LEFT               = 48, ///< virtual left point for most recent object
00499         GFX_TOP                = 49, ///< virtual top point for most recent object
00500         GFX_RIGHT              = 50, ///< virtual right point for most recent object
00501         GFX_BOTTOM             = 51, ///< virtual bottom point for most recent object
00502         GFX_X1                 = 52, ///< clipped left point for current object
00503         GFX_Y1                 = 53, ///< clipped top point for current object
00504         GFX_X2                 = 54, ///< clipped right point for current object
00505         GFX_Y2                 = 55, ///< clipped bottom point for current object
00506         GFX_X_ORG              = 56, ///< current X origin
00507         GFX_Y_ORG              = 57, ///< current Y origin
00508         GFX_HILITE_LINE        = 58, ///< current multi line button hilite line
00509         GFX_LINE_COUNT         = 59, ///< count of lines in multiline button
00510         GFX_LAST_SELECTION     = 60, ///< last selected line
00511         GFX_HILIGHT_BACKGROUND = 61, ///< multi button hilite background colour
00512         GFX_HILIGHT_FOREGROUND = 62, ///< multi button hilite background colour
00513         GFX_BUTTON_FOREGROUND  = 63, ///< store default text colour for hilite line tracker
00514         GFX_BUTTON_BACKGROUND  = 64, ///< store default button colour for hilite line tracker
00515         GFX_BUTTON_MODE        = 65, ///< store current buttons mode
00516         GFX_TOOLBAR_HEIGHT     = 66, ///< height above
00517         GFX_STATUSBAR_HEIGHT   = 67, ///< height below
00518         GFX_LEFT_GUTTER_WIDTH  = 68, ///< width to left
00519         GFX_RIGHT_GUTTER_WIDTH = 69, ///< width to right
00520         GFX_PIXEL_SHIFT        = 70, ///< pixel shift for button depress illusion (default 1)
00521         GFX_RECT_X1            = 71, ///< gp rect, used by multiline button to hilite required line
00522         GFX_RECT_Y1            = 72,
00523         GFX_RECT_X2            = 73,
00524         GFX_RECT_Y2            = 74,
00525         GFX_THUMB_PERCENT      = 75, ///< size of slider thumb as percentage
00526         GFX_THUMB_BORDER_DARK  = 76, ///< darker shadow of thumb
00527         GFX_THUMB_BORDER_LIGHT = 77, ///< lighter shadow of thumb
00528         TOUCH_XMINCAL          = 78, ///< touch calibration value
00529         TOUCH_YMINCAL          = 79, ///< touch calibration value
00530         TOUCH_XMAXCAL          = 80, ///< touch calibration value
00531         TOUCH_YMAXCAL          = 81, ///< touch calibration value
00532         IMG_WIDTH              = 82, ///< width of currently loaded image
00533         IMG_HEIGHT             = 83, ///< height of currently loaded image
00534         IMG_FRAME_DELAY        = 84, ///< 0 if image, else inter frame delay for movie
00535         IMG_FLAGS              = 85, ///< bit 4 determines colour mode, other bits reserved
00536         IMG_FRAME_COUNT        = 86, ///< count of frames in a movie
00537         IMG_PIXEL_COUNT_LO     = 87, ///< count of pixels in the current frame
00538         IMG_PIXEL_COUNT_HI     = 88, ///< count of pixels in the current frame
00539         IMG_CURRENT_FRAME      = 89, ///< last frame shown
00540         MEDIA_ADDRESS_LO       = 90, ///< uSD byte address LO
00541         MEDIA_ADDRESS_HI       = 91, ///< uSD byte address HI
00542         MEDIA_SECTOR_LO        = 92, ///< uSD sector address LO
00543         MEDIA_SECTOR_HI        = 93, ///< uSD sector address HI
00544         MEDIA_SECTOR_COUNT     = 94, ///< uSD number of bytes remaining in sector
00545         TEXT_XPOS              = 95, ///< text current x pixel position
00546         TEXT_YPOS              = 96, ///< text current y pixel position
00547         TEXT_MARGIN            = 97, ///< text left pixel pos for carriage return
00548         TXT_FONT_ID            = 98, ///< font type, 0 = system font, else pointer to user font
00549         TXT_FONT_MAX           = 99, ///< max number of chars in font
00550         TXT_FONT_OFFSET        = 100, ///< starting offset (normally 0x20)
00551         TXT_FONT_WIDTH         = 101, ///< current font width
00552         TXT_FONT_HEIGHT        = 102, ///< current font height
00553         GFX_TOUCH_REGION_X1    = 103, ///< touch capture region
00554         GFX_TOUCH_REGION_Y1    = 104,
00555         GFX_TOUCH_REGION_X2    = 105,
00556         GFX_TOUCH_REGION_Y2    = 106,
00557         GFX_CLIP_LEFT_VAL      = 107, ///< left clipping point (set with gfx_ClipWindow(...)
00558         GFX_CLIP_TOP_VAL       = 108, ///< top clipping point (set with gfx_ClipWindow(...)
00559         GFX_CLIP_RIGHT_VAL     = 109, ///< right clipping point (set with gfx_ClipWindow(...)
00560         GFX_CLIP_BOTTOM_VAL    = 110, ///< bottom clipping point (set with gfx_ClipWindow(...)
00561         GFX_CLIP_LEFT          = 111, ///< current clip value (reads full size if clipping turned off)
00562         GFX_CLIP_TOP           = 112, ///< current clip value (reads full size if clipping turned off)
00563         GFX_CLIP_RIGHT         = 113, ///< current clip value (reads full size if clipping turned off)
00564         GFX_CLIP_BOTTOM        = 114, ///< current clip value (reads full size if clipping turned off)
00565         GRAM_PIXEL_COUNT_LO    = 115, ///< LO word of count of pixels in the set GRAM area
00566         GRAM_PIXEL_COUNT_HI    = 116, ///< HI word of count of pixels in the set GRAM area
00567         TOUCH_RAW_X            = 117, ///< 12 bit raw A2D X value from touch screen
00568         TOUCH_RAW_Y            = 118, ///< 12 bit raw A2D Y value from touch screen
00569         GFX_LAST_CHAR_WIDTH    = 119, ///< calculated char width from last call to charWidth function
00570         GFX_LAST_CHAR_HEIGHT   = 120, ///< calculated height from last call to charHeight function
00571         GFX_LAST_STR_WIDTH     = 121, ///< calculated width from last call to strWidth function
00572         GFX_LAST_STR_HEIGHT    = 122 ///< calculated height from last call to strHeight function
00573     };
00574 }
00575 
00576 #endif