Author: wmb Date: 2009-12-18 17:47:33 +0100 (Fri, 18 Dec 2009) New Revision: 1635
Modified: cpu/x86/pc/olpc/via/cstate.fth Log: OLPC trac 9917 - Added warning to lid power off and lid-off / lid-on commands to disable / enable the lid shutdown function.
Modified: cpu/x86/pc/olpc/via/cstate.fth =================================================================== --- cpu/x86/pc/olpc/via/cstate.fth 2009-12-18 16:34:29 UTC (rev 1634) +++ cpu/x86/pc/olpc/via/cstate.fth 2009-12-18 16:47:33 UTC (rev 1635) @@ -32,11 +32,20 @@ false value lid-already-down? 0 value lid-down-time d# 10000 constant lid-shutdown-ms +d# 2000 constant lid-warning-ms +0 value lid-warned?
: ?lid-shutdown ( -- ) lid-down? if lid-already-down? if acpi-timer@ lid-down-time - d# 3580 / ( ms ) + + dup lid-warning-ms >= lid-warned? 0= and if + ." Lid switch is active - Powering off in 8 seconds" cr + ." Type lid-off to disable this function" cr + true to lid-warned? + then ( ms ) + lid-shutdown-ms >= if ." Powering off after 10 seconds of lid down" cr power-off @@ -47,12 +56,18 @@ then else false to lid-already-down? + false to lid-warned? then ;
+defer do-lid +: lid-on ( -- ) ['] ?lid-shutdown to do-lid ; +: lid-off ( -- ) ['] noop to do-lid ; +lid-on + defer do-idle ' noop to do-idle
-: safe-idle ( -- ) can-idle? if do-idle then ?lid-shutdown ; +: safe-idle ( -- ) can-idle? if do-idle then do-lid ; ' safe-idle to stdin-idle
alias c1-idle halt