Author: richard
Date: Tue May 12 04:02:28 2009
New Revision: 5723

URL: http://svn.slimdevices.com/jive?rev=5723&view=rev
Log:
 r5...@harrypotter (orig r5701):  richard | 2009-05-11 14:00:00 +0100
 Bug: 11921
 Description:
 Fix factory test power management settings, following a factory reset.
 
 
 r5...@harrypotter (orig r5703):  richard | 2009-05-11 15:29:26 +0100
 Bug: 10875
 Description:
 Fix clock screensaver so it always disappers on motion. A bug meant it was 
disappering only 50% 
 of the time.
 
 
 r5...@harrypotter (orig r5704):  richard | 2009-05-11 16:14:40 +0100
 Bug: 11956
 Description:
 Allow motion events to be sent from lua.
 
 
 r5...@harrypotter (orig r5705):  richard | 2009-05-11 16:15:24 +0100
 Bug: 11956
 Description:
 Send motion event when waking up to close screensaver.
 
 
 r5...@harrypotter (orig r5707):  richard | 2009-05-11 16:56:47 +0100
 Bug: 11989
 Description:
 The sleep timer only starts once the controller has left suspend mode, so if 
it takes a long time 
 to wake up it does not suspend immediately.
 
 
 r5...@harrypotter (orig r5708):  richard | 2009-05-11 17:26:32 +0100
 Bug: 11990
 Description:
 Don't allow power off when forced popups are shown.
 
 
 r5...@harrypotter (orig r5716):  richard | 2009-05-11 22:13:39 +0100
 Bug: 11980
 Description:
 Wake up from suspend every three hours to check the battery level, shutdown if 
it gets too low.
 
 
 r5...@harrypotter (orig r5717):  richard | 2009-05-11 22:14:35 +0100
 Bug: 11980
 Description:
 wake up in x seconds is no longer supported.
 
 
 r5...@harrypotter (orig r5718):  richard | 2009-05-11 22:16:04 +0100
 Bug: 11980
 Description:
 Suspend wake is no longer supported.
 
 

Modified:
    7.4/trunk/   (props changed)
    7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/suspend
    
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
    7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/arch/arm/plat-s3c24xx/pm.c
    7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/char/jive/jive_mgmt.c
    7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/rtc/rtc-s3c.c
    7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/video/logo/logo.c
    7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Clock/ClockApplet.lua
    7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c
    
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
    
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveMeta.lua

Propchange: 7.4/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Tue May 12 04:02:28 2009
@@ -3,7 +3,7 @@
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.1/trunk:2920
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.2/trunk:2921
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/private-branches/jive-refresh:3653
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:5649
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.3/trunk:5718
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/7.0:2013
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/SN:1083
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/branches/scrolling:1378

Modified: 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/suspend
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/suspend?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/suspend 
(original)
+++ 7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/files/suspend 
Tue May 12 04:02:28 2009
@@ -1,17 +1,4 @@
 #!/bin/sh
-
-
-# (Optional) number of seconds before wakeup
-SECONDS=$1
-
-if [ "x$SECONDS" != "x" ]
-then
-    NOW=`cat /sys/devices/platform/s3c2410-rtc/rtc\:rtc0/since_epoch`
-    WAKEAT=$(($NOW + $SECONDS))
-
-    /usr/bin/logger -s "Suspend wakeat $WAKEAT"
-    echo $WAKEAT > /sys/devices/platform/s3c2410-rtc/rtc\:rtc0/wakealarm
-fi
 
 /usr/bin/logger -s "suspending ..."
 

Modified: 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
 (original)
+++ 
7.4/trunk/squeezeos/poky/meta-squeezeos/packages/base-files/squeezeos-base-files_1.0.bb
 Tue May 12 04:02:28 2009
@@ -3,7 +3,7 @@
 PRIORITY = "required"
 LICENSE = "GPL"
 
-PR = "r32"
+PR = "r33"
 
 SRC_URI = " \
        file://85-mtd.rules \

Modified: 
7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/arch/arm/plat-s3c24xx/pm.c
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/arch/arm/plat-s3c24xx/pm.c?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/arch/arm/plat-s3c24xx/pm.c 
(original)
+++ 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/arch/arm/plat-s3c24xx/pm.c Tue 
May 12 04:02:28 2009
@@ -35,6 +35,7 @@
 #include <linux/ioport.h>
 #include <linux/delay.h>
 #include <linux/serial_core.h>
+#include <linux/bcd.h>
 
 #include <asm/cacheflush.h>
 #include <asm/hardware.h>
@@ -45,6 +46,7 @@
 #include <asm/arch/regs-gpio.h>
 #include <asm/arch/regs-mem.h>
 #include <asm/arch/regs-irq.h>
+#include <asm/arch/regs-rtc.h>
 
 #include <asm/mach/time.h>
 
