Revision 8399aeae os/core/src/aos_shell.c
os/core/src/aos_shell.c | ||
---|---|---|
241 | 241 |
{ |
242 | 242 |
aosDbgCheck(shell != NULL); |
243 | 243 |
|
244 |
// print the system uptime before prompt is configured |
|
245 |
if (shell->config & AOS_SHELL_CONFIG_PROMPT_UPTIME) { |
|
246 |
// get current system uptime |
|
247 |
aos_timestamp_t uptime; |
|
248 |
aosSysGetUptime(&uptime); |
|
249 |
|
|
250 |
chprintf((BaseSequentialStream*)&shell->stream, "[%01u:%02u:%02u:%02u:%03u:%03u] ", |
|
251 |
(uint32_t)(uptime / MICROSECONDS_PER_DAY), |
|
252 |
(uint8_t)(uptime % MICROSECONDS_PER_DAY / MICROSECONDS_PER_HOUR), |
|
253 |
(uint8_t)(uptime % MICROSECONDS_PER_HOUR / MICROSECONDS_PER_MINUTE), |
|
254 |
(uint8_t)(uptime % MICROSECONDS_PER_MINUTE / MICROSECONDS_PER_SECOND), |
|
255 |
(uint16_t)(uptime % MICROSECONDS_PER_SECOND / MICROSECONDS_PER_MILLISECOND), |
|
256 |
(uint16_t)(uptime % MICROSECONDS_PER_MILLISECOND / MICROSECONDS_PER_MICROSECOND)); |
|
244 |
// print some time informattion before prompt if configured |
|
245 |
if (shell->config & (AOS_SHELL_CONFIG_PROMPT_UPTIME | AOS_SHELL_CONFIG_PROMPT_DATETIME)) { |
|
246 |
// printf the system uptime |
|
247 |
if ((shell->config & (AOS_SHELL_CONFIG_PROMPT_UPTIME | AOS_SHELL_CONFIG_PROMPT_DATETIME)) == AOS_SHELL_CONFIG_PROMPT_UPTIME) { |
|
248 |
// get current system uptime |
|
249 |
aos_timestamp_t uptime; |
|
250 |
aosSysGetUptime(&uptime); |
|
251 |
|
|
252 |
chprintf((BaseSequentialStream*)&shell->stream, "[%01u:%02u:%02u:%02u:%03u:%03u] ", |
|
253 |
(uint32_t)(uptime / MICROSECONDS_PER_DAY), |
|
254 |
(uint8_t)(uptime % MICROSECONDS_PER_DAY / MICROSECONDS_PER_HOUR), |
|
255 |
(uint8_t)(uptime % MICROSECONDS_PER_HOUR / MICROSECONDS_PER_MINUTE), |
|
256 |
(uint8_t)(uptime % MICROSECONDS_PER_MINUTE / MICROSECONDS_PER_SECOND), |
|
257 |
(uint16_t)(uptime % MICROSECONDS_PER_SECOND / MICROSECONDS_PER_MILLISECOND), |
|
258 |
(uint16_t)(uptime % MICROSECONDS_PER_MILLISECOND / MICROSECONDS_PER_MICROSECOND)); |
|
259 |
} |
|
260 |
else if ((shell->config & (AOS_SHELL_CONFIG_PROMPT_UPTIME | AOS_SHELL_CONFIG_PROMPT_DATETIME)) == AOS_SHELL_CONFIG_PROMPT_DATETIME) { |
|
261 |
// get current RTC time |
|
262 |
struct tm dt; |
|
263 |
aosSysGetDateTime(&dt); |
|
264 |
chprintf((BaseSequentialStream*)&shell->stream, "[%02u-%02u-%04u|%02u:%02u:%02u] ", |
|
265 |
dt.tm_mday, |
|
266 |
dt.tm_mon + 1, |
|
267 |
dt.tm_year + 1900, |
|
268 |
dt.tm_hour, |
|
269 |
dt.tm_min, |
|
270 |
dt.tm_sec); |
|
271 |
} |
|
272 |
else { |
|
273 |
aosDbgAssert(false); |
|
274 |
} |
|
257 | 275 |
} |
258 | 276 |
|
259 | 277 |
// print the actual prompt string |
Also available in: Unified diff