Blue LED matrix (8x16) program. Gets text string through bluetooth and displays it on led matrix. Also has a clock function- get system time from a phone through bluetooth and enters clock mode. In clock mode it acts as a clock showing hours and minutes and blinking led every second. Clock mode can be broken if a text string is received through bluetooth.
Dependencies: mbed
text.cpp
- Committer:
- DaniusKalv
- Date:
- 2014-11-01
- Revision:
- 8:f74b8d6f00d0
- Parent:
- 7:ca5ed7936472
- Child:
- 9:ed7e8a6fc537
File content as of revision 8:f74b8d6f00d0:
#include "text.h" #include "mbed.h" #include "letters.h" text::text(): pc(USBTX, USBRX), local("local"){ }; void text::generate(string input){ stringLength = input.length(); if (stringLength == 0) return; pc.printf("\r\nStarting generation, string length: %i", stringLength); fp = fopen("/local/out.txt", "w"); pc.printf("\r\nOpened a text file out.txt"); calcLength(input); fprintf(fp, "%i\r\n", length); for (int i = 0; i < 16; i++){ fprintf(fp, "00000000\r\n"); } for (int i = 0; i < stringLength; i++){ pc.printf("\r\nTaking letter "); pc.putc(input.at(i)); letters(input.at(i)); pc.printf("\r\nDone with "); pc.putc(input.at(i)); tempCheck(); for (int j = 0; j < letSize; j++){ for (int g = 7; g > (-1); g--){ fprintf(fp, "%i", temp[g][j]); } fprintf(fp,"\r\n"); } fprintf(fp, "00000000\r\n"); } for (int i = 0; i < 15; i++){ fprintf(fp, "00000000\r\n"); } fclose(fp); } void text::letters(char take){ switch (take){ case 'A': letSize = 4; memcpy(temp, letterA, sizeof(letterA)); break; case 'B': letSize = 4; memcpy(temp, letterB, sizeof(letterB)); break; case 'C': letSize = 4; memcpy(temp, letterC, sizeof(letterC)); break; case 'D': letSize = 4; memcpy(temp, letterD, sizeof(letterD)); break; case 'E': letSize = 4; memcpy(temp, letterE, sizeof(letterE)); break; case 'F': letSize = 4; memcpy(temp, letterF, sizeof(letterF)); break; case 'G': letSize = 4; memcpy(temp, letterG, sizeof(letterG)); break; case 'H': letSize = 4; memcpy(temp, letterH, sizeof(letterH)); break; case 'I': letSize = 1; memcpy(temp, letterI, sizeof(letterI)); break; case 'J': letSize = 3; memcpy(temp, letterJ, sizeof(letterJ)); break; case 'K': letSize = 4; memcpy(temp, letterK, sizeof(letterK)); break; case 'L': letSize = 4; memcpy(temp, letterL, sizeof(letterL)); break; case 'M': letSize = 5; memcpy(temp, letterM, sizeof(letterM)); break; case 'N': letSize = 4; memcpy(temp, letterN, sizeof(letterN)); break; case 'O': letSize = 4; memcpy(temp, letterO, sizeof(letterO)); break; case 'P': letSize = 4; memcpy(temp, letterP, sizeof(letterP)); break; case 'R': letSize = 4; memcpy(temp, letterR, sizeof(letterR)); break; case 'S': letSize = 4; memcpy(temp, letterS, sizeof(letterS)); break; case 'T': letSize = 5; memcpy(temp, letterT, sizeof(letterT)); break; case 'U': letSize = 4; memcpy(temp, letterU, sizeof(letterU)); break; case 'V': letSize = 5; memcpy(temp, letterV, sizeof(letterV)); break; case 'Z': letSize = 4; memcpy(temp, letterZ, sizeof(letterZ)); break; case 'W': letSize = 5; memcpy(temp, letterW, sizeof(letterW)); break; case 'Y': letSize = 5; memcpy(temp, letterY, sizeof(letterY)); break; case 'X': letSize = 5; memcpy(temp, letterX, sizeof(letterX)); break; case ' ': letSize = 3; memcpy(temp, letterGap, sizeof(letterGap)); break; default : letSize = 1; memcpy(temp, letterDef, sizeof(letterDef)); } } void text::tempCheck(){ pc.printf("\r\n"); for (int i = 0; i < 8; i++){ pc.printf("0x%02x ", temp[i]); } } pc.printf("\r\n"); } void text::calcLength(string input){ length = 0; for (int i = 0; i < stringLength; i++){ letters(input.at(i)); length += letSize + 1; } length += 31; }