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