diff options
Diffstat (limited to 'frontends/calculator/CEdev/examples/os_input/src')
| -rw-r--r-- | frontends/calculator/CEdev/examples/os_input/src/main.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/os_input/src/main.c b/frontends/calculator/CEdev/examples/os_input/src/main.c new file mode 100644 index 0000000..7674897 --- /dev/null +++ b/frontends/calculator/CEdev/examples/os_input/src/main.c @@ -0,0 +1,36 @@ +#include <stdbool.h> +#include <stddef.h> +#include <stdint.h> +#include <stdio.h> +#include <tice.h> + +/* Make sure to adjust those sizes according to your usage! */ +#define INPUT_SIZE 10 +#define RESP_SIZE 20 + +/* Draw text on the homescreen at the given X/Y location */ +void print(const char* text, uint8_t xpos, uint8_t ypos) { + os_SetCursorPos(ypos, xpos); + os_PutStrFull(text); +} + +void main(void) { + char inputBuffer[INPUT_SIZE]; + char response[RESP_SIZE]; + + /* Clear the homescreen */ + os_ClrHome(); + + /* Ask the user to type a string, which gets stored in `inputBuf` */ + os_GetStringInput("What is N? ", inputBuffer, INPUT_SIZE); + + /* Build the user response */ + sprintf(response, "N is %s.", inputBuffer); + + /* Clear the homescreen and display the built response */ + os_ClrHome(); + print(response, 0, 0); + + /* Wait for a key press before quitting */ + while (!os_GetCSC()); +} |