def saveConfiguration(self): size = self.Size pos = self.Position config = Config("GeniControl") config.set('window', 'posx', pos.x) config.set('window', 'posy', pos.y) config.set('window', 'sizex', size.x) config.set('window', 'sizey', size.y)
def main(): logger = logging.getLogger("GeniControl") config = Config("GeniControl") config.load() size = wx.Size(config.get('window', 'sizex'), config.get('window', 'sizey')) pos = wx.Point(config.get('window', 'posx'), config.get('window', 'posy')) app = GeniControlApp() frame = GBFrame(None, MAIN_MENU, size, pos) controller = GUIController(NullModel, frame) frame.Show(True) app.MainLoop() config.save()
def __init__(self, parent): self.config = Config("GeniControl") self.logfilewanted = self.config.get('general', 'logfilewanted') wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY) sizer = wx.BoxSizer() font = wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL) self.tc = wx.TextCtrl(self, wx.NewId(), style=wx.TE_MULTILINE | wx.HSCROLL | wx.TE_RICH2 | wx.TE_NOHIDESEL | wx.TE_READONLY) self.tc.SetFont(font) sizer.Add(self.tc, 1, wx.EXPAND | wx.GROW) self.SetSizerAndFit(sizer) self.logFile = None if self.logfilewanted == '1': self.logFile = file( os.path.join(defs.CONFIGURATION_DIRECTORY, 'busmonitor.log'), 'w')
class BusmonitorPanel(wx.Panel): def __init__(self, parent): self.config = Config("GeniControl") self.logfilewanted = self.config.get('general', 'logfilewanted') wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY) sizer = wx.BoxSizer() font = wx.Font(10, wx.MODERN, wx.NORMAL, wx.NORMAL) self.tc = wx.TextCtrl(self, wx.NewId(), style=wx.TE_MULTILINE | wx.HSCROLL | wx.TE_RICH2 | wx.TE_NOHIDESEL | wx.TE_READONLY) self.tc.SetFont(font) sizer.Add(self.tc, 1, wx.EXPAND | wx.GROW) self.SetSizerAndFit(sizer) self.logFile = None if self.logfilewanted == '1': self.logFile = file( os.path.join(defs.CONFIGURATION_DIRECTORY, 'busmonitor.log'), 'w') def __del__(self): if self.logFile: self.logFile.close() def formatTelegram(self, rxTx, telegram): timestamp = time.strftime("%d/%b/%Y %H:%M:%S") rt = "Rx" if rxTx else "Tx" if not isinstance(telegram, (list, tuple, array.array)): #print("WARNING '%s' isn't a correct telegram!") return "[%s] %s - INVALID!\n" % ( timestamp, rt, ) formattedTelegram = ' '.join(["0x%02x" % x for x in telegram]) return "[%s] %s - %s\n" % (timestamp, rt, formattedTelegram) def appendLine(self, rxTx, telegram): formattedTelegram = self.formatTelegram(rxTx, telegram) self.tc.AppendText(formattedTelegram) if self.logFile: self.logFile.write(formattedTelegram)
def __init__(self): self.config = Config("GeniControl")
class OptionsModel(object): def __init__(self): self.config = Config("GeniControl") def initialize(self): pass def load(self): self.config.load() self.driver = self.config.get('network', 'driver') self.serverIP = fixIP(self.config.get('network', 'serverip')) self.subnetMask = fixIP(self.config.get('network', 'subnetmask')) self.serverport = str(self.config.get('network', 'serverport')) self.pollinginterval = str(self.config.get('general', 'pollinginterval')) self.serialPort = self.config.get('serial', 'serialport') def save(self): pass def getNetworkDriver(self): return self.driver def getServerIP(self): return self.serverIP def getSubnetMask(self): return self.subnetMask def getServerPort(self): return self.serverport def getPollingInterval(self): return self.pollinginterval def getSerialPort(self): return self.serialPort def setNetworkDriver(self, value): self.config.set('network', 'driver', value) def setServerIP(self, value): self.config.set('network', 'serverip', fixIP(value)) def setSubnetMask(self, value): self.config.set('network', 'subnetmask', fixIP(value)) def setServerPort(self, value): self.config.set('network', 'serverport', value) def setPollingInterval(self, value): self.config.set('general', 'pollinginterval', value) def setSerialPort(self, value): self.config.set('serial', 'serialport', value)
def setUp(self): self.config = Config("GeniControl") self.config.load()
class TestCase(unittest.TestCase): def setUp(self): self.config = Config("GeniControl") self.config.load() def getPollingInterval(self): self.assertEqual(self.config.get('general', 'pollinginterval'), 2) def testGetSize(self): size = (self.config.get('window', 'sizex'), self.config.get('window', 'sizey')) self.assertEqual(size, (800, 600)) def testGetPos(self): pos = (self.config.get('window', 'posx'), self.config.get('window', 'posy')) self.assertEqual(pos, (0, 0)) def testGetSerial(self): self.assertEqual(self.config.get('serial', 'serialport'), '') def testGetServerIp(self): self.assertEqual(self.config.get('network', 'serverip'), '192.168.178.22') def testGetSubnetMask(self): self.assertEqual(self.config.get('network', 'subnetmask'), '255.255.255.0') def testGetServerPort(self): self.assertEqual(self.config.get('network', 'serverport'), 8080) def testGetNetworkDriver(self): self.assertEqual(self.config.get('network', 'driver'), 1)
def main(): logger = logging.getLogger("GeniGen") config = Config("GeniGen") config.load() size = wx.Size(config.get('window', 'sizex'), config.get('window', 'sizey')) pos = wx.Point(config.get('window', 'posx'), config.get('window', 'posy')) lastUsedDirectory = config.get('general', 'lastuseddirectory') if lastUsedDirectory is None: # First time. config.add('general', 'lastuseddirectory', HOME_DIRECTORY) lastUsedDirectory = config.get('general', 'lastuseddirectory') #print("Last used directory: '%s'." % lastUsedDirectory) app = GeniGenApp() frame = GeniGenFrame(None, size, pos) frame.config = config #controller = GUIController(NullModel, frame) frame.Show(True) app.MainLoop() config.save()
class OptionsModel(object): def __init__(self): self.config = Config("GeniControl") def initialize(self): pass def load(self): self.config.load() self.driver = self.config.get('network', 'driver') self.serverIP = fixIP(self.config.get('network', 'serverip')) self.subnetMask = fixIP(self.config.get('network', 'subnetmask')) self.serverport = str(self.config.get('network', 'serverport')) self.pollinginterval = str(self.config.get('general', 'pollinginterval')) self.logfilewanted = self.config.get('general', 'logfilewanted') self.serialPort = self.config.get('serial', 'serialport') def save(self): pass def getNetworkDriver(self): return self.driver def getServerIP(self): return self.serverIP def getSubnetMask(self): return self.subnetMask def getServerPort(self): return self.serverport def getPollingInterval(self): return self.pollinginterval def getLogFileWanted(self): if self.logfilewanted == '1': return True else: return False def getSerialPort(self): return self.serialPort def setNetworkDriver(self, value): self.config.set('network', 'driver', value) def setServerIP(self, value): self.config.set('network', 'serverip', fixIP(value)) def setSubnetMask(self, value): self.config.set('network', 'subnetmask', fixIP(value)) def setServerPort(self, value): self.config.set('network', 'serverport', value) def setPollingInterval(self, value): self.config.set('general', 'pollinginterval', value) def setLogFileWanted(self, value): if value: self.config.set('general', 'logfilewanted', '1') else: self.config.set('general', 'logfilewanted', '0') def setSerialPort(self, value): self.config.set('serial', 'serialport', value)
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ## ## import abc import logging import threading from wx.lib.pubsub import setuparg1 from wx.lib.pubsub import pub as Publisher from genilib.configuration import Config from wx import CallAfter logger = logging.getLogger("GeniControl") DATA_NOT_AVAILABLE = None config = Config("GeniControl") class IController(object): __metaclass__ = abc.ABCMeta logger = logging.getLogger("GeniControl") quitViewEvent = threading.Event() quitModelEvent = threading.Event() def __init__(self, modelCls, viewClass): self._pub = Publisher self._view = viewClass # (self, model) self._waitingPoint = threading.Event() connection = connectionFactory(config.get('network', 'driver')) self._model = modelCls(self._waitingPoint, connection) setattr(self._model, '_controller', self)
def main(): logger = logging.getLogger("GeniGen") config = Config("GeniGen") config.load() size = wx.Size(config.get('window', 'sizex'), config.get('window', 'sizey')) pos = wx.Point(config.get('window', 'posx'), config.get('window', 'posy')) lastUsedDirectory = config.get('general', 'lastuseddirectory') if lastUsedDirectory is None: # First time. config.add('general', 'lastuseddirectory', HOME_DIRECTORY) lastUsedDirectory = config.get('general', 'lastuseddirectory') #print "Last used directory: '%s'." % lastUsedDirectory app = GeniGenApp() frame = GeniGenFrame(None, size, pos) frame.config = config #controller = GUIController(NullModel, frame) frame.Show(True) app.MainLoop() config.save()
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ## ## import logging import socket import struct import sys import time import threading from genilib.configuration import Config from genicontrol.connection import ConnectionIF logger = logging.getLogger("GeniControl") config = Config("GeniControl") config.load() ## TEST!!! #SERVER = '192.168.178.22' # TODO: Adjust to the IP-address of your Arduino board! #SERVER = 'localhost' SERVER = socket.gethostname() PORT = 6734 BUF_SIZE = 1024 socket.setdefaulttimeout(0.5) def hexDump(data):