]>
cloudbase.mooo.com Git - z180-stamp.git/blob - avr/con-utils.c
430ba98ae6407fbdc964f42e87a207b34766aa08
9 uint_fast8_t tstc(void)
18 while((c
= serial_getc()) < 0)
24 /* test if ctrl-c was pressed */
26 static uint_fast8_t ctrlc_disabled
= 0; /* see disable_ctrl() */
27 static uint_fast8_t ctrlc_was_pressed
= 0;
29 uint_fast8_t ctrlc(void)
31 if (!ctrlc_disabled
) {
32 switch (serial_getc()) {
33 case 0x03: /* ^C - Control C */
34 ctrlc_was_pressed
= 1;
43 /* Reads user's confirmation.
44 Returns 1 if user's input is "y", "Y", "yes" or "YES"
46 uint_fast8_t confirm_yesno(void)
55 while (i
< sizeof(str_input
)) {
56 str_input
[i
] = my_getchar();
57 putchar(str_input
[i
]);
58 if (str_input
[i
] == '\r')
63 if (strncmp(str_input
, "y\r", 2) == 0 ||
64 strncmp(str_input
, "Y\r", 2) == 0 ||
65 strncmp(str_input
, "yes\r", 4) == 0 ||
66 strncmp(str_input
, "YES\r", 4) == 0)
71 /* pass 1 to disable ctrlc() checking, 0 to enable.
72 * returns previous state
74 uint_fast8_t disable_ctrlc(uint_fast8_t disable
)
76 uint_fast8_t prev
= ctrlc_disabled
; /* save previous state */
78 ctrlc_disabled
= disable
;
82 uint_fast8_t had_ctrlc (void)
84 return ctrlc_was_pressed
;
87 void clear_ctrlc(void)
89 ctrlc_was_pressed
= 0;