🏠 Home → Software → RTLV → Commands (downlink) — APP_CONTROL (FPort 3)
🤖 Auto-generated from firmware (SSOT). Do not hand-edit — change the descriptor and regenerate. RTLV v3 ·
source_hash eb6b51128c1b
A downlink command = [cmd_id][len][params…] — no envelope, no prefix; multi-byte params are BE unless stated. Full command model on the Overview.
| Port.Cmd | Name | Kind | Params | Magic | Example (request) | Notes (verified) |
|---|---|---|---|---|---|---|
3.0x10 |
app_immediate_request | action | delay_ms:uint16 BE (opt) |
len-polymorphic: 0=all ifaces now; 1=[delay u8]; 2=[delay u16 BE]; 3=[iface_id u8][delay u16 BE]; 4=[delay u32 BE]; 5=[iface_id u8][delay u32 BE]. src lorawan_commands.c:4470 | ||
3.0x11 |
get_device_time | query | — | len0. src lorawan_commands.c:2322 | ||
3.0x12 |
set_device_time | action | unix:uint32 BE |
120400000060 |
len must be 4; unix epoch UTC seconds (BE), subseconds=0. src lorawan_commands.c:2381 | |
3.0x13 |
get_uptime | query | — | len0. src lorawan_commands.c:2443 | ||
3.0x14 |
get_build_time | query | — | len0. src lorawan_commands.c:2500 | ||
3.0x20 |
scheduler_mode | config | mode:uint8 {0=from_start, 1=astronomical} (opt) |
len0=GET; len1=SET. src lorawan_commands.c:4597 | ||
3.0x21 |
ts003_clock_sync_enabled | config | enabled:uint8 {0=off, 1=on} (opt) |
len0=GET; len1=SET. src lorawan_commands.c:4806 | ||
3.0x22 |
ts004_fragdata_enabled | config | enabled:uint8 {0=off, 1=on} (opt) |
len0=GET; len1=SET. src lorawan_commands.c:4913 | ||
3.0x23 |
ts005_multicast_enabled | config | enabled:uint8 {0=off, 1=on} (opt) |
len0=GET; len1=SET. src lorawan_commands.c:5020 | ||
3.0xE1 |
startup_packet_enabled | config | enabled:uint8 {0=off, 1=on} (opt) |
len0=GET; len1=SET (0xBE startup packet). src lorawan_commands.c:4703 |
Response — 0xF0 COMMAND_RESPONSE 7-byte envelope, then echo-TLVs @ offset 7 (decoded in the response FPort's namespace):
| Offset | Byte | Field | Meaning |
|---|---|---|---|
| 0 | F0 |
prefix | COMMAND_RESPONSE |
| 1 | LEN |
length | bytes after [F0][LEN]; 0x05 for the bare 7-byte header |
| 2 | — | cmd_id | echoed command id |
| 3 | — | status | 0=OK |
| 4 | — | error_code | command error |
| 5 | — | flags | response flags |
| 6 | — | protocol_version | =0x03 (TLV_PROTOCOL_VERSION) |
| 7… | — | echo-TLVs | port-scoped [tag][len][value] |
The
[0xF0][3]…forms in firmware docstrings are stale shorthand — never mirror them.