[OpenBIOS] r508 - in dev: . olpc/touchpad
svn at openbios.org
svn at openbios.org
Wed Aug 1 05:13:15 CEST 2007
Author: wmb
Date: 2007-08-01 05:13:15 +0200 (Wed, 01 Aug 2007)
New Revision: 508
Modified:
dev/i8042.fth
dev/olpc/touchpad/touchpad.fth
Log:
PS2 drivers - Added debugging features to help in debugging
ESD-induced resets of the OLPC touchpad.
Modified: dev/i8042.fth
===================================================================
--- dev/i8042.fth 2007-08-01 03:11:46 UTC (rev 507)
+++ dev/i8042.fth 2007-08-01 03:13:15 UTC (rev 508)
@@ -19,6 +19,12 @@
1 " #address-cells" integer-property
0 " #size-cells" integer-property
+0 value debug?
+also forth definitions
+: debug-ps2 ( -- ) true to debug? ;
+: undebug-ps2 ( -- ) false to debug? ;
+previous definitions
+
hex
[ifndef] $=
@@ -97,7 +103,8 @@
headerless
: stat@ ( -- byte ) cmd-status-reg rb@ ;
-: data@ ( -- byte ) data-port rb@ ;
+: data@ ( -- byte ) data-port rb@ debug? if ." <" dup . then ;
+: data! ( byte -- ) debug? if ." >" dup . then data-port rb! ;
\ *** Following delay can be reduced after testing ***
@@ -144,14 +151,16 @@
;
headerless
-: put-ctlr-cmd ( cmd -- ) in-wait cmd-status-reg rb! ;
+: put-ctlr-cmd ( cmd -- )
+ in-wait debug? if ." ^" dup . then cmd-status-reg rb!
+;
headers
: put-data ( data -- )
port if
- lock[ h# d4 put-ctlr-cmd in-wait data-port rb! ]unlock
+ lock[ h# d4 put-ctlr-cmd in-wait data! ]unlock
else
- in-wait data-port rb!
+ in-wait data!
then
;
Modified: dev/olpc/touchpad/touchpad.fth
===================================================================
--- dev/olpc/touchpad/touchpad.fth 2007-08-01 03:11:46 UTC (rev 507)
+++ dev/olpc/touchpad/touchpad.fth 2007-08-01 03:13:15 UTC (rev 508)
@@ -236,6 +236,13 @@
h# cf of decode-pt true exit endof
h# ff of decode-gs true exit endof
\ h# eb of decode-simultaneous exit endof
+ h# aa of
+ 0 d# 28 at-xy red-screen white-letters
+ ." Unexpected touchpad reset"
+ white-screen black-letters
+ cr
+ start gs-only false exit
+ endof
( default )
\ If the high bit is set it means it's the first byte
\ of a packet. Abort if we don't recognize the type.
@@ -379,7 +386,11 @@
background
gs-only
begin
- begin pad? if track then key? until
+ begin
+ ['] pad? catch ?dup if .error close true exit then
+ if track then
+ key? until
+
key upc case
[char] P of
cursor-on
More information about the OpenBIOS
mailing list