Skip to main content

Apps functions

dev.apps - wire path a - generated from fwMenuApps.

launch_app

Launch App. Switch the built-in display to the app with the given app ID

Wire command: a\a

ArgWire type
app_iddecS32

Returns: none (Ok/Err only)

dev.apps.launch_app(app_id: int) -> Result
ow_status ow_apps_launch_app(ow_device* dev, int32_t app_id);
dev.apps().launch_app(app_id: i32) -> Result<(), OwError>

The C and Rust signatures above are also the WASM guest signatures - the device API surface is identical; only the transport differs (ow_open_wasm(&dev) in C, OneWili::open() in Rust).

dev.apps.launch_app(app_id) # check dev.ok

run_app

Run App. Runs /apps/ on the display processor. The destination is inferred by reading the image, not the name: a UF2 whose blocks target SRAM is staged in RAM and launched; one targeting the PSRAM window (0x11000000) is staged into PSRAM through the loader stub and launched; anything else is written to flash. RAM and PSRAM launches leave flash untouched. A flash load takes 30-60 seconds with the screen blank.

Wire command: a\r

ArgWire type
filenamestr

Returns: none (Ok/Err only)

dev.apps.run_app(filename: str) -> Result
ow_status ow_apps_run_app(ow_device* dev, const char* filename);
dev.apps().run_app(filename: &str) -> Result<(), OwError>

The C and Rust signatures above are also the WASM guest signatures - the device API surface is identical; only the transport differs (ow_open_wasm(&dev) in C, OneWili::open() in Rust).

dev.apps.run_app(filename) # check dev.ok