-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed
Labels
Area: networkArea: NetworkingArea: Networking
Description
There is the consensus that we need some kind of duty cycling MAC layer within RIOT. Within this issue we can provide a collection of open topics and progression. Feel free to add open points, topics and PRs.
Overview and open PRs:
- nomac [merged -> net: added ng_nomac MAC implementation #2426]
- [ ] csma_mac (@jremmert-phytec-iot) [pr -> Initial import of csma_mac protocol #2467] - (currently outdated and based on depricated assumptions, will update soon) - lpm [pr -> saml21: add lpm implementation #3019, cpu/samd21: implement low power modes #2309,
drivers/ng_at86rf2xx: initial commit of refactoring #2650,~~ kinetis: Add LPM implementation #2605~~] - lwmac [pr -> Simple duty cycling 802.15.4 MAC protocol #3730]
Current Issues:
Message dispatching
When a node will be associated to an PAN-coordinator, the transmitting and receiving time is guided on the superframe architecture. That means there will be timespans, where the node can not send messages. Nevertheless, there will be incoming task-messages from upper-layer to the MAC layer task.
- Messages from upper layer (Low-prio)
- Messages from driver (isr-events) (High-prio)
- Messages from timer (High-prio)
There must be a mechanism that (i) keeps the message queue empty. (ii) Takes care of the current MAC-layer state (just try to send a new packet when the MAC layer handled the previous one).
Storing state variables for the MAC-layer state machine.
- Static variables: Problem when we have more than one MAC-layer
- Store them in the device-descriptor: The same device-descriptor may be used in different MAC-layer. How to choose the fitting variable set (at compile time)?
- ?
Open Topics:
- Move the packet assemble from IEEE 802.15.4 compatible device-drivers to the MAC-layer.
- Procedure to configure the MAC-layer and start device discovery and associate with PAN (some Auto-init procedure).
- Initialize capability information field according to the device capability [IEEE 802.15.4 , section 5.3.1.2].
- Notify upper layer about established link (associate successfull).
- Implement MAC commands (MLME management service) [IEEE 802.15.4 standard section 6.2]
- Scan
- Associate, Disassociated
- ...
- Implement TSCH MAC commands (MLME management service) [IEEE 802.15.4e standard section 6.2.0b]
- ...
Metadata
Metadata
Assignees
Labels
Area: networkArea: NetworkingArea: Networking