code ax12 petit robot 12/05/2017

Fork of command_AX12_petit_robot_V3 by CRAC Team

Committer:
ClementBreteau
Date:
Fri May 12 14:35:09 2017 +0000
Revision:
7:ad4a19e26b84
Parent:
2:99b1cb0d9f5e
position ax12

Who changed what in which revision?

UserRevisionLine numberNew contents of line
SquirrelGod 2:99b1cb0d9f5e 1 /* Title: time
SquirrelGod 2:99b1cb0d9f5e 2 * Implementation of the C time.h functions
SquirrelGod 2:99b1cb0d9f5e 3 *
SquirrelGod 2:99b1cb0d9f5e 4 * Provides mechanisms to set and read the current time, based
SquirrelGod 2:99b1cb0d9f5e 5 * on the microcontroller Real-Time Clock (RTC), plus some
SquirrelGod 2:99b1cb0d9f5e 6 * standard C manipulation and formating functions.
SquirrelGod 2:99b1cb0d9f5e 7 *
SquirrelGod 2:99b1cb0d9f5e 8 * Example:
SquirrelGod 2:99b1cb0d9f5e 9 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 10 * >
SquirrelGod 2:99b1cb0d9f5e 11 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 12 * > set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37
SquirrelGod 2:99b1cb0d9f5e 13 * >
SquirrelGod 2:99b1cb0d9f5e 14 * > while(1) {
SquirrelGod 2:99b1cb0d9f5e 15 * > time_t seconds = time(NULL);
SquirrelGod 2:99b1cb0d9f5e 16 * >
SquirrelGod 2:99b1cb0d9f5e 17 * > printf("Time as seconds since January 1, 1970 = %d\n", seconds);
SquirrelGod 2:99b1cb0d9f5e 18 * >
SquirrelGod 2:99b1cb0d9f5e 19 * > printf("Time as a basic string = %s", ctime(&seconds));
SquirrelGod 2:99b1cb0d9f5e 20 * >
SquirrelGod 2:99b1cb0d9f5e 21 * > char buffer[32];
SquirrelGod 2:99b1cb0d9f5e 22 * > strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
SquirrelGod 2:99b1cb0d9f5e 23 * > printf("Time as a custom formatted string = %s", buffer);
SquirrelGod 2:99b1cb0d9f5e 24 * >
SquirrelGod 2:99b1cb0d9f5e 25 * > wait(1);
SquirrelGod 2:99b1cb0d9f5e 26 * > }
SquirrelGod 2:99b1cb0d9f5e 27 * > }
SquirrelGod 2:99b1cb0d9f5e 28 */
SquirrelGod 2:99b1cb0d9f5e 29
SquirrelGod 2:99b1cb0d9f5e 30 /* mbed Microcontroller Library - rtc_time
SquirrelGod 2:99b1cb0d9f5e 31 * Copyright (c) 2009 ARM Limited. All rights reserved.
SquirrelGod 2:99b1cb0d9f5e 32 */
SquirrelGod 2:99b1cb0d9f5e 33
SquirrelGod 2:99b1cb0d9f5e 34 #include <time.h>
SquirrelGod 2:99b1cb0d9f5e 35
SquirrelGod 2:99b1cb0d9f5e 36 #ifdef __cplusplus
SquirrelGod 2:99b1cb0d9f5e 37 extern "C" {
SquirrelGod 2:99b1cb0d9f5e 38 #endif
SquirrelGod 2:99b1cb0d9f5e 39
SquirrelGod 2:99b1cb0d9f5e 40 #if 0 // for documentation only
SquirrelGod 2:99b1cb0d9f5e 41 /* Function: time
SquirrelGod 2:99b1cb0d9f5e 42 * Get the current time
SquirrelGod 2:99b1cb0d9f5e 43 *
SquirrelGod 2:99b1cb0d9f5e 44 * Returns the current timestamp as the number of seconds since January 1, 1970
SquirrelGod 2:99b1cb0d9f5e 45 * (the UNIX timestamp). The value is based on the current value of the
SquirrelGod 2:99b1cb0d9f5e 46 * microcontroller Real-Time Clock (RTC), which can be set using <set_time>.
SquirrelGod 2:99b1cb0d9f5e 47 *
SquirrelGod 2:99b1cb0d9f5e 48 * Example:
SquirrelGod 2:99b1cb0d9f5e 49 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 50 * >
SquirrelGod 2:99b1cb0d9f5e 51 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 52 * > time_t seconds = time(NULL);
SquirrelGod 2:99b1cb0d9f5e 53 * > printf("It is %d seconds since January 1, 1970\n", seconds);
SquirrelGod 2:99b1cb0d9f5e 54 * > }
SquirrelGod 2:99b1cb0d9f5e 55 *
SquirrelGod 2:99b1cb0d9f5e 56 * Variables:
SquirrelGod 2:99b1cb0d9f5e 57 * t - Pointer to a time_t to be set, or NULL if not used
SquirrelGod 2:99b1cb0d9f5e 58 * returns - Number of seconds since January 1, 1970 (the UNIX timestamp)
SquirrelGod 2:99b1cb0d9f5e 59 */
SquirrelGod 2:99b1cb0d9f5e 60 time_t time(time_t *t);
SquirrelGod 2:99b1cb0d9f5e 61 #endif
SquirrelGod 2:99b1cb0d9f5e 62
SquirrelGod 2:99b1cb0d9f5e 63 /* Function: set_time
SquirrelGod 2:99b1cb0d9f5e 64 * Set the current time
SquirrelGod 2:99b1cb0d9f5e 65 *
SquirrelGod 2:99b1cb0d9f5e 66 * Initialises and sets the time of the microcontroller Real-Time Clock (RTC)
SquirrelGod 2:99b1cb0d9f5e 67 * to the time represented by the number of seconds since January 1, 1970
SquirrelGod 2:99b1cb0d9f5e 68 * (the UNIX timestamp).
SquirrelGod 2:99b1cb0d9f5e 69 *
SquirrelGod 2:99b1cb0d9f5e 70 * Example:
SquirrelGod 2:99b1cb0d9f5e 71 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 72 * >
SquirrelGod 2:99b1cb0d9f5e 73 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 74 * > set_time(1256729737); // Set time to Wed, 28 Oct 2009 11:35:37
SquirrelGod 2:99b1cb0d9f5e 75 * > }
SquirrelGod 2:99b1cb0d9f5e 76 *
SquirrelGod 2:99b1cb0d9f5e 77 * Variables:
SquirrelGod 2:99b1cb0d9f5e 78 * t - Number of seconds since January 1, 1970 (the UNIX timestamp)
SquirrelGod 2:99b1cb0d9f5e 79 */
SquirrelGod 2:99b1cb0d9f5e 80 void set_time(time_t t);
SquirrelGod 2:99b1cb0d9f5e 81
SquirrelGod 2:99b1cb0d9f5e 82 #if 0 // for documentation only
SquirrelGod 2:99b1cb0d9f5e 83 /* Function: mktime
SquirrelGod 2:99b1cb0d9f5e 84 * Converts a tm structure in to a timestamp
SquirrelGod 2:99b1cb0d9f5e 85 *
SquirrelGod 2:99b1cb0d9f5e 86 * Converts the tm structure in to a timestamp in seconds since January 1, 1970
SquirrelGod 2:99b1cb0d9f5e 87 * (the UNIX timestamp). The values of tm_wday and tm_yday of the tm structure
SquirrelGod 2:99b1cb0d9f5e 88 * are also updated to their appropriate values.
SquirrelGod 2:99b1cb0d9f5e 89 *
SquirrelGod 2:99b1cb0d9f5e 90 * Example:
SquirrelGod 2:99b1cb0d9f5e 91 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 92 * >
SquirrelGod 2:99b1cb0d9f5e 93 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 94 * > // setup time structure for Wed, 28 Oct 2009 11:35:37
SquirrelGod 2:99b1cb0d9f5e 95 * > struct tm t;
SquirrelGod 2:99b1cb0d9f5e 96 * > t.tm_sec = 37; // 0-59
SquirrelGod 2:99b1cb0d9f5e 97 * > t.tm_min = 35; // 0-59
SquirrelGod 2:99b1cb0d9f5e 98 * > t.tm_hour = 11; // 0-23
SquirrelGod 2:99b1cb0d9f5e 99 * > t.tm_mday = 28; // 1-31
SquirrelGod 2:99b1cb0d9f5e 100 * > t.tm_mon = 9; // 0-11
SquirrelGod 2:99b1cb0d9f5e 101 * > t.tm_year = 109; // year since 1900
SquirrelGod 2:99b1cb0d9f5e 102 * >
SquirrelGod 2:99b1cb0d9f5e 103 * > // convert to timestamp and display (1256729737)
SquirrelGod 2:99b1cb0d9f5e 104 * > time_t seconds = mktime(&t);
SquirrelGod 2:99b1cb0d9f5e 105 * > printf("Time as seconds since January 1, 1970 = %d\n", seconds);
SquirrelGod 2:99b1cb0d9f5e 106 * > }
SquirrelGod 2:99b1cb0d9f5e 107 *
SquirrelGod 2:99b1cb0d9f5e 108 * Variables:
SquirrelGod 2:99b1cb0d9f5e 109 * t - The tm structure to convert
SquirrelGod 2:99b1cb0d9f5e 110 * returns - The converted timestamp
SquirrelGod 2:99b1cb0d9f5e 111 */
SquirrelGod 2:99b1cb0d9f5e 112 time_t mktime(struct tm *t);
SquirrelGod 2:99b1cb0d9f5e 113 #endif
SquirrelGod 2:99b1cb0d9f5e 114
SquirrelGod 2:99b1cb0d9f5e 115 #if 0 // for documentation only
SquirrelGod 2:99b1cb0d9f5e 116 /* Function: localtime
SquirrelGod 2:99b1cb0d9f5e 117 * Converts a timestamp in to a tm structure
SquirrelGod 2:99b1cb0d9f5e 118 *
SquirrelGod 2:99b1cb0d9f5e 119 * Converts the timestamp pointed to by t to a (statically allocated)
SquirrelGod 2:99b1cb0d9f5e 120 * tm structure.
SquirrelGod 2:99b1cb0d9f5e 121 *
SquirrelGod 2:99b1cb0d9f5e 122 * Example:
SquirrelGod 2:99b1cb0d9f5e 123 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 124 * >
SquirrelGod 2:99b1cb0d9f5e 125 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 126 * > time_t seconds = 1256729737;
SquirrelGod 2:99b1cb0d9f5e 127 * > struct tm *t = localtime(&seconds);
SquirrelGod 2:99b1cb0d9f5e 128 * > }
SquirrelGod 2:99b1cb0d9f5e 129 *
SquirrelGod 2:99b1cb0d9f5e 130 * Variables:
SquirrelGod 2:99b1cb0d9f5e 131 * t - Pointer to the timestamp
SquirrelGod 2:99b1cb0d9f5e 132 * returns - Pointer to the (statically allocated) tm structure
SquirrelGod 2:99b1cb0d9f5e 133 */
SquirrelGod 2:99b1cb0d9f5e 134 struct tm *localtime(const time_t *t);
SquirrelGod 2:99b1cb0d9f5e 135 #endif
SquirrelGod 2:99b1cb0d9f5e 136
SquirrelGod 2:99b1cb0d9f5e 137 #if 0 // for documentation only
SquirrelGod 2:99b1cb0d9f5e 138 /* Function: ctime
SquirrelGod 2:99b1cb0d9f5e 139 * Converts a timestamp to a human-readable string
SquirrelGod 2:99b1cb0d9f5e 140 *
SquirrelGod 2:99b1cb0d9f5e 141 * Converts a time_t timestamp in seconds since January 1, 1970 (the UNIX
SquirrelGod 2:99b1cb0d9f5e 142 * timestamp) to a human readable string format. The result is of the
SquirrelGod 2:99b1cb0d9f5e 143 * format: "Wed Oct 28 11:35:37 2009\n"
SquirrelGod 2:99b1cb0d9f5e 144 *
SquirrelGod 2:99b1cb0d9f5e 145 * Example:
SquirrelGod 2:99b1cb0d9f5e 146 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 147 * >
SquirrelGod 2:99b1cb0d9f5e 148 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 149 * > time_t seconds = time(NULL);
SquirrelGod 2:99b1cb0d9f5e 150 * > printf("Time as a string = %s", ctime(&seconds));
SquirrelGod 2:99b1cb0d9f5e 151 * > }
SquirrelGod 2:99b1cb0d9f5e 152 *
SquirrelGod 2:99b1cb0d9f5e 153 * Variables:
SquirrelGod 2:99b1cb0d9f5e 154 * t - The timestamp to convert
SquirrelGod 2:99b1cb0d9f5e 155 * returns - Pointer to a (statically allocated) string containing the
SquirrelGod 2:99b1cb0d9f5e 156 * human readable representation, including a '\n' character
SquirrelGod 2:99b1cb0d9f5e 157 */
SquirrelGod 2:99b1cb0d9f5e 158 char *ctime(const time_t *t);
SquirrelGod 2:99b1cb0d9f5e 159 #endif
SquirrelGod 2:99b1cb0d9f5e 160
SquirrelGod 2:99b1cb0d9f5e 161 #if 0 // for documentation only
SquirrelGod 2:99b1cb0d9f5e 162 /* Function: strftime
SquirrelGod 2:99b1cb0d9f5e 163 * Converts a tm structure to a custom format human-readable string
SquirrelGod 2:99b1cb0d9f5e 164 *
SquirrelGod 2:99b1cb0d9f5e 165 * Creates a formated string from a tm structure, based on a string format
SquirrelGod 2:99b1cb0d9f5e 166 * specifier provided.
SquirrelGod 2:99b1cb0d9f5e 167 *
SquirrelGod 2:99b1cb0d9f5e 168 * Format Specifiers:
SquirrelGod 2:99b1cb0d9f5e 169 * %S - Second (00-59)
SquirrelGod 2:99b1cb0d9f5e 170 * %M - Minute (00-59)
SquirrelGod 2:99b1cb0d9f5e 171 * %H - Hour (00-23)
SquirrelGod 2:99b1cb0d9f5e 172 * %d - Day (01-31)
SquirrelGod 2:99b1cb0d9f5e 173 * %m - Month (01-12)
SquirrelGod 2:99b1cb0d9f5e 174 * %Y/%y - Year (2009/09)
SquirrelGod 2:99b1cb0d9f5e 175 *
SquirrelGod 2:99b1cb0d9f5e 176 * %A/%a - Weekday Name (Monday/Mon)
SquirrelGod 2:99b1cb0d9f5e 177 * %B/%b - Month Name (January/Jan)
SquirrelGod 2:99b1cb0d9f5e 178 * %I - 12 Hour Format (01-12)
SquirrelGod 2:99b1cb0d9f5e 179 * %p - "AM" or "PM"
SquirrelGod 2:99b1cb0d9f5e 180 * %X - Time (14:55:02)
SquirrelGod 2:99b1cb0d9f5e 181 * %x - Date (08/23/01)
SquirrelGod 2:99b1cb0d9f5e 182 *
SquirrelGod 2:99b1cb0d9f5e 183 * Example:
SquirrelGod 2:99b1cb0d9f5e 184 * > #include "mbed.h"
SquirrelGod 2:99b1cb0d9f5e 185 * >
SquirrelGod 2:99b1cb0d9f5e 186 * > int main() {
SquirrelGod 2:99b1cb0d9f5e 187 * > time_t seconds = time(NULL);
SquirrelGod 2:99b1cb0d9f5e 188 * >
SquirrelGod 2:99b1cb0d9f5e 189 * > char buffer[32];
SquirrelGod 2:99b1cb0d9f5e 190 * > strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
SquirrelGod 2:99b1cb0d9f5e 191 * > printf("Time as a formatted string = %s", buffer);
SquirrelGod 2:99b1cb0d9f5e 192 * > }
SquirrelGod 2:99b1cb0d9f5e 193 *
SquirrelGod 2:99b1cb0d9f5e 194 * Variables:
SquirrelGod 2:99b1cb0d9f5e 195 * buffer - String buffer to store the result
SquirrelGod 2:99b1cb0d9f5e 196 * max - Maximum number of characters to store in the buffer
SquirrelGod 2:99b1cb0d9f5e 197 * format - Format specifier string
SquirrelGod 2:99b1cb0d9f5e 198 * t - Pointer to the tm structure to convert
SquirrelGod 2:99b1cb0d9f5e 199 * returns - Number of characters copied
SquirrelGod 2:99b1cb0d9f5e 200 */
SquirrelGod 2:99b1cb0d9f5e 201 size_t strftime(char *buffer, size_t max, const char *format, const struct tm *t);
SquirrelGod 2:99b1cb0d9f5e 202 #endif
SquirrelGod 2:99b1cb0d9f5e 203
SquirrelGod 2:99b1cb0d9f5e 204 #ifdef __cplusplus
SquirrelGod 2:99b1cb0d9f5e 205 }
SquirrelGod 2:99b1cb0d9f5e 206 #endif