UNPKG

zigbee-on-host

Version:

ZigBee stack designed to run on a host and communicate with a radio co-processor (RCP)

1,310 lines 116 kB
export declare const enum SpinelPropertyId { /** Format: `i` - Read-only * * Describes the status of the last operation. Encoded as a packed * unsigned integer (see `SPINEL_STATUS_*` for list of values). * * This property is emitted often to indicate the result status of * pretty much any Host-to-NCP operation. * * It is emitted automatically at NCP startup with a value indicating * the reset reason. It is also emitted asynchronously on an error ( * e.g., NCP running out of buffer). */ LAST_STATUS = 0, /** Format: `ii` - Read-only * * Describes the protocol version information. This property contains * two fields, each encoded as a packed unsigned integer: * `i`: Major Version Number * `i`: Minor Version Number * * The version number is defined by `SPINEL_PROTOCOL_VERSION_THREAD_MAJOR` * and `SPINEL_PROTOCOL_VERSION_THREAD_MINOR`. * * This specification describes major version 4, minor version 3. */ PROTOCOL_VERSION = 1, /** Format: `U` - Read-only * * Contains a string which describes the firmware currently running on * the NCP. Encoded as a zero-terminated UTF-8 string. */ NCP_VERSION = 2, /** Format: 'i' - Read-only * * This value identifies what the network protocol for this NCP. * The valid protocol type values are defined by enumeration * `SPINEL_PROTOCOL_TYPE_*`: * * `SPINEL_PROTOCOL_TYPE_BOOTLOADER` = 0 * `SPINEL_PROTOCOL_TYPE_ZIGBEE_IP` = 2, * `SPINEL_PROTOCOL_TYPE_THREAD` = 3, * * OpenThread NCP supports only `SPINEL_PROTOCOL_TYPE_THREAD` */ INTERFACE_TYPE = 3, /** Format: 'i` - Read-only * * Vendor ID. Zero for unknown. */ VENDOR_ID = 4, /** Format: 'A(i)` - Read-only * * Describes the supported capabilities of this NCP. Encoded as a list of * packed unsigned integers. * * The capability values are specified by SPINEL_CAP_* enumeration. */ CAPS = 5, /** Format: 'C` - Read-only * * Provides number of interfaces. */ INTERFACE_COUNT = 6, POWER_STATE = 7,///< PowerState [C] (deprecated, use `MCU_POWER_STATE` instead). /** Format: 'E` - Read-only * * The static EUI64 address of the device, used as a serial number. */ HWADDR = 8, LOCK = 9,///< PropLock [b] (not supported) HBO_MEM_MAX = 10,///< Max offload mem [S] (not supported) HBO_BLOCK_MAX = 11,///< Max offload block [S] (not supported) /** Format: 'C` * * Describes the current power state of the host. This property is used * by the host to inform the NCP when it has changed power states. The * NCP can then use this state to determine which properties need * asynchronous updates. Enumeration `spinel_host_power_state_t` defines * the valid values (`SPINEL_HOST_POWER_STATE_*`): * * `HOST_POWER_STATE_OFFLINE`: Host is physically powered off and * cannot be woken by the NCP. All asynchronous commands are * squelched. * * `HOST_POWER_STATE_DEEP_SLEEP`: The host is in a low power state * where it can be woken by the NCP but will potentially require more * than two seconds to become fully responsive. The NCP MUST * avoid sending unnecessary property updates, such as child table * updates or non-critical messages on the debug stream. If the NCP * needs to wake the host for traffic, the NCP MUST first take * action to wake the host. Once the NCP signals to the host that it * should wake up, the NCP MUST wait for some activity from the * host (indicating that it is fully awake) before sending frames. * * `HOST_POWER_STATE_RESERVED`: This value MUST NOT be set by the host. If * received by the NCP, the NCP SHOULD consider this as a synonym * of `HOST_POWER_STATE_DEEP_SLEEP`. * * `HOST_POWER_STATE_LOW_POWER`: The host is in a low power state * where it can be immediately woken by the NCP. The NCP SHOULD * avoid sending unnecessary property updates, such as child table * updates or non-critical messages on the debug stream. * * `HOST_POWER_STATE_ONLINE`: The host is awake and responsive. No * special filtering is performed by the NCP on asynchronous updates. * * All other values are RESERVED. They MUST NOT be set by the * host. If received by the NCP, the NCP SHOULD consider the value as * a synonym of `HOST_POWER_STATE_LOW_POWER`. * * After setting this power state, any further commands from the host to * the NCP will cause `HOST_POWER_STATE` to automatically revert to * `HOST_POWER_STATE_ONLINE`. * * When the host is entering a low-power state, it should wait for the * response from the NCP acknowledging the command (with `CMD_VALUE_IS`). * Once that acknowledgment is received the host may enter the low-power * state. * * If the NCP has the `CAP_UNSOL_UPDATE_FILTER` capability, any unsolicited * property updates masked by `PROP_UNSOL_UPDATE_FILTER` should be honored * while the host indicates it is in a low-power state. After resuming to the * `HOST_POWER_STATE_ONLINE` state, the value of `PROP_UNSOL_UPDATE_FILTER` * MUST be unchanged from the value assigned prior to the host indicating * it was entering a low-power state. */ HOST_POWER_STATE = 12, /** Format: 'C` * Required capability: CAP_MCU_POWER_SAVE * * This property specifies the desired power state of NCP's micro-controller * (MCU) when the underlying platform's operating system enters idle mode (i.e., * all active tasks/events are processed and the MCU can potentially enter a * energy-saving power state). * * The power state primarily determines how the host should interact with the NCP * and whether the host needs an external trigger (a "poke") to NCP before it can * communicate with the NCP or not. After a reset, the MCU power state MUST be * SPINEL_MCU_POWER_STATE_ON. * * Enumeration `spinel_mcu_power_state_t` defines the valid values * (`SPINEL_MCU_POWER_STATE_*` constants): * * `SPINEL_MCU_POWER_STATE_ON`: NCP's MCU stays on and active all the time. * When the NCP's desired power state is set to this value, host can send * messages to NCP without requiring any "poke" or external triggers. MCU is * expected to stay on and active. Note that the `ON` power state only * determines the MCU's power mode and is not related to radio's state. * * `SPINEL_MCU_POWER_STATE_LOW_POWER`: NCP's MCU can enter low-power * (energy-saving) state. When the NCP's desired power state is set to * `LOW_POWER`, host is expected to "poke" the NCP (e.g., an external trigger * like an interrupt) before it can communicate with the NCP (send a message * to the NCP). The "poke" mechanism is determined by the platform code (based * on NCP's interface to the host). * While power state is set to `LOW_POWER`, NCP can still (at any time) send * messages to host. Note that receiving a message from the NCP does NOT * indicate that the NCP's power state has changed, i.e., host is expected to * continue to "poke" NCP when it wants to talk to the NCP until the power * state is explicitly changed (by setting this property to `ON`). * Note that the `LOW_POWER` power state only determines the MCU's power mode * and is not related to radio's state. * * `SPINEL_MCU_POWER_STATE_OFF`: NCP is fully powered off. * An NCP hardware reset (via a RESET pin) is required to bring the NCP back * to `SPINEL_MCU_POWER_STATE_ON`. RAM is not retained after reset. */ MCU_POWER_STATE = 13, /** Format: `A(CCU)` * Type: Read-Only (Optionally Read-write using `CMD_PROP_VALUE_INSERT`) * * An array of structures which contain the following fields: * * * `C`: GPIO Number * * `C`: GPIO Configuration Flags * * `U`: Human-readable GPIO name * * GPIOs which do not have a corresponding entry are not supported. * * The configuration parameter contains the configuration flags for the * GPIO: * * 0 1 2 3 4 5 6 7 * +---+---+---+---+---+---+---+---+ * |DIR|PUP|PDN|TRIGGER| RESERVED | * +---+---+---+---+---+---+---+---+ * |O/D| * +---+ * * * `DIR`: Pin direction. Clear (0) for input, set (1) for output. * * `PUP`: Pull-up enabled flag. * * `PDN`/`O/D`: Flag meaning depends on pin direction: * * Input: Pull-down enabled. * * Output: Output is an open-drain. * * `TRIGGER`: Enumeration describing how pin changes generate * asynchronous notification commands (TBD) from the NCP to the host. * * 0: Feature disabled for this pin * * 1: Trigger on falling edge * * 2: Trigger on rising edge * * 3: Trigger on level change * * `RESERVED`: Bits reserved for future use. Always cleared to zero * and ignored when read. * * As an optional feature, the configuration of individual pins may be * modified using the `CMD_PROP_VALUE_INSERT` command. Only the GPIO * number and flags fields MUST be present, the GPIO name (if present) * would be ignored. This command can only be used to modify the * configuration of GPIOs which are already exposed---it cannot be used * by the host to add additional GPIOs. */ GPIO_CONFIG = 4096, /** Format: `D` * Type: Read-Write * * Contains a bit field identifying the state of the GPIOs. The length of * the data associated with these properties depends on the number of * GPIOs. If you have 10 GPIOs, you'd have two bytes. GPIOs are numbered * from most significant bit to least significant bit, so 0x80 is GPIO 0, * 0x40 is GPIO 1, etc. * * For GPIOs configured as inputs: * * * `CMD_PROP_VALUE_GET`: The value of the associated bit describes the * logic level read from the pin. * * `CMD_PROP_VALUE_SET`: The value of the associated bit is ignored * for these pins. * * For GPIOs configured as outputs: * * * `CMD_PROP_VALUE_GET`: The value of the associated bit is * implementation specific. * * `CMD_PROP_VALUE_SET`: The value of the associated bit determines * the new logic level of the output. If this pin is configured as an * open-drain, setting the associated bit to 1 will cause the pin to * enter a Hi-Z state. * * For GPIOs which are not specified in `PROP_GPIO_CONFIG`: * * * `CMD_PROP_VALUE_GET`: The value of the associated bit is * implementation specific. * * `CMD_PROP_VALUE_SET`: The value of the associated bit MUST be * ignored by the NCP. * * When writing, unspecified bits are assumed to be zero. */ GPIO_STATE = 4098, /** Format: `D` * Type: Write-Only * * Allows for the state of various output GPIOs to be set without affecting * other GPIO states. Contains a bit field identifying the output GPIOs that * should have their state set to 1. * * When writing, unspecified bits are assumed to be zero. The value of * any bits for GPIOs which are not specified in `PROP_GPIO_CONFIG` MUST * be ignored. */ GPIO_STATE_SET = 4099, /** Format: `D` * Type: Write-Only * * Allows for the state of various output GPIOs to be cleared without affecting * other GPIO states. Contains a bit field identifying the output GPIOs that * should have their state cleared to 0. * * When writing, unspecified bits are assumed to be zero. The value of * any bits for GPIOs which are not specified in `PROP_GPIO_CONFIG` MUST * be ignored. */ GPIO_STATE_CLEAR = 4100, TRNG_32 = 4101, TRNG_128 = 4102, TRNG_RAW_32 = 4103, /** Format: `A(I)` * Type: Read-Write (optional Insert-Remove) * Required capability: `CAP_UNSOL_UPDATE_FILTER` * * Contains a list of properties which are excluded from generating * unsolicited value updates. This property is empty after reset. * In other words, the host may opt-out of unsolicited property updates * for a specific property by adding that property id to this list. * Hosts SHOULD NOT add properties to this list which are not * present in `PROP_UNSOL_UPDATE_LIST`. If such properties are added, * the NCP ignores the unsupported properties. */ UNSOL_UPDATE_FILTER = 4104, /** Format: `A(I)` * Type: Read-Only * Required capability: `CAP_UNSOL_UPDATE_FILTER` * * Contains a list of properties which are capable of generating * unsolicited value updates. This list can be used when populating * `PROP_UNSOL_UPDATE_FILTER` to disable all unsolicited property * updates. * * This property is intended to effectively behave as a constant * for a given NCP firmware. */ UNSOL_UPDATE_LIST = 4105, /** Format: `b` */ PHY_ENABLED = 32, /** Format: `C` */ PHY_CHAN = 33, /** Format: `A(C)` */ PHY_CHAN_SUPPORTED = 34, /** kHz Format: `L` */ PHY_FREQ = 35, /** dBm Format: `c` */ PHY_CCA_THRESHOLD = 36, /** Format: `c` */ PHY_TX_POWER = 37, /** dBm Format: `c` */ PHY_RSSI = 38, /** dBm Format: `c` */ PHY_RX_SENSITIVITY = 39, /** Format: `b` */ PHY_PCAP_ENABLED = 40, /** Format: `A(C)` */ PHY_CHAN_PREFERRED = 41, /** dBm Format: `c` */ PHY_FEM_LNA_GAIN = 42, /** Format: `Cc` * * First byte is the channel then the max transmit power, write-only. */ PHY_CHAN_MAX_POWER = 43, /** Format: `S` * * The ascii representation of the ISO 3166 alpha-2 code. */ PHY_REGION_CODE = 44, /** Format: `A(Csd)` - Insert/Set * * The `Insert` command on the property inserts a calibration power entry to the calibrated power table. * The `Set` command on the property with empty payload clears the calibrated power table. * * Structure Parameters: * `C`: Channel. * `s`: Actual power in 0.01 dBm. * `d`: Raw power setting. */ PHY_CALIBRATED_POWER = 45, /** Format: `t(Cs)` - Write only * * Structure Parameters: * `C`: Channel. * `s`: Target power in 0.01 dBm. */ PHY_CHAN_TARGET_POWER = 46, /** Format: `b` * * Indicates if jamming detection is enabled or disabled. Set to true * to enable jamming detection. */ JAM_DETECT_ENABLE = 4608, /** Format: `b` (Read-Only) * * Set to true if radio jamming is detected. Set to false otherwise. * * When jamming detection is enabled, changes to the value of this * property are emitted asynchronously via `CMD_PROP_VALUE_IS`. */ JAM_DETECTED = 4609, /** Format: `c` * Units: dBm * * This parameter describes the threshold RSSI level (measured in * dBm) above which the jamming detection will consider the * channel blocked. */ JAM_DETECT_RSSI_THRESHOLD = 4610, /** Format: `C` * Units: Seconds (1-63) * * This parameter describes the window period for signal jamming * detection. */ JAM_DETECT_WINDOW = 4611, /** Format: `C` * Units: Seconds (1-63) * * This parameter describes the number of aggregate seconds within * the detection window where the RSSI must be above * `PROP_JAM_DETECT_RSSI_THRESHOLD` to trigger detection. * * The behavior of the jamming detection feature when `PROP_JAM_DETECT_BUSY` * is larger than `PROP_JAM_DETECT_WINDOW` is undefined. */ JAM_DETECT_BUSY = 4612, /** Format: `X` (read-only) * * This value provides information about current state of jamming detection * module for monitoring/debugging purpose. It returns a 64-bit value where * each bit corresponds to one second interval starting with bit 0 for the * most recent interval and bit 63 for the oldest intervals (63 sec earlier). * The bit is set to 1 if the jamming detection module observed/detected * high signal level during the corresponding one second interval. */ JAM_DETECT_HISTORY_BITMAP = 4613, /** Format: `L` (read-only) * Units: Milliseconds * * Required capability: SPINEL_CAP_CHANNEL_MONITOR * * If channel monitoring is enabled and active, every sample interval, a * zero-duration Energy Scan is performed, collecting a single RSSI sample * per channel. The RSSI samples are compared with a pre-specified RSSI * threshold. */ CHANNEL_MONITOR_SAMPLE_INTERVAL = 4614, /** Format: `c` (read-only) * Units: dBm * * Required capability: SPINEL_CAP_CHANNEL_MONITOR * * This value specifies the threshold used by channel monitoring module. * Channel monitoring maintains the average rate of RSSI samples that * are above the threshold within (approximately) a pre-specified number * of samples (sample window). */ CHANNEL_MONITOR_RSSI_THRESHOLD = 4615, /** Format: `L` (read-only) * Units: Number of samples * * Required capability: SPINEL_CAP_CHANNEL_MONITOR * * The averaging sample window length (in units of number of channel * samples) used by channel monitoring module. Channel monitoring will * sample all channels every sample interval. It maintains the average rate * of RSSI samples that are above the RSSI threshold within (approximately) * the sample window. */ CHANNEL_MONITOR_SAMPLE_WINDOW = 4616, /** Format: `L` (read-only) * Units: Number of samples * * Required capability: SPINEL_CAP_CHANNEL_MONITOR * * Total number of RSSI samples (per channel) taken by the channel * monitoring module since its start (since Thread network interface * was enabled). */ CHANNEL_MONITOR_SAMPLE_COUNT = 4617, /** Format: `A(t(CU))` (read-only) * * Required capability: SPINEL_CAP_CHANNEL_MONITOR * * Data per item is: * * `C`: Channel * `U`: Channel occupancy indicator * * The channel occupancy value represents the average rate/percentage of * RSSI samples that were above RSSI threshold ("bad" RSSI samples) within * (approximately) sample window latest RSSI samples. * * Max value of `0xffff` indicates all RSSI samples were above RSSI * threshold (i.e. 100% of samples were "bad"). */ CHANNEL_MONITOR_CHANNEL_OCCUPANCY = 4618, /** Format: `i` (read-only) * * Data per item is: * * `i`: Radio Capabilities. */ RADIO_CAPS = 4619, /** Format: t(LLLLLLLL)t(LLLLLLLLL)bL (Read-only) * * Required capability: SPINEL_CAP_RADIO_COEX * * The contents include two structures and two common variables, first structure corresponds to * all transmit related coex counters, second structure provides the receive related counters. * * The transmit structure includes: * 'L': NumTxRequest (The number of tx requests). * 'L': NumTxGrantImmediate (The number of tx requests while grant was active). * 'L': NumTxGrantWait (The number of tx requests while grant was inactive). * 'L': NumTxGrantWaitActivated (The number of tx requests while grant was inactive that were * ultimately granted). * 'L': NumTxGrantWaitTimeout (The number of tx requests while grant was inactive that timed out). * 'L': NumTxGrantDeactivatedDuringRequest (The number of tx requests that were in progress when grant was * deactivated). * 'L': NumTxDelayedGrant (The number of tx requests that were not granted within 50us). * 'L': AvgTxRequestToGrantTime (The average time in usec from tx request to grant). * * The receive structure includes: * 'L': NumRxRequest (The number of rx requests). * 'L': NumRxGrantImmediate (The number of rx requests while grant was active). * 'L': NumRxGrantWait (The number of rx requests while grant was inactive). * 'L': NumRxGrantWaitActivated (The number of rx requests while grant was inactive that were * ultimately granted). * 'L': NumRxGrantWaitTimeout (The number of rx requests while grant was inactive that timed out). * 'L': NumRxGrantDeactivatedDuringRequest (The number of rx requests that were in progress when grant was * deactivated). * 'L': NumRxDelayedGrant (The number of rx requests that were not granted within 50us). * 'L': AvgRxRequestToGrantTime (The average time in usec from rx request to grant). * 'L': NumRxGrantNone (The number of rx requests that completed without receiving grant). * * Two common variables: * 'b': Stopped (Stats collection stopped due to saturation). * 'L': NumGrantGlitch (The number of of grant glitches). */ RADIO_COEX_METRICS = 4620, /** Format: `b` * * Required capability: SPINEL_CAP_RADIO_COEX * * Indicates if radio coex is enabled or disabled. Set to true to enable radio coex. */ RADIO_COEX_ENABLE = 4621, /** Format: `C` * * Possible values are from enumeration `spinel_scan_state_t`. * * SCAN_STATE_IDLE * SCAN_STATE_BEACON * SCAN_STATE_ENERGY * SCAN_STATE_DISCOVER * * Set to `SCAN_STATE_BEACON` to start an active scan. * Beacons will be emitted from `PROP_MAC_SCAN_BEACON`. * * Set to `SCAN_STATE_ENERGY` to start an energy scan. * Channel energy result will be reported by emissions * of `PROP_MAC_ENERGY_SCAN_RESULT` (per channel). * * Set to `SCAN_STATE_DISCOVER` to start a Thread MLE discovery * scan operation. Discovery scan result will be emitted from * `PROP_MAC_SCAN_BEACON`. * * Value switches to `SCAN_STATE_IDLE` when scan is complete. */ MAC_SCAN_STATE = 48, /** Format: `A(C)` * * List of channels to scan. */ MAC_SCAN_MASK = 49, /** Format: `S` * Unit: milliseconds per channel */ MAC_SCAN_PERIOD = 50, /** Format `Cct(ESSc)t(iCUdd)` - Asynchronous event only * * Scan beacons have two embedded structures which contain * information about the MAC layer and the NET layer. Their * format depends on the MAC and NET layer currently in use. * The format below is for an 802.15.4 MAC with Thread: * * `C`: Channel * `c`: RSSI of the beacon * `t`: MAC layer properties (802.15.4 layer) * `E`: Long address * `S`: Short address * `S`: PAN-ID * `c`: LQI * NET layer properties * `i`: Protocol Number (SPINEL_PROTOCOL_TYPE_* values) * `C`: Flags (SPINEL_BEACON_THREAD_FLAG_* values) * `U`: Network Name * `d`: XPANID * `d`: Steering data * * Extra parameters may be added to each of the structures * in the future, so care should be taken to read the length * that prepends each structure. */ MAC_SCAN_BEACON = 51, /** Format: `E` * * The 802.15.4 long address of this node. */ MAC_15_4_LADDR = 52, /** Format: `S` * * The 802.15.4 short address of this node. */ MAC_15_4_SADDR = 53, /** Format: `S` * * The 802.15.4 PANID this node is associated with. */ MAC_15_4_PANID = 54, /** Format: `b` * * Set to true to enable raw MAC frames to be emitted from * `PROP_STREAM_RAW`. */ MAC_RAW_STREAM_ENABLED = 55, /** Format: `C` * * Possible values are from enumeration * `SPINEL_MAC_PROMISCUOUS_MODE_*`: * * `SPINEL_MAC_PROMISCUOUS_MODE_OFF` * Normal MAC filtering is in place. * * `SPINEL_MAC_PROMISCUOUS_MODE_NETWORK` * All MAC packets matching network are passed up * the stack. * * `SPINEL_MAC_PROMISCUOUS_MODE_FULL` * All decoded MAC packets are passed up the stack. */ MAC_PROMISCUOUS_MODE = 56, /** Format: `Cc` - Asynchronous event only * * This property is emitted during energy scan operation * per scanned channel with following format: * * `C`: Channel * `c`: RSSI (in dBm) */ MAC_ENERGY_SCAN_RESULT = 57, /** Format: `L` * Unit: millisecond * The (user-specified) data poll (802.15.4 MAC Data Request) period * in milliseconds. Value zero means there is no user-specified * poll period, and the network stack determines the maximum period * based on the MLE Child Timeout. * * If the value is non-zero, it specifies the maximum period between * data poll transmissions. Note that the network stack may send data * request transmissions more frequently when expecting a control-message * (e.g., when waiting for an MLE Child ID Response). */ MAC_DATA_POLL_PERIOD = 58, /** Format: `b` * * Set to true to enable RxOnWhenIdle or false to disable it. * When True, the radio is expected to stay in receive state during * idle periods. When False, the radio is expected to switch to sleep * state during idle periods. */ MAC_RX_ON_WHEN_IDLE_MODE = 59, /** Format: `S` * * The 802.15.4 alternate short address. */ MAC_15_4_ALT_SADDR = 60, /** Format: `XLC` * * Schedule a radio reception window at a specific time and duration. * * `X`: The receive window start time. * `L`: The receive window duration. * `C`: The receive channel. */ MAC_RX_AT = 61, /** Format: `A(t(Ec))` * Required capability: `CAP_MAC_ALLOWLIST` * * Structure Parameters: * * `E`: EUI64 address of node * `c`: Optional RSSI-override value. The value 127 indicates * that the RSSI-override feature is not enabled for this * address. If this value is omitted when setting or * inserting, it is assumed to be 127. This parameter is * ignored when removing. */ MAC_ALLOWLIST = 4864, /** Format: `b` * Required capability: `CAP_MAC_ALLOWLIST` */ MAC_ALLOWLIST_ENABLED = 4865, /** Format: `E` * * Specified by Thread. Randomly-chosen, but non-volatile EUI-64. */ MAC_EXTENDED_ADDR = 4866, /** Format: `b` * Required Capability: SPINEL_CAP_MAC_RAW or SPINEL_CAP_CONFIG_RADIO * * Set to true to enable radio source matching or false to disable it. * The source match functionality is used by radios when generating * ACKs. The short and extended address lists are used for setting * the Frame Pending bit in the ACKs. */ MAC_SRC_MATCH_ENABLED = 4867, /** Format: `A(S)` * Required Capability: SPINEL_CAP_MAC_RAW or SPINEL_CAP_CONFIG_RADIO */ MAC_SRC_MATCH_SHORT_ADDRESSES = 4868, /** Format: `A(E)` * Required Capability: SPINEL_CAP_MAC_RAW or SPINEL_CAP_CONFIG_RADIO */ MAC_SRC_MATCH_EXTENDED_ADDRESSES = 4869, /** Format: `A(t(E))` * Required capability: `CAP_MAC_ALLOWLIST` * * Structure Parameters: * * `E`: EUI64 address of node */ MAC_DENYLIST = 4870, /** Format: `b` * Required capability: `CAP_MAC_ALLOWLIST` */ MAC_DENYLIST_ENABLED = 4871, /** Format: `A(t(Ec))` * Required capability: `CAP_MAC_ALLOWLIST` * * Structure Parameters: * * * `E`: Optional EUI64 address of node. Set default RSS if not included. * * `c`: Fixed RSS. 127 means not set. */ MAC_FIXED_RSS = 4872, /** Format: `S` * * This property provides the current CCA (Clear Channel Assessment) failure rate. * * Maximum value `0xffff` corresponding to 100% failure rate. */ MAC_CCA_FAILURE_RATE = 4873, /** Format: `C` * * The maximum (user-specified) number of direct frame transmission retries. */ MAC_MAX_RETRY_NUMBER_DIRECT = 4874, /** Format: `C` * Required capability: `SPINEL_CAP_CONFIG_FTD` * * The maximum (user-specified) number of indirect frame transmission retries. */ MAC_MAX_RETRY_NUMBER_INDIRECT = 4875, /** Format: `b` - Read only * * Returns true if there is a network state stored/saved. */ NET_SAVED = 64, /** Format `b` - Read-write * * Network interface up/down status. Write true to bring * interface up and false to bring interface down. */ NET_IF_UP = 65, /** Format `b` - Read-write * * Thread stack operational status. Write true to start * Thread stack and false to stop it. */ NET_STACK_UP = 66, /** Format `C` - Read-write * * Possible values are from enumeration `spinel_net_role_t` * * SPINEL_NET_ROLE_DETACHED = 0, * SPINEL_NET_ROLE_CHILD = 1, * SPINEL_NET_ROLE_ROUTER = 2, * SPINEL_NET_ROLE_LEADER = 3, * SPINEL_NET_ROLE_DISABLED = 4, */ NET_ROLE = 67, /** Format `U` - Read-write */ NET_NETWORK_NAME = 68, /** Format `D` - Read-write */ NET_XPANID = 69, /** Format `D` - Read-write */ NET_NETWORK_KEY = 70, /** Format `L` - Read-write */ NET_KEY_SEQUENCE_COUNTER = 71, /** Format `L` - Read-write * * The partition ID of the partition that this node is a * member of. */ NET_PARTITION_ID = 72, /** Format: `b` * Default Value: `false` * * This flag is typically used for nodes that are associating with an * existing network for the first time. If this is set to `true` before * `PROP_NET_STACK_UP` is set to `true`, the * creation of a new partition at association is prevented. If the node * cannot associate with an existing partition, `PROP_LAST_STATUS` will * emit a status that indicates why the association failed and * `PROP_NET_STACK_UP` will automatically revert to `false`. * * Once associated with an existing partition, this flag automatically * reverts to `false`. * * The behavior of this property being set to `true` when * `PROP_NET_STACK_UP` is already set to `true` is undefined. */ NET_REQUIRE_JOIN_EXISTING = 73, /** Format `L` - Read-write */ NET_KEY_SWITCH_GUARDTIME = 74, /** Format `D` - Read-write */ NET_PSKC = 75, /** Format Empty - Write only */ NET_LEAVE_GRACEFULLY = 76, /** Format `6` - Read only */ THREAD_LEADER_ADDR = 80, /** Format: `ESLccCCCCC` - Read only * * `E`: Extended address * `S`: RLOC16 * `L`: Age (seconds since last heard from) * `c`: Average RSS (in dBm) * `c`: Last RSSI (in dBm) * `C`: Link Quality In * `C`: Link Quality Out * `C`: Version * `C`: CSL clock accuracy * `C`: CSL uncertainty */ THREAD_PARENT = 81, /** Format: [A(t(ESLLCCcCc)] - Read only * * Data per item is: * * `E`: Extended address * `S`: RLOC16 * `L`: Timeout (in seconds) * `L`: Age (in seconds) * `L`: Network Data version * `C`: Link Quality In * `c`: Average RSS (in dBm) * `C`: Mode (bit-flags) * `c`: Last RSSI (in dBm) */ THREAD_CHILD_TABLE = 82, /** Format `C` - Read only * * The router-id of the current leader. */ THREAD_LEADER_RID = 83, /** Format `C` - Read only * * The leader weight of the current leader. */ THREAD_LEADER_WEIGHT = 84, /** Format `C` - Read only * * The leader weight of this node. */ THREAD_LOCAL_LEADER_WEIGHT = 85, /** Format `D` - Read only */ THREAD_NETWORK_DATA = 86, /** Format `C` - Read only */ THREAD_NETWORK_DATA_VERSION = 87, /** Format `D` - Read only */ THREAD_STABLE_NETWORK_DATA = 88, /** Format `C` - Read only */ THREAD_STABLE_NETWORK_DATA_VERSION = 89, /** Format: `A(t(6CbCbSC))` * * Data per item is: * * `6`: IPv6 Prefix * `C`: Prefix length in bits * `b`: Stable flag * `C`: TLV flags (SPINEL_NET_FLAG_* definition) * `b`: "Is defined locally" flag. Set if this network was locally * defined. Assumed to be true for set, insert and replace. Clear if * the on mesh network was defined by another node. * This field is ignored for INSERT and REMOVE commands. * `S`: The RLOC16 of the device that registered this on-mesh prefix entry. * This value is not used and ignored when adding an on-mesh prefix. * This field is ignored for INSERT and REMOVE commands. * `C`: TLV flags extended (additional field for Thread 1.2 features). */ THREAD_ON_MESH_NETS = 90, /** Format: [A(t(6CbCbb))] * * Data per item is: * * `6`: Route Prefix * `C`: Prefix length in bits * `b`: Stable flag * `C`: Route flags (SPINEL_ROUTE_FLAG_* and SPINEL_ROUTE_PREFERENCE_* definitions) * `b`: "Is defined locally" flag. Set if this route info was locally * defined as part of local network data. Assumed to be true for set, * insert and replace. Clear if the route is part of partition's network * data. * `b`: "Next hop is this device" flag. Set if the next hop for the * route is this device itself (i.e., route was added by this device) * This value is ignored when adding an external route. For any added * route the next hop is this device. * `S`: The RLOC16 of the device that registered this route entry. * This value is not used and ignored when adding a route. */ THREAD_OFF_MESH_ROUTES = 91, /** Format `A(S)` * * Array of port numbers. */ THREAD_ASSISTING_PORTS = 92, /** Format `b` - Read-write * * Set to true before changing local net data. Set to false when finished. * This allows changes to be aggregated into a single event. */ THREAD_ALLOW_LOCAL_NET_DATA_CHANGE = 93, /** Format: `C` * * This property contains the value of the mode * TLV for this node. The meaning of the bits in this * bit-field are defined by section 4.5.2 of the Thread * specification. * * The values `SPINEL_THREAD_MODE_*` defines the bit-fields */ THREAD_MODE = 94, /** Format: `L` * Unit: Seconds * * Used when operating in the Child role. */ THREAD_CHILD_TIMEOUT = 5376, /** Format: `S` */ THREAD_RLOC16 = 5377, /** Format: `C` */ THREAD_ROUTER_UPGRADE_THRESHOLD = 5378, /** Format: `L` */ THREAD_CONTEXT_REUSE_DELAY = 5379, /** Format: `C` */ THREAD_NETWORK_ID_TIMEOUT = 5380, /** Format: `A(C)` * * Note that some implementations may not support CMD_GET_VALUE * router ids, but may support CMD_REMOVE_VALUE when the node is * a leader. */ THREAD_ACTIVE_ROUTER_IDS = 5381, /** Format: `b` * * Allow host to directly observe all IPv6 packets received by the NCP, * including ones sent to the RLOC16 address. * * Default is false. */ THREAD_RLOC16_DEBUG_PASSTHRU = 5382, /** Format `b` * * Allows host to indicate whether or not the router role is enabled. * If current role is a router, setting this property to `false` starts * a re-attach process as an end-device. */ THREAD_ROUTER_ROLE_ENABLED = 5383, /** Format: `C` */ THREAD_ROUTER_DOWNGRADE_THRESHOLD = 5384, /** Format: `C` */ THREAD_ROUTER_SELECTION_JITTER = 5385, /** Format: `C` - Write only * * Specifies the preferred Router Id. Upon becoming a router/leader the node * attempts to use this Router Id. If the preferred Router Id is not set or * if it can not be used, a randomly generated router id is picked. This * property can be set only when the device role is either detached or * disabled. */ THREAD_PREFERRED_ROUTER_ID = 5386, /** Format: `A(t(ESLCcCbLLc))` - Read only * * Data per item is: * * `E`: Extended address * `S`: RLOC16 * `L`: Age (in seconds) * `C`: Link Quality In * `c`: Average RSS (in dBm) * `C`: Mode (bit-flags) * `b`: `true` if neighbor is a child, `false` otherwise. * `L`: Link Frame Counter * `L`: MLE Frame Counter * `c`: The last RSSI (in dBm) */ THREAD_NEIGHBOR_TABLE = 5387, /** Format: `C` * * Specifies the maximum number of children currently allowed. * This parameter can only be set when Thread protocol operation * has been stopped. */ THREAD_CHILD_COUNT_MAX = 5388, /** Format: `D` - Read only */ THREAD_LEADER_NETWORK_DATA = 5389, /** Format: `D` - Read only */ THREAD_STABLE_LEADER_NETWORK_DATA = 5390, /** Format `A(T(ULE))` * PSKd, joiner timeout, eui64 (optional) * * This property is being deprecated by MESHCOP_COMMISSIONER_JOINERS. */ THREAD_JOINERS = 5391, /** Format `b` * * Default value is `false`. * * This property is being deprecated by MESHCOP_COMMISSIONER_STATE. */ THREAD_COMMISSIONER_ENABLED = 5392, /** Format `b` * Required capability: `SPINEL_CAP_THREAD_TMF_PROXY` * * This property is deprecated. */ THREAD_TMF_PROXY_ENABLED = 5393, /** Format `dSS` * Required capability: `SPINEL_CAP_THREAD_TMF_PROXY` * * This property is deprecated. Please see `THREAD_UDP_FORWARD_STREAM`. */ THREAD_TMF_PROXY_STREAM = 5394, /** Format `b` * * This property defines the Joiner Flag value in the Discovery Request TLV. * * Default value is `false`. */ THREAD_DISCOVERY_SCAN_JOINER_FLAG = 5395, /** Format `b` * * Default value is `false` */ THREAD_DISCOVERY_SCAN_ENABLE_FILTERING = 5396, /** Format: `S` * * Default value is 0xffff (Broadcast PAN) to disable PANID filtering */ THREAD_DISCOVERY_SCAN_PANID = 5397, /** Format `E` - Write only * * Required capability: SPINEL_CAP_OOB_STEERING_DATA. * * Writing to this property allows to set/update the MLE * Discovery Response steering data out of band. * * - All zeros to clear the steering data (indicating that * there is no steering data). * - All 0xFFs to set steering data/bloom filter to * accept/allow all. * - A specific EUI64 which is then added to current steering * data/bloom filter. */ THREAD_STEERING_DATA = 5398, /** Format: `A(t(ESCCCCCCb)` - Read only * * Data per item is: * * `E`: IEEE 802.15.4 Extended Address * `S`: RLOC16 * `C`: Router ID * `C`: Next hop to router * `C`: Path cost to router * `C`: Link Quality In * `C`: Link Quality Out * `C`: Age (seconds since last heard) * `b`: Link established with Router ID or not. */ THREAD_ROUTER_TABLE = 5399, /** Format: `A(t(iD))` - Read-Write * * This property provides access to current Thread Active Operational Dataset. A Thread device maintains the * Operational Dataset that it has stored locally and the one currently in use by the partition to which it is * attached. This property corresponds to the locally stored Dataset on the device. * * Operational Dataset consists of a set of supported properties (e.g., channel, network key, network name, PAN id, * etc). Note that not all supported properties may be present (have a value) in a Dataset. * * The Dataset value is encoded as an array of structs containing pairs of property key (as `i`) followed by the * property value (as `D`). The property value must follow the format associated with the corresponding property. * * On write, any unknown/unsupported property keys must be ignored. * * The following properties can be included in a Dataset list: * * DATASET_ACTIVE_TIMESTAMP * PHY_CHAN * PHY_CHAN_SUPPORTED (Channel Mask Page 0) * NET_NETWORK_KEY * NET_NETWORK_NAME * NET_XPANID * MAC_15_4_PANID * IPV6_ML_PREFIX * NET_PSKC * DATASET_SECURITY_POLICY */ THREAD_ACTIVE_DATASET = 5400, /** Format: `A(t(iD))` - Read-Write * * This property provide access to current locally stored Pending Operational Dataset. * * The formatting of this property follows the same rules as in THREAD_ACTIVE_DATASET. * * In addition supported properties in THREAD_ACTIVE_DATASET, the following properties can also * be included in the Pending Dataset: * * DATASET_PENDING_TIMESTAMP * DATASET_DELAY_TIMER */ THREAD_PENDING_DATASET = 5401, /** Format: `A(t(iD))` - Write only * * The formatting of this property follows the same rules as in THREAD_ACTIVE_DATASET. * * This is write-only property. When written, it triggers a MGMT_ACTIVE_SET meshcop command to be sent to leader * with the given Dataset. The spinel frame response should be a `LAST_STATUS` with the status of the transmission * of MGMT_ACTIVE_SET command. * * In addition to supported properties in THREAD_ACTIVE_DATASET, the following property can be * included in the Dataset (to allow for custom raw TLVs): * * DATASET_RAW_TLVS */ THREAD_MGMT_SET_ACTIVE_DATASET = 5402, /** Format: `A(t(iD))` - Write only * * This property is similar to THREAD_PENDING_DATASET and follows the same format and rules. * * In addition to supported properties in THREAD_PENDING_DATASET, the following property can be * included the Dataset (to allow for custom raw TLVs to be provided). * * DATASET_RAW_TLVS */ THREAD_MGMT_SET_PENDING_DATASET = 5403, /** Format: `X` - No direct read or write * * It can only be included in one of the Dataset related properties below: * * THREAD_ACTIVE_DATASET * THREAD_PENDING_DATASET * THREAD_MGMT_SET_ACTIVE_DATASET * THREAD_MGMT_SET_PENDING_DATASET * THREAD_MGMT_GET_ACTIVE_DATASET * THREAD_MGMT_GET_PENDING_DATASET */ DATASET_ACTIVE_TIMESTAMP = 5404, /** Format: `X` - No direct read or write * * It can only be included in one of the Pending Dataset properties: * * THREAD_PENDING_DATASET * THREAD_MGMT_SET_PENDING_DATASET * THREAD_MGMT_GET_PENDING_DATASET */ DATASET_PENDING_TIMESTAMP = 5405, /** Format: `L` - No direct read or write * * Delay timer (in ms) specifies the time renaming until Thread devices overwrite the value in the Active * Operational Dataset with the corresponding values in the Pending Operational Dataset. * * It can only be included in one of the Pending Dataset properties: * * THREAD_PENDING_DATASET * THREAD_MGMT_SET_PENDING_DATASET * THREAD_MGMT_GET_PENDING_DATASET */ DATASET_DELAY_TIMER = 5406, /** Format: `SD` - No direct read or write * * It can only be included in one of the Dataset related properties below: * * THREAD_ACTIVE_DATASET * THREAD_PENDING_DATASET * THREAD_MGMT_SET_ACTIVE_DATASET * THREAD_MGMT_SET_PENDING_DATASET * THREAD_MGMT_GET_ACTIVE_DATASET * THREAD_MGMT_GET_PENDING_DATASET * * Content is * `S` : Key Rotation Time (in units of hour) * `C` : Security Policy Flags (as specified in Thread 1.1 Section 8.10.1.15) * `C` : Optional Security Policy Flags extension (as specified in Thread 1.2 Section 8.10.1.15). * 0xf8 is used if this field is missing. */ DATASET_SECURITY_POLICY = 5407, /** Format: `D` - No direct read or write * * This property defines extra raw TLVs that can be added to an Operational DataSet. * * It can only be included in one of the following Dataset properties: * * THREAD_MGMT_SET_ACTIVE_DATASET * THREAD_MGMT_SET_PENDING_DATASET * THREAD_MGMT_GET_ACTIVE_DATASET * THREAD_MGMT_GET_PENDING_DATASET */ DATASET_RAW_TLVS = 5408, /** Format: `A(t(ESA(6)))` - Read only * * This property provides the list of all addresses associated with every child * including any registered IPv6 addresses. * * Data per item is: * * `E`: Extended address of the child * `S`: RLOC16 of the child * `A(6)`: List of IPv6 addresses registered by the child (if any) */ THREAD_CHILD_TABLE_ADDRESSES = 5409, /** Format: `A(t(ESSScc))` * Required capability: `CAP_ERROR_RATE_TRACKING` * * This property provides link quality related info including * frame and (IPv6) message error rates for all neighbors. * * With regards to message error rate, note that a larger (IPv6) * message can be fragmented and sent as multiple MAC frames. The * message transmission is considered a failure, if any of its * fragments fail after all MAC retry attempts. * * Data per item is: * * `E`: Extended address of the neighbor * `S`: RLOC16 of the neighbor * `S`: Frame error rate (0 -> 0%, 0xffff -> 100%) * `S`: Message error rate (0 -> 0%, 0xffff -> 100%) * `c`: Average RSSI (in dBm) * `c`: Last RSSI (in dBm) */ THREAD_NEIGHBOR_TABLE_ERROR_RATES = 5410, /** Format `A(t(6SCCt(bL6)t(bSS))) * * This property provides Thread EID address cache table. * * Data per item is: * * `6` : Target IPv6 address * `S` : RLOC16 of target * `C` : Age (order of use, 0 indicates most recently used entry) * `C` : Entry state (values are defined by enumeration `SPINEL_ADDRESS_CACHE_ENTRY_STATE_*`). * * `t` : Info when state is `SPINEL_ADDRESS_CACHE_ENTRY_STATE_CACHED` * `b` : Indicates whether last transaction time and ML-EID are valid. * `L` : Last transaction time * `6` : Mesh-local EID * * `t` : Info when state is other than `SPINEL_ADDRESS_CACHE_ENTRY_STATE_CACHED` * `b` : Indicates whether the entry can be evicted. * `S` : Timeout in seconds * `S` : Retry delay (applicable if in query-retry state). */ THREAD_ADDRESS_CACHE_TABLE = 5411, /** Format `dS6S` * Required capability: `SPINEL_CAP_THREAD_UDP_FORWARD` * * This property helps exchange UDP packets with host. * * `d`: UDP payload * `S`: Remote UDP port * `6`: Remote IPv6 address * `S`: Local UDP port */ THREAD_UDP_FORWARD_STREAM = 5412, /** Format: `A(t(iD))` - Write only * * The formatting of this property follows the same rules as in THREAD_MGMT_SET_ACTIVE_DATASET. This * property further allows the sender to not include a value associated with properties in formatting of `t(iD)`, * i.e., it should accept either a `t(iD)` or a `t(i)` encoding (in both cases indicating that the associated * Dataset property should be requested as part of MGMT_GET command). * * This is write-only property. When written, it triggers a MGMT_ACTIVE_GET meshcop command to be sent to leader * requesting the Dataset related properties from the format. The spinel frame response should be a `LAST_STATUS` * with the status of the transmission of MGMT_ACTIVE_GET command. * * In addition to supported properties in THREAD_MGMT_SET_ACTIVE_DATASET, the following property can be * optionally included in the Dataset: * * DATASET_DEST_ADDRESS */ THREAD_MGMT_GET_ACTIVE_DATASET = 5413, /** Format: `A(t(iD))` - Write only * * The formatting of this property follows the same rules as in THREAD_MGMT_GET_ACTIVE_DATASET. * * This is write-only property. When written, it triggers a MGMT_PENDING_GET meshcop command to be sent to leader * with the given Dataset. The spinel frame response should be a `LAST_STATUS` with the status of the transmission * of MGMT_PENDING_GET command. */ THREAD_MGMT_GET_PENDING_DATASET = 5414, /** Format: `6` - No direct read or write * * This property specifies the IPv6 destination when sending MGMT_GET command for either Active or Pending Dataset * if not provided, Leader ALOC address is used as default. * * It can only be included in one of the MGMT_GET Dataset properties: * * THREAD_MGMT_GET_ACTIVE_DATASET * THREAD_MGMT_GET_PENDING_DATASET */ DATASET_DEST_ADDRESS = 5415, /** Format: `A(t(iD))` - Read only - FTD build only * * This property allows hos