[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82
Michael 'Mickey' Lauer
mickey at vanille-media.de
Mon Feb 2 18:51:35 UTC 2009
The following commit has been merged in the master branch:
commit 52584bf1802590902a9c52b3a1188ccab0ad6669
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date: Thu Dec 11 22:38:54 2008 +0100
ogsmd: [TI CALYPSO] Apply reinit commands with a delay after resuming.
This should give us a chance for draining the incoming buffers and lead
to a faster and more reliable resume due to an incoming call.
See the code comments for more details.
diff --git a/framework/subsystems/ogsmd/modems/ti_calypso/channel.py b/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
index 238f37d..a99b235 100644
--- a/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
+++ b/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
@@ -13,7 +13,7 @@ Module: channel
TI Calypso specific modem channels
"""
-__version__ = "0.9.9.1"
+__version__ = "0.9.9.2"
from framework.config import config
@@ -131,6 +131,27 @@ class CalypsoModemChannel( AbstractModemChannel ):
logger.debug( "Closing the modem..." )
self._modem.reinit()
+ #
+ # Do not send the reinit commands right after suspend, give us a bit time
+ # to drain the buffer queue, as we might have been waken from GSM
+ # FIXME At the end of the day, this is a workaround that tries to reduce
+ # the possibilities of unsolicited responses woven in solicited responses.
+ # We need to be crystal-clear here in realizing that this is a bandaid not
+ # only for a conceptual problem with the AT protocol, but also our imperfect
+ # AT lowlevel parser. If we would give the parser a list for every valid answer
+ # forevery request, we would be able to identify unsolicited responses woven
+ # in solicited reponses with much more confidence.
+ # Note to self: Remember this for the forthcoming reimplementation of ogsmsd in Vala :)
+ # :M:
+
+ def resume( self, ok_callback, error_callback ):
+ logger.debug( "TI Calypso specific resume handling... sending reinit in 5 seconds..." )
+ def done( request, response, self=self, ok_callback=ok_callback ):
+ return False # mainloop: don't call me again
+ # FIXME clean timer if we suspend again before having the commands sent
+ gobject.timeout_add_seconds( 10, self._sendCommandsNotifyDone, "resume", done )
+ ok_callback( self )
+
#=========================================================================#
class CallChannel( CalypsoModemChannel ):
#=========================================================================#
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list