mirror of
https://github.com/espressif/openthread.git
synced 2026-08-18 08:29:52 +00:00
[ncp] add new spinel property SPINEL_PROP_MAC_CCA_FAILURE_RATE (#2500)
This commit adds new spinel property corresponding to the MAC CCA failure rate, and its get handler in `NcpBase`.
This commit is contained in:
committed by
Jonathan Hui
parent
39af476d70
commit
171c951eaf
@@ -202,3 +202,9 @@ Structure Parameters:
|
||||
* Packed-Encoding: `b`
|
||||
* Required capability: `CAP_MAC_WHITELIST`
|
||||
|
||||
### PROP 4873: PROP_MAC_CCA_FAILURE_RATE {#prop-mac-cca-failure-rate}
|
||||
* Type: Read Only
|
||||
* Packed-Encoding: `S`
|
||||
|
||||
This property provides the current CCA (Clear Channel Assessment) failure rate.
|
||||
Maximum value `0xffff` corresponding to 100% failure rate.
|
||||
|
||||
@@ -92,6 +92,7 @@ const NcpBase::PropertyHandlerEntry NcpBase::mGetPropertyHandlerTable[] =
|
||||
NCP_GET_PROP_HANDLER_ENTRY(MAC_SCAN_STATE),
|
||||
NCP_GET_PROP_HANDLER_ENTRY(MAC_SCAN_MASK),
|
||||
NCP_GET_PROP_HANDLER_ENTRY(MAC_SCAN_PERIOD),
|
||||
NCP_GET_PROP_HANDLER_ENTRY(MAC_CCA_FAILURE_RATE),
|
||||
#if OPENTHREAD_ENABLE_MAC_FILTER
|
||||
NCP_GET_PROP_HANDLER_ENTRY(MAC_BLACKLIST),
|
||||
NCP_GET_PROP_HANDLER_ENTRY(MAC_BLACKLIST_ENABLED),
|
||||
|
||||
@@ -428,6 +428,7 @@ protected:
|
||||
NCP_SET_PROP_HANDLER(MAC_SCAN_PERIOD);
|
||||
NCP_GET_PROP_HANDLER(MAC_SCAN_STATE);
|
||||
NCP_SET_PROP_HANDLER(MAC_SCAN_STATE);
|
||||
NCP_GET_PROP_HANDLER(MAC_CCA_FAILURE_RATE);
|
||||
#if OPENTHREAD_ENABLE_MAC_FILTER
|
||||
NCP_GET_PROP_HANDLER(MAC_WHITELIST_ENABLED);
|
||||
NCP_SET_PROP_HANDLER(MAC_WHITELIST_ENABLED);
|
||||
|
||||
@@ -1518,6 +1518,11 @@ exit:
|
||||
|
||||
#endif // OPENTHREAD_ENABLE_CHANNEL_MONITOR
|
||||
|
||||
otError NcpBase::GetPropertyHandler_MAC_CCA_FAILURE_RATE(void)
|
||||
{
|
||||
return mEncoder.WriteUint16(otLinkGetCcaFailureRate(mInstance));
|
||||
}
|
||||
|
||||
otError NcpBase::GetPropertyHandler_CNTR_TX_PKT_TOTAL(void)
|
||||
{
|
||||
return mEncoder.WriteUint32(otLinkGetCounters(mInstance)->mTxTotal);
|
||||
|
||||
@@ -1289,6 +1289,10 @@ spinel_prop_key_to_cstr(spinel_prop_key_t prop_key)
|
||||
ret = "PROP_MAC_FIXED_RSS";
|
||||
break;
|
||||
|
||||
case SPINEL_PROP_MAC_CCA_FAILURE_RATE:
|
||||
ret = "PROP_MAC_CCA_FAILURE_RATE";
|
||||
break;
|
||||
|
||||
case SPINEL_PROP_NET_SAVED:
|
||||
ret = "PROP_NET_SAVED";
|
||||
break;
|
||||
|
||||
+11
-1
@@ -845,7 +845,17 @@ typedef enum
|
||||
* * `E`: Optional EUI64 address of node. Set default RSS if not included.
|
||||
* * `c`: Fixed RSS. OT_MAC_FILTER_FIXED_RSS_OVERRIDE_DISABLED(127) means not set.
|
||||
*/
|
||||
SPINEL_PROP_MAC_FIXED_RSS = SPINEL_PROP_MAC_EXT__BEGIN + 8,
|
||||
SPINEL_PROP_MAC_FIXED_RSS = SPINEL_PROP_MAC_EXT__BEGIN + 8,
|
||||
|
||||
/// The CCA failure rate
|
||||
/** Format: `S`
|
||||
*
|
||||
* This property provides the current CCA (Clear Channel Assessment) failure rate.
|
||||
*
|
||||
* Maximum value `0xffff` corresponding to 100% failure rate.
|
||||
*
|
||||
*/
|
||||
SPINEL_PROP_MAC_CCA_FAILURE_RATE = SPINEL_PROP_MAC_EXT__BEGIN + 9,
|
||||
|
||||
SPINEL_PROP_MAC_EXT__END = 0x1400,
|
||||
|
||||
|
||||
Reference in New Issue
Block a user