Changeset 2702


Ignore:
Timestamp:
Nov 24, 2011, 7:38:35 AM (3 years ago)
Author:
quozl
Message:

OLPC XO-1.75 - automatic EC reflash, use chip icon, show progress bar, show battery icon with sad face if not enough power

Location:
cpu
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • cpu/arm/olpc/1.75/ecflash.fth

    r2502 r2702  
    102102         2dup load-base swap move    ( adr len ) 
    103103         free-mem                    ( ) 
    104          ['] ?enough-power catch  ?dup  if  ( error ) 
    105             .error 
    106             ." Skipping EC reflash" cr 
    107          else 
    108             ." Updating EC code" cr 
    109             reflash-ec 
    110          then 
     104         ." Updating EC code" cr 
     105         reflash-ec 
    111106      then 
    112107   then 
  • cpu/arm/olpc/1.75/edi.fth

    r2502 r2702  
    1515 
    1616d# 128 constant /flash-page 
     17defer edi-progress  ' drop to edi-progress  ( n -- ) 
    1718 
    1819: edi-cmd,adr  ( offset cmd -- )   \ Send command plus 3 address bytes 
     
    141142         over i +  over i +  edi-program-page  ( adr offset ) 
    142143      then                                     ( adr offset ) 
     144      i edi-progress                           ( adr offset ) 
    143145   /flash-page +loop                           ( adr offset ) 
    144146   2drop                                       ( ) 
  • cpu/arm/olpc/1.75/fw.bth

    r2692 r2702  
    515515   show-child 
    516516 
    517    update-ec-flash?  if  show-reflash  update-ec-flash  then 
     517   update-ec-flash?  if 
     518      ['] ?enough-power catch  ?dup  if  ( error ) 
     519         show-no-power 
     520         .error 
     521         ." Skipping EC reflash, not enough power" cr 
     522         d# 1000 ms 
     523      else 
     524         show-reflash 
     525         ['] show-reflash-dot to edi-progress 
     526         update-ec-flash 
     527      then 
     528   then 
    518529 
    519530   install-alarm 
  • cpu/x86/pc/olpc/gui.fth

    r2488 r2702  
    375375; 
    376376 
    377 : show-reflash ( -- )  \ bottom left corner, laptop and ellipsis 
    378    d# 0 d# 810 to icon-xy " int" show-icon 
    379    d# 450 d# 150 do i d# 844 to icon-xy " bigdot" show-icon d# 100 +loop 
    380 ; 
     377: show-no-power  ( -- )  \ chip, battery, overlaid sad face 
     378   d#  25 d# 772 to icon-xy " spi"     show-icon 
     379   d# 175 d# 772 to icon-xy " battery" show-icon 
     380   d# 175 d# 790 to icon-xy " sad"     show-icon 
     381; 
     382 
     383d# 834 value bar-y 
     384d# 150 value bar-x 
     3850 value dot-adr 
     386 
     387: read-dot  ( -- )  \ rom: is unavailable during reflash 
     388   0 to dot-adr  0 0 to icon-xy         ( ) 
     389   " darkdot" $get-image if exit then   ( ) 
     390   prep-565  4drop  to dot-adr          ( ) 
     391; 
     392 
     393: show-reflash  ( -- )  \ bottom left corner, chip and progress dots 
     394   d# 25 d# 772 to icon-xy " spi" show-icon 
     395   d# 992 bar-x + bar-y to icon-xy " yellowdot" show-icon 
     396   read-dot 
     397; 
     398 
     399: show-reflash-dot  ( n -- )  \ n to vary h# 0 to h# 8000 
     400   dup h# 400 mod 0=  if                   ( n ) 
     401      dot-adr 0=  if  drop exit  then      ( n ) 
     402      dot-adr swap h# 20 /  bar-x + bar-y  ( adr x y ) 
     403      image-width image-height             ( adr x y w h ) 
     404      " draw-transparent-rectangle" $call-screen 
     405   else 
     406      drop 
     407   then 
     408; 
     409 
     4100 [if] 
     411: test-reflash-dot 
     412   page show-reflash  t( h# 8000 0 do  i show-reflash-dot  h# 80 +loop )t 
     413; 
     414[then] 
    381415 
    382416: show-x  ( -- )  " x" show-icon  ; 
Note: See TracChangeset for help on using the changeset viewer.