Lines Matching +full:cancel +full:- +full:in +full:- +full:progress
5 * Redistribution and use in source and binary forms, with or without
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
19 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
23 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37 * Spinel is a host-controller protocol designed to enable
38 * inter-operation over simple serial connections between general purpose
39 * device operating systems (OS) host and network co-processors (NCP) for
42 * ---------------------------------------------------------------------------
48 * - A header byte
49 * - A command (up to three bytes)
50 * - An optional command payload
52 * +---------+--------+-----+-------------+
53 * | Octets: | 1 | 1-3 | n |
54 * +---------+--------+-----+-------------+
56 * +---------+--------+-----+-------------+
58 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
65 * +---+---+---+---+---+---+---+---+
67 * +---+---+---+---+---+---+---+---+
71 * two (or "10" in binary). Any frame received with these bits set to
75 * By defining the first two bit in this way we can disambiguate between
96 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
98 * The command identifier is a 21-bit unsigned integer encoded in up to
100 * Depending on the semantics of the command in question, a payload MAY
101 * be included in the frame. The exact composition and length of the
104 * ---------------------------------------------------------------------------
108 * Data serialization for properties is performed using a light-weight
109 * data packing format which was loosely inspired by D-Bus. The format
113 * string-based data-type format has been designed so that the strings
119 * - Be lightweight and favor direct representation of values.
120 * - Use an easily readable and memorable format string.
121 * - Support lists and structures.
122 * - Allow properties to be appended to structures while maintaining
125 * Each primitive data-type has an ASCII character associated with it.
129 * - "C": A single unsigned byte.
130 * - "C6U": A single unsigned byte, followed by a 128-bit IPv6 address,
131 * followed by a zero-terminated UTF8 string.
132 * - "A(6)": An array of concatenated IPv6 addresses
134 * In each case, the data is represented exactly as described. For
137 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
141 * +----------+----------------------+---------------------------------+
143 * +----------+----------------------+---------------------------------+
146 * | "b" | DATATYPE_BOOL | Boolean value. Encoded in |
147 * | | | 8-bits as either 0x00 or 0x01. |
149 * | "C" | DATATYPE_UINT8 | Unsigned 8-bit integer. |
150 * | "c" | DATATYPE_INT8 | Signed 8-bit integer. |
151 * | "S" | DATATYPE_UINT16 | Unsigned 16-bit integer. |
152 * | "s" | DATATYPE_INT16 | Signed 16-bit integer. |
153 * | "L" | DATATYPE_UINT32 | Unsigned 32-bit integer. |
154 * | "l" | DATATYPE_INT32 | Signed 32-bit integer. |
157 * | "6" | DATATYPE_IPv6ADDR | IPv6 Address. (Big-endian) |
158 * | "E" | DATATYPE_EUI64 | EUI-64 Address. (Big-endian) |
159 * | "e" | DATATYPE_EUI48 | EUI-48 Address. (Big-endian) |
164 * | "U" | DATATYPE_UTF8 | Zero-terminated UTF8-encoded |
170 * +----------+----------------------+---------------------------------+
172 * All multi-byte values are little-endian unless explicitly stated
175 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
180 * usually have a value on the wire that is less than 127. However, in
183 * majority of instances, which can add up in terms of bandwidth.
186 * format in EXI, except that we limit the maximum value to the
193 * 1. The unsigned integer is broken up into _n_ 7-bit chunks and
196 * 2. Order the octets from least-significant to most-significant.
197 * (Little-endian)
201 * Where `n` is the smallest number of 7-bit chunks you can use to
210 * To decode the value, you collect the 7-bit chunks until you find an
213 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
219 * - "d" has the length of the data (in bytes) prepended to the data
221 * field is not included in the length.
222 * - "D" does not have a prepended length: the length of the data is
224 * "D" to not be the last type in a type in a type signature.
229 * in the rest of the buffer.
231 * In some cases we use "d" even if it is the last field in a type
233 * additional fields to the type signature if necessary in the future.
234 * This is usually the case with embedded structs, like in the scan
238 * datatype signature of "CLLD". In this case, it is pretty easy to
245 * where the last field (a zero-terminated UTF8 string) starts. But the
247 * exact length of the data blob-- allowing it to know where the start
250 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
256 * "d" type except that instead of being opaque, the fields in the
260 * For example, consider the type signature "Lt(ES)t(6C)". In this
273 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
278 * example, the type "A(6)" is simply a list of IPv6 addresses---one
279 * after the other. The type "A(6E)" likewise a concatenation of IPv6-
280 * address/EUI-64 pairs.
283 * by a structure ("t(...)"). This effectively prepends each item in
285 * performance or to allow additional fields to be added in the future
286 * in a backward compatible way. If there is a high certainty that
293 * ---------------------------------------------------------------------------
298 * differently in spinel.
303 * - Existing fields in the format of an already implemented spinel
306 * - New fields may be appended at the end of the format (or the end of
311 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
318 * - SPINEL_RCP_API_VERSION specifies the current spinel RCP API version.
319 * This number MUST be incremented anytime there is a change in any of RCP
322 * - SPINEL_MIN_HOST_SUPPORTED_RCP_API_VERSION specifies the minimum spinel
323 * RCP API Version which is supported by the host-side implementation.
327 * - On start, host implementation queries the RCP API version and accepts
330 * - Host implementation also queries the RCP about the minimum host RCP
336 * - New host spinel layer should work with an older RCP firmware, i.e., host
339 * - Existing fields in the format of an already implemented spinel
342 * - New fields must be appended to the end of the existing spinel format.
345 * fields. The host parses the spinel format based on the pre-fetched
347 * in runtime based on the otRadioCaps. Refer to PR4919 and PR5139.
352 * - Deprecated fields must not be removed from the spinel format and they
355 * - Adding new spinel properties.
369 * - If none of the above methods make the new functions work, increasing the
372 * ---------------------------------------------------------------------------
383 // ----------------------------------------------------------------------------
407 // ----------------------------------------------------------------------------
418 * the change is backward-compatible or not).
429 …* This number MUST increase when there is a non-compatible RCP spinel related change on host imple…
454 #define SPINEL_FRAME_MAX_COMMAND_PAYLOAD_SIZE (SPINEL_FRAME_MAX_SIZE - SPINEL_FRAME_MAX_COMMAND_HEA…
473 #define SPINEL_BIT_MASK(bit_index, field_bit_count) ((1 << ((field_bit_count)-1)) >> (bit_index))
475 #define SPINEL_BITS_PER_BYTE 8 // Number of bits in a byte
477 // ----------------------------------------------------------------------------
495 SPINEL_STATUS_IN_PROGRESS = 10, ///< This operation is in progress.
501 …SPINEL_STATUS_CMD_TOO_BIG = 16, ///< The command was too large to fit in the internal…
504 SPINEL_STATUS_ALREADY = 19, ///< The operation is already in progress.
550 /// No response in expecting time.
556 /// The node succeeds in commissioning and get the network credentials.
713 SPINEL_MAC_PROMISCUOUS_MODE_OFF = 0, ///< Normal MAC filtering is in place.
767 SPINEL_ADDRESS_CACHE_ENTRY_STATE_CACHED = 0, // Entry is cached and in-use.
770 …SPINEL_ADDRESS_CACHE_ENTRY_STATE_RETRY_QUERY = 3, // Entry is in retry mode (a prior query did not…
837 … SPINEL_SRP_CLIENT_ITEM_STATE_TO_REFRESH = 2, // Item to be refreshed (re-register to renew lease).
855 …SPINEL_SRP_CLIENT_ERROR_INVALID_ARGS = 8, // Invalid args (e.g., bad service name or TXT-DATA).
909 * No-Operation command (Host -> NCP)
922 * Reset NCP command (Host -> NCP)
943 * Get property value command (Host -> NCP)
952 * in the packed unsigned integer format `i`.
960 * Set property value command (Host -> NCP)
969 * The payload for this command is the property identifier encoded in the
983 * Insert value into property command (Host -> NCP)
989 * Instructs the NCP to insert the given value into a list-oriented
990 * property without removing other items in the list. The resulting order
991 * of items in the list is defined by the individual property being
994 * The payload for this command is the property identifier encoded in the
1015 * Remove value from property command (Host -> NCP)
1021 * Instructs the NCP to remove the given value from a list-oriented property,
1022 * without affecting other items in the list. The resulting order of items
1023 * in the list is defined by the individual property being operated on.
1027 * The payload for this command is the property identifier encoded in the
1047 * Property value notification command (NCP -> Host)
1053 * This command can be sent by the NCP in response to a previous command
1054 * from the host, or it can be sent by the NCP in an unsolicited fashion
1057 * The payload for this command is the property identifier encoded in the
1064 * Property value insertion notification command (NCP -> Host)
1070 * This command can be sent by the NCP in response to the
1071 * `CMD_PROP_VALUE_INSERT` command, or it can be sent by the NCP in an
1075 * The payload for this command is the property identifier encoded in the
1086 * The resulting order of items in the list is defined by the given
1092 * Property value removal notification command (NCP -> Host)
1098 * This command can be sent by the NCP in response to the
1099 * `CMD_PROP_VALUE_REMOVE` command, or it can be sent by the NCP in an
1105 * The payload for this command is the property identifier encoded in the
1106 * packed unsigned integer format described in followed by the value that
1116 * The resulting order of items in the list is defined by the given
1124 * Clear saved network settings command (Host -> NCP)
1128 * Erases all network credentials and state from non-volatile memory.
1130 * This operation affects non-volatile memory only. The current network
1131 * information stored in volatile memory is unaffected.
1147 * capability in `PROP_CAPS`.
1160 * Peek command (Host -> NCP)
1178 * Peek return command (NCP -> Host)
1193 * Poke command (Host -> NCP)
1335 * -------------|--------------------------------|------------------------
1336 * Core | 0x000 - 0x01F, 0x1000 - 0x11FF | Spinel core
1337 * PHY | 0x020 - 0x02F, 0x1200 - 0x12FF | Radio PHY layer
1338 * MAC | 0x030 - 0x03F, 0x1300 - 0x13FF | MAC layer
1339 * NET | 0x040 - 0x04F, 0x1400 - 0x14FF | Network
1340 * Thread | 0x050 - 0x05F, 0x1500 - 0x15FF | Thread
1341 * IPv6 | 0x060 - 0x06F, 0x1600 - 0x16FF | IPv6
1342 * Stream | 0x070 - 0x07F, 0x1700 - 0x17FF | Stream
1343 * MeshCop | 0x080 - 0x08F, 0x1800 - 0x18FF | Thread Mesh Commissioning
1344 * OpenThread | 0x1900 - 0x19FF | OpenThread specific
1345 * Server | 0x0A0 - 0x0AF | ALOC Service Server
1346 * RCP | 0x0B0 - 0x0FF | RCP specific
1347 * Interface | 0x100 - 0x1FF | Interface (e.g., UART)
1348 * PIB | 0x400 - 0x4FF | 802.15.4 PIB
1349 * Counter | 0x500 - 0x7FF | Counters (MAC, IP, etc).
1350 * RCP | 0x800 - 0x8FF | RCP specific property (extended)
1351 * Nest | 0x3BC0 - 0x3BFF | Nest (legacy)
1352 * Vendor | 0x3C00 - 0x3FFF | Vendor specific
1353 * Debug | 0x4000 - 0x43FF | Debug related
1354 * Experimental | 2,000,000 - 2,097,151 | Experimental use only
1359 /** Format: `i` - Read-only
1365 * pretty much any Host-to-NCP operation.
1374 /** Format: `ii` - Read-only
1389 /** Format: `U` - Read-only
1392 * the NCP. Encoded as a zero-terminated UTF-8 string.
1397 /** Format: 'i' - Read-only
1412 /** Format: 'i` - Read-only
1419 /** Format: 'A(i)` - Read-only
1429 /** Format: 'C` - Read-only
1438 /** Format: 'E` - Read-only
1461 * `HOST_POWER_STATE_DEEP_SLEEP`: The host is in a low power state
1465 * updates or non-critical messages on the debug stream. If the NCP
1475 * `HOST_POWER_STATE_LOW_POWER`: The host is in a low power state
1478 * updates or non-critical messages on the debug stream.
1491 * When the host is entering a low-power state, it should wait for the
1493 * Once that acknowledgment is received the host may enter the low-power
1498 * while the host indicates it is in a low-power state. After resuming to the
1501 * it was entering a low-power state.
1509 * This property specifies the desired power state of NCP's micro-controller
1512 * energy-saving power state).
1528 * `SPINEL_MCU_POWER_STATE_LOW_POWER`: NCP's MCU can enter low-power
1529 * (energy-saving) state. When the NCP's desired power state is set to
1552 * Type: Read-Only (Optionally Read-write using `CMD_PROP_VALUE_INSERT`)
1558 * * `U`: Human-readable GPIO name
1566 * +---+---+---+---+---+---+---+---+
1568 * +---+---+---+---+---+---+---+---+
1570 * +---+
1573 * * `PUP`: Pull-up enabled flag.
1575 * * Input: Pull-down enabled.
1576 * * Output: Output is an open-drain.
1590 * configuration of GPIOs which are already exposed---it cannot be used
1597 * Type: Read-Write
1618 * open-drain, setting the associated bit to 1 will cause the pin to
1619 * enter a Hi-Z state.
1621 * For GPIOs which are not specified in `PROP_GPIO_CONFIG`:
1632 /// GPIO State Set-Only Bitmask
1634 * Type: Write-Only
1641 * any bits for GPIOs which are not specified in `PROP_GPIO_CONFIG` MUST
1646 /// GPIO State Clear-Only Bitmask
1648 * Type: Write-Only
1655 * any bits for GPIOs which are not specified in `PROP_GPIO_CONFIG` MUST
1660 /// 32-bit random number from TRNG, ready-to-use.
1663 /// 16 random bytes from TRNG, ready-to-use.
1671 * Type: Read-Write (optional Insert-Remove)
1676 * In other words, the host may opt-out of unsolicited property updates
1679 * present in `PROP_UNSOL_UPDATE_LIST`. If such properties are added,
1686 * Type: Read-Only
1717 * First byte is the channel then the max transmit power, write-only.
1723 * The ascii representation of the ISO 3166 alpha-2 code.
1728 /** Format: `A(Csd)` - Insert/Set
1735 * `s`: Actual power in 0.01 dBm.
1741 /** Format: `t(Cs)` - Write only
1745 * `s`: Target power in 0.01 dBm.
1762 /** Format: `b` (Read-Only)
1775 * This parameter describes the threshold RSSI level (measured in
1783 * Units: Seconds (1-63)
1792 * Units: Seconds (1-63)
1804 /** Format: `X` (read-only)
1807 * module for monitoring/debugging purpose. It returns a 64-bit value where
1816 /** Format: `L` (read-only)
1822 * zero-duration Energy Scan is performed, collecting a single RSSI sample
1823 * per channel. The RSSI samples are compared with a pre-specified RSSI
1829 /** Format: `c` (read-only)
1836 * are above the threshold within (approximately) a pre-specified number
1842 /** Format: `L` (read-only)
1847 * The averaging sample window length (in units of number of channel
1856 /** Format: `L` (read-only)
1868 /** Format: `A(t(CU))` (read-only)
1887 /** Format: `i` (read-only)
1896 /** Format: t(LLLLLLLL)t(LLLLLLLLL)bL (Read-only)
1910 …* 'L': NumTxGrantDeactivatedDuringRequest (The number of tx requests that were in progress when …
1913 … * 'L': AvgTxRequestToGrantTime (The average time in usec from tx request to grant).
1922 …* 'L': NumRxGrantDeactivatedDuringRequest (The number of rx requests that were in progress when …
1925 … * 'L': AvgRxRequestToGrantTime (The average time in usec from rx request to grant).
1986 /** Format `Cct(ESSc)t(iCUdd)` - Asynchronous event only
1990 * format depends on the MAC and NET layer currently in use.
1998 * `S`: PAN-ID
2008 * in the future, so care should be taken to read the length
2049 * Normal MAC filtering is in place.
2061 /** Format: `Cc` - Asynchronous event only
2067 * `c`: RSSI (in dBm)
2074 * The (user-specified) data poll (802.15.4 MAC Data Request) period
2075 * in milliseconds. Value zero means there is no user-specified
2079 * If the value is non-zero, it specifies the maximum period between
2081 * request transmissions more frequently when expecting a control-message
2090 * When True, the radio is expected to stay in receive state during
2125 * `c`: Optional RSSI-override value. The value 127 indicates
2126 * that the RSSI-override feature is not enabled for this
2142 * Specified by Thread. Randomly-chosen, but non-volatile EUI-64.
2153 * the Frame Pending bit in the ACKs.
2208 * The maximum (user-specified) number of direct frame transmission retries.
2216 * The maximum (user-specified) number of indirect frame transmission retries.
2225 /** Format: `b` - Read only
2232 /** Format `b` - Read-write
2240 /** Format `b` - Read-write
2248 /** Format `C` - Read-write
2261 /** Format `U` - Read-write
2266 /** Format `D` - Read-write
2271 /** Format `D` - Read-write
2276 /** Format `L` - Read-write
2281 /** Format `L` - Read-write
2309 /** Format `L` - Read-write
2314 /** Format `D` - Read-write
2319 /** Format Empty - Write only
2331 /** Format `6` - Read only
2336 /** Format: `ESLccCCCCC` - Read only
2341 * `c`: Average RSS (in dBm)
2342 * `c`: Last RSSI (in dBm)
2343 * `C`: Link Quality In
2352 /** Format: [A(t(ESLLCCcCc)] - Read only
2358 * `L`: Timeout (in seconds)
2359 * `L`: Age (in seconds)
2361 * `C`: Link Quality In
2362 * `c`: Average RSS (in dBm)
2363 * `C`: Mode (bit-flags)
2364 * `c`: Last RSSI (in dBm)
2369 /** Format `C` - Read only
2371 * The router-id of the current leader.
2376 /** Format `C` - Read only
2383 /** Format `C` - Read only
2390 /** Format `D` - Read only
2395 /** Format `C` - Read only
2400 /** Format `D` - Read only
2405 /** Format `C` - Read only
2409 /// On-Mesh Prefixes
2415 * `C`: Prefix length in bits
2422 * `S`: The RLOC16 of the device that registered this on-mesh prefix entry.
2423 * This value is not used and ignored when adding an on-mesh prefix.
2429 /// Off-mesh routes
2435 * `C`: Prefix length in bits
2459 /** Format `b` - Read-write
2470 * TLV for this node. The meaning of the bits in this
2471 * bit-field are defined by section 4.5.2 of the Thread
2474 * The values `SPINEL_THREAD_MODE_*` defines the bit-fields
2486 * Used when operating in the Child role.
2534 * a re-attach process as an end-device.
2549 /** Format: `C` - Write only
2560 /** Format: `A(t(ESLCcCbLLc))` - Read only
2566 * `L`: Age (in seconds)
2567 * `C`: Link Quality In
2568 * `c`: Average RSS (in dBm)
2569 * `C`: Mode (bit-flags)
2573 * `c`: The last RSSI (in dBm)
2587 /** Format: `D` - Read only
2592 /** Format: `D` - Read only
2632 * This property defines the Joiner Flag value in the Discovery Request TLV.
2653 /** Format `E` - Write only
2660 * - All zeros to clear the steering data (indicating that
2662 * - All 0xFFs to set steering data/bloom filter to
2664 * - A specific EUI64 which is then added to current steering
2670 /** Format: `A(t(ESCCCCCCb)` - Read only
2679 * `C`: Link Quality In
2687 /** Format: `A(t(iD))` - Read-Write
2690 …* Operational Dataset that it has stored locally and the one currently in use by the partition to …
2694 * etc). Note that not all supported properties may be present (have a value) in a Dataset.
2701 * The following properties can be included in a Dataset list:
2717 /** Format: `A(t(iD))` - Read-Write
2721 … * The formatting of this property follows the same rules as in SPINEL_PROP_THREAD_ACTIVE_DATASET.
2723 …* In addition supported properties in SPINEL_PROP_THREAD_ACTIVE_DATASET, the following properties …
2724 * be included in the Pending Dataset:
2732 /** Format: `A(t(iD))` - Write only
2734 … * The formatting of this property follows the same rules as in SPINEL_PROP_THREAD_ACTIVE_DATASET.
2736 …* This is write-only property. When written, it triggers a MGMT_ACTIVE_SET meshcop command to be s…
2740 …* In addition to supported properties in SPINEL_PROP_THREAD_ACTIVE_DATASET, the following property…
2741 * included in the Dataset (to allow for custom raw TLVs):
2748 /** Format: `A(t(iD))` - Write only
2752 …* In addition to supported properties in SPINEL_PROP_THREAD_PENDING_DATASET, the following propert…
2760 /** Format: `X` - No direct read or write
2762 * It can only be included in one of the Dataset related properties below:
2774 /** Format: `X` - No direct read or write
2776 * It can only be included in one of the Pending Dataset properties:
2785 /** Format: `L` - No direct read or write
2787 …* Delay timer (in ms) specifies the time renaming until Thread devices overwrite the value in the …
2788 * Operational Dataset with the corresponding values in the Pending Operational Dataset.
2790 * It can only be included in one of the Pending Dataset properties:
2799 /** Format: `SD` - No direct read or write
2801 * It can only be included in one of the Dataset related properties below:
2811 * `S` : Key Rotation Time (in units of hour)
2812 * `C` : Security Policy Flags (as specified in Thread 1.1 Section 8.10.1.15)
2813 … * `C` : Optional Security Policy Flags extension (as specified in Thread 1.2 Section 8.10.1.15).
2819 /** Format: `D` - No direct read or write
2823 * It can only be included in one of the following Dataset properties:
2833 /** Format: `A(t(ESA(6)))` - Read only
2862 * `S`: Frame error rate (0 -> 0%, 0xffff -> 100%)
2863 * `S`: Message error rate (0 -> 0%, 0xffff -> 100%)
2864 * `c`: Average RSSI (in dBm)
2865 * `c`: Last RSSI (in dBm)
2882 * `b` : Indicates whether last transaction time and ML-EID are valid.
2884 * `6` : Mesh-local EID
2888 * `S` : Timeout in seconds
2889 * `S` : Retry delay (applicable if in query-retry state).
2907 /** Format: `A(t(iD))` - Write only
2909 …* The formatting of this property follows the same rules as in SPINEL_PROP_THREAD_MGMT_SET_ACTIVE_…
2910 …* property further allows the sender to not include a value associated with properties in formatti…
2911 …* i.e., it should accept either a `t(iD)` or a `t(i)` encoding (in both cases indicating that the …
2914 …* This is write-only property. When written, it triggers a MGMT_ACTIVE_GET meshcop command to be s…
2918 …* In addition to supported properties in SPINEL_PROP_THREAD_MGMT_SET_ACTIVE_DATASET, the following…
2919 * optionally included in the Dataset:
2926 /** Format: `A(t(iD))` - Write only
2928 …* The formatting of this property follows the same rules as in SPINEL_PROP_THREAD_MGMT_GET_ACTIVE_…
2930 …* This is write-only property. When written, it triggers a MGMT_PENDING_GET meshcop command to be …
2937 /** Format: `6` - No direct read or write
2942 * It can only be included in one of the MGMT_GET Dataset properties:
2950 /** Format: `A(t(iD))` - Read only - FTD build only
2956 * etc). Note that not all supported properties may be present (have a value) in a Dataset.
2961 * The following properties can be included in a Dataset list:
2980 * The CSL period in microseconds. Value of 0 indicates that CSL should be disabled.
2990 * The CSL timeout in seconds.
2998 * The CSL channel as described in chapter 4.6.5.1.2 of the Thread v1.2.0 Specification.
3005 /** Format `U` - Read-write
3014 /** Format: `6CC` - Write-Only
3020 * `C` : List of requested metric ids encoded as bit fields in single byte
3022 * +---------------+----+
3024 * +---------------+----+
3029 * +---------------+----+
3037 /** Format: `6Ct(A(t(CD)))` - Unsolicited notifications only
3047 * +---------------+----+----------------+
3049 * +---------------+----+----------------+
3054 * +---------------+----+----------------+
3059 /** Format `6CC` - Write only
3070 /// Link metrics Enhanced-ACK Based Probing management
3071 /** Format: 6Cd - Write only
3076 * `C` : Indicate whether to register or clear the probing. `0` - clear, `1` - register
3077 * `C` : List of requested metric ids encoded as bit fields in single byte
3079 * +---------------+----+
3081 * +---------------+----+
3085 * +---------------+----+
3090 * Whenever Enh-ACK IE report is received it is passed to the Host using the
3095 /// Link metrics Enhanced-ACK Based Probing IE report
3096 /** Format: SEA(t(CD)) - Unsolicited notifications only
3106 * +---------------+----+----------------+
3108 * +---------------+----+----------------+
3112 * +---------------+----+----------------+
3117 /** Format: 6CCC - Write only
3123 * `C` : Tracked frame types encoded as bit fields in single byte, if equal to zero,
3125 * `C` : Requested metric ids encoded as bit fields in single byte
3127 * +------------------+----+
3129 * +------------------+----+
3134 * +------------------+----+
3136 * +---------------+----+
3138 * +---------------+----+
3143 * +---------------+----+
3151 /** Format: 6C - Unsolicited notifications only
3161 /** Format `t(A(6))A(t(CD))` - Write-only
3169 * +----------------------------------------------------------------+
3172 * | Description: Timeout in seconds. If this optional parameter is |
3177 * +----------------------------------------------------------------+
3187 /** Format `CCt(A(6))` - Unsolicited notifications only
3200 /** Format: `A(C)` - Read-write
3213 /// Thread 1.2 Primary Backbone Router information in the Thread Network.
3214 /** Format: `SSLC` - Read-Only
3219 * `S`: Reregistration Delay (in seconds).
3220 * `L`: Multicast Listener Registration Timeout (in seconds).
3226 /** Format: `C` - Read-Write
3237 /** Format: SLC - Read-Write
3241 * `S`: Reregistration Delay (in seconds).
3242 * `L`: Multicast Listener Registration Timeout (in seconds).
3257 /** Format: `C` - Read-Write
3265 /// Thread Active Operational Dataset in raw TLVs format.
3266 /** Format: `D` - Read-Write
3269 …* Operational Dataset that it has stored locally and the one currently in use by the partition to …
3276 /// Thread Pending Operational Dataset in raw TLVs format.
3277 /** Format: `D` - Read-Write
3281 …* The formatting of this property follows the same rules as in SPINEL_PROP_THREAD_ACTIVE_DATASET_T…
3287 /// Send MGMT_SET Thread Pending Operational Dataset (in TLV format).
3288 /** Format: `D` - Write only
3290 …* This is write-only property. When written, it triggers a MGMT_PENDING_SET meshcop command to be …
3305 /// Wake-up Channel
3308 * The Wake-up sample channel. Channel value should be `0` (Set Wake-up Channel unspecified,
3309 * which means the device will use the PAN channel) or within the range [1, 10] (if 915-MHz
3318 /// Link-Local IPv6 Address
3319 /** Format: `6` - Read only
3324 /** Format: `6` - Read only
3329 /** Format: `6C` - Read-write
3346 * `C`: Network Prefix Length (in bits)
3352 /// IPv6 Route Table - Deprecated
3403 * fetch the value of this property. The stream provides human-readable debugging
3404 * output which may be displayed in the host logs.
3438 * `c` : Received Signal Strength (RSSI) in dBm - default is -128
3439 * `c` : Noise floor in dBm - default is -128
3441 * `d` : PHY-specific data/struct
3442 * `d` : Vendor-specific data/struct
3451 * The format of PHY-specific data for a Thread device contains the following
3456 * `X` : The timestamp in microseconds
3464 * `C` : Channel (for frame tx) - MUST be included.
3469 * `b` : Set to true to enable CSMA-CA for this packet, false otherwise.
3471 * `b` : Set to true to indicate if header is updated - related to
3472 * `mIsHeaderUpdated` in `otRadioFrame` (default false).
3473 * `b` : Set to true to indicate it is a retransmission - related to
3474 * `mIsARetx` in `otRadioFrame` (default false).
3476 * `mIsSecurityProcessed` in `otRadioFrame` (default false).
3477 * `L` : TX delay interval used for CSL - related to `mTxDelay` in
3479 * `L` : TX delay based time used for CSL - related to `mTxDelayBaseTime`
3480 * in `otRadioFrame` (default zero).
3482 * channel in metadata)
3543 * This property is a read-only streaming property which provides
3556 * `C`: Log level (as per definition in enumeration
3558 * `i`: OpenThread Log region (as per definition in enumeration
3572 /** Format `C` - Read Only
3582 /** Format `b` or `bU(UUUUU)` (fields in parenthesis are optional) - Write Only
3595 * - SPINEL_STATUS_JOIN_SUCCESS the join process succeeded.
3596 * - SPINEL_STATUS_JOIN_SECURITY the join process failed due to security credentials.
3597 * - SPINEL_STATUS_JOIN_NO_PEERS no joinable network was discovered.
3598 * - SPINEL_STATUS_JOIN_RSP_TIMEOUT if a response timed out.
3599 * - SPINEL_STATUS_JOIN_FAILURE join failure.
3629 /** Format `A(t(t(E|CX)UL))` - get, insert or remove.
3637 * - `t()` or empty struct indicates any joiner.
3638 * - `t(E)` specifies the Joiner EUI-64.
3639 …* - `t(CX) specifies Joiner Discerner, `C` is Discerner length (in bits), and `X` is Discerner …
3643 …: Timeout after which to remove Joiner (when written should be in seconds, when read is in millise…
3658 /** Format `S` - Read only
3665 /** Format `CX` - Read-write
3674 …* of computing SHA-256 over factory-assigned IEEE EUI-64. Note that this is the main behavior expe…
3680 …* `X` : The Joiner Discerner value (64-bit unsigned) - Only present/applicable when length is n…
3694 /** Format `LCS6` - Write only
3709 /** Format `LCSS6` - Write only
3728 /** Format `Ld` - Asynchronous event only
3743 /** Format `SL6` - Write only
3760 /** Format `SL` - Asynchronous event only
3775 /** Format `d` - Write only
3789 /** Format `d` - Write only
3803 /** Format: `UUd` - Write only
3807 …* Writing to this property allows user to generate PSKc from a given commissioning pass-phrase, ne…
3812 * `U` : The commissioning pass-phrase.
3828 /// Channel Manager - Channel Change New Channel
3829 /** Format: `C` (read-write)
3837 * A subsequent write to this property will cancel an ongoing
3842 /// Channel Manager - Channel Change Delay
3848 * This property specifies the delay (in seconds) to be used for
3852 * interval used by all sleepy-end-devices within the Thread
3884 …lManager` decides if the channel change would be helpful. This check can be skipped if in the input
3905 …* This property indicates if auto-channel-selection functionality is enabled/disabled on `ChannelM…
3918 * This property specifies the auto-channel-selection check interval (in seconds).
3923 /** Format: `Xc` - Read only
3927 * `X`: The Thread network time, in microseconds.
3933 /** Format: `S` - Read-Write
3937 * `S`: Time synchronization period, in seconds.
3942 /** Format: `S` - Read-Write
3946 * `S`: The XTAL accuracy threshold for Router, in PPM.
3951 /** Format: `S` - Read-Write
3956 … * The child supervision interval (in seconds). Zero indicates that child supervision is disabled.
3967 /** Format: `S` - Read-Write
3972 …* The child supervision check timeout interval (in seconds). Zero indicates supervision check on t…
3976 …* within the specified check timeout, it initiates a re-attach process by starting an MLE Child Up…
3983 // RCP (NCP in radio only mode) version
3984 /** Format `U` - Read only
3988 …* This property gives the version string of RCP (NCP in radio mode) which is being controlled by a…
3989 …* application. It is available only in "POSIX" platform (i.e., `OPENTHREAD_PLATFORM_POSIX` is enab…
3994 /** Format: `ESccCCCb` - Asynchronous event only
4011 /** Format `b` - Read-Write
4014 …* This property allows the host to enable/disable SLAAC module on NCP at run-time. When SLAAC modu…
4015 …* SLAAC addresses (based on on-mesh prefixes in Network Data) are added to the interface. When SLA…
4022 * Format `A(i)` - Read only
4030 /** Format: `A(t(ESA(t(iC))))` - Read only
4047 /** Format: `b(6Sb)` - Write only
4065 /** Format: `L` - Read/Write
4068 * The lease interval used in SRP update requests (in seconds).
4073 /** Format: `L` - Read/Write
4076 * The key lease interval used in SRP update requests (in seconds).
4081 /** Format: `UCt(A(6))` - Read only
4093 /** Format: `U` - Read/Write
4099 /** Format: `A(6)` - Read/Write
4105 /** Format: `A(t(UUSSSd))` - Read/Insert/Remove
4180 * `d` : The encoded TXT-DATA.
4185 /** Format `b` : Read-Write
4190 …* When enabled, SRP client will include KEY record in Service Description Instructions in the SRP …
4193 …* KEY record is optional in Service Description Instruction (it is required and always included in…
4204 /** Format `b` - Read-write
4251 /** Format: `i` (read-only)
4262 /** Format: `i` (read-only)
4291 * which is a little-endian 32-bit unsigned integer.
4348 /** Format: `L` (Read-only) */
4352 /** Format: `L` (Read-only) */
4356 /** Format: `L` (Read-only) */
4360 /** Format: `L` (Read-only) */
4364 /** Format: `L` (Read-only) */
4368 /** Format: `L` (Read-only) */
4372 /** Format: `L` (Read-only) */
4376 /** Format: `L` (Read-only) */
4380 /** Format: `L` (Read-only) */
4384 /** Format: `L` (Read-only) */
4388 /** Format: `L` (Read-only) */
4392 /** Format: `L` (Read-only) */
4396 /** Format: `L` (Read-only) */
4400 /** Format: `L` (Read-only) */
4404 /** Format: `L` (Read-only) */
4408 /** Format: `L` (Read-only) */
4412 /** Format: `L` (Read-only) */
4416 /** Format: `L` (Read-only) */
4420 /** Format: `L` (Read-only) */
4424 /** Format: `L` (Read-only) */
4428 /** Format: `L` (Read-only) */
4432 /** Format: `L` (Read-only) */
4436 /** Format: `L` (Read-only) */
4440 /** Format: `L` (Read-only) */
4444 /** Format: `L` (Read-only) */
4448 /** Format: `L` (Read-only) */
4452 /** Format: `L` (Read-only) */
4456 /** Format: `L` (Read-only) */
4460 /** Format: `L` (Read-only) */
4464 /** Format: `L` (Read-only) */
4468 /** Format: `L` (Read-only) */
4472 /** Format: `L` (Read-only) */
4476 /** Format: `L` (Read-only) */
4480 /** Format: `L` (Read-only) */
4484 /** Format: `L` (Read-only) */
4488 /** Format: `L` (Read-only) */
4492 /** Format: `L` (Read-only) */
4496 /** Format: `L` (Read-only) */
4500 /** Format: `L` (Read-only) */
4504 /** Format: `L` (Read-only) */
4508 /** Format: `L` (Read-only) */
4512 /** Format: `L` (Read-only) */
4516 /** Format: `L` (Read-only) */
4520 /** Format: `L` (Read-only) */
4524 /** Format: `L` (Read-only) */
4528 /** Format: `SSSSSSSSSSSSSSSS` (Read-only)
4529 * `S`, (TotalBuffers) The number of buffers in the pool.
4531 * `S`, (6loSendMessages) The number of messages in the 6lo send queue.
4532 * `S`, (6loSendBuffers) The number of buffers in the 6lo send queue.
4533 * `S`, (6loReassemblyMessages) The number of messages in the 6LoWPAN reassembly queue.
4534 * `S`, (6loReassemblyBuffers) The number of buffers in the 6LoWPAN reassembly queue.
4535 * `S`, (Ip6Messages) The number of messages in the IPv6 send queue.
4536 * `S`, (Ip6Buffers) The number of buffers in the IPv6 send queue.
4537 * `S`, (MplMessages) The number of messages in the MPL send queue.
4538 * `S`, (MplBuffers) The number of buffers in the MPL send queue.
4539 * `S`, (MleMessages) The number of messages in the MLE send queue.
4540 * `S`, (MleBuffers) The number of buffers in the MLE send queue.
4541 * `S`, (ArpMessages) The number of messages in the ARP send queue.
4542 * `S`, (ArpBuffers) The number of buffers in the ARP send queue.
4543 * `S`, (CoapMessages) The number of messages in the CoAP send queue.
4544 * `S`, (CoapBuffers) The number of buffers in the CoAP send queue.
4703 /** Format: `SEC` (Write-only).
4707 * `C`: List of requested metric ids encoded as bit fields in single byte
4709 * +---------------+----+
4711 * +---------------+----+
4716 * +---------------+----+
4718 * Enable/disable or update Enhanced-ACK Based Probing in radio for a specific Initiator.
4726 * The current CSL rx/tx scheduling drift, in units of ± ppm.
4734 * The current uncertainty, in units of 10 us, of the clock used for scheduling CSL operations.
4744 * Type: Read-Write
4746 * `C`: b[0-1] - Interface id.
4747 * b[7] - 1: Complete pending radio operation, 0: immediate(force) switch.
4749 * This feature gets or sets the radio interface to be used in multipan configuration
4767 * If the InfraIf hasn't been set up on NCP or the InfraIf changes, NCP will re-initialize
4769 * whether to re-initialize the border routing module. Otherwise, NCP will simply update the
4776 * Type: Write-only
4800 * Type: Read-Write
4808 * Type: Read-Write
4819 /** Format `C`: Write-only
4832 * Host uses this property to notify the NCP of the result of NCP's DNS-SD request.
4836 /// DNS-SD Host
4845 * NCP uses this property to register/unregister a DNS-SD host.
4849 /// DNS-SD Service
4856 * `t(A(U))` : Array of sub-type labels (can be empty array if no label).
4861 * `L` : The service TTL in seconds.
4865 * NCP uses this property to register/unregister a DNS-SD service.
4869 /// DNS-SD Key Record
4877 * `L` : The TTL in seconds.
4881 * NCP uses this property to register/unregister a DNS-SD key record.
4916 /** Format: 'b' (read-only)
4920 * boolean is returned in response.
4929 /** Format: Empty (read-only)
4938 /** Format: X (write-only)
4944 /// TREL Radio Link - test mode enable
4945 /** Format `b` (read-write)
4963 // ----------------------------------------------------------------------------
5002 // ----------------------------------------------------------------------------
5023 SPINEL_DATATYPE_UTF8_C = 'U', //!< Zero-Terminated UTF8-Encoded String
5047 #define SPINEL_DATATYPE_UTF8_S "U" //!< Zero-Terminated UTF8-Encoded String
5081 * @param[in] data_in A pointer to the data to parse.
5082 * @param[in] data_len The length of @p data_in in bytes.
5083 …* @param[in] pack_format C string that contains a format string follows the same specification o…
5084 * @param[in] ... Additional arguments depending on the format string @p pack_format.
5086 * @returns The parsed length in bytes.
5089 …* - This function expects composite data arguments of pointer to data type, while `spinel_da…
5090 …pects them of pointer to data type pointer. For example, if `SPINEL_DATATYPE_EUI64_C` is present in
5091 …* @p pack_format, this function expects a `spinel_eui64_t *` is included in variable argum…
5093 …* - For `SPINEL_DATATYPE_UTF8_C`, this function expects two arguments, the first of type `ch…
5094 …* second is of type `size_t` to indicate length of the provided buffer in the first argume…
5110 * @param[in] data_in A pointer to the data to parse.
5111 * @param[in] data_len The length of @p data_in in bytes.
5112 …* @param[in] pack_format C string that contains a format string follows the same specification o…
5113 * @param[in] args A value identifying a variable arguments list.
5115 * @returns The parsed length in bytes.
5118 …* - This function expects composite data arguments of pointer to data type, while `spinel_da…
5119 …pects them of pointer to data type pointer. For example, if `SPINEL_DATATYPE_EUI64_C` is present in
5120 …* @p pack_format, this function expects a `spinel_eui64_t *` is included in variable argum…
5122 …* - For `SPINEL_DATATYPE_UTF8_C`, this function expects two arguments, the first of type `ch…
5123 …* second is of type `size_t` to indicate length of the provided buffer in the first argume…
5141 // ----------------------------------------------------------------------------
5159 // ----------------------------------------------------------------------------