49 | | # wlan_exp v1.5 |
50 | | n.set_tx_rate_unicast(mcs=x, phy_mode='NONHT', curr_assoc=True, new_assoc=True) |
51 | | n_ap.set_tx_rate_multicast_data(mcs=x, phy_mode='NONHT') |
| 66 | # Select non-HT QPSK 1/2 rate for all DATA Tx |
| 67 | n.set_tx_rate_unicast(mcs=2, phy_mode='NONHT', curr_assoc=True, new_assoc=True) |
| 68 | n_ap.set_tx_rate_multicast_data(mcs=2, phy_mode='NONHT') |
| 69 | }}} |
| 106 | }}} |
| 107 | |
| 108 | === Other API Changes === |
| 109 | |
| 110 | The table below lists some other changes to the wlan_exp API. For complete wlan_exp documentation refer to the [//docs/mango-wlan-exp/index.html wlan_exp HTML docs]. |
| 111 | ||= Deprecated =||= Replacement =||= Docs Link =|| |
| 112 | || {{{n_ap.ap_configure(support_power_savings=bool)}}} || {{{n_ap.enable_DTIM_multicast_buffering(bool)}}} || [//docs/mango-wlan-exp/node_ap.html#wlan_exp.node_ap.WlanExpNodeAp.enable_DTIM_multicast_buffering docs] || |
| 113 | || {{{n_sta.sta_configure(bool}}} || {{{n_sta.enable_beacon_mac_time_update(bool)}}} || [//docs/mango-wlan-exp/node.html#wlan_exp.node.WlanExpNode.enable_beacon_mac_time_update docs] || |
| 114 | || {{{n_ibss.ibss_configure(bool}}} || {{{n_ibss.enable_beacon_mac_time_update(bool)}}} || [//docs/mango-wlan-exp/node.html#wlan_exp.node.WlanExpNode.enable_beacon_mac_time_update docs] || |
92 | | * AP support for STA power savings: deprecated {{{n_ap.ap_configure(support_power_savings=bool)}}}, use {{{n_ap.enable_DTIM_multicast_buffering(bool)}}} |
93 | | * STA/IBSS updating MAC time from beacon receptions: |
94 | | * Deprecated {{{n_sta.configure_sta(?)}}}, use {{{n_sta.enable_beacon_mac_time_update(bool)}}} |
95 | | * Deprecated {{{n_ibss.configure_ibss(?)}}}, use {{{n_ibss.enable_beacon_mac_time_update(bool)}}} |
| 121 | '''{{{phy_mode}}} Field''' |
| 122 | Starting in v1.5 the reference design supports both non-HT (11a) and HTMF (11n) waveforms. The Tx and Rx PHY can switch between PHY modes per-packet. The Tx/Rx log entries have a {{{phy_mode}}} field which encodes which mode was used for a given Tx/Rx event. The {{{NONHT}}} PHY mode (11a) has value {{{1}}}; the {{{HTMF}}} PHY mode (11n) has value {{{2}}}. |
| 124 | '''{{{mcs}}} Field''' |
| 125 | Previous releases defined a {{{rate}}} field in Tx and Rx entries. The {{{rate}}} value was an index into the array of 8 supported 11a rates. Starting in v1.5 the {{{rate}}} field is replaced by {{{mcs}}} and always records the MCS index of the Tx/Rx waveform. The {{{mcs}}} value must be combined with the {{{phy_mode}}} value to know what PHY rate and mode were used for a given Tx/Rx event. |
| 126 | |
| 127 | '''{{{pkt_type}}} Field''' |
| 128 | Previous releases defined a {{{pkt_type}}} field in Tx and Rx log entries. This field had values like {{{LTG}}} and {{{ACK}}}. The mapping of 802.11 packet types to {{{pkt_type}}} values was arbitrary, implemented in the reference C code. Starting in v1.5 the {{{pkt_type}}} field is a copy of the 1-byte {{{frame_control1}}} field from the packet's 802.11 header. This field encodes the type (Data, Management or Control) and sub-type (i.e. QoS Data, Protected Data; Probe Request, Beacon; RTS, ACK). The reference code does not modify the type/sub-type values recorded in the {{{pkt_type}}} log entries. |
| 129 | |
| 130 | '''{{{timestamp_frac}}} Field''' |
| 131 | Tx/Rx entries have always had a {{{timestamp}}} field which records the MAC Time in microseconds of each Tx/Rx event. Starting in v1.5 the MAC/PHY hardware also records a "fractional" timestamp for Tx/Rx events. By combining the {{{timestamp}}} and {{{timestamp_frac}}} values the timing of a Tx/Rx event can be resolved with sample-period accuracy. |
| 132 | |
| 133 | The fractional timestamp value records the value of the counter in the {{{wlan_mac_time_hw}}} core which defines the microsecond intervals for the MAC and System Times. This counter counts from 0 to 159 at 160MHz (i.e. 160 cycles @ 160MHz = 1 µsec). Thus the {{{timestamp_frac}}} field will have values in {{{[0, 1, ... 159]}}}. To translate this value into a fraction of a microsecond, divide the {{{timestamp_frac}}} value by 160. |
| 134 | |
| 135 | '''Renamed {{{TX}}} entry type to {{{TX_HIGH}}}''' |
| 136 | The {{{TX_HIGH}}} entry type (named {{{TX}}} in previous releases) records each packet which passes through a queue in the upper MAC framework. Each {{{TX_HIGH}}} entry will have 0 or more {{{TX_LOW}}} entries, depending on how the lower MAC handles the transmission event. |
| 137 | |