| ## MAC Properties {#prop-mac} |
| |
| ### PROP 48: PROP_MAC_SCAN_STATE {#prop-mac-scan-state} |
| * Type: Read-Write |
| * Packed-Encoding: `C` |
| * Unit: Enumeration |
| |
| Possible Values: |
| |
| * 0: `SCAN_STATE_IDLE` |
| * 1: `SCAN_STATE_BEACON` |
| * 2: `SCAN_STATE_ENERGY` |
| * 3: `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_DISOVER` 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. |
| |
| ### PROP 49: PROP_MAC_SCAN_MASK {#prop-mac-scan-mask} |
| * Type: Read-Write |
| * Packed-Encoding: `A(C)` |
| * Unit: List of channels to scan |
| |
| |
| ### PROP 50: PROP_MAC_SCAN_PERIOD {#prop-mac-scan-period} |
| * Type: Read-Write |
| * Packed-Encoding: `S` (uint16) |
| * Unit: milliseconds per channel |
| |
| ### PROP 51: PROP_MAC_SCAN_BEACON {#prop-mac-scan-beacon} |
| * Type: Read-Only-Stream |
| * Packed-Encoding: `Ccdd` (or `Cct(ESSc)t(iCUdd)`) |
| |
| Octets: | 1 | 1 | 2 | *n* | 2 | *n* |
| --------|----|------|---------|----------|---------|---------- |
| Fields: | CH | RSSI | MAC_LEN | MAC_DATA | NET_LEN | NET_DATA |
| |
| 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 shown below for convenience) |
| * `E`: Long address |
| * `S`: Short address |
| * `S`: PAN-ID |
| * `c`: LQI |
| * NET layer properties (Standard net layer shown below for convenience) |
| * `i`: Protocol Number |
| * `C`: Flags |
| * `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. |
| |
| ### PROP 52: PROP_MAC_15_4_LADDR {#prop-mac-15-4-laddr} |
| * Type: Read-Write |
| * Packed-Encoding: `E` |
| |
| The 802.15.4 long address of this node. |
| |
| This property is only present on NCPs which implement 802.15.4 |
| |
| ### PROP 53: PROP_MAC_15_4_SADDR {#prop-mac-15-4-saddr} |
| * Type: Read-Write |
| * Packed-Encoding: `S` |
| |
| The 802.15.4 short address of this node. |
| |
| This property is only present on NCPs which implement 802.15.4 |
| |
| ### PROP 54: PROP_MAC_15_4_PANID {#prop-mac-15-4-panid} |
| * Type: Read-Write |
| * Packed-Encoding: `S` |
| |
| The 802.15.4 PANID this node is associated with. |
| |
| This property is only present on NCPs which implement 802.15.4 |
| |
| ### PROP 55: PROP_MAC_RAW_STREAM_ENABLED {#prop-mac-raw-stream-enabled} |
| * Type: Read-Write |
| * Packed-Encoding: `b` |
| |
| Set to true to enable raw MAC frames to be emitted from `PROP_STREAM_RAW`. |
| See (#prop-stream-raw). |
| |
| ### PROP 56: PROP_MAC_PROMISCUOUS_MODE {#prop-mac-promiscuous-mode} |
| * Type: Read-Write |
| * Packed-Encoding: `C` |
| |
| Possible Values: |
| |
| Id | Name | Description |
| ---|-------------------------------|------------------ |
| 0 | `MAC_PROMISCUOUS_MODE_OFF` | Normal MAC filtering is in place. |
| 1 | `MAC_PROMISCUOUS_MODE_NETWORK`| All MAC packets matching network are passed up the stack. |
| 2 | `MAC_PROMISCUOUS_MODE_FULL` | All decoded MAC packets are passed up the stack. |
| |
| See (#prop-stream-raw). |
| |
| ### PROP 57: PROP_MAC_ENERGY_SCAN_RESULT {#prop-mac-escan-result} |
| * Type: Read-Only-Stream |
| * Packed-Encoding: `Cc` |
| |
| This property is emitted during energy scan operation |
| per scanned channel with following format: |
| |
| * `C`: Channel |
| * `c`: RSSI (in dBm) |
| |
| ### PROP 58: PROP_MAC_DATA_POLL_PERIOD {#prop-mac-data-poll-period |
| * Type: Read-Write |
| * Packed-Encoding: `L` |
| |
| 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). |
| |
| This property is only present on NCPs which implement 802.15.4. |
| |
| ### PROP 4864: PROP_MAC_WHITELIST {#prop-mac-whitelist} |
| * Type: Read-Write |
| * Packed-Encoding: `A(T(Ec))` |
| * Required capability: `CAP_MAC_WHITELIST` |
| |
| 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. |
| |
| ### PROP 4865: PROP_MAC_WHITELIST_ENABLED {#prop-mac-whitelist-enabled} |
| * Type: Read-Write |
| * Packed-Encoding: `b` |
| * Required capability: `CAP_MAC_WHITELIST` |
| |
| ### PROP 4867: SPINEL_PROP_MAC_SRC_MATCH_ENABLED {#prop-mac-src-match-enabled} |
| * Type: Write |
| * Packed-Encoding: `b` |
| |
| Set to true to enable radio source matching or false to disable it. This property |
| is only available if the `SPINEL_CAP_MAC_RAW` capability is present. The source match |
| functionality is used by radios when generating ACKs. The short and extended address |
| lists are used for settings the Frame Pending bit in the ACKs. |
| |
| ### PROP 4868: SPINEL_PROP_MAC_SRC_MATCH_SHORT_ADDRESSES {#prop-mac-src-match-short-addresses} |
| * Type: Write |
| * Packed-Encoding: `A(S)` |
| |
| Configures the list of short addresses used for source matching. This property |
| is only available if the `SPINEL_CAP_MAC_RAW` capability is present. |
| |
| Structure Parameters: |
| |
| * `S`: Short address for hardware generated ACKs |
| |
| ### PROP 4869: SPINEL_PROP_MAC_SRC_MATCH_EXTENDED_ADDRESSES {#prop-mac-src-match-extended-addresses} |
| * Type: Write |
| * Packed-Encoding: `A(E)` |
| |
| Configures the list of extended addresses used for source matching. This property |
| is only available if the `SPINEL_CAP_MAC_RAW` capability is present. |
| |
| Structure Parameters: |
| |
| * `E`: EUI64 address for hardware generated ACKs |
| |
| ### PROP 4870: PROP_MAC_BLACKLIST {#prop-mac-blacklist} |
| * Type: Read-Write |
| * Packed-Encoding: `A(T(E))` |
| * Required capability: `CAP_MAC_WHITELIST` |
| |
| Structure Parameters: |
| |
| * `E`: EUI64 address of node |
| |
| ### PROP 4871: PROP_MAC_BLACKLIST_ENABLED {#prop-mac-blacklist-enabled} |
| * Type: Read-Write |
| * Packed-Encoding: `b` |
| * Required capability: `CAP_MAC_WHITELIST` |
| |