Esempio n. 1
0
class Interface:
    """
    This class acts as the interface for the Master Computer to communicate with the outside components.
    The class will be implemented to communicate with the bus, either via ZeroMQ or CAN-Bus.
    """
    def __init__(self, simulated):
        """
        :param simulated: a list of which modules are simulated
        :return:
        """
        self.name = sVars.CurrentModule

        # Create a dictionary with all modules set to False
        self.simulated = {module: False for module in sVars.AllModules.keys()}

        for module in simulated:
            if module in self.simulated.keys():
                self.simulated[module] = True
            else:
                raise InvalidModuleException('No module "' + str(module) +
                                             '" exists. Module skipped.')

        if (len(simulated) > 0):
            self.busIsVirtual = True
            self.zmqBus = ZMQHandler()
            # Start reading from the bus
            self.zmqBus.start()

    def publish(self, *args):
        """
        :param args: a tuple of parameters to be sent to the bus
        :return: true if successfully sent on bus
        """
        if self.busIsVirtual:
            return self.zmqBus.write(args)

    def getData(self):
        if self.busIsVirtual:
            return self.zmqBus.data
        else:
            pass

    def getCtrlData(self):
        if self.busIsVirtual:
            return self.zmqBus.control_data
        else:
            pass

    def close(self):
        if self.busIsVirtual:
            self.zmqBus.exitFlag = 1
            self.zmqBus.join()

    def __str__(self):
        return self.name + " connected to " + str(
            self.simulated) + " by ZeroMQ."
Esempio n. 2
0
class Interface:
    """
    This class acts as the interface for the Master Computer to communicate with the outside components.
    The class will be implemented to communicate with the bus, either via ZeroMQ or CAN-Bus.
    """

    def __init__(self, simulated):
        """
        :param simulated: a list of which modules are simulated
        :return:
        """
        self.name = sVars.CurrentModule

        # Create a dictionary with all modules set to False
        self.simulated = {module: False for module in sVars.AllModules.keys()}

        for module in simulated:
            if module in self.simulated.keys():
                self.simulated[module] = True
            else:
                raise InvalidModuleException('No module "' + str(module) + '" exists. Module skipped.')

        if (len(simulated) > 0):
            self.busIsVirtual = True
            self.zmqBus = ZMQHandler()
            # Start reading from the bus
            self.zmqBus.start()

    def publish(self, *args):
        """
        :param args: a tuple of parameters to be sent to the bus
        :return: true if successfully sent on bus
        """
        if self.busIsVirtual:
            return self.zmqBus.write(args)

    def getData(self):
        if self.busIsVirtual:
            return self.zmqBus.data
        else:
            pass

    def close(self):
        if self.busIsVirtual:
            self.zmqBus.exitFlag = 1
            self.zmqBus.join()

    def __str__(self):
        return self.name + " connected to " + str(self.simulated) + " by ZeroMQ."
Esempio n. 3
0
    def __init__(self, simulated):
        """
        :param simulated: a list of which modules are simulated
        :return:
        """
        self.name = sVars.CurrentModule

        # Create a dictionary with all modules set to False
        self.simulated = {module: False for module in sVars.AllModules.keys()}

        for module in simulated:
            if module in self.simulated.keys():
                self.simulated[module] = True
            else:
                raise InvalidModuleException('No module "' + str(module) +
                                             '" exists. Module skipped.')

        if (len(simulated) > 0):
            self.busIsVirtual = True
            self.zmqBus = ZMQHandler()
            # Start reading from the bus
            self.zmqBus.start()
Esempio n. 4
0
    def __init__(self, simulated):
        """
        :param simulated: a list of which modules are simulated
        :return:
        """
        self.name = sVars.CurrentModule

        # Create a dictionary with all modules set to False
        self.simulated = {module: False for module in sVars.AllModules.keys()}

        for module in simulated:
            if module in self.simulated.keys():
                self.simulated[module] = True
            else:
                raise InvalidModuleException('No module "' + str(module) + '" exists. Module skipped.')

        if (len(simulated) > 0):
            self.busIsVirtual = True
            self.zmqBus = ZMQHandler()
            # Start reading from the bus
            self.zmqBus.start()