
USED IMAGE2GLCD
Dependencies: BLE_API SharpLCD_LucidaFont mbed nRF51822
Fork of Renard_YO by
Diff: main.cpp
- Revision:
- 8:bb11edbf5708
- Parent:
- 7:8712aa56ee92
- Child:
- 9:bae7cfbe8d85
--- a/main.cpp Thu Apr 23 08:04:41 2015 +0000 +++ b/main.cpp Fri Apr 24 10:11:59 2015 +0000 @@ -26,15 +26,22 @@ DigitalOut motor(P0_1); DigitalOut screen(P0_21); DigitalIn button(P0_16); +//a50,a60,a70,a80,a90,a100,a110,a120,a130,a140,a150,a160,a170 char strn[50]; // incoming tx data char user[50]; // username to display +uint8_t* rings[2] = {a0,a10}; int set=0; int set2=0; +int pairing =1; +int anim=0; +int elip=0; int timeUpdate = 1; time_t unixTime; char timeStr[50]; // time to display +char dayStr[50]; // day to display +char dateStr[50]; // date to display Timer mClock; int clockOffset = 0; int lastms = 0; @@ -69,6 +76,61 @@ lcd.enableDisplay(); fb.clear(); lcd.clear(); + + +} + +void showPairing() +{ + fb.clear(); + fb.bitBlit( sScreen, 96, 96, 0, 0); + fb.bitBlit(rings[anim], 32, 32, 2, 57); + switch (elip) { + + case 0: fb.printString(lookupFontFace("Lucida 8pt", 8), + 38, + 80, + BLACK, + "Pairing"); + break; + case 1: fb.printString(lookupFontFace("Lucida 8pt", 8), + 38, + 80, + BLACK, + "Pairing.."); + break; + + case 2: fb.printString(lookupFontFace("Lucida 8pt", 8), + 38, + 80, + BLACK, + "Pairing..."); + break; + + case 3: fb.printString(lookupFontFace("Lucida 8pt", 8), + 38, + 80, + BLACK, + "Pairing..."); + break; + + +} + + + lcd.drawFrameBuffer(fb); + elip++; + anim++; + wait(0.15); + + + if (anim>=2) { + anim = 0; + } + + if (elip>=4) { + elip = 0; + } } void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason) @@ -117,24 +179,40 @@ void setTime(int newTime) { unixTime = newTime; struct tm* timeinfo = localtime (&unixTime); - strftime (timeStr, 20, "%I:%M:%S%p", timeinfo); + strftime (timeStr, 20, "%R", timeinfo); + strftime (dayStr, 20, "%A", timeinfo); + strftime (dateStr, 20, "%B %e", timeinfo); } // Main LCD display function, add all framebuffer updates here ONLY void updateLCD() { fb.clear(); + + //fb.bitBlit(YO, 80, 50, 0, 40); fb.printString(lookupFontFace("Lucida 8pt", 8), - 20, - 40, + 60, + 65, BLACK, user); fb.printString(lookupFontFace("Lucida 8pt", 8), - 20, - 80, + 35, + 16, BLACK, timeStr); + + fb.printString(lookupFontFace("Lucida 8pt", 8), + 35, + 35, + BLACK, + dayStr); + fb.printString(lookupFontFace("Lucida 8pt", 8), + 35, + 60, + BLACK, + dateStr); + lcd.drawFrameBuffer(fb); } @@ -145,19 +223,26 @@ led1 = 0; set2 = 0; + uint16_t rxHandle = rxCharacteristic.getValueAttribute().getHandle(); // Initial time update pc.printf("\n\r Updating time"); char cmd[5] = "time"; ble.updateCharacteristicValue(rxHandle, (const uint8_t*)cmd, 4); + + while (true) { + + if (pairing){ + showPairing(); + } - while (true) { if(set){ if (timeUpdate) { setTime(atoi(strn)); pc.printf("\n\r New time: %s", timeStr); timeUpdate = 0; + pairing=0; mClock.start(); } else { strncpy(user, strn, sizeof(strn));