コード例 #1
0
 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)
コード例 #2
0
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()
コード例 #3
0
ファイル: GeniControl.py プロジェクト: Mich1304/GeniBus
 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')
コード例 #4
0
ファイル: GeniControl.py プロジェクト: Mich1304/GeniBus
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()
コード例 #5
0
ファイル: GeniControl.py プロジェクト: Mich1304/GeniBus
 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)
コード例 #6
0
ファイル: GeniControl.py プロジェクト: Mich1304/GeniBus
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)
コード例 #7
0
ファイル: options.py プロジェクト: quanminhdo/GENIBus-Arduino
 def __init__(self):
     self.config = Config("GeniControl")
コード例 #8
0
ファイル: options.py プロジェクト: quanminhdo/GENIBus-Arduino
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)
コード例 #9
0
ファイル: testConfiguration.py プロジェクト: Mich1304/GeniBus
 def setUp(self):
     self.config = Config("GeniControl")
     self.config.load()
コード例 #10
0
ファイル: testConfiguration.py プロジェクト: Mich1304/GeniBus
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)
コード例 #11
0
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()
コード例 #12
0
 def __init__(self):
     self.config = Config("GeniControl")
コード例 #13
0
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)
コード例 #14
0
ファイル: ControllerIF.py プロジェクト: Mich1304/GeniBus
## 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)
コード例 #15
0
ファイル: GeniGen.py プロジェクト: quanminhdo/GENIBus-Arduino
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()
コード例 #16
0
## 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):