application: use central user input storage

This commit is contained in:
King Kévin 2018-01-24 22:19:11 +01:00
parent 9b025c743e
commit a9b0ad9f62
1 changed files with 2 additions and 35 deletions

View File

@ -68,27 +68,6 @@ size_t putc(char c)
return length; // return number of characters printed
}
bool wait_space(void)
{
printf("press space to continue, or any other key to abort\n");
while (!uart_received && !usb_cdcacm_received) { // wait for user input
__WFI(); // go to sleep
}
char c = 0;
if (uart_received) {
c = uart_getchar(); // read user input from UART
} else if (usb_cdcacm_received) {
c = usb_cdcacm_getchar(); // read user input from USB
} else {
return false; // this should not happen
}
if (' '==c) { // space entered
return true;
} else { // something else entered
return false;
}
}
/** switch BusVoddoo mode
* @param[in] mode mode to switch to
*/
@ -352,22 +331,10 @@ void main(void)
// main loop
bool action = false; // if an action has been performed don't go to sleep
button_flag = false; // reset button flag
char c = '\0'; // to store received character
bool char_flag = false; // a new character has been received
while (true) { // infinite loop
while (uart_received) { // data received over UART
action = true; // action has been performed
c = uart_getchar(); // store receive character
char_flag = true; // notify character has been received
}
while (usb_cdcacm_received) { // data received over USB
action = true; // action has been performed
c = usb_cdcacm_getchar(); // store receive character
char_flag = true; // notify character has been received
}
while (char_flag) { // user data received
char_flag = false; // reset flag
while (user_input_available) { // user input received
action = true; // action has been performed
char c = user_input_get(); // get user input
if (0x04==c) { // CTRL+D is used to quit the mode
printf("quit\n"); // acknowledge quitting
command_quit(NULL); // quit current mode