diff options
Diffstat (limited to 'frontends/calculator/CEdev/examples/fileio_tokens')
| -rw-r--r-- | frontends/calculator/CEdev/examples/fileio_tokens/autotester.json | 33 | ||||
| -rw-r--r-- | frontends/calculator/CEdev/examples/fileio_tokens/makefile | 15 | ||||
| -rw-r--r-- | frontends/calculator/CEdev/examples/fileio_tokens/readme.md | 10 | ||||
| -rw-r--r-- | frontends/calculator/CEdev/examples/fileio_tokens/screenshot.png | bin | 0 -> 1702 bytes | |||
| -rw-r--r-- | frontends/calculator/CEdev/examples/fileio_tokens/src/main.c | 59 |
5 files changed, 117 insertions, 0 deletions
diff --git a/frontends/calculator/CEdev/examples/fileio_tokens/autotester.json b/frontends/calculator/CEdev/examples/fileio_tokens/autotester.json new file mode 100644 index 0000000..529758c --- /dev/null +++ b/frontends/calculator/CEdev/examples/fileio_tokens/autotester.json @@ -0,0 +1,33 @@ +{ + "rom": "84pce_515.rom", + "transfer_files": [ + "bin/DEMO.8xp" + ], + "target": { + "name": "DEMO", + "isASM": true + }, + "sequence": [ + "action|launch", + "delay|1000", + "hash|1", + "key|enter", + "delay|200", + "hashWait|2" + ], + "hashes": { + "1": { + "description": "Blank screen", + "start": "vram_start", + "size": "vram_16_size", + "expected_CRCs": [ "349F4775" ] + }, + "2": { + "description": "Back to the home screen (exit check)", + "start": "vram_start", + "size": "vram_16_size", + "expected_CRCs": [ "FFAF89BA", "101734A5", "9DA19F44" ] + } + } +} + diff --git a/frontends/calculator/CEdev/examples/fileio_tokens/makefile b/frontends/calculator/CEdev/examples/fileio_tokens/makefile new file mode 100644 index 0000000..1f1b36b --- /dev/null +++ b/frontends/calculator/CEdev/examples/fileio_tokens/makefile @@ -0,0 +1,15 @@ +# ---------------------------- +# Set NAME to the program name +# Set ICON to the png icon file name +# Set DESCRIPTION to display within a compatible shell +# Set COMPRESSED to "YES" to create a compressed program +# ---------------------------- + +NAME ?= DEMO +COMPRESSED ?= NO +ICON ?= iconc.png +DESCRIPTION ?= "C SDK Demo" + +# ---------------------------- + +include $(CEDEV)/include/.makefile diff --git a/frontends/calculator/CEdev/examples/fileio_tokens/readme.md b/frontends/calculator/CEdev/examples/fileio_tokens/readme.md new file mode 100644 index 0000000..a1d5546 --- /dev/null +++ b/frontends/calculator/CEdev/examples/fileio_tokens/readme.md @@ -0,0 +1,10 @@ +### FileIO Get Token Demo + +This demo shows how to use the ti_GetDataPtr and ti_GetTokenString functions. It prints out the first two tokens in the basic prgmABC. + + + +--- + +This demo is a part of the C SDK Toolchain for use on the CE. + diff --git a/frontends/calculator/CEdev/examples/fileio_tokens/screenshot.png b/frontends/calculator/CEdev/examples/fileio_tokens/screenshot.png Binary files differnew file mode 100644 index 0000000..928b693 --- /dev/null +++ b/frontends/calculator/CEdev/examples/fileio_tokens/screenshot.png diff --git a/frontends/calculator/CEdev/examples/fileio_tokens/src/main.c b/frontends/calculator/CEdev/examples/fileio_tokens/src/main.c new file mode 100644 index 0000000..d3f6b57 --- /dev/null +++ b/frontends/calculator/CEdev/examples/fileio_tokens/src/main.c @@ -0,0 +1,59 @@ +#include <stdbool.h> +#include <stddef.h> +#include <stdint.h> +#include <tice.h> + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include <fileioc.h> + +/* Declare the program name */ +const char *prgmName = "ABC"; + +/* Function prototypes */ +void printText(int8_t xpos, int8_t ypos, const char *text); + +/* Main Function */ +void main(void) { + ti_var_t prgm; + char *text; + uint8_t *data_ptr; + uint8_t token_length; + uint16_t size; + int8_t y = 0; + + /* Clear the homescreen */ + os_ClrHome(); + + /* Close any files that may be open already */ + ti_CloseAll(); + + /* Open the program for reading */ + prgm = ti_OpenVar(prgmName, "r", TI_PRGM_TYPE); + + /* Make sure we opened okay */ + if (!prgm) goto err; + + data_ptr = ti_GetDataPtr(prgm); + size = ti_GetSize(prgm); + + while (size && y < 8) { + printText(0, y++, ti_GetTokenString(&data_ptr, &token_length, NULL)); + size -= token_length; + } + +err: + /* Pause */ + while (!os_GetCSC()); + + /* Close files */ + ti_CloseAll(); +} + +/* Draw text on the homescreen at the given X/Y location */ +void printText(int8_t xpos, int8_t ypos, const char *text) { + os_SetCursorPos(ypos, xpos); + os_PutStrFull(text); +} |