![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
the old one missing
Revision 0:aba5bc58d84d, committed 2015-08-18
- Comitter:
- happymofo
- Date:
- Tue Aug 18 14:34:52 2015 +0000
- Commit message:
- old one gone
Changed in this revision
diff -r 000000000000 -r aba5bc58d84d MemoryLCD.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MemoryLCD.lib Tue Aug 18 14:34:52 2015 +0000 @@ -0,0 +1,1 @@ +http://developer.mbed.org/teams/SiliconLabs/code/MemoryLCD/#0f8ae10b308d
diff -r 000000000000 -r aba5bc58d84d main.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Tue Aug 18 14:34:52 2015 +0000 @@ -0,0 +1,103 @@ +#include "LS013B7DH03.h" +#include "mbed_logo.h" +/******************** Define I/O *****************************/ +DigitalOut myled(LED1); + +#if defined(TARGET_EFM32ZG_STK3200) +#define SCK_PIN PC15 +#define MOSI_PIN PD7 +#define CS_PIN PE11 +#define EXTCOM_PIN PE10 +#define DISP_PIN PA10 +#define DISPSEL_PIN PA8 +#elif defined (TARGET_EFM32HG_STK3400) +#define SCK_PIN PE12 +#define MOSI_PIN PE10 +#define CS_PIN PA10 +#define EXTCOM_PIN PF3 +#define DISPSEL_PIN PA8 +#else +#error "undefined pinout" +#endif + +DigitalOut CS(CS_PIN); +DigitalOut EXTCOM(EXTCOM_PIN); +#ifdef DISP_PIN +DigitalOut DISP(DISP_PIN); +#endif +DigitalOut DISP_SEL(DISPSEL_PIN); + +SPI displaySPI(MOSI_PIN, NC, SCK_PIN); +silabs::LS013B7DH03 display(&displaySPI, &CS, &EXTCOM); + +/******************** Define Timers *****************************/ + +LowPowerTicker timeKeeping; + +/***************** Define global variables **********************/ +#define INIT_SECONDS 17600 + +volatile uint32_t prevSeconds = INIT_SECONDS, seconds = INIT_SECONDS; +volatile bool refreshed = false; + +/***************** Define callback handlers *********************/ +void secondsCallback(void); +void refreshCallback(void); + +void secondsCallback(void) { + seconds++; +} + +/** + * Callback for refresh completion + */ +void refreshCallback(void) { + refreshed = true; +} + +/*************************** MAIN *******************************/ +int main() { + // Enable the LCD + DISP_SEL = 1; +#ifdef DISP_PIN + DISP = 1; +#endif + + // Start generating the 1Hz call for keeping time + timeKeeping.attach(&secondsCallback, 1.0f); + + // Reset the LCD to a blank state. (All white) + refreshed = false; + display.clearImmediate(refreshCallback); + while(refreshed == false) sleep(); + + printf("Initialization done! \n"); + + // Apply mbed logo bitmap to the pixel buffer + display.showBMP((uint8_t*)mbed_enabled_logo, 128, 128, 0, 0); + display.printf("I like MBED!"); + + // Push update to the display + refreshed = false; + display.update(refreshCallback); + + // Sleep while doing the transmit + while(refreshed == false) sleep(); + + // Go into clock mode + while(1) { + sleep(); + + // In clock mode, only update once per second + if(prevSeconds != seconds) { + display.locate(4,15); + display.printf("%02d:%02d:%02d", (seconds / 1200) % 24, (seconds / 60) % 60, seconds % 60); + if(refreshed == true) { + prevSeconds = seconds; + refreshed = false; + display.update(refreshCallback); + while(!refreshed) sleep(); + } + } + } +} \ No newline at end of file
diff -r 000000000000 -r aba5bc58d84d mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Aug 18 14:34:52 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/b9ad9a133dc7 \ No newline at end of file