Smart Clock
Dependencies: AlarmClock DigitalClock EthernetInterface FourDigitLED HTTPClient NTPClient SDFileSystem TrainStat WeatherInfo XML_aide mbed-rtos mbed picojson wolfSSL
main.cpp
- Committer:
- takashikojo
- Date:
- 2015-06-26
- Revision:
- 2:bcc1a40ffa04
- Parent:
- 1:1a28aaca601d
- Child:
- 3:2cb03c287c22
File content as of revision 2:bcc1a40ffa04:
#include "mbed.h" #include "EthernetInterface.h" #include "NTPClient.h" #include "AlarmClock.h" #include "TrainStat.h" AlarmClock alarmclock ( /* Segment 0 - 6, Dot */ D11,D6, D3, D1, D0, D10,D4, D2 , /* Digit 1 - 4 */ D5, D7, D9, D12, /* Alarm, Hour, Min, Tone */D13, D14, D15, PTC11 ) ; TrainStat trainstat ; static void ntp(char *site) { NTPClient ntp; alarmclock.setLED(33, 33) ; if (ntp.setTime(site) == 0) { alarmclock.flashLED() ; } else { alarmclock.setLED(0, 0) ; wait(30.0) ; return ; } } void clock_main(void const *av) { ntp("ntp.jst.mfeed.ad.jp") ; alarmclock.start() ; while(1){ alarmclock.poll() ; Thread::wait(100); } } void net_main(void const *av) { bool sw ; trainstat.setLine("千代田線") ; wait(2.0) ; while(1) { sw = !sw ; if(!trainstat.getStat()) { printf("遅れあり\n") ; alarmclock.setBlink(true) ; } else { printf("遅れなし\n") ; alarmclock.setBlink(false) ; } wait(60.0) ; } } int main() { EthernetInterface eth; int ret ; alarmclock.setLED(11, 11) ; ret = eth.init(); alarmclock.setLED(22, 22) ; while(1) { ret = eth.connect(); if(ret == 0)break ; Thread::wait(10); } #define NET_STACK 16000 Thread t_clock(clock_main, NULL, osPriorityNormal); Thread t_net (net_main, NULL, osPriorityNormal, NET_STACK ); while(1)Thread::wait(1000); }