[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:53 UTC 2009


The following commit has been merged in the master branch:
commit f78a6d92cf8c6e3ae7b2f846a0d6206b4702abdd
Author: Michael 'Mickey' Lauer <mickey at vanille-media.de>
Date:   Fri Jan 9 20:43:18 2009 +0100

    ogsmd: [TI CALYPSO] resend the DSP command on every call setup.
    NOTE: I'm not convinced and there is no evidence that this is necessary,
    but I'm sick of discussing this over and over again, hence it goes in.
    This closes #253 for good.

diff --git a/ChangeLog b/ChangeLog
index abfeb9c..c0c467b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2009-01-09	Michael Lauer	<mlauer at vanille-media.de>
+
+	* [ogsmd] [TI CALYPSO] DSP command gets now resent before call setup.
+
 2009-01-07	Michael Lauer	<mlauer at vanille-media.de>
 
 	* [ogsmd] Implemented org.freesmartphone.GSM.Monitoring.* as stub
diff --git a/framework/subsystems/ogsmd/modems/ti_calypso/channel.py b/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
index f57bb87..eff17fb 100644
--- a/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
+++ b/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
@@ -71,6 +71,10 @@ AEC_NR_MAP = { \
     "none":             "0001",
     }
 
+def createDspCommand():
+    dspMode = config.getValue( "ogsmd", "ti_calypso_dsp_mode", "aec+nr" )
+    return "%N" + AEC_NR_MAP.get( dspMode, "aec+nr" )
+
 #=========================================================================#
 class CalypsoModemChannel( AbstractModemChannel ):
 #=========================================================================#
@@ -264,8 +268,7 @@ class UnsolicitedResponseChannel( CalypsoModemChannel ):
         else:
             c.append( "%SLEEP=4" ) # sleep mode: enable all
 
-        dspMode = config.getValue( "ogsmd", "ti_calypso_dsp_mode", "aec+nr" )
-        c.append( "%N" + AEC_NR_MAP.get( dspMode, "aec+nr" ) )
+        c.append( createDspCommand() )
 
         c = self._commands["sim"]
 
diff --git a/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py b/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
index 0daf2a7..dd2dcb9 100644
--- a/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
+++ b/framework/subsystems/ogsmd/modems/ti_calypso/unsolicited.py
@@ -9,7 +9,10 @@ GPLv2 or later
 
 __version__ = "0.8.3"
 
+from .channel import createDspCommand
+
 from framework.config import config
+from ogsmd.modems import currentModem
 from ogsmd.modems.abstract.unsolicited import AbstractUnsolicitedResponseDelegate
 from ogsmd.gsm import const
 from ogsmd.helpers import safesplit
@@ -66,7 +69,6 @@ class UnsolicitedResponseDelegate( AbstractUnsolicitedResponseDelegate ):
             gobject.source_remove( self.recampingTimeout )
         self.recampingTimeout = gobject.timeout_add_seconds( 60*60, self._reactivateDeepSleep )
 
-
     def _reactivateDeepSleep( self ):
         logger.info( "Reenabling deep sleep mode on TI Calypso (giving it another chance)" )
         self.lastStatus = "busy"
@@ -247,9 +249,13 @@ class UnsolicitedResponseDelegate( AbstractUnsolicitedResponseDelegate ):
             info.update( { "status": "outgoing" } )
         elif msgType == "3": # Sometimes setup is not sent?!
             info.update( { "status": info["direction"] } )
-        if msgType in ( "013689" ):
+        if msgType in "013689":
             self._callHandler.statusChangeFromNetwork( int(callId), info )
 
+        # DSP bandaid
+        if msgType in "34":
+            currentModem().channel( "MiscMediator" ).enqueue( createDspCommand() )
+
     # %CPRI: 1,2
     def percentCPRI( self, righthandside ):
         gsm, gprs = safesplit( righthandside, ',' )
diff --git a/framework/subsystems/testing/testing.py b/framework/subsystems/testing/testing.py
index 12b7440..e0af4d7 100644
--- a/framework/subsystems/testing/testing.py
+++ b/framework/subsystems/testing/testing.py
@@ -92,6 +92,16 @@ class Resource( resource.Resource ):
         d = {"foo":"bar"}
         dbus_ok( [d,d] )
 
+    @dbus.service.method( DBUS_INTERFACE, "", "",
+                          async_callbacks=( "dbus_ok", "dbus_error" ) )
+    def SignalTest( self, dbus_ok, dbus_error ):
+        self.Test( dict(yo="kurt") )
+        dbus_ok()
+
+    @dbus.service.signal( DBUS_INTERFACE, "a{sv}" )
+    def Test( self, asv ):
+        logger.info( "emitting signal" )
+
 #============================================================================#
 def factory(prefix, controller):
 #============================================================================#

-- 
FSO frameworkd Debian packaging



More information about the pkg-fso-commits mailing list