Embed:
(wiki syntax)
Show/hide line numbers
SparkFunSerialGraphicLCD.cpp
00001 #include "stdarg.h" 00002 #include "mbed.h" 00003 #include "SparkFunSerialGraphicLCD.h" 00004 00005 00006 SparkFunSerialGraphicLCD::SparkFunSerialGraphicLCD(PinName tx, PinName rx = NC) : MySerial(tx, rx) { 00007 MySerial.baud(9600); 00008 clear(); 00009 setBacklight(100); 00010 setFont(0); 00011 setAutoCRLF(false); 00012 setReverse(false); 00013 } 00014 00015 void SparkFunSerialGraphicLCD::clear() { 00016 MySerial.putc(0x7C); 00017 MySerial.putc(0x00); 00018 } 00019 00020 void SparkFunSerialGraphicLCD::setDebug(unsigned char level) { 00021 MySerial.putc(0x7C); 00022 MySerial.putc(0x01); 00023 MySerial.putc(level); 00024 } 00025 00026 void SparkFunSerialGraphicLCD::setBacklight(unsigned char intensity) { 00027 MySerial.putc(0x7C); 00028 MySerial.putc(0x02); 00029 MySerial.putc(intensity); 00030 } 00031 00032 void SparkFunSerialGraphicLCD::drawCircle(unsigned char x, unsigned char y, unsigned char radius, bool set) { 00033 MySerial.putc(0x7C); 00034 MySerial.putc(0x03); 00035 MySerial.putc(x); 00036 MySerial.putc(y); 00037 MySerial.putc(radius); 00038 MySerial.putc(set); 00039 } 00040 00041 void SparkFunSerialGraphicLCD::setAutoCRLF(bool enable) { 00042 MySerial.putc(0x7C); 00043 MySerial.putc(0x04); 00044 MySerial.putc(enable); 00045 } 00046 00047 void SparkFunSerialGraphicLCD::eraseBlock(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1) { 00048 MySerial.putc(0x7C); 00049 MySerial.putc(0x05); 00050 MySerial.putc(x0); 00051 MySerial.putc(y0); 00052 MySerial.putc(x1); 00053 MySerial.putc(y1); 00054 } 00055 00056 void SparkFunSerialGraphicLCD::reset() { 00057 MySerial.putc(0x7C); 00058 MySerial.putc(0x06); 00059 } 00060 00061 void SparkFunSerialGraphicLCD::setBaud(unsigned char baud) { 00062 if(baud < 1) baud = 1; 00063 else if(baud > 6) baud = 6; 00064 00065 MySerial.putc(0x7C); 00066 MySerial.putc(0x07); 00067 MySerial.putc(baud); 00068 switch(baud) { 00069 case 1: 00070 MySerial.baud(4800); 00071 break; 00072 case 2: 00073 MySerial.baud(9600); 00074 break; 00075 case 3: 00076 MySerial.baud(19200); 00077 break; 00078 case 4: 00079 MySerial.baud(38400); 00080 break; 00081 case 5: 00082 MySerial.baud(57600); 00083 break; 00084 case 6: 00085 MySerial.baud(115200); 00086 break; 00087 } 00088 } 00089 00090 void SparkFunSerialGraphicLCD::setFont(unsigned char font) { 00091 MySerial.putc(0x7C); 00092 MySerial.putc(0x08); 00093 MySerial.putc(font); 00094 } 00095 00096 void SparkFunSerialGraphicLCD::setFontMode(unsigned char mode) { 00097 MySerial.putc(0x7C); 00098 MySerial.putc(0x0A); 00099 MySerial.putc(mode); 00100 } 00101 00102 void SparkFunSerialGraphicLCD::drawSprite(unsigned char x, unsigned char y, unsigned char sprite, unsigned char mode) { 00103 MySerial.putc(0x7C); 00104 MySerial.putc(0x0B); 00105 MySerial.putc(x); 00106 MySerial.putc(y); 00107 MySerial.putc(sprite); 00108 MySerial.putc(mode); 00109 } 00110 00111 void SparkFunSerialGraphicLCD::drawLine(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, bool set) { 00112 MySerial.putc(0x7C); 00113 MySerial.putc(0x0C); 00114 MySerial.putc(x0); 00115 MySerial.putc(y0); 00116 MySerial.putc(x1); 00117 MySerial.putc(y1); 00118 MySerial.putc(set); 00119 } 00120 00121 void SparkFunSerialGraphicLCD::uploadSprite(unsigned char sprite, unsigned char width, unsigned char height, unsigned char* data) { 00122 error("method not implemented"); 00123 MySerial.putc(0x7C); 00124 MySerial.putc(0x0D); 00125 MySerial.putc(sprite); 00126 MySerial.putc(width); 00127 MySerial.putc(height); 00128 } 00129 00130 void SparkFunSerialGraphicLCD::drawBox(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, bool set) { 00131 MySerial.putc(0x7C); 00132 MySerial.putc(0x0F); 00133 MySerial.putc(x0); 00134 MySerial.putc(y0); 00135 MySerial.putc(x1); 00136 MySerial.putc(y1); 00137 MySerial.putc(set); 00138 } 00139 00140 void SparkFunSerialGraphicLCD::setPixel(unsigned char x, unsigned char y, bool set) { 00141 MySerial.putc(0x7C); 00142 MySerial.putc(0x10); 00143 MySerial.putc(x); 00144 MySerial.putc(y); 00145 MySerial.putc(set); 00146 } 00147 void SparkFunSerialGraphicLCD::drawFilledBox(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, unsigned char fill) { 00148 MySerial.putc(0x7C); 00149 MySerial.putc(0x12); 00150 MySerial.putc(x0); 00151 MySerial.putc(y0); 00152 MySerial.putc(x1); 00153 MySerial.putc(y1); 00154 MySerial.putc(fill); 00155 } 00156 00157 00158 void SparkFunSerialGraphicLCD::setReverse(bool enable) { 00159 MySerial.putc(0x7C); 00160 MySerial.putc(0x14); 00161 MySerial.putc(enable); 00162 } 00163 00164 /*void SparkFunSerialGraphicLCD::setSplash(bool enable) { 00165 MySerial.putc(0x7C); 00166 MySerial.putc(0x15); 00167 MySerial.putc(enable); 00168 }*/ 00169 00170 void SparkFunSerialGraphicLCD::bitblt(unsigned char x, unsigned char y, unsigned char mode, unsigned char w, unsigned char h, unsigned char* data) { 00171 error("method not implemented"); 00172 MySerial.putc(0x7C); 00173 MySerial.putc(0x0D); 00174 MySerial.putc(x); 00175 MySerial.putc(y); 00176 MySerial.putc(mode); 00177 MySerial.putc(w); 00178 MySerial.putc(h); 00179 } 00180 00181 void SparkFunSerialGraphicLCD::setCursorX(unsigned char x) { 00182 MySerial.putc(0x7C); 00183 MySerial.putc(0x18); 00184 MySerial.putc(x); 00185 } 00186 00187 void SparkFunSerialGraphicLCD::setCursorY(unsigned char y) { 00188 MySerial.putc(0x7C); 00189 MySerial.putc(0x19); 00190 MySerial.putc(y); 00191 } 00192 00193 00194 00195 void SparkFunSerialGraphicLCD::printf(const char *msg, ...) { 00196 va_list args; 00197 va_start(args, msg); 00198 MySerial.printf(msg, va_arg(args, char*)); 00199 va_end(args); 00200 wait_ms(100); 00201 }
Generated on Tue Jul 19 2022 09:12:25 by 1.7.2