[openfirmware] [commit] r3360 - dev
repository service
svn at openfirmware.info
Thu Oct 11 08:03:46 CEST 2012
Author: quozl
Date: Thu Oct 11 08:03:46 2012
New Revision: 3360
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3360
Log:
OLPC WLAN driver - extend antenna testing to 8787
Modified:
dev/libertas.fth
Modified: dev/libertas.fth
==============================================================================
--- dev/libertas.fth Thu Oct 11 02:55:36 2012 (r3359)
+++ dev/libertas.fth Thu Oct 11 08:03:46 2012 (r3360)
@@ -651,7 +651,7 @@
dup h# 2 and if ." PS;" then
dup h# 8 and if ." EEPROM does not exit;" then
dup h# 30 and case
- h# 00 of ." TX antanna 0;" endof
+ h# 00 of ." TX antenna 0;" endof
h# 10 of ." TX antenna 1;" endof
( default ) ." TX diversity; "
endcase
@@ -792,6 +792,16 @@
respbuf >fw-data 4 + le-l@
;
+0 [if]
+: reg-access! ( n reg cmd -- )
+ 8 swap prepare-cmd
+ ACTION_SET +xw
+ ( n reg ) +xw
+ ( n ) +xl
+ outbuf-wait drop
+;
+[then]
+
: bbp-reg@ ( reg -- n )
1a ( CMD_BBP_REG_ACCESS ) reg-access@ h# ff and
;
@@ -801,6 +811,18 @@
: mac-reg@ ( reg -- n )
19 ( CMD_MAC_REG_ACCESS ) reg-access@
;
+0 [if]
+: bbp-reg! ( n reg -- )
+ 1a ( CMD_BBP_REG_ACCESS ) reg-access!
+;
+: rf-reg! ( n reg -- )
+ 1b ( CMD_RF_REG_ACCESS ) reg-access!
+;
+: mac-reg! ( n reg -- )
+ 19 ( CMD_MAC_REG_ACCESS ) reg-access!
+;
+[then]
+
: eeprom-l@ ( idx -- n )
a 59 ( CMD_EEPROM_ACCESS ) prepare-cmd
ACTION_GET +xw
@@ -2314,12 +2336,22 @@
." snr" 3 .r ." nf" 4 .r ( )
;
+: show-rssi ( -- )
+ get-rssi ( base avg_nf avg_snr nf snr )
+ ." now" .rssi ( base avg_nf avg_snr )
+ ." avg" .rssi ( base )
+;
+
: .antenna ( antenna -- )
dup h# ffff = if ." d" drop exit then \ diversity (default)
dup h# 100 = if ." ?" drop exit then \ occurs after 0/0
2 .r
;
+: show-antenna
+ get-antenna ." ant" .antenna
+;
+
: .rx-antenna ( antenna -- )
6 rshift
case
@@ -2340,18 +2372,32 @@
endcase
;
-: show-antenna ( -- )
- base @ ( base )
- get-rssi ( base avg_nf avg_snr nf snr )
- decimal
- ." now" .rssi ( base avg_nf avg_snr )
- ." avg" .rssi ( base )
- get-antenna ( base antenna )
- hex
- ." ant" .antenna ( base )
- ." rx " h# 3f bbp-reg@ .rx-antenna ( base )
- ." tx " h# 40 bbp-reg@ .tx-antenna ( base )
- base !
+: show-antenna-bbp ( -- )
+ ." rx " h# 3f bbp-reg@ .rx-antenna
+ ." tx " h# 40 bbp-reg@ .tx-antenna
+;
+
+0 value #antennae
+: ta-init ( -- )
+ get-hw-spec 0= if d# 16 + le-w@ to #antennae then
+ #antennae
+ case
+ d# 1 of ." keys: (a,s,q)" endof
+ d# 2 of ." keys: (0,1,2,3,d,a,s,q)" endof
+ endcase
+ cr
+;
+
+: ta-show ( -- )
+ base @ ( base )
+ decimal ( base )
+ show-rssi ( base )
+ #antennae d# 1 <> if ( base )
+ hex ( base )
+ show-antenna ( base )
+ show-antenna-bbp ( base )
+ then ( base )
+ base ! ( )
;
: ta-scan ( -- )
@@ -2360,20 +2406,37 @@
0= if drop .ssids cr then ( )
;
+: ta-n ( n -- )
+ #antennae d# 2 = if
+ ." antenna to" dup .
+ set-antenna cr
+ else
+ drop
+ then
+;
+
+: ta-d
+ #antennae d# 2 = if
+ ." diversity " set-antenna-diversity cr
+ then
+;
+
+: ta-a ." associate " close open drop ;
+
: test-antenna ( -- )
- ." keys: (0,1,2,3,d,a,s,q)" cr
+ ta-init
begin
- d# 100 ms show-antenna key? if
+ d# 100 ms ta-show key? if
cr key
case
h# 71 ( q ) of ." quit" exit endof
- h# 1b of exit endof
- h# 30 ( 0 ) of ." antenna to 0 " 0 set-antenna cr endof
- h# 31 ( 1 ) of ." antenna to 1 " 1 set-antenna cr endof
- h# 32 ( 2 ) of ." antenna to 2 " 2 set-antenna cr endof
- h# 33 ( 3 ) of ." antenna to 3 " 3 set-antenna cr endof
- h# 64 ( d ) of ." diversity " set-antenna-diversity cr endof
- h# 61 ( a ) of ." associate " close open drop endof
+ h# 1b of exit endof
+ h# 30 ( 0 ) of 0 ta-n endof
+ h# 31 ( 1 ) of 1 ta-n endof
+ h# 32 ( 2 ) of 2 ta-n endof
+ h# 33 ( 3 ) of 3 ta-n endof
+ h# 64 ( d ) of ta-d endof
+ h# 61 ( a ) of ta-a endof
h# 73 ( s ) of ta-scan endof
endcase
then
More information about the openfirmware
mailing list