Ruth Pavoor / Mbed 2 deprecated project1

Dependencies:   mbed mbed-rtos PinDetect

Committer:
rpavoor3
Date:
Mon Apr 27 23:18:38 2020 +0000
Revision:
0:0ca943ce4014
4180 Your Fitness Buddy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rpavoor3 0:0ca943ce4014 1 //
rpavoor3 0:0ca943ce4014 2 // uLCD_4DGL is a class to drive 4D Systems TFT touch screens
rpavoor3 0:0ca943ce4014 3 //
rpavoor3 0:0ca943ce4014 4 // Fork of 4DGL library for 4D Systems LCD displays
rpavoor3 0:0ca943ce4014 5 // Copyright (C) <2010> Stephane ROCHON <stephane.rochon at free.fr>
rpavoor3 0:0ca943ce4014 6 // Modifed for Goldelox processor <2013> Jim Hamblen
rpavoor3 0:0ca943ce4014 7 //
rpavoor3 0:0ca943ce4014 8 // uLCD_4DGL is free software: you can redistribute it and/or modify
rpavoor3 0:0ca943ce4014 9 // it under the terms of the GNU General Public License as published by
rpavoor3 0:0ca943ce4014 10 // the Free Software Foundation, either version 3 of the License, or
rpavoor3 0:0ca943ce4014 11 // (at your option) any later version.
rpavoor3 0:0ca943ce4014 12 //
rpavoor3 0:0ca943ce4014 13 // uLCD_4DGL is distributed in the hope that it will be useful,
rpavoor3 0:0ca943ce4014 14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
rpavoor3 0:0ca943ce4014 15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
rpavoor3 0:0ca943ce4014 16 // GNU General Public License for more details.
rpavoor3 0:0ca943ce4014 17 //
rpavoor3 0:0ca943ce4014 18 // You should have received a copy of the GNU General Public License
rpavoor3 0:0ca943ce4014 19 // along with uLCD_4DGL. If not, see <http://www.gnu.org/licenses/>.
rpavoor3 0:0ca943ce4014 20
rpavoor3 0:0ca943ce4014 21 // @author Stephane Rochon
rpavoor3 0:0ca943ce4014 22
rpavoor3 0:0ca943ce4014 23 #include "mbed.h"
rpavoor3 0:0ca943ce4014 24
rpavoor3 0:0ca943ce4014 25 // Debug Verbose off - SGE commands echoed to USB serial for debugmode=1
rpavoor3 0:0ca943ce4014 26 #ifndef DEBUGMODE
rpavoor3 0:0ca943ce4014 27 #define DEBUGMODE 0
rpavoor3 0:0ca943ce4014 28 #endif
rpavoor3 0:0ca943ce4014 29
rpavoor3 0:0ca943ce4014 30 // Common WAIT value in milliseconds between commands
rpavoor3 0:0ca943ce4014 31 #define TEMPO 0
rpavoor3 0:0ca943ce4014 32
rpavoor3 0:0ca943ce4014 33 // 4DGL SGE Function values for Goldelox Processor
rpavoor3 0:0ca943ce4014 34 #define CLS '\xD7'
rpavoor3 0:0ca943ce4014 35 #define BAUDRATE '\x0B' //null prefix
rpavoor3 0:0ca943ce4014 36 #define VERSION '\x08' //null prefix
rpavoor3 0:0ca943ce4014 37 #define BCKGDCOLOR '\x6E'
rpavoor3 0:0ca943ce4014 38 #define TXTBCKGDCOLOR '\x7E'
rpavoor3 0:0ca943ce4014 39 #define DISPCONTROL '\x68'
rpavoor3 0:0ca943ce4014 40 #define SETVOLUME '\x76'
rpavoor3 0:0ca943ce4014 41 #define CIRCLE '\xCD'
rpavoor3 0:0ca943ce4014 42 #define FCIRCLE '\xCC'
rpavoor3 0:0ca943ce4014 43 #define TRIANGLE '\xC9'
rpavoor3 0:0ca943ce4014 44 #define LINE '\xD2'
rpavoor3 0:0ca943ce4014 45 #define FRECTANGLE '\xCE'
rpavoor3 0:0ca943ce4014 46 #define RECTANGLE '\xCF'
rpavoor3 0:0ca943ce4014 47 #define ELLIPSE '\x65' //na
rpavoor3 0:0ca943ce4014 48 #define PIXEL '\xCB'
rpavoor3 0:0ca943ce4014 49 #define READPIXEL '\xCA'
rpavoor3 0:0ca943ce4014 50 #define SCREENCOPY '\x63' //na?
rpavoor3 0:0ca943ce4014 51 #define PENSIZE '\xD8'
rpavoor3 0:0ca943ce4014 52 #define SETFONT '\x7D'
rpavoor3 0:0ca943ce4014 53 #define TEXTMODE '\x77'
rpavoor3 0:0ca943ce4014 54 #define TEXTBOLD '\x76'
rpavoor3 0:0ca943ce4014 55 #define TEXTITALIC '\x75'
rpavoor3 0:0ca943ce4014 56 #define TEXTINVERSE '\x74'
rpavoor3 0:0ca943ce4014 57 #define TEXTUNDERLINE '\x73'
rpavoor3 0:0ca943ce4014 58 #define TEXTWIDTH '\x7C'
rpavoor3 0:0ca943ce4014 59 #define TEXTHEIGHT '\x7B'
rpavoor3 0:0ca943ce4014 60 #define TEXTCHAR '\xFE'
rpavoor3 0:0ca943ce4014 61 #define TEXTSTRING '\x06' //null prefix
rpavoor3 0:0ca943ce4014 62 #define MOVECURSOR '\xE4'
rpavoor3 0:0ca943ce4014 63 #define BLITCOM '\x0A'
rpavoor3 0:0ca943ce4014 64 #define PUTCHAR '\xFE'
rpavoor3 0:0ca943ce4014 65 #define DISPPOWER '\x66'
rpavoor3 0:0ca943ce4014 66 //media commands for uSD card
rpavoor3 0:0ca943ce4014 67 #define MINIT '\xB1'
rpavoor3 0:0ca943ce4014 68 #define SBADDRESS '\xB9'
rpavoor3 0:0ca943ce4014 69 #define SSADDRESS '\xB8'
rpavoor3 0:0ca943ce4014 70 #define READBYTE '\xB7'
rpavoor3 0:0ca943ce4014 71 #define READWORD '\xB6'
rpavoor3 0:0ca943ce4014 72 #define WRITEBYTE '\xB5'
rpavoor3 0:0ca943ce4014 73 #define WRITEWORD '\xB4'
rpavoor3 0:0ca943ce4014 74 #define FLUSHMEDIA '\xB2'
rpavoor3 0:0ca943ce4014 75 #define DISPLAYIMAGE '\xB3'
rpavoor3 0:0ca943ce4014 76 #define DISPLAYVIDEO '\xBB'
rpavoor3 0:0ca943ce4014 77 #define DISPLAYFRAME '\xBA'
rpavoor3 0:0ca943ce4014 78
rpavoor3 0:0ca943ce4014 79
rpavoor3 0:0ca943ce4014 80
rpavoor3 0:0ca943ce4014 81 // Screen answers
rpavoor3 0:0ca943ce4014 82 #define ACK '\x06'
rpavoor3 0:0ca943ce4014 83 #define NAK '\x15'
rpavoor3 0:0ca943ce4014 84
rpavoor3 0:0ca943ce4014 85
rpavoor3 0:0ca943ce4014 86
rpavoor3 0:0ca943ce4014 87 // Screen states
rpavoor3 0:0ca943ce4014 88 #define OFF '\x00'
rpavoor3 0:0ca943ce4014 89 #define ON '\x01'
rpavoor3 0:0ca943ce4014 90
rpavoor3 0:0ca943ce4014 91 // Graphics modes
rpavoor3 0:0ca943ce4014 92 #define SOLID '\x00'
rpavoor3 0:0ca943ce4014 93 #define WIREFRAME '\x01'
rpavoor3 0:0ca943ce4014 94
rpavoor3 0:0ca943ce4014 95 // Text modes
rpavoor3 0:0ca943ce4014 96 #define TRANSPARENT '\x00'
rpavoor3 0:0ca943ce4014 97 #define OPAQUE '\x01'
rpavoor3 0:0ca943ce4014 98
rpavoor3 0:0ca943ce4014 99 // Fonts Sizes
rpavoor3 0:0ca943ce4014 100 #define FONT_7X8 '\x00' //only builtin font
rpavoor3 0:0ca943ce4014 101 #define FONT_5X7 '\x04'
rpavoor3 0:0ca943ce4014 102 #define FONT_8X8 '\x01'
rpavoor3 0:0ca943ce4014 103 #define FONT_8X12 '\x02'
rpavoor3 0:0ca943ce4014 104 #define FONT_12X16 '\x03'
rpavoor3 0:0ca943ce4014 105 #define MEDIAFONT '\x07'
rpavoor3 0:0ca943ce4014 106
rpavoor3 0:0ca943ce4014 107
rpavoor3 0:0ca943ce4014 108 // Data speed
rpavoor3 0:0ca943ce4014 109 #define BAUD_110 27271
rpavoor3 0:0ca943ce4014 110 #define BAUD_300 9999
rpavoor3 0:0ca943ce4014 111 #define BAUD_600 4999
rpavoor3 0:0ca943ce4014 112 #define BAUD_1200 2499
rpavoor3 0:0ca943ce4014 113 #define BAUD_2400 1249
rpavoor3 0:0ca943ce4014 114 #define BAUD_4800 624
rpavoor3 0:0ca943ce4014 115 #define BAUD_9600 312
rpavoor3 0:0ca943ce4014 116 #define BAUD_14400 207
rpavoor3 0:0ca943ce4014 117 #define BAUD_19200 155
rpavoor3 0:0ca943ce4014 118 #define BAUD_31250 95
rpavoor3 0:0ca943ce4014 119 #define BAUD_38400 77
rpavoor3 0:0ca943ce4014 120 #define BAUD_56000 53
rpavoor3 0:0ca943ce4014 121 #define BAUD_57600 51
rpavoor3 0:0ca943ce4014 122 #define BAUD_115200 25
rpavoor3 0:0ca943ce4014 123 #define BAUD_128000 22
rpavoor3 0:0ca943ce4014 124 #define BAUD_256000 11
rpavoor3 0:0ca943ce4014 125 #define BAUD_300000 10
rpavoor3 0:0ca943ce4014 126 #define BAUD_375000 8
rpavoor3 0:0ca943ce4014 127 #define BAUD_500000 6
rpavoor3 0:0ca943ce4014 128 #define BAUD_600000 4
rpavoor3 0:0ca943ce4014 129 #define BAUD_750000 3
rpavoor3 0:0ca943ce4014 130 #define BAUD_1000000 2
rpavoor3 0:0ca943ce4014 131 #define BAUD_1500000 1
rpavoor3 0:0ca943ce4014 132 #define BAUD_3000000 0
rpavoor3 0:0ca943ce4014 133
rpavoor3 0:0ca943ce4014 134 // Defined Colors
rpavoor3 0:0ca943ce4014 135 #define WHITE 0xFFFFFF
rpavoor3 0:0ca943ce4014 136 #define BLACK 0x000000
rpavoor3 0:0ca943ce4014 137 #define RED 0xFF0000
rpavoor3 0:0ca943ce4014 138 #define GREEN 0x00FF00
rpavoor3 0:0ca943ce4014 139 #define BLUE 0x0000FF
rpavoor3 0:0ca943ce4014 140 #define LGREY 0xBFBFBF
rpavoor3 0:0ca943ce4014 141 #define DGREY 0x5F5F5F
rpavoor3 0:0ca943ce4014 142
rpavoor3 0:0ca943ce4014 143 // Mode data
rpavoor3 0:0ca943ce4014 144 #define BACKLIGHT '\x00'
rpavoor3 0:0ca943ce4014 145 #define DISPLAY '\x01'
rpavoor3 0:0ca943ce4014 146 #define CONTRAST '\x02'
rpavoor3 0:0ca943ce4014 147 #define POWER '\x03'
rpavoor3 0:0ca943ce4014 148 #define ORIENTATION '\x04'
rpavoor3 0:0ca943ce4014 149 #define TOUCH_CTRL '\x05'
rpavoor3 0:0ca943ce4014 150 #define IMAGE_FORMAT '\x06'
rpavoor3 0:0ca943ce4014 151 #define PROTECT_FAT '\x08'
rpavoor3 0:0ca943ce4014 152
rpavoor3 0:0ca943ce4014 153 // change this to your specific screen (newer versions) if needed
rpavoor3 0:0ca943ce4014 154 // Startup orientation is PORTRAIT so SIZE_X must be lesser than SIZE_Y
rpavoor3 0:0ca943ce4014 155 //uLCD144-G2 is a 128 by 128 pixel display
rpavoor3 0:0ca943ce4014 156 #define SIZE_X 128
rpavoor3 0:0ca943ce4014 157 #define SIZE_Y 128
rpavoor3 0:0ca943ce4014 158
rpavoor3 0:0ca943ce4014 159 #define IS_LANDSCAPE 0
rpavoor3 0:0ca943ce4014 160 #define IS_PORTRAIT 1
rpavoor3 0:0ca943ce4014 161
rpavoor3 0:0ca943ce4014 162 // Screen orientation
rpavoor3 0:0ca943ce4014 163 #define LANDSCAPE '\x00'
rpavoor3 0:0ca943ce4014 164 #define LANDSCAPE_R '\x01'
rpavoor3 0:0ca943ce4014 165 #define PORTRAIT '\x02'
rpavoor3 0:0ca943ce4014 166 #define PORTRAIT_R '\x03'
rpavoor3 0:0ca943ce4014 167
rpavoor3 0:0ca943ce4014 168 // Parameters
rpavoor3 0:0ca943ce4014 169 #define ENABLE '\x00'
rpavoor3 0:0ca943ce4014 170 #define DISABLE '\x01'
rpavoor3 0:0ca943ce4014 171 #define RESET '\x02'
rpavoor3 0:0ca943ce4014 172
rpavoor3 0:0ca943ce4014 173 #define NEW '\x00'
rpavoor3 0:0ca943ce4014 174 #define OLD '\x01'
rpavoor3 0:0ca943ce4014 175
rpavoor3 0:0ca943ce4014 176 #define DOWN '\x00'
rpavoor3 0:0ca943ce4014 177 #define UP '\x01'
rpavoor3 0:0ca943ce4014 178
rpavoor3 0:0ca943ce4014 179 #define PROTECT '\x00'
rpavoor3 0:0ca943ce4014 180 #define UNPROTECT '\x02'
rpavoor3 0:0ca943ce4014 181
rpavoor3 0:0ca943ce4014 182 //**************************************************************************
rpavoor3 0:0ca943ce4014 183 // \class uLCD_4DGL uLCD_4DGL.h
rpavoor3 0:0ca943ce4014 184 // \brief This is the main class. It shoud be used like this : uLCD_4GDL myLCD(p9,p10,p11);
rpavoor3 0:0ca943ce4014 185 /**
rpavoor3 0:0ca943ce4014 186 Example:
rpavoor3 0:0ca943ce4014 187 * @code
rpavoor3 0:0ca943ce4014 188 * // Display a white circle on the screen
rpavoor3 0:0ca943ce4014 189 * #include "mbed.h"
rpavoor3 0:0ca943ce4014 190 * #include " uLCD_4DGL.h"
rpavoor3 0:0ca943ce4014 191 *
rpavoor3 0:0ca943ce4014 192 * uLCD_4GDL myLCD(p9,p10,p11);
rpavoor3 0:0ca943ce4014 193 *
rpavoor3 0:0ca943ce4014 194 * int main() {
rpavoor3 0:0ca943ce4014 195 * myLCD.circle(120, 160, 80, WHITE);
rpavoor3 0:0ca943ce4014 196 * }
rpavoor3 0:0ca943ce4014 197 * @endcode
rpavoor3 0:0ca943ce4014 198 */
rpavoor3 0:0ca943ce4014 199
rpavoor3 0:0ca943ce4014 200 class uLCD_4DGL : public Stream
rpavoor3 0:0ca943ce4014 201 {
rpavoor3 0:0ca943ce4014 202
rpavoor3 0:0ca943ce4014 203 public :
rpavoor3 0:0ca943ce4014 204
rpavoor3 0:0ca943ce4014 205 uLCD_4DGL(PinName tx, PinName rx, PinName rst);
rpavoor3 0:0ca943ce4014 206
rpavoor3 0:0ca943ce4014 207 // General Commands *******************************************************************************
rpavoor3 0:0ca943ce4014 208
rpavoor3 0:0ca943ce4014 209 /** Clear the entire screen using the current background colour */
rpavoor3 0:0ca943ce4014 210 void cls();
rpavoor3 0:0ca943ce4014 211
rpavoor3 0:0ca943ce4014 212 /** Reset screen */
rpavoor3 0:0ca943ce4014 213 void reset();
rpavoor3 0:0ca943ce4014 214
rpavoor3 0:0ca943ce4014 215
rpavoor3 0:0ca943ce4014 216 /** Set serial Baud rate (both sides : screen and mbed)
rpavoor3 0:0ca943ce4014 217 * @param Speed Correct BAUD value (see uLCD_4DGL.h)
rpavoor3 0:0ca943ce4014 218 */
rpavoor3 0:0ca943ce4014 219 void baudrate(int speed);
rpavoor3 0:0ca943ce4014 220
rpavoor3 0:0ca943ce4014 221 /** Set background colour to the specified value
rpavoor3 0:0ca943ce4014 222 * @param color in HEX RGB like 0xFF00FF
rpavoor3 0:0ca943ce4014 223 */
rpavoor3 0:0ca943ce4014 224 void background_color(int color);
rpavoor3 0:0ca943ce4014 225
rpavoor3 0:0ca943ce4014 226 /** Set screen display mode to specific values
rpavoor3 0:0ca943ce4014 227 * @param mode See 4DGL documentation
rpavoor3 0:0ca943ce4014 228 * @param value See 4DGL documentation
rpavoor3 0:0ca943ce4014 229 */
rpavoor3 0:0ca943ce4014 230 void textbackground_color(int color);
rpavoor3 0:0ca943ce4014 231
rpavoor3 0:0ca943ce4014 232 /** Set screen display mode to specific values
rpavoor3 0:0ca943ce4014 233 * @param mode See 4DGL documentation
rpavoor3 0:0ca943ce4014 234 * @param value See 4DGL documentation
rpavoor3 0:0ca943ce4014 235 */
rpavoor3 0:0ca943ce4014 236 void display_control(char mode);
rpavoor3 0:0ca943ce4014 237 void display_power(char mode);
rpavoor3 0:0ca943ce4014 238 /** Set internal speaker to specified value
rpavoor3 0:0ca943ce4014 239 * @param value Correct range is 8 - 127
rpavoor3 0:0ca943ce4014 240 */
rpavoor3 0:0ca943ce4014 241 void set_volume(char value);
rpavoor3 0:0ca943ce4014 242
rpavoor3 0:0ca943ce4014 243 // Graphics Commands *******************************************************************************
rpavoor3 0:0ca943ce4014 244
rpavoor3 0:0ca943ce4014 245 /** Draw a circle centered at x,y with a radius and a colour. It uses Pen Size stored value to draw a solid or wireframe circle
rpavoor3 0:0ca943ce4014 246 * @param x Horizontal position of the circle centre
rpavoor3 0:0ca943ce4014 247 * @param y Vertical position of the circle centre
rpavoor3 0:0ca943ce4014 248 * @param radius Radius of the circle
rpavoor3 0:0ca943ce4014 249 * @param color Circle color in HEX RGB like 0xFF00FF
rpavoor3 0:0ca943ce4014 250 */
rpavoor3 0:0ca943ce4014 251 void circle(int x , int y , int radius, int color);
rpavoor3 0:0ca943ce4014 252 void filled_circle(int x , int y , int radius, int color);
rpavoor3 0:0ca943ce4014 253 void triangle(int, int, int, int, int, int, int);
rpavoor3 0:0ca943ce4014 254 void line(int, int, int, int, int);
rpavoor3 0:0ca943ce4014 255 void rectangle(int, int, int, int, int);
rpavoor3 0:0ca943ce4014 256 void filled_rectangle(int, int, int, int, int);
rpavoor3 0:0ca943ce4014 257 void pixel(int, int, int);
rpavoor3 0:0ca943ce4014 258 int read_pixel(int, int);
rpavoor3 0:0ca943ce4014 259 void pen_size(char);
rpavoor3 0:0ca943ce4014 260 void BLIT(int x, int y, int w, int h, int *colors);
rpavoor3 0:0ca943ce4014 261
rpavoor3 0:0ca943ce4014 262 // Text Commands
rpavoor3 0:0ca943ce4014 263 void set_font(char);
rpavoor3 0:0ca943ce4014 264 void set_font_size(char width, char height);
rpavoor3 0:0ca943ce4014 265 void text_mode(char);
rpavoor3 0:0ca943ce4014 266 void text_bold(char);
rpavoor3 0:0ca943ce4014 267 void text_italic(char);
rpavoor3 0:0ca943ce4014 268 void text_inverse(char);
rpavoor3 0:0ca943ce4014 269 void text_underline(char);
rpavoor3 0:0ca943ce4014 270 void text_width(char);
rpavoor3 0:0ca943ce4014 271 void text_height(char);
rpavoor3 0:0ca943ce4014 272 void text_char(char, char, char, int);
rpavoor3 0:0ca943ce4014 273 void text_string(char *, char, char, char, int);
rpavoor3 0:0ca943ce4014 274 void locate(char, char);
rpavoor3 0:0ca943ce4014 275 void color(int);
rpavoor3 0:0ca943ce4014 276 void putc(char);
rpavoor3 0:0ca943ce4014 277 void puts(char *);
rpavoor3 0:0ca943ce4014 278
rpavoor3 0:0ca943ce4014 279 //Media Commands
rpavoor3 0:0ca943ce4014 280 int media_init();
rpavoor3 0:0ca943ce4014 281 void set_byte_address(int, int);
rpavoor3 0:0ca943ce4014 282 void set_sector_address(int, int);
rpavoor3 0:0ca943ce4014 283 char read_byte();
rpavoor3 0:0ca943ce4014 284 int read_word();
rpavoor3 0:0ca943ce4014 285 void write_byte(int);
rpavoor3 0:0ca943ce4014 286 void write_word(int);
rpavoor3 0:0ca943ce4014 287 void flush_media();
rpavoor3 0:0ca943ce4014 288 void display_image(int, int);
rpavoor3 0:0ca943ce4014 289 void display_video(int, int);
rpavoor3 0:0ca943ce4014 290 void display_frame(int, int, int);
rpavoor3 0:0ca943ce4014 291
rpavoor3 0:0ca943ce4014 292 // Screen Data
rpavoor3 0:0ca943ce4014 293 int type;
rpavoor3 0:0ca943ce4014 294 int revision;
rpavoor3 0:0ca943ce4014 295 int firmware;
rpavoor3 0:0ca943ce4014 296 int reserved1;
rpavoor3 0:0ca943ce4014 297 int reserved2;
rpavoor3 0:0ca943ce4014 298
rpavoor3 0:0ca943ce4014 299 // Text data
rpavoor3 0:0ca943ce4014 300 char current_col;
rpavoor3 0:0ca943ce4014 301 char current_row;
rpavoor3 0:0ca943ce4014 302 int current_color;
rpavoor3 0:0ca943ce4014 303 char current_font;
rpavoor3 0:0ca943ce4014 304 char current_orientation;
rpavoor3 0:0ca943ce4014 305 char max_col;
rpavoor3 0:0ca943ce4014 306 char max_row;
rpavoor3 0:0ca943ce4014 307 int current_w, current_h;
rpavoor3 0:0ca943ce4014 308 int current_fx, current_fy;
rpavoor3 0:0ca943ce4014 309 int current_wf, current_hf;
rpavoor3 0:0ca943ce4014 310
rpavoor3 0:0ca943ce4014 311
rpavoor3 0:0ca943ce4014 312 protected :
rpavoor3 0:0ca943ce4014 313
rpavoor3 0:0ca943ce4014 314 Serial _cmd;
rpavoor3 0:0ca943ce4014 315 DigitalOut _rst;
rpavoor3 0:0ca943ce4014 316 //used by printf
rpavoor3 0:0ca943ce4014 317 virtual int _putc(int c) {
rpavoor3 0:0ca943ce4014 318 putc(c);
rpavoor3 0:0ca943ce4014 319 return 0;
rpavoor3 0:0ca943ce4014 320 };
rpavoor3 0:0ca943ce4014 321 virtual int _getc() {
rpavoor3 0:0ca943ce4014 322 return -1;
rpavoor3 0:0ca943ce4014 323 }
rpavoor3 0:0ca943ce4014 324
rpavoor3 0:0ca943ce4014 325 void freeBUFFER (void);
rpavoor3 0:0ca943ce4014 326 void writeBYTE (char);
rpavoor3 0:0ca943ce4014 327 void writeBYTEfast (char);
rpavoor3 0:0ca943ce4014 328 int writeCOMMAND(char *, int);
rpavoor3 0:0ca943ce4014 329 int writeCOMMANDnull(char *, int);
rpavoor3 0:0ca943ce4014 330 int readVERSION (char *, int);
rpavoor3 0:0ca943ce4014 331 int getSTATUS (char *, int);
rpavoor3 0:0ca943ce4014 332 int version (void);
rpavoor3 0:0ca943ce4014 333 #if DEBUGMODE
rpavoor3 0:0ca943ce4014 334 Serial pc;
rpavoor3 0:0ca943ce4014 335 #endif // DEBUGMODE
rpavoor3 0:0ca943ce4014 336 };
rpavoor3 0:0ca943ce4014 337
rpavoor3 0:0ca943ce4014 338 typedef unsigned char BYTE;
rpavoor3 0:0ca943ce4014 339
rpavoor3 0:0ca943ce4014 340
rpavoor3 0:0ca943ce4014 341
rpavoor3 0:0ca943ce4014 342
rpavoor3 0:0ca943ce4014 343
rpavoor3 0:0ca943ce4014 344
rpavoor3 0:0ca943ce4014 345
rpavoor3 0:0ca943ce4014 346