smart_watch
Dependencies: SNTPClinet WIZnetInterface mbed-src
Fork of smart_watch by
main.cpp
- Committer:
- Hoonhee
- Date:
- 2017-04-12
- Revision:
- 1:5eae4950211d
- Parent:
- 0:6e799e373101
File content as of revision 1:5eae4950211d:
#include "mbed.h" #include "EthernetInterface.h" #include "SNTPClient.h" #include "SSD1306.h" #if defined(TARGET_WIZwiki_W7500) EthernetInterface eth; /* DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); */ DigitalIn sw(PC_0); #endif TCPSocketConnection sock; DigitalOut myled(PA_6); Serial pc(USBTX, USBRX); // tx, rx datetime ntptime; struct tm timeinfo; int main() { uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; uint8_t count=0; uint8_t time_x_offset =0; uint8_t old_offset =0; char buffer[32]; pc.baud(9600); init(); cls(); OLED_DrawBMP(0,0,128,8,(unsigned char *)wiznet); wait(1); cls(); eth.init(mac_addr); //Use DHCP eth.connect(); pc.printf("IP Address is %s\n\r", eth.getIPAddress()); SNTPClient sntp("time.nist.gov", 40); // timezone: Korea, Republic of sntp.connect(); if(sntp.getTime(&ntptime) == true) { pc.printf("%d-%d-%d, %d:%d:%d\r\n", ntptime.yy, ntptime.mo, ntptime.dd, ntptime.hh, ntptime.mm, ntptime.ss); wait(1.0); } else { while(sntp.getTime(&ntptime) != true) { //break; } } timeinfo.tm_mon = ntptime.mo-1; timeinfo.tm_mday = ntptime.dd; timeinfo.tm_hour = ntptime.hh; timeinfo.tm_min = ntptime.mm; timeinfo.tm_sec = ntptime.ss; timeinfo.tm_year = ntptime.yy-1900; // printf("%d-%d, %d:%d:%d\r\n", timeinfo.tm_mon, timeinfo.tm_mday, timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec); time_t t =mktime(&timeinfo); set_time(t); t = time(NULL); while (1) { time_t seconds = time(NULL); // printf("Time as a basic string = %s\r\n", ctime(&seconds)); if(count == 50) { cls(); count++; } if(count > 50) { time_x_offset =0; if(old_offset != time_x_offset){ old_offset = time_x_offset; } //strftime (buffer,32,"%I:%M:%S ",localtime(&seconds)); strftime (buffer,32,"%I:%M",localtime(&seconds)); LED_P23x32Str(time_x_offset,3,buffer); //intBigTime(buffer); if(sw == 0) { count = 0; cls(); } } else { strftime(buffer, 32,"%a %d %b %Y", localtime(&seconds)); OLED_ShowStr(10, 3, buffer,1 ); strftime(buffer, 32, "%I:%M:%S %p", localtime(&seconds)); OLED_ShowStr(10, 4, buffer,2 ); count ++; } } }