Example program for the Seeed Grove shield, that uses Digit Display Grove on UART connector (D0/D1 pins). This program displays/measures time.

Dependencies:   DigitDisplay mbed

Fork of DigitDisplay_Clock by Seeed Studio

Committer:
screamer
Date:
Fri Feb 13 09:47:34 2015 +0000
Revision:
3:fb2c7bf7c050
Parent:
2:36c54dcb0b7f
Update mbed library.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
screamer 2:36c54dcb0b7f 1 /* Copyright (c) 2010-2011 mbed.org, MIT License
screamer 2:36c54dcb0b7f 2 *
screamer 2:36c54dcb0b7f 3 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
screamer 2:36c54dcb0b7f 4 * and associated documentation files (the "Software"), to deal in the Software without
screamer 2:36c54dcb0b7f 5 * restriction, including without limitation the rights to use, copy, modify, merge, publish,
screamer 2:36c54dcb0b7f 6 * distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
screamer 2:36c54dcb0b7f 7 * Software is furnished to do so, subject to the following conditions:
screamer 2:36c54dcb0b7f 8 *
screamer 2:36c54dcb0b7f 9 * The above copyright notice and this permission notice shall be included in all copies or
screamer 2:36c54dcb0b7f 10 * substantial portions of the Software.
screamer 2:36c54dcb0b7f 11 *
screamer 2:36c54dcb0b7f 12 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
screamer 2:36c54dcb0b7f 13 * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
screamer 2:36c54dcb0b7f 14 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
screamer 2:36c54dcb0b7f 15 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
screamer 2:36c54dcb0b7f 16 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
screamer 2:36c54dcb0b7f 17 */
screamer 2:36c54dcb0b7f 18
seeed 0:20e070e8ecca 19 #include "mbed.h"
seeed 0:20e070e8ecca 20 #include "DigitDisplay.h"
seeed 0:20e070e8ecca 21
seeed 0:20e070e8ecca 22 DigitalOut myled(LED1);
seeed 0:20e070e8ecca 23
screamer 1:50a737d41539 24 /**
screamer 1:50a737d41539 25 * RX pin - D0
screamer 1:50a737d41539 26 * TX pin - D1
screamer 1:50a737d41539 27 */
screamer 1:50a737d41539 28 DigitDisplay display(D0, D1);
seeed 0:20e070e8ecca 29
seeed 0:20e070e8ecca 30 Ticker tick;
seeed 0:20e070e8ecca 31
seeed 0:20e070e8ecca 32 uint8_t hour = 20;
seeed 0:20e070e8ecca 33 uint8_t minute = 14;
seeed 0:20e070e8ecca 34 uint8_t second = 0;
seeed 0:20e070e8ecca 35
seeed 0:20e070e8ecca 36 void beat()
seeed 0:20e070e8ecca 37 {
seeed 0:20e070e8ecca 38 static uint8_t colon = 0;
seeed 0:20e070e8ecca 39
seeed 0:20e070e8ecca 40 display.setColon(colon);
seeed 0:20e070e8ecca 41 if (colon) {
seeed 0:20e070e8ecca 42 second++;
seeed 0:20e070e8ecca 43 if (second >= 60) {
seeed 0:20e070e8ecca 44 second = 0;
seeed 0:20e070e8ecca 45 minute++;
seeed 0:20e070e8ecca 46 if (minute >= 60) {
seeed 0:20e070e8ecca 47 minute = 0;
seeed 0:20e070e8ecca 48
seeed 0:20e070e8ecca 49 hour++;
seeed 0:20e070e8ecca 50 if (hour >= 24) {
seeed 0:20e070e8ecca 51 hour = 0;
seeed 0:20e070e8ecca 52 }
seeed 0:20e070e8ecca 53 display.write(0, hour / 10);
seeed 0:20e070e8ecca 54 display.write(1, hour % 10);
seeed 0:20e070e8ecca 55 }
seeed 0:20e070e8ecca 56 display.write(2, minute / 10);
seeed 0:20e070e8ecca 57 display.write(3, minute % 10);
seeed 0:20e070e8ecca 58 }
seeed 0:20e070e8ecca 59 }
seeed 0:20e070e8ecca 60 colon = 1 - colon;
seeed 0:20e070e8ecca 61 }
seeed 0:20e070e8ecca 62
seeed 0:20e070e8ecca 63 int main() {
seeed 0:20e070e8ecca 64 display.write(0, hour / 10);
seeed 0:20e070e8ecca 65 display.write(1, hour % 10);
seeed 0:20e070e8ecca 66 display.write(2, minute / 10);
seeed 0:20e070e8ecca 67 display.write(3, minute % 10);
seeed 0:20e070e8ecca 68 display.setColon(true);
seeed 0:20e070e8ecca 69 tick.attach(&beat, 0.5);
seeed 0:20e070e8ecca 70 while(1) {
seeed 0:20e070e8ecca 71 myled = 1;
seeed 0:20e070e8ecca 72 wait(0.5);
seeed 0:20e070e8ecca 73 myled = 0;
seeed 0:20e070e8ecca 74 wait(0.5);
seeed 0:20e070e8ecca 75 }
seeed 0:20e070e8ecca 76 }