mbed Weather Platform firmware http://mbed.org/users/okini3939/notebook/mbed-weather-platform-firmware/

Dependencies:   ChaNFSSD EthernetNetIf I2CLEDDisp Agentbed ChaNFSUSB ILinterpreter mbed BMP085 WeatherMeters ConfigFile ChaNFS I2CLCD

Committer:
okini3939
Date:
Fri Mar 16 15:26:46 2012 +0000
Revision:
8:bed0b81794ba
Parent:
2:a3e5edf84f74

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
okini3939 2:a3e5edf84f74 1 /*
okini3939 2:a3e5edf84f74 2 * mbed Tiny SNTP(NTP) Client
okini3939 2:a3e5edf84f74 3 * Copyright (c) 2011 Hiroshi Suga
okini3939 2:a3e5edf84f74 4 * Released under the MIT License: http://mbed.org/license/mit
okini3939 2:a3e5edf84f74 5 */
okini3939 2:a3e5edf84f74 6
okini3939 2:a3e5edf84f74 7 /** @file
okini3939 2:a3e5edf84f74 8 * @brief Tiny DNS Resolver
okini3939 2:a3e5edf84f74 9 */
okini3939 2:a3e5edf84f74 10
okini3939 2:a3e5edf84f74 11 #ifndef TinySNTP_h
okini3939 2:a3e5edf84f74 12 #define TinySNTP_h
okini3939 2:a3e5edf84f74 13
okini3939 2:a3e5edf84f74 14 #include <inttypes.h>
okini3939 2:a3e5edf84f74 15
okini3939 2:a3e5edf84f74 16 //#define DEBUG
okini3939 2:a3e5edf84f74 17
okini3939 2:a3e5edf84f74 18 #define NTP_PORT 123
okini3939 2:a3e5edf84f74 19 #define NTP_SRC_PORT 50420
okini3939 2:a3e5edf84f74 20 #define NTP_TIMESTAMP_DELTA 2208988800ull
okini3939 2:a3e5edf84f74 21 #define NTP_TIMEOUT 15000 // ms
okini3939 2:a3e5edf84f74 22
okini3939 2:a3e5edf84f74 23 struct SNTPPacket {
okini3939 2:a3e5edf84f74 24 uint8_t info;
okini3939 2:a3e5edf84f74 25 uint8_t stratum;
okini3939 2:a3e5edf84f74 26 uint8_t poll;
okini3939 2:a3e5edf84f74 27 uint8_t precision;
okini3939 2:a3e5edf84f74 28
okini3939 2:a3e5edf84f74 29 uint32_t rootDelay;
okini3939 2:a3e5edf84f74 30 uint32_t rootDispersion;
okini3939 2:a3e5edf84f74 31 uint32_t refId;
okini3939 2:a3e5edf84f74 32
okini3939 2:a3e5edf84f74 33 uint32_t refTm_s;
okini3939 2:a3e5edf84f74 34 uint32_t refTm_f;
okini3939 2:a3e5edf84f74 35 uint32_t origTm_s;
okini3939 2:a3e5edf84f74 36 uint32_t origTm_f;
okini3939 2:a3e5edf84f74 37 uint32_t rxTm_s;
okini3939 2:a3e5edf84f74 38 uint32_t rxTm_f;
okini3939 2:a3e5edf84f74 39 uint32_t txTm_s;
okini3939 2:a3e5edf84f74 40 uint32_t txTm_f;
okini3939 2:a3e5edf84f74 41 } __attribute__((packed));
okini3939 2:a3e5edf84f74 42
okini3939 2:a3e5edf84f74 43 int createSntpRequest (char*);
okini3939 2:a3e5edf84f74 44 int getSntpResponse (const char*, uint32_t *time);
okini3939 2:a3e5edf84f74 45
okini3939 2:a3e5edf84f74 46 /** resolv host by name
okini3939 2:a3e5edf84f74 47 * @param name NTP server
okini3939 2:a3e5edf84f74 48 * @param tim time (return)
okini3939 2:a3e5edf84f74 49 * @return 0:success, -1:failue
okini3939 2:a3e5edf84f74 50 */
okini3939 2:a3e5edf84f74 51 int ntpdate (const char* name, uint32_t *tim);
okini3939 2:a3e5edf84f74 52
okini3939 2:a3e5edf84f74 53 #endif