Changeset 3018
- Timestamp:
- Jun 28, 2012 10:51:30 AM (11 months ago)
- Files:
-
- 2 edited
-
dev/libertas.fth (modified) (4 diffs)
-
ofw/wifi/wifi-cfg.fth (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
dev/libertas.fth
r3017 r3018 1675 1675 : get-rssi ( -- avg_nf avg_snr nf snr ) 1676 1676 2 h# 1f ( CMD_802_11_RSSI ) prepare-cmd 1677 8+xw \ number of beacons (N) to average the SNR and NF over1677 d# 32 +xw \ number of beacons (N) to average the SNR and NF over 1678 1678 outbuf-wait drop 1679 \ cmd_ds_802_11_rssi, observed response1680 \ __le16 snr; /* most recent SNR */1681 \ __le16 nf; /* most recent noise floor */1682 \ __le16 avg_snr; /* average SNR weighted by N from request */1683 \ __le16 avg_nf; /* average noise floor weighted by N from request */1684 1679 respbuf >fw-data >r 1685 r@ 6 + le-w@ ( avg_nf )1686 r@ 4 + le-w@ ( avg_nf avg_snr )1687 r@ 2 + le-w@ ( avg_nf avg_snr nf )1688 r@ le-w@ ( avg_nf avg_snr nf snr )1680 r@ 6 + le-w@ negate ( avg_nf ) \ dBm 1681 r@ 4 + le-w@ ( avg_nf avg_snr ) \ dB 1682 r@ 2 + le-w@ negate ( avg_nf avg_snr nf ) \ dBm 1683 r@ le-w@ ( avg_nf avg_snr nf snr ) \ dB 1689 1684 r> drop 1690 1685 ; … … 1705 1700 : set-antenna-diversity ( -- ) 1706 1701 h# ffff 2 ( ACT_SET_TX ) rf-antenna 1707 d# 1000 ms1708 1702 h# ffff 1 ( ACT_SET_RX ) rf-antenna 1709 1703 ; … … 1712 1706 h# 0 4 ( ACT_GET_RX ) rf-antenna respbuf >fw-data 2+ le-w@ ( rx ) 1713 1707 h# 0 8 ( ACT_GET_TX ) rf-antenna respbuf >fw-data 2+ le-w@ ( rx tx ) 1714 ;1715 1716 : .antenna1717 base @ decimal1718 get-rssi1719 ." snr:" 3 .r ." nf:" 3 .r ." avg_snr:" 3 .r ." avg_nf:" 3 .r1720 hex1721 get-antenna swap ." rx:" 4 .r ." tx:" 4 .r1722 ." "1723 base !1724 ;1725 1726 : test-antenna1727 ." keys: (0,1,2,l,r,d,q)" cr1728 begin1729 .antenna1730 key? if1731 cr1732 .antenna1733 key1734 case1735 h# 71 ( q ) of cr exit endof1736 h# 1b ( esc ) of cr exit endof1737 h# 30 ( 0 ) of ." rx/tx to 0/0" 0 0 set-antenna endof1738 h# 31 ( 1 ) of ." rx/tx to 1/1" 1 1 set-antenna endof1739 h# 32 ( 2 ) of ." rx/tx to 2/2" 2 2 set-antenna endof1740 h# 6c ( l ) of ." rx/tx to 1/2" 1 2 set-antenna endof1741 h# 72 ( r ) of ." rx/tx to 2/1" 2 1 set-antenna endof1742 h# 64 ( d ) of ." diversity" cr h# ffff dup set-antenna endof1743 endcase1744 then1745 d# 100 ms1746 (cr1747 false1748 until1749 1708 ; 1750 1709 … … 2228 2187 : scan-wifi ( -- ) (scan-wifi) drop ; 2229 2188 2189 : .rssi ( snr nf -- ) 2190 2dup swap + ." rssi" 4 .r ( snr nf ) 2191 ." snr" 3 .r ." nf" 4 .r ( ) 2192 ; 2193 2194 : .antenna ( antenna -- ) 2195 dup h# ffff = if ." d" drop exit then \ diversity (default) 2196 dup h# 100 = if ." ?" drop exit then \ occurs after 0/0 2197 2 .r 2198 ; 2199 2200 : show-antenna ( -- ) 2201 base @ ( base ) 2202 get-rssi ( base avg_nf avg_snr nf snr ) 2203 decimal 2204 ." now" .rssi ( base avg_nf avg_snr ) 2205 ." avg" .rssi ( base ) 2206 get-antenna swap ( base tx rx ) 2207 hex 2208 ." rx" .antenna ." tx" .antenna ( base ) 2209 ." " 2210 base ! 2211 ; 2212 2213 : ta-scan ( -- ) 2214 ." scan" cr 2215 (scan) ( adr len error? ) 2216 0= if drop .ssids cr then ( ) 2217 ; 2218 2219 : test-antenna ( -- ) 2220 ." keys: (0,1,2,l,r,d,a,s,q)" cr 2221 begin 2222 d# 100 ms show-antenna key? if 2223 cr show-antenna key 2224 case 2225 h# 71 ( q ) of cr exit endof 2226 h# 1b of cr exit endof 2227 h# 30 ( 0 ) of ." rx/tx to 0/0" 0 0 set-antenna endof 2228 h# 31 ( 1 ) of ." rx/tx to 1/1" 1 1 set-antenna endof 2229 h# 32 ( 2 ) of ." rx/tx to 2/2" 2 2 set-antenna endof 2230 h# 6c ( l ) of ." rx/tx to 1/2" 1 2 set-antenna endof 2231 h# 72 ( r ) of ." rx/tx to 2/1" 2 1 set-antenna endof 2232 h# 64 ( d ) of ." diversity" cr set-antenna-diversity endof 2233 h# 61 ( a ) of ." associate" cr close open drop endof 2234 h# 73 ( s ) of ta-scan endof 2235 endcase 2236 then 2237 (cr false 2238 until 2239 ; 2240 2230 2241 : selftest ( -- error? ) (scan-wifi) ; 2231 2242 -
ofw/wifi/wifi-cfg.fth
r2533 r3018 118 118 ; 119 119 120 : test-antenna ( -- ) 121 " /wlan" open-dev >r ( r: dev ) 122 " test-antenna" r@ $call-method ( r: dev ) 123 r> close-dev ( ) 124 ; 120 125 121 126 0 [if]
Note: See TracChangeset
for help on using the changeset viewer.
