[pkg-fso-commits] [SCM] FSO frameworkd Debian packaging branch, master, updated. milestone4-368-g700ab82
Daniel Willmann
daniel at totalueberwachung.de
Mon Feb 2 18:51:28 UTC 2009
The following commit has been merged in the master branch:
commit 04f3bb86e4efa5a615a6a49a1ad2912d11898177
Author: Daniel Willmann <daniel at totalueberwachung.de>
Date: Sat Nov 29 11:18:27 2008 +0100
ogsmd: Add modem for Option UMTS cards
diff --git a/framework/subsystems/ogsmd/device.py b/framework/subsystems/ogsmd/device.py
index 405cc9c..ebdbc64 100644
--- a/framework/subsystems/ogsmd/device.py
+++ b/framework/subsystems/ogsmd/device.py
@@ -89,6 +89,10 @@ class Device( resource.Resource ):
from modems.sierra.modem import Sierra as Modem
global mediator
import modems.sierra.mediator as mediator
+ elif self.modemtype == "option":
+ from modems.option.modem import Option as Modem
+ global mediator
+ import modems.option.mediator as mediator
else:
logger.error( "Unsupported modem type %s", self.modemtype )
return
diff --git a/framework/subsystems/ogsmd/modems/__init__.py b/framework/subsystems/ogsmd/modems/__init__.py
index c626930..f2a05a5 100644
--- a/framework/subsystems/ogsmd/modems/__init__.py
+++ b/framework/subsystems/ogsmd/modems/__init__.py
@@ -1,4 +1,4 @@
# FIXME compute this automatically
def allModems():
- return "singleline muxed4line freescale_neptune ti_calypso".split()
+ return "singleline muxed4line freescale_neptune ti_calypso option".split()
diff --git a/framework/patterns/__init__.py b/framework/subsystems/ogsmd/modems/option/__init__.py
similarity index 100%
copy from framework/patterns/__init__.py
copy to framework/subsystems/ogsmd/modems/option/__init__.py
diff --git a/framework/subsystems/ogsmd/modems/sierra/channel.py b/framework/subsystems/ogsmd/modems/option/channel.py
similarity index 77%
copy from framework/subsystems/ogsmd/modems/sierra/channel.py
copy to framework/subsystems/ogsmd/modems/option/channel.py
index 4ca40a7..3372b7c 100644
--- a/framework/subsystems/ogsmd/modems/sierra/channel.py
+++ b/framework/subsystems/ogsmd/modems/option/channel.py
@@ -4,10 +4,11 @@ The Open Device Daemon - Python Implementation
(C) 2007-2008 M. Dietrich
(C) 2008 Michael 'Mickey' Lauer <mlauer at vanille-media.de>
+(C) 2008 Daniel Willmann <daniel at totalueberwachung.de>
(C) 2008 Openmoko, Inc.
GPLv2 or later
-Package: ogsmd.modems.sierra
+Package: ogsmd.modems.option
Module: channel
"""
@@ -15,7 +16,7 @@ from ogsmd.gsm.decor import logged
from ogsmd.modems.abstract.channel import AbstractModemChannel
#=========================================================================#
-class SierraChannel( AbstractModemChannel ):
+class OptionChannel( AbstractModemChannel ):
#=========================================================================#
def _populateCommands( self ):
@@ -30,9 +31,9 @@ class SierraChannel( AbstractModemChannel ):
# error and result reporting reporting
c.append( '+CMEE=1' ) # report mobile equipment errors: in numerical format
c.append( '+CRC=1' ) # cellular result codes: enable extended format
- # c.append( '+CSCS="8859-1"' ) # character set conversion: use 8859-1 (latin 1)
+ #c.append( '+CSCS="UCS2"' ) # character set conversion: use 8859-1 (latin 1)
c.append( '+CSDH=1' ) # show text mode parameters: show values
- c.append( '+CSNS=0' ) # single numbering scheme: voice
+ #c.append( '+CSNS=0' ) # single numbering scheme: voice
# sms
c.append( '+CMGF=0' ) # message format: enable pdu mode, disable text mode
c.append( '+CSMS=1' ) # GSM Phase 2+ commands: enable
@@ -40,9 +41,9 @@ class SierraChannel( AbstractModemChannel ):
c.append( '+CLIP=1' ) # calling line identification presentation: disable
c.append( '+COLP=1' ) # connected line identification presentation: disable
c.append( '+CCWA=1' ) # call waiting: disable
- c.append( '+CTZR=1' ) # timezone reporting: enable
- c.append( '+CREG=2' ) # registration information: enable
- c.append( '+CGREG=2' ) # GPRS registration information: enable
+ #c.append( '+CTZR=1' ) # timezone reporting: enable
+ #c.append( '+CREG=2' ) # registration information: enable
+ #c.append( '+CGREG=2' ) # GPRS registration information: enable
c.append( '+CGEREP=2') # Packet domain event reporting: enable
self._commands["init"] = c
diff --git a/framework/subsystems/ogsmd/modems/sierra/mediator.py b/framework/subsystems/ogsmd/modems/option/mediator.py
similarity index 95%
copy from framework/subsystems/ogsmd/modems/sierra/mediator.py
copy to framework/subsystems/ogsmd/modems/option/mediator.py
index d19b5c3..0de6ec2 100644
--- a/framework/subsystems/ogsmd/modems/sierra/mediator.py
+++ b/framework/subsystems/ogsmd/modems/option/mediator.py
@@ -6,7 +6,7 @@ The Open Device Daemon - Python Implementation
(C) 2008 Openmoko, Inc.
GPLv2 or later
-Package: ogsmd.modems.sierra
+Package: ogsmd.modems.option
Module: mediator
"""
diff --git a/framework/subsystems/ogsmd/modems/option/modem.py b/framework/subsystems/ogsmd/modems/option/modem.py
new file mode 100644
index 0000000..3c5af86
--- /dev/null
+++ b/framework/subsystems/ogsmd/modems/option/modem.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python
+"""
+The Open Device Daemon - Python Implementation
+
+(C) 2008 Michael 'Mickey' Lauer <mlauer at vanille-media.de>
+(C) 2008 Daniel Willmann <daniel at totalueberwachung.de>
+(C) 2008 Openmoko, Inc.
+GPLv2 or later
+
+Package: ogsmd.modems.sierra
+Module: modem
+"""
+
+import mediator
+
+from ..abstract.modem import AbstractModem
+
+from .channel import OptionChannel
+from .unsolicited import UnsolicitedResponseDelegate
+
+from ogsmd.gsm.decor import logged
+from ogsmd.gsm.channel import AtCommandChannel
+
+#=========================================================================#
+class Option( AbstractModem ):
+#=========================================================================#
+
+ @logged
+ def __init__( self, *args, **kwargs ):
+ AbstractModem.__init__( self, *args, **kwargs )
+
+ # The one and only serial line
+ self._channels["UNSOL"] = OptionChannel( self.pathfactory, "/dev/ttyUSB2", modem=self )
+ # configure channels
+ self._channels["UNSOL"].setDelegate( UnsolicitedResponseDelegate( self._object, mediator ) )
+
+ def channel( self, category ):
+ return self._channels["UNSOL"]
+
+ def pathfactory( self, name ):
+ return name
+
+ def dataPort( self ):
+ # FIXME remove duplication and just use pathfactory
+ return "/dev/ttyUSB0"
+
+ def dataOptions( self, category ):
+ if category == "ppp":
+ return [
+ '115200',
+ 'nodetach',
+ 'crtscts',
+ "noipdefault",
+ ":10.0.0.1",
+ "local",
+ 'defaultroute',
+ 'debug',
+ 'hide-password',
+ 'ipcp-accept-local',
+ 'lcp-echo-failure', '10',
+ 'lcp-echo-interval', '3',
+ 'noauth',
+ #'demand',
+ 'noipdefault',
+ 'novj',
+ 'novjccomp',
+ 'persist',
+ ]
+ else:
+ return []
+
+
diff --git a/framework/subsystems/ogsmd/modems/sierra/unsolicited.py b/framework/subsystems/ogsmd/modems/option/unsolicited.py
similarity index 87%
copy from framework/subsystems/ogsmd/modems/sierra/unsolicited.py
copy to framework/subsystems/ogsmd/modems/option/unsolicited.py
index c92b613..6d6daea 100644
--- a/framework/subsystems/ogsmd/modems/sierra/unsolicited.py
+++ b/framework/subsystems/ogsmd/modems/option/unsolicited.py
@@ -5,9 +5,6 @@ The Open Device Daemon - Python Implementation
(C) 2008 Michael 'Mickey' Lauer <mlauer at vanille-media.de>
(C) 2008 Openmoko, Inc.
GPLv2 or later
-
-Package: ogsmd.modems.sierra
-Module: unsolicited
"""
from ogsmd.modems.abstract.unsolicited import AbstractUnsolicitedResponseDelegate
--
FSO frameworkd Debian packaging
More information about the pkg-fso-commits
mailing list