application: use central user input storage
This commit is contained in:
parent
9b025c743e
commit
a9b0ad9f62
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue