]>
cloudbase.mooo.com Git - z180-stamp.git/blob - avr/cmd_misc.c
2 * (C) Copyright 2014,2016 Leo C. <erbl259-lmu@yahoo.de>
5 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
7 * SPDX-License-Identifier: GPL-2.0
15 #include "con-utils.h"
16 #include "getopt-min.h"
19 command_ret_t
do_echo(cmd_tbl_t
*cmdtp
, uint_fast8_t flag
, int argc
, char * const argv
[])
21 bool put_newline
= true;
23 (void) cmdtp
; (void) flag
;
26 while ((opt
= getopt(argc
, argv
, PSTR("n"))) != -1) {
36 for (uint_fast8_t i
= optind
; i
< argc
; i
++) {
47 return CMD_RET_SUCCESS
;
51 command_ret_t
do_sleep(cmd_tbl_t
*cmdtp
, uint_fast8_t flag
, int argc
, char * const argv
[])
53 unsigned long start
= get_timer(0);
56 uint_fast8_t millisec
= 0;
58 (void) cmdtp
; (void) flag
;
63 delay
= eval_arg(argv
[1], &sp
);
77 while (get_timer(start
) < delay
) {
79 return CMD_RET_FAILURE
;
84 return CMD_RET_SUCCESS
;
87 command_ret_t
do_time(cmd_tbl_t
*cmdtp UNUSED
, uint_fast8_t flag UNUSED
, int argc
, char * const argv
[])
89 uint32_t elapsed_ms
= 0;
91 uint_fast8_t repeatable
;
96 elapsed_ms
= get_timer(0);
97 retval
= cmd_process(0, argc
- 1, argv
+ 1, &repeatable
);
98 elapsed_ms
= get_timer(elapsed_ms
);
103 min
= elapsed_ms
/ 1000 / 60;
104 sec
= (elapsed_ms
/ 1000) % 60;
105 ms
= elapsed_ms
% 1000;
107 printf_P(PSTR("\ntime: %lum %u.%03us\n"), min
, sec
, ms
);