[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