mirror of
https://github.com/espressif/openthread.git
synced 2026-10-15 04:07:40 +00:00
[low-power] implement forward tracking series (#5608)
This commit implements the Forward Tracking Series feature in Link Metrics.
- Two new apis are added:
- otLinkMetricsSendMgmtRequestForwardTrackingSeries, which is used
to send an MLE Link Metrics Management Request
- otLinkMetricsSendLinkProbe, which is used to send an MLE Link Probe
- A new class LinkMetricsSeriesInfo is used to maintain the data of
one Series configured by a neighbor. This class inherits
LinkedListEntry and each Neighbor has a list of
LinkMetricsSeriesInfo. All LinkedListEntrys are allocated and freed
by a Pool in LinkMetrics.
- To specify SeriesFlags in cli command for Forward Tracking Series, a
similar approach with LinkMetricsFlags is used. Another character
flags is used to represent SeriesFlags.
- Whenever the node receives a frame (including ACK) from a neighbor,
it would call Neighbor::AggregateLinkMetrics which goes through each
LinkMetricsSeriesInfo entry in the neighbor's list and aggregate the
data if the frame type matches the entry.
- Two test scripts are added to test this function:
- v1_2_LowPower_7_2_01_ForwardTrackingSeries.py
- v1_2_LowPower_test_forward_tracking_series.py
This commit is contained in:
@@ -259,7 +259,9 @@ def create_default_mle_tlvs_factories():
|
||||
mle.TlvType.TIME_PARAMETER: mle.TimeParameterFactory(),
|
||||
mle.TlvType.THREAD_DISCOVERY: create_default_mle_tlv_thread_discovery_factory(),
|
||||
mle.TlvType.LINK_METRICS_QUERY: mle.LinkMetricsQueryFactory(),
|
||||
mle.TlvType.LINK_METRICS_MANAGEMENT: mle.LinkMetricsManagementFactory(),
|
||||
mle.TlvType.LINK_METRICS_REPORT: mle.LinkMetricsReportFactory(),
|
||||
mle.TlvType.LINK_PROBE: mle.LinkProbeFactory(),
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user