Changeset 3018


Ignore:
Timestamp:
Jun 28, 2012, 10:51:30 AM (2 years ago)
Author:
quozl
Message:

OLPC - further work on libertas antenna test, #11976

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • dev/libertas.fth

    r3017 r3018  
    16751675: get-rssi  ( -- avg_nf avg_snr nf snr ) 
    16761676   2 h# 1f ( CMD_802_11_RSSI ) prepare-cmd 
    1677    8 +xw \ number of beacons (N) to average the SNR and NF over 
     1677   d# 32 +xw \ number of beacons (N) to average the SNR and NF over 
    16781678   outbuf-wait  drop 
    1679    \ cmd_ds_802_11_rssi, observed response 
    1680    \ __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 */ 
    16841679   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 
    16891684   r> drop 
    16901685; 
     
    17051700: set-antenna-diversity  ( -- ) 
    17061701   h# ffff 2 ( ACT_SET_TX ) rf-antenna 
    1707    d# 1000 ms 
    17081702   h# ffff 1 ( ACT_SET_RX ) rf-antenna 
    17091703; 
     
    17121706   h# 0 4 ( ACT_GET_RX ) rf-antenna  respbuf >fw-data 2+ le-w@  ( rx ) 
    17131707   h# 0 8 ( ACT_GET_TX ) rf-antenna  respbuf >fw-data 2+ le-w@  ( rx tx ) 
    1714 ; 
    1715  
    1716 : .antenna 
    1717    base @ decimal 
    1718    get-rssi 
    1719    ." snr:" 3 .r  ."  nf:" 3 .r  ."  avg_snr:" 3 .r  ."  avg_nf:" 3 .r 
    1720    hex 
    1721    get-antenna  swap  ."  rx:" 4 .r  ."  tx:" 4 .r 
    1722    ."     " 
    1723    base ! 
    1724 ; 
    1725  
    1726 : test-antenna 
    1727    ." keys: (0,1,2,l,r,d,q)" cr 
    1728    begin 
    1729       .antenna 
    1730       key? if 
    1731          cr 
    1732          .antenna 
    1733          key 
    1734          case 
    1735             h# 71 ( q )   of  cr exit  endof 
    1736             h# 1b ( esc ) of  cr exit  endof 
    1737             h# 30 ( 0 )   of  ." rx/tx to 0/0"  0 0          set-antenna  endof 
    1738             h# 31 ( 1 )   of  ." rx/tx to 1/1"  1 1          set-antenna  endof 
    1739             h# 32 ( 2 )   of  ." rx/tx to 2/2"  2 2          set-antenna  endof 
    1740             h# 6c ( l )   of  ." rx/tx to 1/2"  1 2          set-antenna  endof 
    1741             h# 72 ( r )   of  ." rx/tx to 2/1"  2 1          set-antenna  endof 
    1742             h# 64 ( d )   of  ." diversity"  cr h# ffff dup  set-antenna  endof 
    1743          endcase 
    1744       then 
    1745       d# 100 ms 
    1746       (cr 
    1747       false 
    1748    until 
    17491708; 
    17501709 
     
    22282187: scan-wifi  ( -- )  (scan-wifi) drop  ; 
    22292188 
     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 
    22302241: selftest  ( -- error? )  (scan-wifi)  ; 
    22312242 
  • ofw/wifi/wifi-cfg.fth

    r2533 r3018  
    118118; 
    119119 
     120: test-antenna  ( -- ) 
     121   " /wlan" open-dev >r                 ( r: dev ) 
     122   " test-antenna" r@ $call-method      ( r: dev ) 
     123   r> close-dev                         ( ) 
     124; 
    120125 
    1211260 [if] 
Note: See TracChangeset for help on using the changeset viewer.