Author: bklaas
Date: Mon May 24 13:32:22 2010
New Revision: 8806

URL: http://svn.slimdevices.com/jive?rev=8806&view=rev
Log:
 r39...@daddymac-520 (orig r8803):  bklaas | 2010-05-24 13:23:45 -0500
 Bug: 15663
 Description: also send WOL 5 minutes before snoozed alarm is set to refire
 
 r39...@daddymac-520 (orig r8804):  agrundman | 2010-05-24 14:00:43 -0500
 Fixed bug 15361, FLAC ARM asm patch
 r39...@daddymac-520 (orig r8805):  bklaas | 2010-05-24 15:24:32 -0500
 Fixed Bug: 16230
 Description: timeToAlarm after auto wakeup is the difference between the epoch 
seconds in the settings file and now, not just the epoch seconds.
 

Modified:
    7.6/trunk/   (props changed)
    
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/flac/flac-1.2.1/arm-asm.patch  
 (props changed)
    
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua

Propchange: 7.6/trunk/
------------------------------------------------------------------------------
--- svk:merge (original)
+++ svk:merge Mon May 24 13:32:22 2010
@@ -13,7 +13,7 @@
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/private-branches/fab4-skin:4552
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/private-branches/new-alsa:6567
 bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.4/trunk:8423
-bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/trunk:8789
+bbe22326-0783-4b3a-ac2b-7ab96b24c8d9:/7.5/trunk:8805
 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

Propchange: 
7.6/trunk/squeezeos/poky/meta-squeezeos/packages/flac/flac-1.2.1/arm-asm.patch
------------------------------------------------------------------------------
    svn:keywords = Id

Modified: 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua
URL: 
http://svn.slimdevices.com/jive/7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua?rev=8806&r1=8805&r2=8806&view=diff
==============================================================================
--- 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua
 (original)
+++ 
7.6/trunk/squeezeplay/src/squeezeplay/share/applets/AlarmSnooze/AlarmSnoozeApplet.lua
 Mon May 24 13:32:22 2010
@@ -45,8 +45,8 @@
        local timeToAlarm
        local startTimer = false
        if self.alarmNext then
-               if self:_inFuture() then
-                       timeToAlarm = self.alarmNext
+               timeToAlarm = self:_inFuture()
+               if timeToAlarm then
                        startTimer  = true
                else
                        timeToAlarm = 86400000
@@ -56,6 +56,7 @@
                -- as it will be set again whenever it is invoked by an 
self.alarmNext param
                timeToAlarm = 86400000
        end
