Changeset 3504


Ignore:
Timestamp:
Dec 31, 2012, 11:43:11 AM (22 months ago)
Author:
quozl
Message:

OLPC XO-4 - touchscreen, change to version 0.0.0.9, which caused a few more timing changes, requiring some fixes to the driver.

Location:
cpu/arm/olpc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpu/arm/olpc/4.0/nn-version.fth

    r3437 r3504  
    11\ The Neonode touchscreen firmware 
    2 macro: NN_VERSION 0_0_0_8 
     2macro: NN_VERSION 0_0_0_9 
  • cpu/arm/olpc/nn-touchscreen.fth

    r3502 r3504  
    112112      dup get-msecs -  0<               ( id limit timeout? ) 
    113113   until                                ( id limit ) 
    114    2drop                                ( ) 
     114   drop                                 ( id ) 
     115   ." timeout waiting for " 2u.x cr     ( ) 
     116   r> rstrace >r 
     117   pbuf /pbuf erase 
     118; 
     119 
     120: ?id-abort  ( id $message -- ) 
     121   rot  pbuf 2+ c@  <>  if 
     122      pbuf plen cdump 
     123      r> rstrace >r 
     124      cr 
     125      $abort 
     126   else 
     127      2drop 
     128   then 
    115129; 
    116130 
     
    121135: flush-input  ( -- ) 
    122136   begin 
    123       0 0 anticipate 
    124       pbuf 2+ c@  h# 07 =  if  ?missing  then 
     137      in?  if 
     138         pbuf 2+ c@  h# 07 =  if  ?missing  then 
     139      then 
    125140      no-data? 
    126141   until 
     
    128143 
    129144: read-boot-complete  ( -- ) 
    130    0 pbuf 2+ c! 
    131    h# 07 d# 0 anticipate 
    132    pbuf 2+ c@ h# 07 <> abort" response other than boot complete" 
    133    ?missing 
    134 ; 
     145   in?  if 
     146      h# 07 " response other than boot complete" ?id-abort 
     147      ?missing 
     148   then 
     149; 
     150 
    135151 
    136152: read-version 
    137153   h# 1e h# 01 h# ee  3 bytes-out  h# 1e d# 100 anticipate 
    138    pbuf 2+ c@ h# 1e <> abort" response other than status" 
     154   h# 1e " response other than status" ?id-abort 
    139155   pbuf 9 + le-w@  pbuf 7 + le-w@ wljoin  pbuf 5 + le-w@ pbuf 3 + le-w@ wljoin 
    140156   to version# 
     
    152168 
    153169: deactivate  ( -- ) 
    154    h# 00 h# 01 h# ee  3 bytes-out  h# 00 d# 60 anticipate 
     170   h# 00 h# 01 h# ee  3 bytes-out  h# 00 d# 100 anticipate 
    155171; 
    156172 
    157173: deconfigure  ( -- ) 
    158    deactivate 
    159    true to configure? 
     174   configure?  0=  if 
     175      deactivate 
     176      true to configure? 
     177   then 
    160178; 
    161179 
     
    217235 
    218236: stream-poll?  ( -- false | x y buttons true ) 
    219    0 pbuf 2+ c! 
    220237   in?  if 
    221238      \ FIXME: only handles one subpacket 
     
    246263   6 0  do 
    247264      h# 40 h# 0 h# 0f 3 h# ee 5 bytes-out \ fss full level 
    248       0 pbuf 2+ c! 
    249265      h# 0f d# 130 anticipate 
    250266      pbuf 2+ c@ dup 0= abort" missing response after fixed signal strength" 
     
    406422: test-os-axis  ( axis -- ) 
    407423   h# 21 h# 02 h# ee  4 bytes-out 
    408    h# 21 d# 60 anticipate 
    409    pbuf 2+ c@ h# 21 <> abort" response other than open short" 
     424   h# 21 d# 100 anticipate 
     425   h# 21 " response other than open short" ?id-abort 
    410426 
    411427   pbuf d#  5 +                         ( addr ) 
     
    467483   d# 64 swap h# 0f h# 03 h# ee  5 bytes-out 
    468484   h# 0f d# 60 anticipate 
    469    pbuf 2+ c@ h# 0f <> abort" response other than fixed signal strength" 
     485   h# 0f " response other than fixed signal strength" ?id-abort 
    470486   8sp 
    471487   push-decimal 
     
    602618   h# 0d h# 02 h# ee  4 bytes-out 
    603619   h# 0d d# 200 anticipate 
    604    pbuf 2+ c@ h# 0d <> abort" response other than low signals" 
     620   h# 0d " response other than low signals" ?id-abort 
    605621 
    606622   8sp 
     
    10111027 
    10121028 
     1029: (lg-tooling)  test-os  test-fll  ; 
     1030 
    10131031: lg-tooling  ( -- error? ) 
    1014    open  if  test-os  test-fll  else  fault  then 
     1032   open  if 
     1033      ['] (lg-tooling)  catch  ?dup  if  .error  fault  then 
     1034   else 
     1035      fault 
     1036   then 
    10151037   faults 
    10161038   close 
     
    10191041: ir-pcb-smt  ( -- error? ) 
    10201042   hold-reset  connect 
    1021    open  if  test-os  else  fault  then 
     1043   open  if 
     1044      ['] test-os catch  ?dup  if  .error  fault  then 
     1045   else 
     1046      fault 
     1047   then 
    10221048   close 
    10231049   hold-reset  disconnect 
     
    10281054   hold-reset  connect 
    10291055   open  if 
    1030       test-fll 
    1031       faults 0=  if  test-adjacent-axes  then 
     1056      ['] test-fll  catch  ?dup  if  .error  fault  then 
     1057      faults 0=  if 
     1058         ['] test-adjacent-axes  catch  ?dup  if  .error  fault  then 
     1059      then 
    10321060   else 
    10331061      fault 
     
    10401068: mb-smt  ( -- error? ) 
    10411069   open  0=  if  true exit  then 
    1042    show-version 
     1070   ['] show-version  catch  ?dup  if  .error  fault  then 
    10431071   close 
    1044    false 
     1072   faults 
    10451073; 
    10461074 
    10471075: mb-assy  ( -- error? ) 
    10481076   open  0=  if true exit  then 
    1049    test-adjacent-axes 
     1077   ['] test-adjacent-axes  catch  ?dup  if  .error fault  then 
    10501078   close 
    10511079   faults 
Note: See TracChangeset for help on using the changeset viewer.