Not Complete

Dependencies:   mbed

Fork of Nucleo_rtos by ST

Committer:
codeman
Date:
Thu Jun 23 22:57:30 2016 +0000
Revision:
77:cd59ac40b3be
Not Complete;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
codeman 77:cd59ac40b3be 1 #ifndef _CMDCODES_H_
codeman 77:cd59ac40b3be 2 #define _CMDCODES_H_
codeman 77:cd59ac40b3be 3
codeman 77:cd59ac40b3be 4
codeman 77:cd59ac40b3be 5
codeman 77:cd59ac40b3be 6 #define SERIAL_IF 1
codeman 77:cd59ac40b3be 7 #define SPI_IF 2
codeman 77:cd59ac40b3be 8
codeman 77:cd59ac40b3be 9
codeman 77:cd59ac40b3be 10 // Color Definitions
codeman 77:cd59ac40b3be 11 // R4 R3 R2 R1 | R0 G5 G4 G3 | G2 G1 G0 B4 | B3 B2 B1 B0
codeman 77:cd59ac40b3be 12 #define RED_0 0x0800
codeman 77:cd59ac40b3be 13 #define RED_1 0x1000
codeman 77:cd59ac40b3be 14 #define RED_2 0x2000
codeman 77:cd59ac40b3be 15 #define RED_3 0x4000
codeman 77:cd59ac40b3be 16 #define RED_4 0x8000
codeman 77:cd59ac40b3be 17 #define MAX_RED 0x1F
codeman 77:cd59ac40b3be 18 #define CL_RED(x) (((uint16_t)x) << 11)
codeman 77:cd59ac40b3be 19
codeman 77:cd59ac40b3be 20 #define GREEN_0 0x0020
codeman 77:cd59ac40b3be 21 #define GREEN_1 0x0040
codeman 77:cd59ac40b3be 22 #define GREEN_2 0x0080
codeman 77:cd59ac40b3be 23 #define GREEN_3 0x0100
codeman 77:cd59ac40b3be 24 #define GREEN_4 0x0200
codeman 77:cd59ac40b3be 25 #define GREEN_5 0x0400
codeman 77:cd59ac40b3be 26 #define MAX_GREEN 0x3F
codeman 77:cd59ac40b3be 27 #define CL_GREEN(x) (((uint16_t)x) << 5)
codeman 77:cd59ac40b3be 28
codeman 77:cd59ac40b3be 29 #define BLUE_0 0x0001
codeman 77:cd59ac40b3be 30 #define BLUE_1 0x0002
codeman 77:cd59ac40b3be 31 #define BLUE_2 0x0004
codeman 77:cd59ac40b3be 32 #define BLUE_3 0x0008
codeman 77:cd59ac40b3be 33 #define BLUE_4 0x0010
codeman 77:cd59ac40b3be 34 #define MAX_BLUE 0x1F
codeman 77:cd59ac40b3be 35 #define NAVY BLUE_4
codeman 77:cd59ac40b3be 36 #define CL_BLUE(x) ((uint16_t)x)
codeman 77:cd59ac40b3be 37
codeman 77:cd59ac40b3be 38 #define CL_GRAY(x) (CL_RED(x) | CL_GREEN((x << 1)) | CL_BLUE(x))
codeman 77:cd59ac40b3be 39
codeman 77:cd59ac40b3be 40 #define RED CL_RED(MAX_RED)
codeman 77:cd59ac40b3be 41 #define GREEN CL_GREEN(MAX_GREEN)
codeman 77:cd59ac40b3be 42 #define BLUE CL_BLUE(MAX_BLUE)
codeman 77:cd59ac40b3be 43
codeman 77:cd59ac40b3be 44 #define YELLOW (RED | GREEN)
codeman 77:cd59ac40b3be 45 #define ORANGE (RED | CL_GREEN(MAX_GREEN >> 1))
codeman 77:cd59ac40b3be 46 #define LIGHT_YELLOW (RED | CL_GREEN(0x3B) | CL_BLUE(0x19))
codeman 77:cd59ac40b3be 47 #define WHITE (RED | GREEN | BLUE)
codeman 77:cd59ac40b3be 48 #define BLACK 0x0000
codeman 77:cd59ac40b3be 49 #define GRAY (CL_RED(MAX_RED >> 1) | CL_GREEN(MAX_GREEN >> 1) | CL_BLUE(MAX_BLUE >> 1))
codeman 77:cd59ac40b3be 50 #define GOLD (GREEN_5 + GREEN_4 + GREEN_3 + RED)
codeman 77:cd59ac40b3be 51
codeman 77:cd59ac40b3be 52
codeman 77:cd59ac40b3be 53 // ############################################################################
codeman 77:cd59ac40b3be 54 // ## EZLCD COMMAND CODES ###################################################
codeman 77:cd59ac40b3be 55 // ############################################################################
codeman 77:cd59ac40b3be 56
codeman 77:cd59ac40b3be 57 #define EXMODE 0xFB
codeman 77:cd59ac40b3be 58 #define STDMODE 0xFC
codeman 77:cd59ac40b3be 59 #define GETSERIAL 0xFD
codeman 77:cd59ac40b3be 60 #define SHOWSETTINGS 0xFE
codeman 77:cd59ac40b3be 61 #define CALIBRATE 0xEF
codeman 77:cd59ac40b3be 62
codeman 77:cd59ac40b3be 63 #define CLS 0x21
codeman 77:cd59ac40b3be 64 #define LIGHT_ON 0x22
codeman 77:cd59ac40b3be 65 #define LIGHT_OFF 0x23
codeman 77:cd59ac40b3be 66 #define SET_COLOR 0x24
codeman 77:cd59ac40b3be 67 #define SET_XY 0x25
codeman 77:cd59ac40b3be 68 #define PLOT 0x26
codeman 77:cd59ac40b3be 69 #define PLOT_XY 0x27
codeman 77:cd59ac40b3be 70 #define LINE_TO_XY 0x28
codeman 77:cd59ac40b3be 71 #define CIRCLE_R 0x29
codeman 77:cd59ac40b3be 72 #define SCR_BMP 0x2A
codeman 77:cd59ac40b3be 73 #define SELECT_FONT 0x2B
codeman 77:cd59ac40b3be 74 #define PRINT_CHAR 0x2C
codeman 77:cd59ac40b3be 75 #define PRINT_STRING 0x2D
codeman 77:cd59ac40b3be 76 #define PUT_BITMAP 0x2E
codeman 77:cd59ac40b3be 77 #define ARC 0x2F
codeman 77:cd59ac40b3be 78
codeman 77:cd59ac40b3be 79 #define PIE 0x30
codeman 77:cd59ac40b3be 80
codeman 77:cd59ac40b3be 81 #define SET_LAYER 0x31
codeman 77:cd59ac40b3be 82 #define SET_COLORKEY 0x32
codeman 77:cd59ac40b3be 83 #define SET_LAYERVISIBLE 0x33
codeman 77:cd59ac40b3be 84
codeman 77:cd59ac40b3be 85 #define SET_BG_COLOR 0x34
codeman 77:cd59ac40b3be 86 #define SAVE_POSITION 0x35
codeman 77:cd59ac40b3be 87 #define RESTORE_POSITION 0x36
codeman 77:cd59ac40b3be 88 #define CIRCLE_R_FILL 0x39
codeman 77:cd59ac40b3be 89 #define PRINT_CHAR_BG 0x3C
codeman 77:cd59ac40b3be 90 #define PRINT_STRING_BG 0x3D
codeman 77:cd59ac40b3be 91
codeman 77:cd59ac40b3be 92 #define H_LINE 0x40
codeman 77:cd59ac40b3be 93 #define V_LINE 0x41
codeman 77:cd59ac40b3be 94 #define BOX 0x42
codeman 77:cd59ac40b3be 95 #define BOX_FILL 0x43
codeman 77:cd59ac40b3be 96
codeman 77:cd59ac40b3be 97 #define PICTURE_ROM 0x50
codeman 77:cd59ac40b3be 98 #define PUT_ICON 0x57
codeman 77:cd59ac40b3be 99 #define PUT_SF_ICON 0x58
codeman 77:cd59ac40b3be 100
codeman 77:cd59ac40b3be 101 #define SET_X 0x5E
codeman 77:cd59ac40b3be 102 // 1: x
codeman 77:cd59ac40b3be 103 #define SET_Y 0x5F
codeman 77:cd59ac40b3be 104 // 1: y
codeman 77:cd59ac40b3be 105
codeman 77:cd59ac40b3be 106 #define FONT_NORTH 0x60
codeman 77:cd59ac40b3be 107 #define FONT_EAST 0x61
codeman 77:cd59ac40b3be 108 #define FONT_SOUTH 0x62
codeman 77:cd59ac40b3be 109 #define FONT_WEST 0x63
codeman 77:cd59ac40b3be 110
codeman 77:cd59ac40b3be 111 #define SET_XH 0x6E
codeman 77:cd59ac40b3be 112 // 1: xh 2: xl
codeman 77:cd59ac40b3be 113
codeman 77:cd59ac40b3be 114 #define SD_PUT_ICON 0x70
codeman 77:cd59ac40b3be 115 // 1 - 64: NULL terminated path
codeman 77:cd59ac40b3be 116 #define SD_FILE_OPEN 0x71
codeman 77:cd59ac40b3be 117 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 118 // 2 - 65: NULL terminated path
codeman 77:cd59ac40b3be 119 // Response:
codeman 77:cd59ac40b3be 120 // 0: 0x3F
codeman 77:cd59ac40b3be 121 // 1: 0 = Error, ID = Success
codeman 77:cd59ac40b3be 122 #define SD_FILE_CLOSE 0x72
codeman 77:cd59ac40b3be 123 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 124 #define SD_FILE_CLOSE_ALL 0x73
codeman 77:cd59ac40b3be 125 #define SD_FILE_GET_SIZE 0x74
codeman 77:cd59ac40b3be 126 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 127 // Response:
codeman 77:cd59ac40b3be 128 // 0: 0x3D
codeman 77:cd59ac40b3be 129 // 1-4: File Size (0 = Error)
codeman 77:cd59ac40b3be 130 // or
codeman 77:cd59ac40b3be 131 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 132 #define SD_FILE_READ 0x75
codeman 77:cd59ac40b3be 133 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 134 // 2-5: Number of Bytes
codeman 77:cd59ac40b3be 135 // Response:
codeman 77:cd59ac40b3be 136 // 0: 0x3C
codeman 77:cd59ac40b3be 137 // 1-n: Bytes Read
codeman 77:cd59ac40b3be 138 // or
codeman 77:cd59ac40b3be 139 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 140 #define SD_FILE_CREATE 0x76
codeman 77:cd59ac40b3be 141 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 142 // 2 - 65: NULL terminated path
codeman 77:cd59ac40b3be 143 // Response:
codeman 77:cd59ac40b3be 144 // 0: 0x3F
codeman 77:cd59ac40b3be 145 // 1: 0 = Error, ID = Success
codeman 77:cd59ac40b3be 146 #define SD_SCREEN_CAPTURE 0x44
codeman 77:cd59ac40b3be 147 // Response:
codeman 77:cd59ac40b3be 148 // 0: 0x3B - Success
codeman 77:cd59ac40b3be 149 // 0x3E - Error
codeman 77:cd59ac40b3be 150
codeman 77:cd59ac40b3be 151 #define SD_FOLDER_CREATE 0x46
codeman 77:cd59ac40b3be 152 // 1 - 64: NULL terminated path
codeman 77:cd59ac40b3be 153 // Response:
codeman 77:cd59ac40b3be 154 // 0: 0x3B - Success
codeman 77:cd59ac40b3be 155 // 0x3E - Error
codeman 77:cd59ac40b3be 156 #define SD_FOLDER_DELETE 0x4D
codeman 77:cd59ac40b3be 157 // 1 - 64: NULL terminated path
codeman 77:cd59ac40b3be 158 // Response:
codeman 77:cd59ac40b3be 159 // 0: 0x3A - Success
codeman 77:cd59ac40b3be 160 // 0x3E - Error
codeman 77:cd59ac40b3be 161 #define SD_FORMAT 0x4F
codeman 77:cd59ac40b3be 162 // 1 - 5: File system (FAT12, FAT16, FAT32)
codeman 77:cd59ac40b3be 163 // Response:
codeman 77:cd59ac40b3be 164 // 0: 0x3A - Success
codeman 77:cd59ac40b3be 165 // 0x3E - Error
codeman 77:cd59ac40b3be 166 #define SD_FILE_WRITE 0x77
codeman 77:cd59ac40b3be 167 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 168 // 2-5: Number of Bytes (n)
codeman 77:cd59ac40b3be 169 // 6-(n+5): Data to write
codeman 77:cd59ac40b3be 170 // Response:
codeman 77:cd59ac40b3be 171 // 0: 0x3B - Success
codeman 77:cd59ac40b3be 172 // 0x3E - Error
codeman 77:cd59ac40b3be 173
codeman 77:cd59ac40b3be 174 #define SD_SPACE_INFO 0x48
codeman 77:cd59ac40b3be 175 // 1: What (1: Free Space, 2: Used Space, 3: in Bad Sectors, Other: Total Space
codeman 77:cd59ac40b3be 176 // Response:
codeman 77:cd59ac40b3be 177 // 0: 0x3D
codeman 77:cd59ac40b3be 178 // 1-4: Space Info (0 = Error)
codeman 77:cd59ac40b3be 179 // or
codeman 77:cd59ac40b3be 180 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 181
codeman 77:cd59ac40b3be 182 #define SD_INSERTED 0x49
codeman 77:cd59ac40b3be 183 // Response:
codeman 77:cd59ac40b3be 184 // 0: 0x3D - Inserted
codeman 77:cd59ac40b3be 185 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 186
codeman 77:cd59ac40b3be 187 #define SD_SIZE 0x78
codeman 77:cd59ac40b3be 188 // Response:
codeman 77:cd59ac40b3be 189 // 0: 0x3D
codeman 77:cd59ac40b3be 190 // 1-4: SD Size (0 = Error)
codeman 77:cd59ac40b3be 191 // or
codeman 77:cd59ac40b3be 192 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 193
codeman 77:cd59ac40b3be 194 #define SD_FILE_LIST 0x79
codeman 77:cd59ac40b3be 195 // 1 - 64: NULL terminated dir path
codeman 77:cd59ac40b3be 196 // Response:
codeman 77:cd59ac40b3be 197 // 0: 0x3A
codeman 77:cd59ac40b3be 198 // 1 - whatever: NULL terminated dir string
codeman 77:cd59ac40b3be 199 // Files separated by new_line
codeman 77:cd59ac40b3be 200 // or
codeman 77:cd59ac40b3be 201 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 202
codeman 77:cd59ac40b3be 203 #define SD_FIND_FIRST 0x4A
codeman 77:cd59ac40b3be 204 // 1 - F_MAXLNAME: NULL terminated dir path
codeman 77:cd59ac40b3be 205 // Response:
codeman 77:cd59ac40b3be 206 // 0: 0x3A
codeman 77:cd59ac40b3be 207 // 1 - whatever: NULL terminated string
codeman 77:cd59ac40b3be 208 // or
codeman 77:cd59ac40b3be 209 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 210 #define SD_FIND_NEXT 0x4B
codeman 77:cd59ac40b3be 211 // Response:
codeman 77:cd59ac40b3be 212 // 0: 0x3A
codeman 77:cd59ac40b3be 213 // 1 - whatever: NULL terminated string
codeman 77:cd59ac40b3be 214 // or
codeman 77:cd59ac40b3be 215 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 216
codeman 77:cd59ac40b3be 217 #define SD_FILE_REWIND 0x7A
codeman 77:cd59ac40b3be 218 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 219 // Response:
codeman 77:cd59ac40b3be 220 // 0: 0x39 - Success
codeman 77:cd59ac40b3be 221 // 0x3E - Error
codeman 77:cd59ac40b3be 222 #define SD_FILE_TELL 0x7B
codeman 77:cd59ac40b3be 223 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 224 // Response:
codeman 77:cd59ac40b3be 225 // 0: 0x3D
codeman 77:cd59ac40b3be 226 // 1-4: Position
codeman 77:cd59ac40b3be 227 // or
codeman 77:cd59ac40b3be 228 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 229
codeman 77:cd59ac40b3be 230 #define SD_FILE_SEEK 0x7C
codeman 77:cd59ac40b3be 231 // 1: File ID (1 to 255)
codeman 77:cd59ac40b3be 232 // 2-5: Signed Offset
codeman 77:cd59ac40b3be 233 // 6: whence
codeman 77:cd59ac40b3be 234 // SD_SEEK_SET 0 File beginning
codeman 77:cd59ac40b3be 235 // SD_SEEK_CUR 1 Current file pointer position
codeman 77:cd59ac40b3be 236 // SD_SEEK_END 2 End-of-file
codeman 77:cd59ac40b3be 237 // Response:
codeman 77:cd59ac40b3be 238 // 0: 0x39 - Success
codeman 77:cd59ac40b3be 239 // 0x3E - Error
codeman 77:cd59ac40b3be 240 #define SD_SEEK_SET 0 // File beginning
codeman 77:cd59ac40b3be 241 #define SD_SEEK_CUR 1 // Current file pointer position
codeman 77:cd59ac40b3be 242 #define SD_SEEK_END 2 // End-of-file
codeman 77:cd59ac40b3be 243
codeman 77:cd59ac40b3be 244 #define SD_FILE_DELETE 0x7D
codeman 77:cd59ac40b3be 245 // 1 - 64: NULL terminated path
codeman 77:cd59ac40b3be 246 // Response:
codeman 77:cd59ac40b3be 247 // 0: 0x3A - Success
codeman 77:cd59ac40b3be 248 // 0x3E - Error
codeman 77:cd59ac40b3be 249
codeman 77:cd59ac40b3be 250 #define SD_RAW_READ 0x7E
codeman 77:cd59ac40b3be 251 // 1: 0xA5
codeman 77:cd59ac40b3be 252 // 2-5: Address
codeman 77:cd59ac40b3be 253 // 6-9: Length
codeman 77:cd59ac40b3be 254 // Response:
codeman 77:cd59ac40b3be 255 // 0: 0x3C
codeman 77:cd59ac40b3be 256 // 1-n: Bytes Read
codeman 77:cd59ac40b3be 257 // or
codeman 77:cd59ac40b3be 258 // 0: 0x3E - Error
codeman 77:cd59ac40b3be 259
codeman 77:cd59ac40b3be 260 #define SD_RAW_WRITE 0x7F
codeman 77:cd59ac40b3be 261 // 1: 0xA5
codeman 77:cd59ac40b3be 262 // 2-5: Address
codeman 77:cd59ac40b3be 263 // 6-9: Length
codeman 77:cd59ac40b3be 264 // 10-(n+9): Data to write
codeman 77:cd59ac40b3be 265 // Response:
codeman 77:cd59ac40b3be 266 // 0: 0x3B - Success
codeman 77:cd59ac40b3be 267 // 0x3E - Error
codeman 77:cd59ac40b3be 268
codeman 77:cd59ac40b3be 269 // TO DO in SD:
codeman 77:cd59ac40b3be 270 // f_setattr
codeman 77:cd59ac40b3be 271 // f_getattr
codeman 77:cd59ac40b3be 272
codeman 77:cd59ac40b3be 273 #define LIGHT_BRIGHT 0x80
codeman 77:cd59ac40b3be 274 #define PING 0x83
codeman 77:cd59ac40b3be 275 // Response:
codeman 77:cd59ac40b3be 276 // 0: 0x38
codeman 77:cd59ac40b3be 277 #define SET_COLORH 0x84
codeman 77:cd59ac40b3be 278 #define SET_XHY 0x85
codeman 77:cd59ac40b3be 279 #define PLOT_XHY 0x87
codeman 77:cd59ac40b3be 280 #define LINE_TO_XHY 0x88
codeman 77:cd59ac40b3be 281 #define CIRCLE_RH 0x89
codeman 77:cd59ac40b3be 282 #define PUT_COMPR_BMPH 0x8D // Not implemented
codeman 77:cd59ac40b3be 283 #define ARCH 0x8F
codeman 77:cd59ac40b3be 284
codeman 77:cd59ac40b3be 285 #define PIEH 0x90
codeman 77:cd59ac40b3be 286 #define SET_BG_COLORH 0x94
codeman 77:cd59ac40b3be 287 #define CIRCLE_RH_FILL 0x99
codeman 77:cd59ac40b3be 288 #define PUT_BITMAPH 0x9E
codeman 77:cd59ac40b3be 289
codeman 77:cd59ac40b3be 290 #define H_LINEH 0xA0
codeman 77:cd59ac40b3be 291 #define BOXH 0xA2
codeman 77:cd59ac40b3be 292 #define BOXH_FILL 0xA3
codeman 77:cd59ac40b3be 293
codeman 77:cd59ac40b3be 294 // Touch
codeman 77:cd59ac40b3be 295 #define BUTTON_DEF 0xB0
codeman 77:cd59ac40b3be 296 // 1: ID
codeman 77:cd59ac40b3be 297 // 2: State 0: None, 1: UP, 2: DN, 3: Disabled, 4: Non-Visible
codeman 77:cd59ac40b3be 298 // 3: IconUP
codeman 77:cd59ac40b3be 299 // 4: IconDN
codeman 77:cd59ac40b3be 300 // 5: IconDis
codeman 77:cd59ac40b3be 301 // 6: x0 MSB
codeman 77:cd59ac40b3be 302 // 7: x0 LSB
codeman 77:cd59ac40b3be 303 // 8: y0
codeman 77:cd59ac40b3be 304 // 9: Width
codeman 77:cd59ac40b3be 305 //10: Height
codeman 77:cd59ac40b3be 306 #define BUTTON_STATE 0xB1
codeman 77:cd59ac40b3be 307 // 1: ID
codeman 77:cd59ac40b3be 308 // 2: State
codeman 77:cd59ac40b3be 309 #define TOUCH_PROTOCOL 0xB2
codeman 77:cd59ac40b3be 310 // 1: Protocoles on/off (coded in 8 bits)
codeman 77:cd59ac40b3be 311 #define ALL_BUTTONS_UP 0xB3
codeman 77:cd59ac40b3be 312 #define ERASE_ALL_BUTTONS 0xB4
codeman 77:cd59ac40b3be 313
codeman 77:cd59ac40b3be 314 #define USB_DISABLE_RS232 0xC0
codeman 77:cd59ac40b3be 315 #define USB_DISABLE_SPI 0xC1
codeman 77:cd59ac40b3be 316 #define USB_ENABLE_RS232 0xC2
codeman 77:cd59ac40b3be 317 #define USB_ENABLE_SPI 0xC3
codeman 77:cd59ac40b3be 318
codeman 77:cd59ac40b3be 319 // ezNOW Buzzer
codeman 77:cd59ac40b3be 320 #define EZNOW_BUZZER_OFF 0xD0
codeman 77:cd59ac40b3be 321 #define EZNOW_BUZZER_ON 0xD1
codeman 77:cd59ac40b3be 322 #define EZNOW_BUZZER_BEEP 0xD2
codeman 77:cd59ac40b3be 323 // 1: Beep time [0.01s]
codeman 77:cd59ac40b3be 324
codeman 77:cd59ac40b3be 325 // Serial EEPROM
codeman 77:cd59ac40b3be 326 #define SE_BYTE_OUT 0xE0
codeman 77:cd59ac40b3be 327 #define SE_BYTE_WR 0xE1
codeman 77:cd59ac40b3be 328 #define SE_DATA_OUT 0xE2
codeman 77:cd59ac40b3be 329 #define SE_WAIT_END 0xE3
codeman 77:cd59ac40b3be 330 #define SE_ERASE_SECTOR 0xE4
codeman 77:cd59ac40b3be 331 #define SE_BYTE_RD 0xE5
codeman 77:cd59ac40b3be 332 #define SE_BULK_ERASE 0xE6
codeman 77:cd59ac40b3be 333 #define SE_PROGRAM_PAGE 0xE7
codeman 77:cd59ac40b3be 334 #define SE_READ_BAT 0xE8
codeman 77:cd59ac40b3be 335
codeman 77:cd59ac40b3be 336 // AVR (ATmega8) Flash Programming
codeman 77:cd59ac40b3be 337 #define AVR_PROG 0xF0
codeman 77:cd59ac40b3be 338 // 1 - 15: password
codeman 77:cd59ac40b3be 339 #define EZNOW_AVR_PROG 0xF3
codeman 77:cd59ac40b3be 340 // 1: Speed
codeman 77:cd59ac40b3be 341 // 2 - 16: password
codeman 77:cd59ac40b3be 342 // The following AVR commands are available only
codeman 77:cd59ac40b3be 343 // after AVR_PROG or EZNOW_AVR_PROG command has been received
codeman 77:cd59ac40b3be 344 #define AVR_PROG_CMD 0xF1
codeman 77:cd59ac40b3be 345 // 1 - 4: Bytes 1 - 4 of AVR Serial Programming Instruction
codeman 77:cd59ac40b3be 346 #define AVR_PROG_CMD_FAST 0xF4
codeman 77:cd59ac40b3be 347 // 1 - 4: Bytes 1 - 4 of AVR Serial Programming Instruction
codeman 77:cd59ac40b3be 348 #define AVR_PROG_CMD_NO_DELAY 0xF6
codeman 77:cd59ac40b3be 349 // 1 - 4: Bytes 1 - 4 of AVR Serial Programming Instruction
codeman 77:cd59ac40b3be 350 #define AVR_PROG_CMDS_PACK 0xF7
codeman 77:cd59ac40b3be 351 // 1 No of Prog commands
codeman 77:cd59ac40b3be 352 // 2 - 257 (64*4-1) Prog commands (4 bytes each)
codeman 77:cd59ac40b3be 353 #define AVR_WRITE_POLL 0xF8
codeman 77:cd59ac40b3be 354 // 1 - Command
codeman 77:cd59ac40b3be 355 // 2 - Address MSB
codeman 77:cd59ac40b3be 356 // 3 - Address LSB
codeman 77:cd59ac40b3be 357 // 4 - Data
codeman 77:cd59ac40b3be 358 #define AVR_WRITE_PAGE 0xF2
codeman 77:cd59ac40b3be 359 // 1: Page No
codeman 77:cd59ac40b3be 360 // 2 - 65: Bytes 0 - 63 of the page
codeman 77:cd59ac40b3be 361 #define AVR_SUCCESS 0xF5
codeman 77:cd59ac40b3be 362 #define RESET_EZLCD 0xFA
codeman 77:cd59ac40b3be 363
codeman 77:cd59ac40b3be 364 // ############################################################################
codeman 77:cd59ac40b3be 365 // ## EZLCD OUTPUT CODES ####################################################
codeman 77:cd59ac40b3be 366 // ############################################################################
codeman 77:cd59ac40b3be 367
codeman 77:cd59ac40b3be 368 // Touch Screen Output
codeman 77:cd59ac40b3be 369 #define ID_TOUCH_X 0x81
codeman 77:cd59ac40b3be 370 #define ID_TOUCH_Y 0x82
codeman 77:cd59ac40b3be 371 #define ID_TOUCH_PEN_UP 0x83
codeman 77:cd59ac40b3be 372 //#define ID_CAL_TOUCH_X 0x84
codeman 77:cd59ac40b3be 373 //#define ID_CAL_TOUCH_Y 0x85
codeman 77:cd59ac40b3be 374 #define ID_BUTTON_DN 0x86
codeman 77:cd59ac40b3be 375 #define ID_BUTTON_LEAVE 0x87
codeman 77:cd59ac40b3be 376
codeman 77:cd59ac40b3be 377 #define EZLCD_READY 0xEA
codeman 77:cd59ac40b3be 378 #define PONG 0x38
codeman 77:cd59ac40b3be 379
codeman 77:cd59ac40b3be 380 // ############################################################################
codeman 77:cd59ac40b3be 381 // ## OTHER DEFINITIONS #####################################################
codeman 77:cd59ac40b3be 382 // ############################################################################
codeman 77:cd59ac40b3be 383
codeman 77:cd59ac40b3be 384 #define STX 0x02
codeman 77:cd59ac40b3be 385 #define ETX 0x03
codeman 77:cd59ac40b3be 386 #define ACK 0x06
codeman 77:cd59ac40b3be 387 #define NAK 0x15
codeman 77:cd59ac40b3be 388
codeman 77:cd59ac40b3be 389 #define TOUCH_EZ_BUTTON 0x01
codeman 77:cd59ac40b3be 390 #define TOUCH_CU_BUTTON 0x02
codeman 77:cd59ac40b3be 391 #define TOUCH_CALIBRATED 0x40
codeman 77:cd59ac40b3be 392 #define timedOut 0x2
codeman 77:cd59ac40b3be 393 #define OUTLINE 1
codeman 77:cd59ac40b3be 394 #define SHADOW 2
codeman 77:cd59ac40b3be 395
codeman 77:cd59ac40b3be 396 class ezLCD4: public Stream
codeman 77:cd59ac40b3be 397 {
codeman 77:cd59ac40b3be 398 public:
codeman 77:cd59ac40b3be 399 /** Create a new interface to a ezLCD3xx display
codeman 77:cd59ac40b3be 400 * @param tx -- mbed transmit pin
codeman 77:cd59ac40b3be 401 * @param rx -- mbed receive pin
codeman 77:cd59ac40b3be 402 */
codeman 77:cd59ac40b3be 403 volatile uint8_t status;
codeman 77:cd59ac40b3be 404 volatile uint8_t pong;
codeman 77:cd59ac40b3be 405 volatile uint8_t button;
codeman 77:cd59ac40b3be 406 volatile uint8_t bState;
codeman 77:cd59ac40b3be 407 volatile uint16_t x,y;
codeman 77:cd59ac40b3be 408 ezLCD4(PinName tx, PinName rx);
codeman 77:cd59ac40b3be 409 /**
codeman 77:cd59ac40b3be 410 *
codeman 77:cd59ac40b3be 411 *
codeman 77:cd59ac40b3be 412 */
codeman 77:cd59ac40b3be 413 void Rx_interrupt( void );
codeman 77:cd59ac40b3be 414 void Tx_interrupt( void );
codeman 77:cd59ac40b3be 415 void send_line();
codeman 77:cd59ac40b3be 416 /**
codeman 77:cd59ac40b3be 417 *
codeman 77:cd59ac40b3be 418 *
codeman 77:cd59ac40b3be 419 */
codeman 77:cd59ac40b3be 420 uint8_t getByte( void );
codeman 77:cd59ac40b3be 421 uint8_t getCount( void );
codeman 77:cd59ac40b3be 422 void cls( void );
codeman 77:cd59ac40b3be 423 void cls( uint16_t color);
codeman 77:cd59ac40b3be 424 void lightON( void );
codeman 77:cd59ac40b3be 425 void lightOFF( void );
codeman 77:cd59ac40b3be 426 void lightBright( uint8_t bright );
codeman 77:cd59ac40b3be 427 void setTouchProtocol( uint8_t protocol);
codeman 77:cd59ac40b3be 428 uint16_t getX( void );
codeman 77:cd59ac40b3be 429 uint16_t getY( void );
codeman 77:cd59ac40b3be 430 void putSfIcon( uint8_t icon );
codeman 77:cd59ac40b3be 431
codeman 77:cd59ac40b3be 432 void vLine( uint8_t y);
codeman 77:cd59ac40b3be 433 void hLine( uint8_t x);
codeman 77:cd59ac40b3be 434 void hLineH( uint16_t x);
codeman 77:cd59ac40b3be 435 void setLayer ( uint8_t layer );
codeman 77:cd59ac40b3be 436 void setLayerVisible ( uint8_t layer, uint8_t visible );
codeman 77:cd59ac40b3be 437 void setColorKey ( uint16_t color );
codeman 77:cd59ac40b3be 438 void SDPutIcon( char *str );
codeman 77:cd59ac40b3be 439 void textDirection( uint8_t dir );
codeman 77:cd59ac40b3be 440 void buttonState( uint8_t ID, uint8_t state );
codeman 77:cd59ac40b3be 441 void buttonsDeleteAll( void );
codeman 77:cd59ac40b3be 442 void showSettings( void );
codeman 77:cd59ac40b3be 443 void buzzerOn( void );
codeman 77:cd59ac40b3be 444 void buzzerOff( void );
codeman 77:cd59ac40b3be 445 void lineTo( uint16_t x , uint16_t y );
codeman 77:cd59ac40b3be 446 void beep( uint8_t duration );
codeman 77:cd59ac40b3be 447 /**
codeman 77:cd59ac40b3be 448 *
codeman 77:cd59ac40b3be 449 *
codeman 77:cd59ac40b3be 450 */
codeman 77:cd59ac40b3be 451 void printString( char *str );
codeman 77:cd59ac40b3be 452 /**
codeman 77:cd59ac40b3be 453 *
codeman 77:cd59ac40b3be 454 *
codeman 77:cd59ac40b3be 455 */
codeman 77:cd59ac40b3be 456 void printString( uint16_t x, uint16_t y, uint8_t font, uint16_t color, char *str , uint8_t dir, uint8_t efx, uint16_t ocolor);
codeman 77:cd59ac40b3be 457 /**
codeman 77:cd59ac40b3be 458 *
codeman 77:cd59ac40b3be 459 *
codeman 77:cd59ac40b3be 460 */
codeman 77:cd59ac40b3be 461 void ezLCD405Init( uint8_t iface );
codeman 77:cd59ac40b3be 462 /**
codeman 77:cd59ac40b3be 463 *
codeman 77:cd59ac40b3be 464 *
codeman 77:cd59ac40b3be 465 */
codeman 77:cd59ac40b3be 466 void exmode( void );
codeman 77:cd59ac40b3be 467 /**
codeman 77:cd59ac40b3be 468 *
codeman 77:cd59ac40b3be 469 *
codeman 77:cd59ac40b3be 470 */
codeman 77:cd59ac40b3be 471 void stdmode( void );
codeman 77:cd59ac40b3be 472 /**
codeman 77:cd59ac40b3be 473 *
codeman 77:cd59ac40b3be 474 *
codeman 77:cd59ac40b3be 475 */
codeman 77:cd59ac40b3be 476 void setColor(uint16_t color);
codeman 77:cd59ac40b3be 477 /**
codeman 77:cd59ac40b3be 478 *
codeman 77:cd59ac40b3be 479 *
codeman 77:cd59ac40b3be 480 */
codeman 77:cd59ac40b3be 481 void setBgColor(uint16_t color);
codeman 77:cd59ac40b3be 482 /**
codeman 77:cd59ac40b3be 483 *
codeman 77:cd59ac40b3be 484 *
codeman 77:cd59ac40b3be 485 */
codeman 77:cd59ac40b3be 486 void setFont(unsigned char font);
codeman 77:cd59ac40b3be 487 /**
codeman 77:cd59ac40b3be 488 *
codeman 77:cd59ac40b3be 489 *
codeman 77:cd59ac40b3be 490 */
codeman 77:cd59ac40b3be 491 void direct( unsigned char c );
codeman 77:cd59ac40b3be 492 /**
codeman 77:cd59ac40b3be 493 *
codeman 77:cd59ac40b3be 494 *
codeman 77:cd59ac40b3be 495 */
codeman 77:cd59ac40b3be 496 void setXY( uint16_t x, uint16_t y);
codeman 77:cd59ac40b3be 497 /**
codeman 77:cd59ac40b3be 498 *
codeman 77:cd59ac40b3be 499 *
codeman 77:cd59ac40b3be 500 */
codeman 77:cd59ac40b3be 501 void box( uint16_t x, uint16_t y);
codeman 77:cd59ac40b3be 502 /**
codeman 77:cd59ac40b3be 503 *
codeman 77:cd59ac40b3be 504 *
codeman 77:cd59ac40b3be 505 */
codeman 77:cd59ac40b3be 506 void boxFill( uint16_t x, uint16_t y);
codeman 77:cd59ac40b3be 507 /**
codeman 77:cd59ac40b3be 508 *
codeman 77:cd59ac40b3be 509 *
codeman 77:cd59ac40b3be 510 */
codeman 77:cd59ac40b3be 511 void arc(uint16_t radius, uint16_t begin, uint16_t end);
codeman 77:cd59ac40b3be 512 /**
codeman 77:cd59ac40b3be 513 *
codeman 77:cd59ac40b3be 514 *
codeman 77:cd59ac40b3be 515 */
codeman 77:cd59ac40b3be 516 uint8_t createButton( uint8_t ID, uint8_t State, uint8_t IconUp, uint8_t IconDn, uint8_t IconDis, uint16_t X, uint16_t Y, uint16_t W, uint16_t H, uint8_t Callback);
codeman 77:cd59ac40b3be 517 /**
codeman 77:cd59ac40b3be 518 *
codeman 77:cd59ac40b3be 519 *
codeman 77:cd59ac40b3be 520 */
codeman 77:cd59ac40b3be 521 uint8_t pollTouch( uint8_t count , uint8_t cmd);
codeman 77:cd59ac40b3be 522 /**
codeman 77:cd59ac40b3be 523 *
codeman 77:cd59ac40b3be 524 *
codeman 77:cd59ac40b3be 525 */
codeman 77:cd59ac40b3be 526 uint8_t ping( uint16_t timeout );
codeman 77:cd59ac40b3be 527
codeman 77:cd59ac40b3be 528 void createTextBox( uint16_t x , uint16_t y, uint16_t w, uint16_t h, uint16_t bcolor, uint16_t fcolor, uint16_t tcolor, uint16_t fsize, uint8_t font, char *str);
codeman 77:cd59ac40b3be 529 private:
codeman 77:cd59ac40b3be 530 Serial _ser;
codeman 77:cd59ac40b3be 531 virtual int _putc(int c);
codeman 77:cd59ac40b3be 532 virtual int _getc();
codeman 77:cd59ac40b3be 533 void send16MSB( uint16_t val );
codeman 77:cd59ac40b3be 534 void send16LSB( uint16_t val );
codeman 77:cd59ac40b3be 535 uint8_t writeData(uint8_t c);
codeman 77:cd59ac40b3be 536 };
codeman 77:cd59ac40b3be 537
codeman 77:cd59ac40b3be 538
codeman 77:cd59ac40b3be 539
codeman 77:cd59ac40b3be 540 #endif