+
        self.debugRTCTime = timeToAlarm
        self.debugWOLTime = 0
        self.RTCAlarmTimer = Timer(timeToAlarm,
@@ -89,13 +90,6 @@
                        log:warn('**** self.server:                 ', 
self.server)
                        if self.server then
                                log:warn('**** self.server.mac:                 
', self.server.mac)
-                       end
-                       if self.RTCAlarmTimer:isRunning() and self.debugRTCTime 
and self.debugRTCTime > 0 then
-                               local timeToAlarm = self.debugRTCTime / 1000
-                               log:warn('**** RTC time:       ', timeToAlarm)
-                               if self.debugRTCTime > 0 then   
-                                       self.debugRTCTime = self.debugRTCTime - 
1000
-                               end
                        end
                        if self.RTCAlarmTimer:isRunning() and self.debugRTCTime 
and self.debugRTCTime > 0 then
                                local timeToAlarm = self.debugRTCTime / 1000
@@ -631,7 +625,7 @@
 
 
 function _stopDecodeStatePoller(self)
-       if self.decodeStatePoller:isRunning() then
+       if self.decodeStatePoller and self.decodeStatePoller:isRunning() then
                log:warn('stopping decodeStatePoller')
                self.decodeStatePoller:stop()
        end
@@ -639,10 +633,12 @@
 
 
 function _startDecodeStatePoller(self)
-       if self.decodeStatePoller:isRunning() then
-               self.decodeStatePoller:restart()
-       else
-               self.decodeStatePoller:start()
+       if self.decodeStatePoller then
+               if self.decodeStatePoller:isRunning() then
+                       self.decodeStatePoller:restart()
+               else
+                       self.decodeStatePoller:start()
+               end
        end
 end
 
@@ -654,7 +650,7 @@
 
        local now = os.time()
        if self.alarmNext - now > 0 then
-               return true
+               return self.alarmNext - now
        end
        return false
 end
@@ -679,41 +675,56 @@
                self.debugRTCTime = interval
        else
                -- get msecs between now and requested alarm
-               -- add 10 secs for fallback timer to bias alarm toward server 
wakeup
-               local sleepMsecs = self:_deltaMsecs(self.alarmNext + 10);
-               log:warn('_startTimer: starting RTC fallback alarm timer (', 
sleepMsecs, ')')
-               self.RTCAlarmTimer:setInterval(sleepMsecs)
-               self.debugRTCTime = sleepMsecs
-
-               -- WOL timer is set when sleepMsecs is more than 5:00 away
-               local wolLeadTime = 1000 * 60 * 5 -- 5 minutes
-               if sleepMsecs > wolLeadTime then
-                       self.wakeOnLanTimer:setInterval(sleepMsecs - 
wolLeadTime)
-                       self.debugWOLTime = sleepMsecs - wolLeadTime
-                       if self.wakeOnLanTimer:isRunning() then
-                               self.wakeOnLanTimer:restart()
-                       else
-                               self.wakeOnLanTimer:start()
-                       end
-               -- if it's within 5 minutes, send a WOL packet as a best effort
-               elseif self.server then
-                       log:warn('SEND WOL NOW')
-                       self.server:wakeOnLan()
-               end
-       end
+               interval = self:_deltaMsecs(self.alarmNext)
+
+               -- add 20 secs for fallback timer to bias alarm toward server 
wakeup
+               local rtcSleepMsecs = interval + 20000
+
+               log:warn('_startTimer: starting RTC fallback alarm timer (', 
rtcSleepMsecs, ')')
+               self.RTCAlarmTimer:setInterval(rtcSleepMsecs)
+               self.debugRTCTime = rtcSleepMsecs
+
+               -- restart the WOL timer for 5 minutes, or immediately send WOL 
if alarm is within 5 mins
+               self:_wolTimerRestart(interval)
+
+       end
+
        self.RTCAlarmTimer:start()
 end
 
 
+function _wolTimerRestart(self, msecsToAlarm)
+       local wolLeadTime = 1000 * 60 * 5 -- 5 minutes
+       if msecsToAlarm > wolLeadTime then
+               self.wakeOnLanTimer:setInterval(msecsToAlarm - wolLeadTime)
+               self.debugWOLTime = msecsToAlarm - wolLeadTime
+               if self.wakeOnLanTimer:isRunning() then
+                       self.wakeOnLanTimer:restart()
+               else
+                       self.wakeOnLanTimer:start()
+               end
+       -- if it's within 5 minutes, send a WOL packet as a best effort
+       elseif self.server then
+               log:warn('SEND WOL NOW')
+               self.debugWOLTime = 0
+               self.server:wakeOnLan()
+       end     
+end
+
+
 function _alarmSnooze(self)
        
        log:warn('_alarmSnooze: alarmInProgress is ', self.alarmInProgress, ' : 
connection status is ', self.localPlayer:isConnected())
 
        self:_stopTimer()
 
+       log:warn('_alarmSnooze: fallback alarm snoozing for ', 
alarmSnoozeSeconds,'  + 20 seconds')
        local alarmSnoozeSeconds = self.localPlayer:getAlarmSnoozeSeconds()
-       log:warn('_alarmSnooze: fallback alarm snoozing for ', 
alarmSnoozeSeconds,'  + 20 seconds')
-       self:_startTimer(alarmSnoozeSeconds * 1000 + 20000 )
+       local fallbackAlarmMsecs = alarmSnoozeSeconds * 1000 + 20000 
+       self.debugRTCTime = fallbackAlarmMsecs
+
+       self:_startTimer(fallbackAlarmMsecs)
+       self:_wolTimerRestart(alarmSnoozeSeconds * 1000)
        
        if self.alarmInProgress == 'rtc' then
                log:warn('_alarmSnooze: stopping fallback alarm audio')

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

Reply via email to