Changeset 3017


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

OLPC - libertas antenna switching test

File:
1 edited

Legend:

Unmodified
Added
Removed
  • dev/libertas.fth

    r2782 r3017  
    16731673; 
    16741674 
    1675 : get-rssi  ( -- ) 
     1675: get-rssi  ( -- avg_nf avg_snr nf snr ) 
    16761676   2 h# 1f ( CMD_802_11_RSSI ) prepare-cmd 
    1677    8 +xw                        \ Value used for exp averaging 
     1677   8 +xw \ number of beacons (N) to average the SNR and NF over 
    16781678   outbuf-wait  drop 
    1679    \ XXX What to do with the result? 
     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 */ 
     1684   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 ) 
     1689   r> drop 
     1690; 
     1691 
     1692: rf-antenna  ( antenna action -- ) 
     1693   swap >r >r 
     1694   4 h# 20 ( CMD_802_11_RF_ANTENNA ) prepare-cmd 
     1695   r> +xw 
     1696   r> +xw 
     1697   outbuf-wait  drop 
     1698; 
     1699 
     1700: set-antenna  ( rx tx -- ) 
     1701   2 ( ACT_SET_TX ) rf-antenna  ( rx ) 
     1702   1 ( ACT_SET_RX ) rf-antenna  ( ) 
     1703; 
     1704 
     1705: set-antenna-diversity  ( -- ) 
     1706   h# ffff 2 ( ACT_SET_TX ) rf-antenna 
     1707   d# 1000 ms 
     1708   h# ffff 1 ( ACT_SET_RX ) rf-antenna 
     1709; 
     1710 
     1711: get-antenna  ( -- rx tx ) 
     1712   h# 0 4 ( ACT_GET_RX ) rf-antenna  respbuf >fw-data 2+ le-w@  ( rx ) 
     1713   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 
    16801749; 
    16811750 
Note: See TracChangeset for help on using the changeset viewer.