SparkFunSerialGraphicLCD.cpp@0:4b9e26cee71f, 2012-02-16 (annotated)
- Committer:
- chag
- Date:
- Thu Feb 16 21:47:49 2012 +0000
- Revision:
- 0:4b9e26cee71f
- Child:
- 1:30c16204be60
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
chag | 0:4b9e26cee71f | 1 | #include "stdarg.h" |
chag | 0:4b9e26cee71f | 2 | #include "mbed.h" |
chag | 0:4b9e26cee71f | 3 | #include "SparkFunSerialGraphicLCD.h" |
chag | 0:4b9e26cee71f | 4 | |
chag | 0:4b9e26cee71f | 5 | |
chag | 0:4b9e26cee71f | 6 | SparkFunSerialGraphicLCD::SparkFunSerialGraphicLCD(PinName tx, PinName rx = NC) : MySerial(tx, rx) { |
chag | 0:4b9e26cee71f | 7 | MySerial.baud(115200); |
chag | 0:4b9e26cee71f | 8 | wait_ms(1100); |
chag | 0:4b9e26cee71f | 9 | clear(); |
chag | 0:4b9e26cee71f | 10 | } |
chag | 0:4b9e26cee71f | 11 | |
chag | 0:4b9e26cee71f | 12 | void SparkFunSerialGraphicLCD::clear() { |
chag | 0:4b9e26cee71f | 13 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 14 | MySerial.putc(0x00); |
chag | 0:4b9e26cee71f | 15 | } |
chag | 0:4b9e26cee71f | 16 | |
chag | 0:4b9e26cee71f | 17 | void SparkFunSerialGraphicLCD::demo() { |
chag | 0:4b9e26cee71f | 18 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 19 | MySerial.putc(0x04); |
chag | 0:4b9e26cee71f | 20 | } |
chag | 0:4b9e26cee71f | 21 | |
chag | 0:4b9e26cee71f | 22 | void SparkFunSerialGraphicLCD::toggleReverse() { |
chag | 0:4b9e26cee71f | 23 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 24 | MySerial.putc(0x12); |
chag | 0:4b9e26cee71f | 25 | } |
chag | 0:4b9e26cee71f | 26 | |
chag | 0:4b9e26cee71f | 27 | void SparkFunSerialGraphicLCD::toggleSplash() { |
chag | 0:4b9e26cee71f | 28 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 29 | MySerial.putc(0x13); |
chag | 0:4b9e26cee71f | 30 | } |
chag | 0:4b9e26cee71f | 31 | |
chag | 0:4b9e26cee71f | 32 | void SparkFunSerialGraphicLCD::setBacklight(unsigned char intensity) { |
chag | 0:4b9e26cee71f | 33 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 34 | MySerial.putc(0x02); |
chag | 0:4b9e26cee71f | 35 | MySerial.putc(intensity); |
chag | 0:4b9e26cee71f | 36 | } |
chag | 0:4b9e26cee71f | 37 | |
chag | 0:4b9e26cee71f | 38 | /*void setBaud() { |
chag | 0:4b9e26cee71f | 39 | }*/ |
chag | 0:4b9e26cee71f | 40 | |
chag | 0:4b9e26cee71f | 41 | void SparkFunSerialGraphicLCD::setX(unsigned char offset) { |
chag | 0:4b9e26cee71f | 42 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 43 | MySerial.putc(0x18); |
chag | 0:4b9e26cee71f | 44 | MySerial.putc(offset); |
chag | 0:4b9e26cee71f | 45 | } |
chag | 0:4b9e26cee71f | 46 | |
chag | 0:4b9e26cee71f | 47 | void SparkFunSerialGraphicLCD::setY(unsigned char offset) { |
chag | 0:4b9e26cee71f | 48 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 49 | MySerial.putc(0x19); |
chag | 0:4b9e26cee71f | 50 | MySerial.putc(offset); |
chag | 0:4b9e26cee71f | 51 | } |
chag | 0:4b9e26cee71f | 52 | |
chag | 0:4b9e26cee71f | 53 | void SparkFunSerialGraphicLCD::setPixel(unsigned char x, unsigned char y, bool set) { |
chag | 0:4b9e26cee71f | 54 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 55 | MySerial.putc(0x10); |
chag | 0:4b9e26cee71f | 56 | MySerial.putc(x); |
chag | 0:4b9e26cee71f | 57 | MySerial.putc(y); |
chag | 0:4b9e26cee71f | 58 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 59 | } |
chag | 0:4b9e26cee71f | 60 | |
chag | 0:4b9e26cee71f | 61 | void SparkFunSerialGraphicLCD::drawLine(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, bool set) { |
chag | 0:4b9e26cee71f | 62 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 63 | MySerial.putc(0x0C); |
chag | 0:4b9e26cee71f | 64 | MySerial.putc(x0); |
chag | 0:4b9e26cee71f | 65 | MySerial.putc(y0); |
chag | 0:4b9e26cee71f | 66 | MySerial.putc(x1); |
chag | 0:4b9e26cee71f | 67 | MySerial.putc(y1); |
chag | 0:4b9e26cee71f | 68 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 69 | } |
chag | 0:4b9e26cee71f | 70 | |
chag | 0:4b9e26cee71f | 71 | void SparkFunSerialGraphicLCD::drawCircle(unsigned char x, unsigned char y, unsigned char radius, bool set) { |
chag | 0:4b9e26cee71f | 72 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 73 | MySerial.putc(0x03); |
chag | 0:4b9e26cee71f | 74 | MySerial.putc(x); |
chag | 0:4b9e26cee71f | 75 | MySerial.putc(y); |
chag | 0:4b9e26cee71f | 76 | MySerial.putc(radius); |
chag | 0:4b9e26cee71f | 77 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 78 | } |
chag | 0:4b9e26cee71f | 79 | |
chag | 0:4b9e26cee71f | 80 | void SparkFunSerialGraphicLCD::drawBox(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, bool set) { |
chag | 0:4b9e26cee71f | 81 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 82 | MySerial.putc(0x0F); |
chag | 0:4b9e26cee71f | 83 | MySerial.putc(x0); |
chag | 0:4b9e26cee71f | 84 | MySerial.putc(y0); |
chag | 0:4b9e26cee71f | 85 | MySerial.putc(x1); |
chag | 0:4b9e26cee71f | 86 | MySerial.putc(y1); |
chag | 0:4b9e26cee71f | 87 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 88 | } |
chag | 0:4b9e26cee71f | 89 | |
chag | 0:4b9e26cee71f | 90 | void SparkFunSerialGraphicLCD::eraseBlock(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1) { |
chag | 0:4b9e26cee71f | 91 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 92 | MySerial.putc(0x05); |
chag | 0:4b9e26cee71f | 93 | MySerial.putc(x0); |
chag | 0:4b9e26cee71f | 94 | MySerial.putc(y0); |
chag | 0:4b9e26cee71f | 95 | MySerial.putc(x1); |
chag | 0:4b9e26cee71f | 96 | MySerial.putc(y1); |
chag | 0:4b9e26cee71f | 97 | } |
chag | 0:4b9e26cee71f | 98 | |
chag | 0:4b9e26cee71f | 99 | void SparkFunSerialGraphicLCD::printf(const char *msg, ...) { |
chag | 0:4b9e26cee71f | 100 | va_list args; |
chag | 0:4b9e26cee71f | 101 | va_start(args, msg); |
chag | 0:4b9e26cee71f | 102 | MySerial.printf(msg, va_arg(args, char*)); |
chag | 0:4b9e26cee71f | 103 | va_end(args); |
chag | 0:4b9e26cee71f | 104 | } |