Microchip® Advanced Software Framework

tstrConfAutoRate Struct Reference

Auto TX rate selection parameters passed to m2m_wifi_conf_auto_rate.

#include <m2m_types.h>

Data Fields

uint8 __PAD24__ [3]
 
tenuWlanTxRate enuArInitialRateSel
 
tenuWlanTxRate enuWlanTxRate
 
uint16 u16ArMaxRecoveryFailThreshold
 
uint16 u16ArMinRecoveryFailThreshold
 
uint8 u8ArEnoughTxThreshold
 
uint8 u8ArFailTxThreshold
 
uint8 u8ArSuccessTXThreshold
 

uint8 tstrConfAutoRate::__PAD24__[3]

Pad bytes for forcing 4-byte alignment

tenuWlanTxRate tstrConfAutoRate::enuArInitialRateSel

Configures the initial WLAN TX rate used right after association. This is the starting point for auto rate algorithm. The algorithm tunes the rate up or down based on the wireless medium condition if enuWlanTxRate is set to TX_RATE_AUTO. If enuWlanTxRate is set to any value other than TX_RATE_AUTO, then u8ArInitialRateSel is ignored.

By default WINC selects the best initial rate based on the receive signal level from the WLAN peer. For applications that favor range right after association, TX_RATE_LOWEST can bs used.

tenuWlanTxRate tstrConfAutoRate::enuWlanTxRate

The TX data rate selected as enumerated in tenuWlanTxRate Default is TX_RATE_AUTO.

WINC shall override the rate provided through this API if it not supported by the peer WLAN device (STA/AP). For instance, if the TX_RATE_MCS_0 is requested while the connection is to a BG only AP, WINC shall elect the nearest BG data rate to the requested rate. In this example, it will be TX_RATE_9.

uint16 tstrConfAutoRate::u16ArMaxRecoveryFailThreshold

To stabilize the TX rate and avoid oscillation, the algorithm will not attempt to push the rate up again after a failed attempt to push the rate up. An attempt to push the rate up is considered failed if the next rate suffers from very high retransmission. In this case, WINC will not attempt again until a duration of time is elapsed to keep the TX rate stable. The min duration is (u16ArMinRecoveryFailThreshold) seconds and doubles on every failed attempt. The doubling continues until the duration is (u16ArMaxRecoveryFailThreshold) max.

Increasing u16ArMaxRecoveryFailThreshold will cause the TX rate to be stable over a long period of time with fewer attempts to increase the data rate. However, increasing it to a very large value will deter the algorithm from attempting to increase the rate if, for instance, the wireless conditions before were better.

Default is 5 seconds.

uint16 tstrConfAutoRate::u16ArMinRecoveryFailThreshold

To stabilize the TX rate and avoid oscillation, the algorithm will not attempt to push the rate up again after a failed attempt to push the rate up. An attempt to push the rate up is considered failed if the next rate suffers from very high retransmission. In this case, WINC will not attempt again until a duration of time is elapsed to keep the TX rate stable. The min duration is (u16ArMinRecoveryFailThreshold) seconds and doubles on every failed attempt. The doubling continues until the duration is (u16ArMaxRecoveryFailThreshold) max.

Default is 1 second.

uint8 tstrConfAutoRate::u8ArEnoughTxThreshold

Configures the minimum number of transmitted packets per second for auto rate selection algorithm to start to make rate up or down decisions. Default is 10.

uint8 tstrConfAutoRate::u8ArFailTxThreshold

Configures the threshold for rate down. Rate goes down if number of WLAN TX retries is greater than (1/u8ArFailTxThreshold) of the number of packet transmitted within one second. This can be tuned to speed up or slow down the rate at which the algorithm moves the WLAN TX rate down. Default value is 3.

uint8 tstrConfAutoRate::u8ArSuccessTXThreshold

Configures the threshold for rate up. Rate goes up if number of WLAN TX retries is less than (1/u8ArSuccessTXThreshold) of the number of packet transmitted within one second. This can be tuned to speed up or slow down the rate at which the algorithm moves the WLAN TX rate up. Default value is 5.