Changeset 3404


Ignore:
Timestamp:
Nov 1, 2012, 12:32:08 AM (2 years ago)
Author:
quozl
Message:

OLPC XO-4 - touchscreen rework for firmware 0.0.0.6, which contained new behaviours not previously advised by Neonode

Location:
cpu/arm/olpc
Files:
2 edited

Legend:

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

    r3401 r3404  
    1818create nn-os            \ open short test 
    1919create nn-fll           \ forced LED levels test 
    20 create nn-version       \ version display 
    2120create nn-watch         \ graphical signal tests 
    2221 
     
    2928d# 15 value xleds 
    3029d# 11 value yleds 
     30 
     310. 2value version# 
     32: get-version  ( -- version.d )  version#  ; 
     33 
     34: (.)'  ( version-segment.w -- )  (.) type  [char] . emit  ; 
     35 
     36: .version  ( version.d -- )  lwsplit (.)' (.)'  lwsplit (.)' (.)'  ; 
     37 
     38: show-version  ( -- ) 
     39   ." Neonode zForce Touch Driver firmware version "  version# .version  cr 
     40; 
    3141 
    3242\ XXX these are really platform-related, not touchscreen-related 
     
    4454[then] 
    4555 
    46 : x>x'  ( x -- x' )  screen-w swap -  ;  \ reverse x coordinate 
     56defer x>x'  ' noop to x>x' 
     57: (x>x')  ( x -- x' )  screen-w swap -  ;  \ reverse x coordinate 
     58: set-reverse-x  ['] (x>x') to x>x'  ; 
    4759 
    4860: set-gpios 
     
    5668 
    5769\ Neonode requested 250 ms 
    58 \ we observe for 0.0.0.5 
    59 \ less than 38 ms yields no response to reset, 
    60 \ 40 ms yields 100 ms overall version check, and 
    61 \ 45 ms yields 84 ms overall version check. 
    62 : reset  ( -- )  touch-rst-gpio# dup gpio-clr gpio-set  d# 50 ms  ; 
     70: reset  ( -- )  touch-rst-gpio# dup gpio-clr gpio-set  d# 250 ms  ; 
    6371: hold-reset  ( -- )  touch-rst-gpio# gpio-clr  ; 
    6472: no-data?  ( -- no-data? )  touch-int-gpio# gpio-pin@  ; 
     
    105113: read-boot-complete  ( -- )  h# 07 d# 0 anticipate  ; 
    106114 
     115: read-version 
     116   h# 1e h# 01 h# ee  3 bytes-out  h# 1e d# 100 anticipate 
     117   pbuf 2+ c@ h# 1e <> abort" bad response" 
     118   pbuf 9 + le-w@  pbuf 7 + le-w@ wljoin  pbuf 5 + le-w@ pbuf 3 + le-w@ wljoin 
     119   to version# 
     120; 
     121 
    107122: initialise  ( -- )  h# 01 h# 01 h# ee  3 bytes-out  h# 01 d# 20 anticipate  ; 
    108123 
     
    126141: configure  ( -- ) 
    127142   configure?  if 
     143      read-version 
     144      version# h# 6. d<  if  set-reverse-x  then 
    128145      initialise 
    129146      set-resolution 
     
    200217   loop 
    201218; 
    202  
    203  
    204  
    205 [ifdef] nn-version \ version display 
    206 : (.version)  ( addr -- ) 
    207    dup c@  over 1+ c@  bwjoin           ( addr version ) 
    208    (.) type 
    209 ; 
    210  
    211 : .version  ( -- ) 
    212    pbuf 3 +  3 0  do                    ( addr ) 
    213       (.version) 2+ 
    214       [char] . emit 
    215    loop                                 ( addr ) 
    216    (.version) drop                      ( ) 
    217 ; 
    218  
    219 : (version)  ( -- ) 
    220    h# 1e h# 01 h# ee  3 bytes-out 
    221    h# 1e d# 30 anticipate 
    222    pbuf 2+ c@ h# 1e <> abort" bad response" 
    223 ; 
    224  
    225 : test-version  ( -- ) 
    226    (version) 
    227    ." Neonode zForce Touch Driver firmware version " 
    228    .version 
    229    cr 
    230 ; 
    231  
    232 : get-version  ( -- version.d ) 
    233    (version) 
    234    pbuf 9 + le-w@  pbuf 7 + le-w@ wljoin  pbuf 5 + le-w@ pbuf 3 + le-w@ wljoin 
    235 ; 
    236  
    237 [then] 
    238219 
    239220 
     
    1004985: mb-smt  ( -- error? ) 
    1005986   open  0=  if  true exit  then 
    1006    test-version 
     987   show-version 
    1007988   close 
    1008989   false 
     
    10351016   diagnostic-mode?  if 
    10361017      0 to faults 
    1037       [ifdef] nn-version  test-version  [then] 
     1018      show-version 
    10381019      [ifdef] nn-os       test-os       [then] 
    10391020      [ifdef] nn-fss      test-fss      [then] 
  • cpu/arm/olpc/nnflash.fth

    r3402 r3404  
    1818: nn-up-to-date?  ( file$ -- flag ) 
    1919   2drop  h# 0000.0000.0000.0006.  \ FIXME: get version from file 
    20    get-touchscreen-version 
     20   get-touchscreen-version   \ 20ms first time, 270ms subsequent 
    2121   d<= 
    2222; 
Note: See TracChangeset for help on using the changeset viewer.