Changeset 3017


Ignore:
Timestamp:
Jun 27, 2012, 10:56:28 AM (3 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.