Aaryn Smith
/
SerLCDBootSplash
main.cpp@0:a36776c2f7ad, 2010-01-14 (annotated)
- Committer:
- unixblackhole
- Date:
- Thu Jan 14 01:27:01 2010 +0000
- Revision:
- 0:a36776c2f7ad
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
unixblackhole | 0:a36776c2f7ad | 1 | #include "mbed.h" |
unixblackhole | 0:a36776c2f7ad | 2 | |
unixblackhole | 0:a36776c2f7ad | 3 | Serial pc(USBTX, USBRX); |
unixblackhole | 0:a36776c2f7ad | 4 | Serial lcd(p13, p14); |
unixblackhole | 0:a36776c2f7ad | 5 | |
unixblackhole | 0:a36776c2f7ad | 6 | bool esc; |
unixblackhole | 0:a36776c2f7ad | 7 | void setSpark() { |
unixblackhole | 0:a36776c2f7ad | 8 | lcd.printf("%c%c",0xFE,0x01); |
unixblackhole | 0:a36776c2f7ad | 9 | lcd.printf("%c%c",0xFE,0x80); |
unixblackhole | 0:a36776c2f7ad | 10 | lcd.printf(" Sparkfun.com "); |
unixblackhole | 0:a36776c2f7ad | 11 | lcd.printf("%c%c",0xFE,0xC0); |
unixblackhole | 0:a36776c2f7ad | 12 | lcd.printf(" SerLCD v2 "); |
unixblackhole | 0:a36776c2f7ad | 13 | } |
unixblackhole | 0:a36776c2f7ad | 14 | void interrupt() { |
unixblackhole | 0:a36776c2f7ad | 15 | char in = pc.getc(); |
unixblackhole | 0:a36776c2f7ad | 16 | if (esc) { |
unixblackhole | 0:a36776c2f7ad | 17 | switch (in) { |
unixblackhole | 0:a36776c2f7ad | 18 | case 'h': |
unixblackhole | 0:a36776c2f7ad | 19 | pc.printf("esc+h - help text\r\n"); |
unixblackhole | 0:a36776c2f7ad | 20 | pc.printf("esc+s - sparkfun boot splash\r\n"); |
unixblackhole | 0:a36776c2f7ad | 21 | pc.printf("esc+c - clear screen\r\n"); |
unixblackhole | 0:a36776c2f7ad | 22 | pc.printf("esc+a - cursor on\r\n"); |
unixblackhole | 0:a36776c2f7ad | 23 | pc.printf("esc+z - cursor off\r\n"); |
unixblackhole | 0:a36776c2f7ad | 24 | pc.printf("esc+b - set boot splash\r\n"); |
unixblackhole | 0:a36776c2f7ad | 25 | pc.printf("esc+d - disable/enable boot splash\r\n"); |
unixblackhole | 0:a36776c2f7ad | 26 | break; |
unixblackhole | 0:a36776c2f7ad | 27 | case 'a': |
unixblackhole | 0:a36776c2f7ad | 28 | lcd.printf("%c%c",0xFE,0x0D); |
unixblackhole | 0:a36776c2f7ad | 29 | break; |
unixblackhole | 0:a36776c2f7ad | 30 | case 'z': |
unixblackhole | 0:a36776c2f7ad | 31 | lcd.printf("%c%c",0xFE,0x0C); |
unixblackhole | 0:a36776c2f7ad | 32 | break; |
unixblackhole | 0:a36776c2f7ad | 33 | case 'c': |
unixblackhole | 0:a36776c2f7ad | 34 | lcd.printf("%c%c%c%c",0xFE,0x01,0xFE,0x80); |
unixblackhole | 0:a36776c2f7ad | 35 | break; |
unixblackhole | 0:a36776c2f7ad | 36 | case 'd': |
unixblackhole | 0:a36776c2f7ad | 37 | lcd.printf("%c%c",0x7C,0x09); |
unixblackhole | 0:a36776c2f7ad | 38 | break; |
unixblackhole | 0:a36776c2f7ad | 39 | case 'b': |
unixblackhole | 0:a36776c2f7ad | 40 | lcd.printf("%c%c",0x7C,0x0A); |
unixblackhole | 0:a36776c2f7ad | 41 | break; |
unixblackhole | 0:a36776c2f7ad | 42 | case 's': |
unixblackhole | 0:a36776c2f7ad | 43 | setSpark(); |
unixblackhole | 0:a36776c2f7ad | 44 | break; |
unixblackhole | 0:a36776c2f7ad | 45 | } |
unixblackhole | 0:a36776c2f7ad | 46 | esc=0; |
unixblackhole | 0:a36776c2f7ad | 47 | } else { |
unixblackhole | 0:a36776c2f7ad | 48 | switch (in) { |
unixblackhole | 0:a36776c2f7ad | 49 | case 0x1b: |
unixblackhole | 0:a36776c2f7ad | 50 | esc=1; |
unixblackhole | 0:a36776c2f7ad | 51 | break; |
unixblackhole | 0:a36776c2f7ad | 52 | case 0x7C: |
unixblackhole | 0:a36776c2f7ad | 53 | case 0x0d: |
unixblackhole | 0:a36776c2f7ad | 54 | break; |
unixblackhole | 0:a36776c2f7ad | 55 | default : |
unixblackhole | 0:a36776c2f7ad | 56 | esc=0; |
unixblackhole | 0:a36776c2f7ad | 57 | lcd.printf("%c",in); |
unixblackhole | 0:a36776c2f7ad | 58 | pc.printf("%c",in,in); |
unixblackhole | 0:a36776c2f7ad | 59 | } |
unixblackhole | 0:a36776c2f7ad | 60 | } |
unixblackhole | 0:a36776c2f7ad | 61 | } |
unixblackhole | 0:a36776c2f7ad | 62 | int main() { |
unixblackhole | 0:a36776c2f7ad | 63 | pc.attach(&interrupt); |
unixblackhole | 0:a36776c2f7ad | 64 | while (1) { |
unixblackhole | 0:a36776c2f7ad | 65 | wait(.3); |
unixblackhole | 0:a36776c2f7ad | 66 | } |
unixblackhole | 0:a36776c2f7ad | 67 | } |
unixblackhole | 0:a36776c2f7ad | 68 |