@@ -118,6 +120,7 @@
        SAVE_ITEM(S3C2410_DCLKCON),
 };
 
+#define CONFIG_S3C2410_PM_DEBUG
 #ifdef CONFIG_S3C2410_PM_DEBUG
 
 #define SAVE_UART(va) \
@@ -612,8 +615,47 @@
        return 0;
 }
 
+
+extern void __iomem *s3c_rtc_base;
+extern bool jive_is_battery_flat(int *pbat);
+
+static int jive_pm_enter(suspend_state_t state)
+{
+       void __iomem *rtc_base = s3c_rtc_base;
+       unsigned int rtc_hour, alm_hour, alrm_en;
+       int rtc_wakeup, bat_lvl, bat_flat;
+
+       do {
+               /* set rtc alarm to wake up every three hours */
+               rtc_hour = readb(rtc_base + S3C2410_RTCHOUR);
+               BCD_TO_BIN(rtc_hour);
+
+               alm_hour = (rtc_hour + 3) % 12;
+               alrm_en = S3C2410_RTCALM_HOUREN | S3C2410_RTCALM_ALMEN;
+               DBG("rtc_hour=%d alm_hour=%d\n", rtc_hour, alm_hour);
+
+               writeb(BIN2BCD(alm_hour), rtc_base + S3C2410_ALMHOUR);
+               writeb(alrm_en, rtc_base + S3C2410_RTCALM);
+
+               /* suspend */
+               s3c2410_pm_enter(state);
+
+               /* woken by rtc? */
+               rtc_wakeup = (__raw_readl(S3C2410_SRCPND) == 0);
+
+               /* check battery */
+               bat_flat = jive_is_battery_flat(&bat_lvl);
+               DBG("battery flat=%d level=%d\n", bat_flat, bat_lvl);
+
+               if (bat_flat) {
+                       kernel_power_off();
+               }
+       } while (rtc_wakeup);
+}
+
+
 static struct pm_ops s3c2410_pm_ops = {
-       .enter          = s3c2410_pm_enter,
+       .enter          = jive_pm_enter,
        .valid          = pm_valid_only_mem,
 };
 

Modified: 
7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/char/jive/jive_mgmt.c
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/char/jive/jive_mgmt.c?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/char/jive/jive_mgmt.c 
(original)
+++ 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/char/jive/jive_mgmt.c 
Tue May 12 04:02:28 2009
@@ -634,7 +634,7 @@
 /* Called from logo.c to determine if the battery is flat during boot.
  * Note this is called before jive_mgmt_init.
  */
