Author: titmuss
Date: Tue Nov  4 07:31:05 2008
New Revision: 3276

URL: http://svn.slimdevices.com?rev=3276&root=Jive&view=rev
Log:
Bug: 9876
Description: 
Add support for power management on jive during audio playback.


Modified:
    
7.3/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua

Modified: 
7.3/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
URL: 
http://svn.slimdevices.com/7.3/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua?rev=3276&root=Jive&r1=3275&r2=3276&view=diff
==============================================================================
--- 
7.3/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 (original)
+++ 
7.3/trunk/squeezeplay/src/squeezeplay_jive/share/applets/SqueezeboxJive/SqueezeboxJiveApplet.lua
 Tue Nov  4 07:31:05 2008
@@ -148,6 +148,10 @@
        -- register network active function
        jnt:registerNetworkActive(function(active)
                self:_wlanPowerSave(active)
+       end)
+
+       jnt:registerCpuActive(function(active)
+               self:_cpuPowerOverride(active)
        end)
 
        iconbar.iconWireless:addTimer(5000,  -- every 5 seconds
@@ -584,7 +588,7 @@
 
        if self.acpower then
                -- charging
-               self:_setCPUSpeed(true)
+               self:_cpuPowerSave(true)
 
                if self.audioVolume ~= nil then
                        log:info("Restore effect volume ", self.audioVolume)
@@ -616,7 +620,7 @@
                -- battery
 
                if state == "active" then
-                       self:_setCPUSpeed(true)
+                       self:_cpuPowerSave(true)
                        self:setBrightness()
 
                        if self.audioVolume ~= nil then
@@ -628,7 +632,7 @@
                        interval = settings.dimmedTimeout
 
                elseif state == "locked" then
-                       self:_setCPUSpeed(true)
+                       self:_cpuPowerSave(true)
                        self:setBrightness()
 
                        if self.audioVolume ~= nil then
@@ -641,14 +645,14 @@
                        interval = settings.dimmedTimeout
 
                elseif state == "dimmed" then
-                       self:_setCPUSpeed(true)
+                       self:_cpuPowerSave(true)
                        self:_setBrightness(true, 8, 0)
 
                        interval = settings.sleepTimeout
 
                else
                        self:_setBrightness(true, 0, 0)
-                       self:_setCPUSpeed(false)
+                       self:_cpuPowerSave(false)
 
                        if not self.audioVolume then
                                self.audioVolume = Sample:getEffectVolume()
@@ -696,7 +700,7 @@
        self.lockedTimer = Timer(5000,
                                 function()
                                         self:_setBrightness(true, 0, 0)
-                                        self:_setCPUSpeed(false)
+                                        self:_cpuPowerSave(false)
                                 end,
                                 true)
 
@@ -981,6 +985,20 @@
 end
 
 
+function _cpuPowerSave(self, active)
+       self.cpuActive = active
+
+       self:_setCPUSpeed(self.cpuActive or self.cpuOverride)
+end
+
+
+function _cpuPowerOverride(self, active)
+       self.cpuOverride = active
+
+       self:_setCPUSpeed(self.cpuActive or self.cpuOverride)
+end
+
+
 function _setCPUSpeed(self, fast)
        local filename = "/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed"
 
@@ -1023,14 +1041,12 @@
        -- disable PS mode when on ac power, or the network and device or
        -- both active. when battery powered only disable PS mode when the
        -- user is actively using the device.
-       if self.acpower or (self.networkActive and self.powerState == "active") 
then
+       if self.acpower or self.networkActive then
                self.wireless:powerSave(false)
                self._wlanPowerSaveTimer:stop()
        else
                self._wlanPowerSaveTimer:start()
        end
-
-       self.networkActive = active
 end
 
 
@@ -1132,7 +1148,7 @@
        self.suspendPopup = popup
 
        -- make sure the cpu is fast when we resume
-       self:_setCPUSpeed(true)
+       self:_cpuPowerSave(true)
 
        -- enable frame updates
        Framework:setUpdateScreen(true)

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

Reply via email to