ULCP: Command and Property Index
Every numeric identifier the protocol defines, and where it is specified.
Commands
| Id | Mnemonic | Dir | Gated by |
|---|---|---|---|
| 0 | CMD_NOP | Host->Device | — |
| 1 | CMD_RST | Host->Device | — |
| 2 | CMD_PROP_GET | Host->Device | — |
| 3 | CMD_PROP_SET | Host->Device | — |
| 4 | CMD_PROP_INSERT | Host->Device | — |
| 5 | CMD_PROP_REMOVE | Host->Device | — |
| 6 | CMD_PROP_IS | Device->Host | — |
| 7 | CMD_PROP_INSERTED | Device->Host | — |
| 8 | CMD_PROP_REMOVED | Device->Host | — |
| 9 | CMD_STR_SEND | Host->Device | — |
| 10 | CMD_STR_RECV | Device->Host | — |
| 11 | CMD_QUEUE_DRAIN | Host->Device | CAP_HOST_RX_QUEUE |
| 12 | CMD_SAVE | Host->Device | CAP_SAVE |
| 13 | CMD_CLEAR | Host->Device | — |
| 14 | CMD_RESTORE | Host->Device | CAP_SAVE |
| 15 | CMD_FACTORY_RESET | Host->Device | — |
Command identifiers are 7-bit; 16–127 are unassigned.
Properties and Streams
Identifiers are allocated by state class; see Property Allocation.
| Id | Mnemonic | Commands | Gated by |
|---|---|---|---|
| 0 | PROP_LAST_STATUS | Get, Is | — |
| 1 | PROP_PROTOCOL_VERSION | Get | — |
| 2 | PROP_DEV_VERSION | Get | — |
| 3 | PROP_INTERFACE_TYPE | Get | — |
| 5 | PROP_CAPS | Get | — |
| 32 | PROP_PHY_ENABLED | Get, Set | — |
| 35 | PROP_PHY_FREQ | Get, Set | — |
| 37 | PROP_PHY_TX_POWER | Get, Set | — |
| 38 | PROP_PHY_RSSI | Get | — |
| 39 | PROP_PHY_LORA_BW | Get, Set | CAP_PHY_LORA |
| 40 | PROP_PHY_LORA_SF | Get, Set | CAP_PHY_LORA |
| 41 | PROP_PHY_LORA_CR | Get, Set | CAP_PHY_LORA |
| 42 | PROP_PHY_MTU | Get | — |
| 43 | PROP_PHY_LORA_SW | Get, Set | CAP_PHY_LORA |
| 48 | PROP_MAC_PROMISCUOUS | Get, Set | CAP_HOST_FILTER |
| 49 | PROP_SAVED | Get | CAP_SAVE |
| 64 | PROP_DEV_KEY | Get | CAP_DEV_IDENTITY |
| 65 | PROP_DEV_PRIVATE_KEY | Set | CAP_DEV_IDENTITY |
| 66 | PROP_DEV_CHANNEL_KEYS | Get, Set, Insert, Remove | CAP_DEV_IDENTITY |
| 67 | PROP_DEV_PEERS | Get, Set, Insert, Remove | CAP_DEV_IDENTITY |
| 68 | PROP_DEV_NAME | Get, Set | CAP_DEV_NAME |
| 69 | PROP_BATTERY | Get, Is | CAP_BATTERY |
| 70 | PROP_MAC_REPEATER_ENABLED | Get, Set | CAP_REPEATER |
| 71 | PROP_IDENT | Get | CAP_IDENT |
| 72 | PROP_IDENT_ROLE | Get, Set | CAP_IDENT |
| 73 | PROP_IDENT_MOBILE | Get, Set | CAP_IDENT |
| 74 | PROP_MAC_REPEATER_REGIONS | Get, Set | CAP_REPEATER |
| 75 | PROP_MAC_REPEATER_DEFAULT_REGION | Get, Set | CAP_REPEATER |
| 76 | PROP_MAC_REPEATER_MIN_RSSI | Get, Set | CAP_REPEATER |
| 77 | PROP_MAC_REPEATER_MIN_SNR | Get, Set | CAP_REPEATER |
| 78 | PROP_DEV_DISCOVERABLE | Get, Set | CAP_DEV_IDENTITY |
| 79 | PROP_ALERT | Get, Set, Is | CAP_ALERT |
| 80 | PROP_ADVERT_INTERVAL | Get, Set | CAP_ADVERT |
| 81 | PROP_BEACON_INTERVAL | Get, Set | CAP_ADVERT |
| 82 | PROP_STARTUP_BEACON | Get, Set | CAP_ADVERT |
| 88 | PROP_GNSS_ENABLED | Get, Set | CAP_GNSS |
| 89 | PROP_GNSS_LOCATION | Get, Is | CAP_GNSS |
| 90 | PROP_GNSS_ALTITUDE | Get | CAP_GNSS |
| 91 | PROP_GNSS_FIX | Get, Is | CAP_GNSS |
| 92 | PROP_GNSS_PRECISION | Get | CAP_GNSS |
| 93 | PROP_GNSS_SATELLITES | Get | CAP_GNSS |
| 94 | PROP_ILLUMINANCE | Get | CAP_ILLUMINANCE |
| 96 | PROP_HOST_KEY | Get, Set | CAP_HOST_FILTER |
| 97 | PROP_HOST_CHANNEL_KEYS | Get, Set, Insert, Remove | CAP_HOST_KEYS |
| 98 | PROP_HOST_PEER_KEYS | Get, Set, Insert, Remove | CAP_HOST_KEYS |
| 99 | PROP_HOST_RX_FILTERS | Get, Set, Insert, Remove | CAP_HOST_FILTER |
| 100 | PROP_HOST_AUTO_ACK | Get, Set | CAP_HOST_AUTO_ACK |
| 101 | PROP_HOST_RX_QUEUE_COUNT | Get | CAP_HOST_RX_QUEUE |
| 102 | PROP_HOST_RX_QUEUE_CAPACITY | Get, Set | CAP_HOST_RX_QUEUE |
| 103 | PROP_HOST_RX_QUEUE_DROPPED | Get | CAP_HOST_RX_QUEUE |
| 113 | STR_PHY_RAW | Send, Recv | — |
| 4820 | PROP_PHY_DUTY_NOW | Get | CAP_PHY_DUTY_LIMIT |
| 4822 | PROP_PHY_DUTY_LIMIT | Get, Set | CAP_PHY_DUTY_LIMIT |
| 4864 | PROP_BLE_PAIRING_PIN | Set | BLE transport |
| 4865 | PROP_DEV_ADMINS | Get, Set, Insert, Remove | CAP_ADMIN |
| 4866 | PROP_TIME | Get, Set, Is | CAP_TIME |
| 4867 | PROP_TZ_OFFSET | Get, Set | CAP_TIME |
| 4868 | PROP_GNSS_IDENT_UPDATE | Get, Set | CAP_GNSS |
| 4869 | PROP_GNSS_IDENT_PRECISION | Get, Set | CAP_GNSS |
| 4870 | PROP_GNSS_TIME_TRUST | Get, Set | CAP_GNSS |
Capabilities
Advertised through PROP_CAPS; the allocation
is in Capabilities.
| Code | Name | Defined in |
|---|---|---|
| 8 | CAP_WRITABLE_RAW_STREAM | Frame Transport |
| 16 | CAP_PHY_DUTY_LIMIT | Radio Control |
| 32 | CAP_HOST_FILTER | Tethered Host Services |
| 33 | CAP_HOST_RX_QUEUE | Tethered Host Services |
| 34 | CAP_HOST_KEYS | Tethered Host Services |
| 35 | CAP_HOST_AUTO_ACK | Tethered Host Services |
| 36 | CAP_SAVE | Saved State |
| 37 | CAP_DEV_IDENTITY | Device Domain |
| 38 | CAP_DEV_NAME | Device Domain |
| 39 | CAP_BATTERY | Device Domain |
| 40 | CAP_REPEATER | Device Domain |
| 41 | CAP_IDENT | Device Domain |
| 42 | CAP_ALERT | Device Domain |
| 43 | CAP_ADMIN | Node Management |
| 44 | CAP_TIME | Device Domain |
| 45 | CAP_GNSS | Device Domain |
| 46 | CAP_ADVERT | Device Domain |
| 47 | CAP_ILLUMINANCE | Device Domain |
| 515 | CAP_PHY_LORA | Radio Control |
Status Codes
Defined in Status Codes.
| Id | Name | Id | Name |
|---|---|---|---|
| 0 | STATUS_OK | 12 | STATUS_BUSY |
| 1 | STATUS_FAILURE | 13 | STATUS_PROP_NOT_FOUND |
| 2 | STATUS_UNIMPLEMENTED | 18 | STATUS_CCA_FAILURE |
| 3 | STATUS_INVALID_ARGUMENT | 19 | STATUS_ALREADY |
| 4 | STATUS_INVALID_STATE | 20 | STATUS_ITEM_NOT_FOUND |
| 5 | STATUS_INVALID_COMMAND | 21 | STATUS_CURSOR_INVALID |
| 7 | STATUS_INTERNAL_ERROR | 32 | STATUS_DUTY_LIMIT |
| 9 | STATUS_PARSE_ERROR | ||
| 10 | STATUS_IN_PROGRESS | ||
| 11 | STATUS_NOMEM |
Reset Codes
Defined in Reset Codes; the range 112–127 is reserved for them.
| Id | Name | Id | Name |
|---|---|---|---|
| 112 | STATUS_RESET_POWER_ON | 117 | STATUS_RESET_ASSERT |
| 113 | STATUS_RESET_EXTERNAL | 118 | STATUS_RESET_OTHER |
| 114 | STATUS_RESET_SOFTWARE | 119 | STATUS_RESET_UNKNOWN |
| 115 | STATUS_RESET_RESTORED | 120 | STATUS_RESET_WATCHDOG |
| 116 | STATUS_RESET_CRASH |
Enumerated Values
The value enumerations carried inside properties and stream metadata.
| Enumeration | Values | Defined in |
|---|---|---|
PROP_SAVED | 0 none, 1 current, 2 fallback, 3 unreadable | PROP_SAVED |
| Filter types | 0 FILTER_DEST_HINT, 1 FILTER_CHANNEL_ID, 2 FILTER_PKT_TYPE | PROP_HOST_RX_FILTERS |
| Charge states | 0 discharging, 1 charging, 2 charged | PROP_BATTERY |
| Alert states | 0 ALERT_NONE, 1 ALERT_LOCATE | PROP_ALERT |
| Fix quality | 0 none, 1 two-dimensional, 2 three-dimensional | PROP_GNSS_FIX |
| Transmit flags | bit 0 TX_FLAG_NOCCA, bit 1 TX_FLAG_NODUTY | STR_PHY_RAW |
| Receive flags | bit 0 RX_FLAG_BUFFERED, bit 1 RX_FLAG_ACKED | Buffered-Frame Metadata |