IO App

Free Wil-i includes an IO app that allows you to read and write all the IO of Free Wil-i. This app has a Serial Command Line Interface, support for a host API, on-board scripting, and a file system for stand-alone operations without a host.

The serial command line interface provides a menu tree of commands to control free Wil-i's IO interfaces. This is shown below:

To use a command, press a letter and the enter key. Then follow the instructions.

The serial API is simply sending these menu commands and the data they expect. Below is a simple Python API that sets a GPIO high or low using the "h" and "l" commands. In API mode you can disable the menu text with by sending CTRL-B or reenable the menu text with CTRL-C.

On board scripting uses web assembly technology. The code uses the WASM 3 engine with custom APIs to control Free Wil-i's interfaces. With this you can compile C/C++ or Rust source code to run on Free Wil-i with our without the host. The recommend Clang based wasi sdk is recommend https://github.com/WebAssembly/wasi-sdk.

Finally, the file system provides a way to load scripts or run them at startup, load custom FPGA bit files, and store settings. This is shown below. Note getting files on the Free Wil-i uses the "Download File" command.

Last updated