K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-05T08:44:46.975961Z K 7 svn:log V 1143 Begin teaching sample about MCS stuff. The basic differences include: * the "goodness" function is based purely on the average tx time calculation. For 11bg and 11a, the "best" tx time for a given rate is roughly half of the previous rate. So the metric of "is the best rate tx time better than double the current rate tx time" doesn't work for MCS. * 2-stream MCS rates have slightly higher best TX times than one-stream rates. This commit begins to flesh out some more average tx time based calculations, but it allows MCS rate avg times to be slightly higher than the "best", as long as the MCS rate is larger. This is absolutely not correct - as higher MCS rate doesn't at all mean "better throughput" but it at least means it'll be considered. This now finds and settles on an MCS rate that's giving a low average tx time, rather than wildly oscillating all over the place. The problem now is that the average TX time calculation in update_stats() doesn't take into account the aggregate frame behaviour, so any successful subframe will mean the average TX time will stay quite low. I'll address this in a followup commit. END