Ken Segler
/
ezLCD4_mbed
Not Complete
Fork of Nucleo_rtos by
ezLCD405.h@77:cd59ac40b3be, 2016-06-23 (annotated)
- Committer:
- codeman
- Date:
- Thu Jun 23 22:57:30 2016 +0000
- Revision:
- 77:cd59ac40b3be
Not Complete;
Who changed what in which revision?
User | Revision | Line number | New 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 |