offset value is ok, but set_time is not working. on going...

Dependencies:   NTPClient WIZ550ioInterface mbed

Fork of NTPClient_HelloWorld_WIZ550io by ban4jp -

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 //#include "EthernetInterface.h"
00003 #include "WIZ550ioInterface.h"
00004 #include "NTPClient.h"
00005 
00006 //EthernetInterface eth;
00007 #if defined(TARGET_LPC1114)
00008 SPI spi(dp2, dp1, dp6); // mosi, miso, sclk
00009 WIZ550ioInterface eth(&spi, dp25, dp26); // spi, cs, reset
00010 
00011 #elif defined(TARGET_LPC1768)
00012 SPI spi(p11, p12, p13); // mosi, miso, sclk
00013 WIZ550ioInterface eth(&spi, p14, p15); // spi, cs, reset
00014 
00015 #elif defined(TARGET_LPC11U68)
00016 SPI spi(P0_9, P0_8, P1_29); // mosi, miso, sclk
00017 //WIZnetInterface eth(&spi, P0_2, P1_25); // spi, cs, reset
00018 //SPI spi(p5, p6, p7); // mosi, miso, sclk
00019 WIZ550ioInterface eth(&spi, P0_2, P1_28);//, nRESET(p9); // reset pin is dummy, don't affect any pin of WIZ550io
00020 
00021 #endif
00022 
00023 NTPClient ntp;
00024 
00025 int main() 
00026 {
00027     //pc.baud(9600);
00028     spi.format(8,0); // 8bit, mode 0
00029     spi.frequency(7000000); // 7MHz
00030     wait(1); // 1 second for stable state
00031     
00032 #ifdef _DHCP
00033     int ret = eth.init(); //Use DHCP
00034     if (!ret)
00035     {
00036       printf("Initialized, MAC: %s\n", eth.getMACAddress());
00037     }
00038     else
00039     {
00040       printf("Error eth.init() - ret = %d\n", ret);
00041       return -1;
00042     }
00043 
00044     ret = eth.connect();
00045     if (!ret)
00046     {
00047       printf("Connected, IP: %s, MASK: %s, GW: %s\n",
00048         eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
00049     }
00050     else
00051     {
00052       printf("Error eth.connect() - ret = %d\n", ret);
00053       return -1;
00054     }
00055 #else
00056     uint32_t gw;
00057     uint32_t sn;
00058     uint32_t ip;
00059 
00060 /*
00061     gw = 192;
00062     gw = (gw<<8) + 168;
00063     gw = (gw<<8) + 1;
00064     gw = (gw<<8) + 1;
00065     sn = 0xffffff00;
00066     ip = 192;
00067     ip = (ip<<8) + 168;
00068     ip = (ip<<8) + 1;
00069     ip = (ip<<8) + 212;
00070 */
00071     // for the NTP ex, i use real IP..
00072     gw = 222;
00073     gw = (gw<<8) + 98;
00074     gw = (gw<<8) + 173;
00075     gw = (gw<<8) + 254;
00076     sn = 0xffffffc0;
00077     ip = 222;
00078     ip = (ip<<8) + 98;
00079     ip = (ip<<8) + 173;
00080     ip = (ip<<8) + 212;
00081     
00082     int ret = eth.init(ip, sn, gw);
00083     if (!ret)
00084     {
00085       printf("Initialized, MAC: %s\n", eth.getMACAddress());
00086       printf("Connected, IP: %s, MASK: %s, GW: %s\n",
00087         eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
00088     }
00089     else
00090     {
00091       printf("Error eth.init() - ret = %d\n", ret);
00092       return -1;
00093     }
00094 #endif
00095    
00096     printf("Trying to update time...\r\n");
00097     
00098     // i don't use dns or something, so change to ipaddress
00099 //    if (ntp.setTime("0.pool.ntp.org") == 0)
00100     if (ntp.setTime("61.110.197.50") == 0)
00101     {
00102       printf("Set time successfully\r\n");
00103       time_t ctTime;
00104       ctTime = time(NULL);
00105       printf("Time is set to (UTC): %s\r\n", ctime(&ctTime));
00106     }
00107     else
00108     {
00109       printf("Error\r\n");
00110     } 
00111    
00112     eth.disconnect();  
00113 
00114     while(1) {
00115     }
00116 }