示例#1
0
文件: Roco.py 项目: uclalemur/roco
from roco.api.component import Component
from roco.library import *
from roco.library import get_component

if __name__ == "__main__":
    c = Component(name='Roco')
    c.add_subcomponent('serial', 'serial_in')
    c.add_subcomponent('s2s', 'serial_to_string')
    c.add_subcomponent('compare', 'string_compare')
    c.add_connection(('serial', 'received'), ('s2s', 'received'))
    c.add_connection(('serial', 'came'), ('s2s', 'came'))
    c.add_connection(('s2s', 'cameOut'), ('compare', 'inDetected'))
    c.add_connection(('s2s', 'receivedString'), ('compare', 'inString'))
    c.to_yaml("library/Roco.yaml")
示例#2
0
from roco.api.component import Component
from roco.library import *
from roco.library import get_component

if __name__ == "__main__":
    c = Component(name='ArduinoCode')
    c.add_subcomponent('serial_in0', 'serial_in')
    c.add_subcomponent('serial_to_string0', 'serial_to_string')
    c.add_subcomponent('string_compare0', 'string_compare')
    c.add_connection(('', 'ial_in0->received'),
                     ('serial_to_string0', 'received'))
    c.add_connection(('', 'ial_in0->came'), ('serial_to_string0', 'came'))
    c.add_connection(('', 'ial_to_string0->cameOut'),
                     ('string_compare0', 'inDetected'))
    c.add_connection(('', 'ial_to_string0->receivedString'),
                     ('string_compare0', 'inString'))
    c.to_yaml("library/ArduinoCode.yaml")
示例#3
0
from roco.api.component import Component
from roco.library import *
from roco.library import get_component

if __name__ == "__main__":
    c = Component()
    c.to_yaml("library/user_name.yaml")
示例#4
0
from roco.api.component import Component
from roco.library import *
from roco.library import get_component

if __name__ == "__main__":
    c = Component(name='GetSerialString')
    c.add_subcomponent('sIn', 'serial_in')
    c.add_subcomponent('s2s', 'serial_to_string')
    c.add_connection(('sIn', 'received'), ('s2s', 'received'))
    c.add_connection(('sIn', 'came'), ('s2s', 'came'))
    c.inherit_interface('out1', ('s2s', 'cameOut'))
    c.inherit_interface('out2', ('s2s', 'receivedString'))
    c.to_yaml("library/getSerialString.yaml")
示例#5
0
class TestComponent(unittest.TestCase):
    def setUp(self):
        self.c = Component()
        # Creates a single set-up code for all test cases that need an instance of Component
        # It is called for every single test case

    def test_add_connection(self):
        self.assertRaises(Exception, self.c.add_connection,
                          (from_subcomponent, from_interface),
                          (to_subcomponent, to_interface))
        # Assuming there should be an error if since the subcomponents have not been defined yet

    def test_add_interface_valueerror(self):
        self.assertRaises(ValueError, self.p.add_interface, "invalid_name",
                          Port())
        # A ValueError should be raised because the name cannot have underscores
        # Are there any other invalid characters?

    def test_get_interface(self):
        p = Port()
        self.c.add_interface("AnInterface", p)
        self.assertEqual(self.c.get_interface("AnInterface"),
                         p)  # Is this a correct comparison?

    # Adds an interface, and then checks it

    def test_get_subcomponent(self):
        self.c.add_subcomponent("TestSubcomponent", "Component")
        self.assertEqual(
            isinstance(self.c.get_subcomponent("TestSubcomponent"),
                       Component()), True)

    def test_make(self):
        try:
            self.c.make()
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)

    def test_delete_subcomponent(self):
        self.c.add_subcomponent("TestSubcomponent", "Component")
        try:
            self.c.delete_subcomponent("TestSubcomponent")
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)

    def test_delete_interface(self):
        p = Port()
        self.c.add_interface("AnInterface", p)
        try:
            self.c.delete_interface("AnInterface")
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)

    def test_define(self):
        try:
            self.c.define()
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)

    def test_to_yaml(self):
        # p = Port(); self.c.add_interface("AnInterface",p)
        self.c.add_parameter("Width", 79)
        self.c.to_yaml("testfile")
        c2 = Component()
        c2.from_yaml("testfile")
        self.assertEqual(c2.get_parameter("Width"), 79)

    def test_assemble(self):
        try:
            self.c.assemble()
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)

    def test_make(self):
        try:
            self.c.make()
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)

    def test_reset(self):
        try:
            self.c.reset()
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)

    def test_make_component_tree(self):
        try:
            self.c.make_component_tree("FileName", "TreeName")
            self.assertEqual(True, True)
        except:
            self.assertEqual(True, False)
示例#6
0
from roco.api.component import Component
from roco.library import *
from roco.library import get_component

if __name__ == "__main__":
    c = Component(name='DrivenServo')
    c.add_subcomponent('servo0', 'servo')
    c.add_subcomponent('servo_driver0', 'servo_driver')
    c.add_connection(('servo_driver0', 'eOut'), ('servo0', 'eIn'))
    c.inherit_interface('PWMin', ('servo_driver0', 'PWMin'))
    c.inherit_interface('inInt', ('servo_driver0', 'inInt'))
    c.to_yaml("library/DrivenServo.yaml")
示例#7
0
文件: car.py 项目: uclalemur/roco
from roco.api.component import Component
from roco.library import *
from roco.library import get_component

if __name__ == "__main__":
    c = Component(name = 'Car')
    c.add_subcomponent('Constant0', 'Constant')
    c.add_subcomponent('Constant1', 'Constant')
    c.add_subcomponent('Constant2', 'Constant')
    c.add_subcomponent('Constant3', 'Constant')
    c.add_subcomponent('DrivenServo0', 'DrivenServo')
    c.add_subcomponent('DrivenServo1', 'DrivenServo')
    c.add_subcomponent('DrivenServo2', 'DrivenServo')
    c.add_subcomponent('DrivenServo3', 'DrivenServo')
    c.add_subcomponent('node_mcu0', 'node_mcu')
    c.add_connection(('node_mcu0', 'do1'), ('DrivenServo0', 'PWMin'))
    c.add_connection(('Constant0', 'num'), ('DrivenServo0', 'inInt'))
    c.add_connection(('node_mcu0', 'do2'), ('DrivenServo1', 'PWMin'))
    c.add_connection(('Constant1', 'num'), ('DrivenServo1', 'inInt'))
    c.add_connection(('node_mcu0', 'do3'), ('DrivenServo2', 'PWMin'))
    c.add_connection(('Constant2', 'num'), ('DrivenServo2', 'inInt'))
    c.add_connection(('node_mcu0', 'do4'), ('DrivenServo3', 'PWMin'))
    c.add_connection(('Constant3', 'num'), ('DrivenServo3', 'inInt'))
    c.get_subcomponent('Constant0').set_parameter('num', '130')
    c.get_subcomponent('Constant1').set_parameter('num', '130')
    c.get_subcomponent('Constant2').set_parameter('num', '130')
    c.get_subcomponent('Constant3').set_parameter('num', '130')
    c.to_yaml("library/car.yaml")
    c.make_output()