Changes between Version 6 and Version 7 of 802.11/wlan_exp/app_notes/tutorial_token_mac/CPU_LOW


Ignore:
Timestamp:
Jul 9, 2015, 4:54:45 PM (9 years ago)
Author:
chunter
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • 802.11/wlan_exp/app_notes/tutorial_token_mac/CPU_LOW

    v6 v7  
    310310
    311311----
    312 The first substantive addition we will make to the NoMAC project is a function to deal with the IPC from CPU_HIGH that says we are now entering a new token reservation period for some given address and for some given duration of time. Add the following function to NoMAC:
     312The first substantive addition we will make to the NoMAC project is a function to deal with the IPC from CPU_HIGH that says we are now entering a new token reservation period for some given address and for some given duration of time. By definition, if this code is executing, it means that the node is acting as an AP. We made no modifications to the CPU_HIGH STA project to issue this IPC message. The behavior we want to implement is the following:
     313
     314* Check the address inside the payload of the new token reservation IPC message
     315  * If it matches the address programmed in the EEPROM of this board, we can conclude that this reservation period is for us (the AP). As such, we can simply call {{{wlan_mac_low_enable_new_mpdu_tx}}} to enable our own MPDU transmissions. We can additionally set the {{{reservation_ts_end}}} global variable with the timestamp of when this reservation period is to be terminated.
     316  * If the address does not match our address in the EEPROM, we know this reservation period is for some other STA on the network. We need to communicate with them and inform them that they now have the token and need to transmit. Specifically, we want to send a "token offer" message and wait for a "token response" from the STA confirming that it now has the token. If we do not hear a response, we can time out and immediately terminate this reservation period. To implement this behavior, we can use the [wiki:802.11/MAC/Support_HW#MACTxControllerA MAC Tx Controller A] HW peripheral as it has built in support for post-transmission timeouts.
     317
     318Here is an implementation of that behavior as a function that can be added to NoMAC:
    313319
    314320{{{