mirror of
https://github.com/espressif/openthread.git
synced 2026-06-06 05:24:51 +00:00
d43cb0d1ea
This commit introduces `CslNeighbor`, a subclass of `Neighbor` that also inherits from `IndirectSender::NeighborInfo` and `CslTxScheduler::NeighborInfo` to manage indirect transmission and CSL-specific information. The `Child` class now inherits from `CslNeighbor`, inheriting all CSL functionalities while adding extra child-specific information. The newly added `CslNeighbor` allows extending CSL functionality to devices in other roles, not just `Child` devices. The `CslTxScheduler` class is updated to use `CslNeighbor` as well (instead of `Child`), making it more general-purpose. `IndirectSender`, its sub-components, and `Mac` are updated to enable CSL on MTD builds when `OPENTHREAD_CONFIG_MAC_CSL_TRANSMITTER_ENABLE` is enabled. This restructuring provides a more flexible and scalable framework for implementing enhanced CSL functionality on new device types.