X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/d684c21619905153eff68c43927207248925f6c2..3531528ecedde37d5ebc67a330d192565290175a:/avr/con-utils.c diff --git a/avr/con-utils.c b/avr/con-utils.c index 430ba98..b8017ed 100644 --- a/avr/con-utils.c +++ b/avr/con-utils.c @@ -1,30 +1,34 @@ #include -#include +#include "common.h" #include "serial.h" +#include "background.h" #include "con-utils.h" - uint_fast8_t tstc(void) { + bg_shed(); return serial_tstc(); } -int my_getchar(void) +int my_getchar(uint_fast8_t waitforchar) { int c; - while((c = serial_getc()) < 0) - ; + do { + bg_shed(); + c = serial_getc(); + } while ((c < 0) && waitforchar); + return c; } /* test if ctrl-c was pressed */ -static uint_fast8_t ctrlc_disabled = 0; /* see disable_ctrl() */ -static uint_fast8_t ctrlc_was_pressed = 0; +static uint_fast8_t ctrlc_disabled; /* see disable_ctrl() */ +static uint_fast8_t ctrlc_was_pressed; uint_fast8_t ctrlc(void) { @@ -53,7 +57,7 @@ uint_fast8_t confirm_yesno(void) ; i = 0; while (i < sizeof(str_input)) { - str_input[i] = my_getchar(); + str_input[i] = my_getchar(1); putchar(str_input[i]); if (str_input[i] == '\r') break;