Skip to main content

IR Functions

dev.wireless.ir - wire path w\i - generated from fwMenuIR.

enable_ir_stream

Stream IR. Enables or disables streaming of received IR codes to the host.

Wire command: w\i\o

ArgWire type
enabledecS32

Returns: none (Ok/Err only)

dev.wireless.ir.enable_ir_stream(enable: int) -> Result
ow_status ow_wireless_ir_enable_ir_stream(ow_device* dev, int32_t enable);
dev.wireless().ir().enable_ir_stream(enable: 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.wireless.ir.enable_ir_stream(enable) # check dev.ok

send_ir_data

Send IR. Transmits a 4-byte IR code.

Wire command: w\i\a

ArgWire type
ir_codedecU32

Returns: none (Ok/Err only)

dev.wireless.ir.send_ir_data(ir_code: int) -> Result
ow_status ow_wireless_ir_send_ir_data(ow_device* dev, int32_t ir_code);
dev.wireless().ir().send_ir_data(ir_code: 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.wireless.ir.send_ir_data(ir_code) # check dev.ok

ir_self_test

IR Self Test. Transmits one frame per supported protocol and checks that the on-board receiver decodes each one back. Takes a few seconds and emits infrared.

Wire command: w\i\t

Returns: none (Ok/Err only)

dev.wireless.ir.ir_self_test() -> Result
ow_status ow_wireless_ir_ir_self_test(ow_device* dev);
dev.wireless().ir().ir_self_test() -> 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.wireless.ir.ir_self_test() # check dev.ok

ir_list_dir

List IR Dir. Lists the directories and .ir files on the SD card, directories first. Empty path lists \ir.

Wire command: w\i\l

ArgWire type
pathstring

Returns: none (Ok/Err only)

dev.wireless.ir.ir_list_dir(path: str) -> Result
ow_status ow_wireless_ir_ir_list_dir(ow_device* dev, const char* path);
dev.wireless().ir().ir_list_dir(path: &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.wireless.ir.ir_list_dir(path) # check dev.ok

ir_list_buttons

List IR Buttons. Lists the buttons in one Flipper .ir file with the index each one is sent by. Malformed entries are counted as skipped, not listed.

Wire command: w\i\b

ArgWire type
pathstring

Returns: none (Ok/Err only)

dev.wireless.ir.ir_list_buttons(path: str) -> Result
ow_status ow_wireless_ir_ir_list_buttons(ow_device* dev, const char* path);
dev.wireless().ir().ir_list_buttons(path: &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.wireless.ir.ir_list_buttons(path) # check dev.ok

ir_send_button

Send IR Button. Transmits one button from a .ir file, repeated by the IR Repeat setting. Emits infrared.

Wire command: w\i\s

ArgWire type
indexdecU32
pathstring

Returns: none (Ok/Err only)

dev.wireless.ir.ir_send_button(index: int, path: str) -> Result
ow_status ow_wireless_ir_ir_send_button(ow_device* dev, int32_t index, const char* path);
dev.wireless().ir().ir_send_button(index: i32, path: &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.wireless.ir.ir_send_button(index, path) # check dev.ok

ir_save_capture

Save IR Capture. Appends the last received signal to \ir\learned.ir under this name, decoded when the protocol was recognised and as raw timings when it was not.

Wire command: w\i\c

ArgWire type
namestring

Returns: none (Ok/Err only)

dev.wireless.ir.ir_save_capture(name: str) -> Result
ow_status ow_wireless_ir_ir_save_capture(ow_device* dev, const char* name);
dev.wireless().ir().ir_save_capture(name: &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.wireless.ir.ir_save_capture(name) # check dev.ok

ir_status

IR Status. Reports the IR engine's carrier, repeat count, capture overruns and whether the \ir\ tree exists on the card.

Wire command: w\i\i

Returns: none (Ok/Err only)

dev.wireless.ir.ir_status() -> Result
ow_status ow_wireless_ir_ir_status(ow_device* dev);
dev.wireless().ir().ir_status() -> 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.wireless.ir.ir_status() # check dev.ok

i_r_carrier

IR Carrier. Default transmit carrier frequency. Only these four are legal; a .ir raw entry with its own frequency line overrides this for that entry.

Wire command: w\i\f

ArgWire type
value

Returns: none (Ok/Err only)

dev.wireless.ir.i_r_carrier(value: int) -> Result
ow_status ow_wireless_ir_i_r_carrier(ow_device* dev, int32_t value);
dev.wireless().ir().i_r_carrier(value: 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.wireless.ir.i_r_carrier(value) # check dev.ok

i_r_repeat

IR Repeat. How many times Send IR Button transmits each frame, 1 to 5, with a 40 ms gap between repeats.

Wire command: w\i\r

ArgWire type
value

Returns: none (Ok/Err only)

dev.wireless.ir.i_r_repeat(value: int) -> Result
ow_status ow_wireless_ir_i_r_repeat(ow_device* dev, int32_t value);
dev.wireless().ir().i_r_repeat(value: 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.wireless.ir.i_r_repeat(value) # 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.

irrx (text)

Received IR code

Payload fieldWire type
codehexU32