-bool jive_is_battery_flat(void) {
+bool jive_is_battery_flat(int *pbat) {
        int bat, nacpr;
 
        bat = get_battery();
@@ -647,6 +647,10 @@
 
        printk("battery flat? %s (level=%d nacpr=%d)\n", 
battery_flat?"yes":"no", bat, nacpr);
 
+       if (pbat) {
+               *pbat = bat;
+       }
+
        return battery_flat;
 }
 

Modified: 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/rtc/rtc-s3c.c
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/rtc/rtc-s3c.c?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/rtc/rtc-s3c.c 
(original)
+++ 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/rtc/rtc-s3c.c Tue May 
12 04:02:28 2009
@@ -36,7 +36,7 @@
 
 static struct resource *s3c_rtc_mem;
 
-static void __iomem *s3c_rtc_base;
+void __iomem *s3c_rtc_base;
 static int s3c_rtc_alarmno = NO_IRQ;
 static int s3c_rtc_tickno  = NO_IRQ;
 static int s3c_rtc_freq    = 1;

Modified: 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/video/logo/logo.c
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/video/logo/logo.c?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/video/logo/logo.c 
(original)
+++ 7.4/trunk/squeezeos/src/s3c2412/linux-2.6.22/drivers/video/logo/logo.c Tue 
May 12 04:02:28 2009
@@ -22,7 +22,7 @@
 #endif
 
 #ifdef CONFIG_LOGO_LOGITECH_CLUT224
-extern bool jive_is_battery_flat(void);
+extern bool jive_is_battery_flat(int *pbat);
 #endif
 
 extern const struct linux_logo logo_linux_mono;
@@ -108,7 +108,7 @@
 #endif
 #ifdef CONFIG_LOGO_LOGITECH_CLUT224
                {
-                       if (jive_is_battery_flat()) {
+                       if (jive_is_battery_flat(NULL)) {
                                logo = &logo_battery_clut224;
                        }
                        else {

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Clock/ClockApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Clock/ClockApplet.lua?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Clock/ClockApplet.lua 
(original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/share/applets/Clock/ClockApplet.lua 
Tue May 12 04:02:28 2009
@@ -116,7 +116,7 @@
 function Clock:__init()
        log:info("Init Clock")
 
-       obj = oo.rawnew(self)
+       local obj = oo.rawnew(self)
 
        obj.screen_width, obj.screen_height = Framework:getScreenSize()
 
@@ -126,7 +126,7 @@
 
        obj.window:addListener(EVENT_MOTION,
                function()
-                       obj.window:hide()
+                       obj.window:hide(Window.transitionNone)
                        return EVENT_CONSUME
                end)
 

Modified: 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c (original)
+++ 7.4/trunk/squeezeplay/src/squeezeplay/src/ui/jive_event.c Tue May 12 
04:02:28 2009
@@ -68,6 +68,12 @@
                case JIVE_EVENT_MOUSE_DRAG:
                        event->u.mouse.x = lua_tointeger(L, 3);
                        event->u.mouse.y = lua_tointeger(L, 4);
+                       break;
+
+               case JIVE_EVENT_MOTION:
+                       event->u.motion.x = lua_tointeger(L, 3);
+                       event->u.motion.y = lua_tointeger(L, 4);
+                       event->u.motion.z = lua_tointeger(L, 5);
                        break;
        
                default:

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 Tue May 12 04:02:28 2009
@@ -19,6 +19,7 @@
 local Sample                 = require("squeezeplay.sample")
 local Checkbox               = require("jive.ui.Checkbox")
 local Choice                 = require("jive.ui.Choice")
+local Event                  = require("jive.ui.Event")
 local Font                   = require("jive.ui.Font")
 local Framework              = require("jive.ui.Framework")
 local Group                  = require("jive.ui.Group")
@@ -238,7 +239,7 @@
                                return EVENT_CONSUME
                        end
                        return EVENT_UNUSED
-               end)
+               end, 1)
 
        Framework:addActionListener("soft_reset", self, _softResetAction, true)
 
@@ -979,7 +980,7 @@
 
        local settings = self:getSettings()
 
-       local sleepOptions = { 10, 30, 60 }
+       local sleepOptions = { 10, 30, 60, 120 }
        local sleepIndex
        for i, v in ipairs(sleepOptions) do
                if v == (settings.sleepTimeout / 1000) then
@@ -988,7 +989,7 @@
                end
        end
 
-       local suspendOptions = { 10, 20, 30, 60, 600, 3600 }
+       local suspendOptions = { 10, 30, 60, 600, 1200, 2400, 3600 }
        local suspendIndex
        for i, v in ipairs(suspendOptions) do
                if v == (settings.suspendWhenPlayingTimeout / 1000) then
@@ -1035,17 +1036,6 @@
                              )
                },
                {
-                       text = "Suspend Wake", 
-                       icon = Checkbox(
-                                     "checkbox", 
-                                     function(obj, isSelected)
-                                             settings.suspendWake = isSelected 
and 30 or nil
-                                             log:info("suspendWake=", 
settings.suspendWake)
-                                     end,
-                                     settings.suspendWake ~= nil
-                             )
-               },
-               {
                        text = self:string("WLAN_POWER_SAVE"), 
                        icon = Checkbox(
                                      "checkbox", 
@@ -1161,7 +1151,6 @@
        local zeroconf = status.ip_address and string.match(status.ip_address, 
"^169.254.") ~= nil
 
        local settings = self:getSettings()
-       local wakeAfter = settings.suspendWake and settings.suspendWake or ""
 
        -- start timer to resume this task every second
        self.suspendPopup:addTimer(1000,
@@ -1186,13 +1175,16 @@
        until not connected
 
        -- suspend
-       os.execute("/etc/init.d/suspend " .. wakeAfter)
+       os.execute("/etc/init.d/suspend")
 
        -- wake up power state
-       self:wakeup()
+       self:wakeup('motion')
 
        while true do
                local status = self.wireless:t_wpaStatus()
+
+               -- wake up
+               self:wakeup('motion')
 
                -- network connected?
                if status then
@@ -1212,11 +1204,11 @@
                                jnt:notify("networkConnected")
                        end
 
+                       -- simulate motion to kill (some) screensavers
+                       Framework:pushEvent(Event:new(EVENT_MOTION, 0, 0, 0))
+
                        -- close popup
                        self.suspendPopup:hide()
-
-                       -- wake up
-                       self:wakeup()
 
                        self.suspendPopup = nil
                        self.suspendTask = nil

Modified: 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveMeta.lua
URL: 
http://svn.slimdevices.com/jive/7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveMeta.lua?rev=5723&r1=5722&r2=5723&view=diff
==============================================================================
--- 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveMeta.lua
 (original)
+++ 
7.4/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveMeta.lua
 Tue May 12 04:02:28 2009
@@ -26,7 +26,6 @@
                suspendWhenPlayingTimeout = 2400000, -- 40 minutes
                suspendWhenStoppedTimeout = 1200000, -- 20 minutes
                suspendEnabled  = true,
-               suspendWake     = nil,
                dimmedAC        = false,
                wlanPSEnabled   = true,
        }

_______________________________________________
Jive-checkins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/jive-checkins

Reply via email to