Changeset 3504


Ignore:
Timestamp:
Dec 31, 2012, 10:43:11 AM (3 years 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.