SparkFunSerialGraphicLCD.cpp@2:376f8a0544be, 2012-02-18 (annotated)
- Committer:
- chag
- Date:
- Sat Feb 18 03:22:13 2012 +0000
- Revision:
- 2:376f8a0544be
- Parent:
- 1:30c16204be60
- Child:
- 3:889836485429
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 | 2:376f8a0544be | 41 | void SparkFunSerialGraphicLCD::setCursor(unsigned char row, unsigned char column) { |
chag | 0:4b9e26cee71f | 42 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 43 | MySerial.putc(0x18); |
chag | 1:30c16204be60 | 44 | MySerial.putc(row); |
chag | 0:4b9e26cee71f | 45 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 46 | MySerial.putc(0x19); |
chag | 1:30c16204be60 | 47 | MySerial.putc(column); |
chag | 1:30c16204be60 | 48 | |
chag | 0:4b9e26cee71f | 49 | } |
chag | 0:4b9e26cee71f | 50 | |
chag | 0:4b9e26cee71f | 51 | void SparkFunSerialGraphicLCD::setPixel(unsigned char x, unsigned char y, bool set) { |
chag | 0:4b9e26cee71f | 52 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 53 | MySerial.putc(0x10); |
chag | 0:4b9e26cee71f | 54 | MySerial.putc(x); |
chag | 0:4b9e26cee71f | 55 | MySerial.putc(y); |
chag | 0:4b9e26cee71f | 56 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 57 | } |
chag | 0:4b9e26cee71f | 58 | |
chag | 0:4b9e26cee71f | 59 | void SparkFunSerialGraphicLCD::drawLine(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, bool set) { |
chag | 0:4b9e26cee71f | 60 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 61 | MySerial.putc(0x0C); |
chag | 0:4b9e26cee71f | 62 | MySerial.putc(x0); |
chag | 0:4b9e26cee71f | 63 | MySerial.putc(y0); |
chag | 0:4b9e26cee71f | 64 | MySerial.putc(x1); |
chag | 0:4b9e26cee71f | 65 | MySerial.putc(y1); |
chag | 0:4b9e26cee71f | 66 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 67 | } |
chag | 0:4b9e26cee71f | 68 | |
chag | 0:4b9e26cee71f | 69 | void SparkFunSerialGraphicLCD::drawCircle(unsigned char x, unsigned char y, unsigned char radius, bool set) { |
chag | 0:4b9e26cee71f | 70 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 71 | MySerial.putc(0x03); |
chag | 0:4b9e26cee71f | 72 | MySerial.putc(x); |
chag | 0:4b9e26cee71f | 73 | MySerial.putc(y); |
chag | 0:4b9e26cee71f | 74 | MySerial.putc(radius); |
chag | 0:4b9e26cee71f | 75 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 76 | } |
chag | 0:4b9e26cee71f | 77 | |
chag | 0:4b9e26cee71f | 78 | void SparkFunSerialGraphicLCD::drawBox(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1, bool set) { |
chag | 0:4b9e26cee71f | 79 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 80 | MySerial.putc(0x0F); |
chag | 0:4b9e26cee71f | 81 | MySerial.putc(x0); |
chag | 0:4b9e26cee71f | 82 | MySerial.putc(y0); |
chag | 0:4b9e26cee71f | 83 | MySerial.putc(x1); |
chag | 0:4b9e26cee71f | 84 | MySerial.putc(y1); |
chag | 0:4b9e26cee71f | 85 | MySerial.putc(set); |
chag | 0:4b9e26cee71f | 86 | } |
chag | 0:4b9e26cee71f | 87 | |
chag | 0:4b9e26cee71f | 88 | void SparkFunSerialGraphicLCD::eraseBlock(unsigned char x0, unsigned char y0, unsigned char x1, unsigned char y1) { |
chag | 0:4b9e26cee71f | 89 | MySerial.putc(0x7C); |
chag | 0:4b9e26cee71f | 90 | MySerial.putc(0x05); |
chag | 0:4b9e26cee71f | 91 | MySerial.putc(x0); |
chag | 0:4b9e26cee71f | 92 | MySerial.putc(y0); |
chag | 0:4b9e26cee71f | 93 | MySerial.putc(x1); |
chag | 0:4b9e26cee71f | 94 | MySerial.putc(y1); |
chag | 0:4b9e26cee71f | 95 | } |
chag | 0:4b9e26cee71f | 96 | |
chag | 0:4b9e26cee71f | 97 | void SparkFunSerialGraphicLCD::printf(const char *msg, ...) { |
chag | 0:4b9e26cee71f | 98 | va_list args; |
chag | 0:4b9e26cee71f | 99 | va_start(args, msg); |
chag | 0:4b9e26cee71f | 100 | MySerial.printf(msg, va_arg(args, char*)); |
chag | 0:4b9e26cee71f | 101 | va_end(args); |
chag | 0:4b9e26cee71f | 102 | } |