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

Committer:
loopsva
Date:
Mon Aug 01 16:29:58 2011 +0000
Revision:
0:e065ca40f28a
Inititial Release

Who changed what in which revision?

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