UART Functions
dev.io.uart - wire path i\u - generated from fwMenuUART.
u_art_write
Write. Writes data to a specific I2C Address
Wire command: i\u\w
| Arg | Wire type |
|---|---|
| data_bytes | hexbytes |
Returns: none (Ok/Err only)
dev.io.uart.u_art_write(data_bytes: bytes | bytearray) -> Result
ow_status ow_io_uart_u_art_write(ow_device* dev, const uint8_t* data_bytes, size_t data_bytes_len);
dev.io().uart().u_art_write(data_bytes: &[u8]) -> 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.io.uart.u_art_write(data_bytes) # check dev.ok
toggle_stream
Enable UART Read Events. Reads the number from the address
Wire command: i\u\r
Returns: data_bytes (hexbytes)
dev.io.uart.toggle_stream() -> Result
ow_status ow_io_uart_toggle_stream(ow_device* dev, uint8_t* data_bytes, size_t data_bytes_cap, size_t* data_bytes_len);
dev.io().uart().toggle_stream() -> Result<Vec<u8>, 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.io.uart.toggle_stream() # returns value; check dev.ok
uart_enable_api_mode
Enable UART API mode. Tests all addresses for I2C Response
Wire command: i\u\t
Returns: none (Ok/Err only)
dev.io.uart.uart_enable_api_mode() -> Result
ow_status ow_io_uart_uart_enable_api_mode(ow_device* dev);
dev.io().uart().uart_enable_api_mode() -> 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.io.uart.uart_enable_api_mode() # check dev.ok
show_uart_settings
UART Settings. Opens the persistent UART settings menu
Wire command: i\u\s
Returns: none (Ok/Err only)
dev.io.uart.show_uart_settings() -> Result
ow_status ow_io_uart_show_uart_settings(ow_device* dev);
dev.io().uart().show_uart_settings() -> 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.io.uart.show_uart_settings() # check dev.ok
Events
Spontaneous frames this menu emits (not command responses). Text events arrive as [*<id> ...] frames (Python: Transport.events; C: ow_poll_text_event; Rust: poll_event -> Event::Text); binary events use the binary API below. The on-device rthon binding does not receive event streams in v1.
uart1 (text)
uart receive frame
| Payload field | Wire type |
|---|---|
| data_bytes | hexbytes |