A general demonstration color etch-a-sketch program using the QVGA TFT with HX8347D controller, Orange Board. Saves touchscreen calibaration data saved in tft.ini. Creates /local/tft.ini if missing. Also included is an Ethernet NTP client to update the RTC. Assumes all other Orange Board devices attached: Text LCD, SDHC Flash, Ethernet.
Dependencies: EthernetNetIf TextLCD mbed
Diff: TinySTNP/TinySNTP.h
- Revision:
- 0:e065ca40f28a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TinySTNP/TinySNTP.h Mon Aug 01 16:29:58 2011 +0000 @@ -0,0 +1,53 @@ +/* + * mbed Tiny SNTP(NTP) Client + * Copyright (c) 2011 Hiroshi Suga + * Released under the MIT License: http://mbed.org/license/mit + */ + +/** @file + * @brief Tiny DNS Resolver + */ + +#ifndef TinySNTP_h +#define TinySNTP_h + +#include <inttypes.h> + +//#define DEBUG + +#define NTP_PORT 123 +#define NTP_SRC_PORT 50420 +#define NTP_TIMESTAMP_DELTA 2208988800ull +#define NTP_TIMEOUT 5000 // ms + +struct SNTPPacket { + uint8_t info; + uint8_t stratum; + uint8_t poll; + uint8_t precision; + + uint32_t rootDelay; + uint32_t rootDispersion; + uint32_t refId; + + uint32_t refTm_s; + uint32_t refTm_f; + uint32_t origTm_s; + uint32_t origTm_f; + uint32_t rxTm_s; + uint32_t rxTm_f; + uint32_t txTm_s; + uint32_t txTm_f; +} __attribute__((packed)); + +int createSntpRequest (char*); +int getSntpResponse (const char*, uint32_t *time); + +/** resolv host by name + * @param name NTP server + * @param tim time (return) + * @return 0:success, -1:failue + */ +int ntpdate (const char* name, uint32_t *tim); + +#endif