Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed by
Diff: rtc_time.h
- Revision:
- 44:24d45a770a51
- Parent:
- 43:e2ed12d17f06
- Child:
- 54:71b101360fb9
diff -r e2ed12d17f06 -r 24d45a770a51 rtc_time.h --- a/rtc_time.h Fri Oct 26 17:40:46 2012 +0100 +++ b/rtc_time.h Wed Nov 21 10:49:56 2012 +0000 @@ -1,211 +1,80 @@ -/** Implementation of the C time.h functions - * - * Provides mechanisms to set and read the current time, based - * on the microcontroller Real-Time Clock (RTC), plus some - * standard C manipulation and formating functions. - * - * Example: - * @code - * #include "mbed.h" - * - * int main() { - * set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37 - * - * while(1) { - * time_t seconds = time(NULL); - * - * printf("Time as seconds since January 1, 1970 = %d\n", seconds); - * - * printf("Time as a basic string = %s", ctime(&seconds)); - * - * char buffer[32]; - * strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); - * printf("Time as a custom formatted string = %s", buffer); - * - * wait(1); - * } - * } - * @endcode - */ - -/* mbed Microcontroller Library - rtc_time - * Copyright (c) 2009 ARM Limited. All rights reserved. - */ - -#include <time.h> - -#ifdef __cplusplus -extern "C" { -#endif - -#if 0 // for documentation only -/** Get the current time - * - * Returns the current timestamp as the number of seconds since January 1, 1970 - * (the UNIX timestamp). The value is based on the current value of the - * microcontroller Real-Time Clock (RTC), which can be set using <set_time>. - * - * @param t Pointer to a time_t to be set, or NULL if not used - * - * @returns - * Number of seconds since January 1, 1970 (the UNIX timestamp) - * - * Example: - * @code - * #include "mbed.h" - * - * int main() { - * time_t seconds = time(NULL); - * printf("It is %d seconds since January 1, 1970\n", seconds); - * } - * @endcode - */ -time_t time(time_t *t); -#endif - -/** Set the current time - * - * Initialises and sets the time of the microcontroller Real-Time Clock (RTC) - * to the time represented by the number of seconds since January 1, 1970 - * (the UNIX timestamp). - * - * @param t Number of seconds since January 1, 1970 (the UNIX timestamp) - * - * Example: - * @code - * #include "mbed.h" - * - * int main() { - * set_time(1256729737); // Set time to Wed, 28 Oct 2009 11:35:37 - * } - * @endcode - */ -void set_time(time_t t); - -#if 0 // for documentation only -/** Converts the tm structure in to a timestamp in seconds since January 1, 1970 - * (the UNIX timestamp). The values of tm_wday and tm_yday of the tm structure - * are also updated to their appropriate values. - * - * @param t The tm structure to convert - * - * @returns - * The converted timestamp - * - * Example: - * @code - * #include "mbed.h" - * - * int main() { - * // setup time structure for Wed, 28 Oct 2009 11:35:37 - * struct tm t; - * t.tm_sec = 37; // 0-59 - * t.tm_min = 35; // 0-59 - * t.tm_hour = 11; // 0-23 - * t.tm_mday = 28; // 1-31 - * t.tm_mon = 9; // 0-11 - * t.tm_year = 109; // year since 1900 - * - * // convert to timestamp and display (1256729737) - * time_t seconds = mktime(&t); - * printf("Time as seconds since January 1, 1970 = %d\n", seconds); - * } - * @endcode - */ -time_t mktime(struct tm *t); -#endif - -#if 0 // for documentation only -/** Converts the timestamp pointed to by t to a (statically allocated) - * tm structure. - * - * @param t Pointer to the timestamp - * - * @returns - * Pointer to the (statically allocated) tm structure - * - * Example: - * @code - * #include "mbed.h" - * - * int main() { - * time_t seconds = 1256729737; - * struct tm *t = localtime(&seconds); - * } - * @endcode - */ -struct tm *localtime(const time_t *t); -#endif - -#if 0 // for documentation only -/** Converts a timestamp to a human-readable string - * - * Converts a time_t timestamp in seconds since January 1, 1970 (the UNIX - * timestamp) to a human readable string format. The result is of the - * format: "Wed Oct 28 11:35:37 2009\n" - * - * Example: - * @code - * #include "mbed.h" - * - * int main() { - * time_t seconds = time(NULL); - * printf("Time as a string = %s", ctime(&seconds)); - * } - * @endcode - * - * @param t The timestamp to convert - * - * @returns Pointer to a (statically allocated) string containing the - * human readable representation, including a '\n' character - */ -char *ctime(const time_t *t); -#endif - -#if 0 // for documentation only -/** Converts a tm structure to a custom format human-readable string - * - * Creates a formated string from a tm structure, based on a string format - * specifier provided. - * - * Format Specifiers: - * - %S - Second (00-59) - * - %M - Minute (00-59) - * - %H - Hour (00-23) - * - %d - Day (01-31) - * - %m - Month (01-12) - * - %Y/%y - Year (2009/09) - * - %A/%a - Weekday Name (Monday/Mon) - * - %B/%b - Month Name (January/Jan) - * - %I - 12 Hour Format (01-12) - * - %p - "AM" or "PM" - * - %X - Time (14:55:02) - * - %x - Date (08/23/01) - * - * @param buffer String buffer to store the result - * @param max Maximum number of characters to store in the buffer - * @param format Format specifier string - * @param t Pointer to the tm structure to convert - * - * @returns - * Number of characters copied - * - * Example: - * @code - * #include "mbed.h" - * - * int main() { - * time_t seconds = time(NULL); - * - * char buffer[32]; - * strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); - * printf("Time as a formatted string = %s", buffer); - * } - * @endcode - */ -size_t strftime(char *buffer, size_t max, const char *format, const struct tm *t); -#endif - -#ifdef __cplusplus -} -#endif +/* mbed Microcontroller Library + * Copyright (c) 2006-2012 ARM Limited + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include <time.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/** Implementation of the C time.h functions + * + * Provides mechanisms to set and read the current time, based + * on the microcontroller Real-Time Clock (RTC), plus some + * standard C manipulation and formating functions. + * + * Example: + * @code + * #include "mbed.h" + * + * int main() { + * set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37 + * + * while(1) { + * time_t seconds = time(NULL); + * + * printf("Time as seconds since January 1, 1970 = %d\n", seconds); + * + * printf("Time as a basic string = %s", ctime(&seconds)); + * + * char buffer[32]; + * strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); + * printf("Time as a custom formatted string = %s", buffer); + * + * wait(1); + * } + * } + * @endcode + */ + +/** Set the current time + * + * Initialises and sets the time of the microcontroller Real-Time Clock (RTC) + * to the time represented by the number of seconds since January 1, 1970 + * (the UNIX timestamp). + * + * @param t Number of seconds since January 1, 1970 (the UNIX timestamp) + * + * Example: + * @code + * #include "mbed.h" + * + * int main() { + * set_time(1256729737); // Set time to Wed, 28 Oct 2009 11:35:37 + * } + * @endcode + */ +void set_time(time_t t); + +#ifdef __cplusplus +} +#endif