示例#1
0
def template_sequence(pulses_plugin):
    """Create a template sequence and make sure the plugin pick it up.

    """
    from ecpy_pulses.pulses.pulse import Pulse
    from ecpy_pulses.pulses.sequences.base_sequences import (RootSequence,
                                                             BaseSequence)
    from ecpy_pulses.pulses.shapes.square_shape import SquareShape
    from ecpy_pulses.pulses.contexts.template_context import TemplateContext

    root = RootSequence()
    context = TemplateContext(logical_channels=['A', 'B'],
                              analogical_channels=['Ch1', 'Ch2'],
                              channel_mapping={
                                  'A': '',
                                  'B': '',
                                  'Ch1': '',
                                  'Ch2': ''
                              })
    root.context = context
    root.local_vars = OrderedDict({'a': '1.5'})

    pulse1 = Pulse(channel='A', def_1='1.0', def_2='{a}')
    pulse2 = Pulse(channel='B', def_1='{a} + 1.0', def_2='3.0')
    pulse3 = Pulse(channel='Ch1',
                   def_1='{2_stop} + 0.5',
                   def_2='{b}',
                   kind='Analogical',
                   shape=SquareShape())
    seq = BaseSequence()
    seq.add_child_item(
        0,
        Pulse(channel='Ch2',
              def_1='{2_stop} + 0.5',
              def_2='{sequence_end}',
              kind='Analogical',
              shape=SquareShape()))
    for i in [pulse1, pulse2, seq, pulse3][::-1]:
        root.add_child_item(0, i)

    pref = root.preferences_from_members()
    pref['template_vars'] = repr(dict(b=''))
    del pref['item_id']
    del pref['external_vars']
    del pref['time_constrained']

    temp_path = os.path.join(pulses_plugin.templates_folders[0],
                             '__dummy__.temp_pulse.ini')
    save_sequence_prefs(temp_path, pref, 'dummy doc')

    pulses_plugin._refresh_known_template_sequences()

    return '__dummy__'
示例#2
0
def sequence():
    """Create a sequence.

    """
    root = RootSequence()
    context = TestContext(sampling=0.5)
    root.context = context

    root.external_vars = OrderedDict({'a': None})
    root.local_vars = OrderedDict({'b': '2*{a}'})

    pulse1 = Pulse(def_1='1.0', def_2='{a}', def_mode=str('Start/Stop'))
    pulse2 = Pulse(def_1='{a} + 1.0', def_2='3.0')
    pulse3 = Pulse(def_1='{2_stop} + 0.5', def_2='10 + {b}')
    for i, c in enumerate((pulse1, pulse2, pulse3)):
        root.add_child_item(i, c)

    return root
def sequence():
    """Create a sequence.

    """
    root = RootSequence()
    context = TestContext(sampling=0.5)
    root.context = context

    root.external_vars = {"a": 1.5}
    root.local_vars = {"b": "2*{a}"}

    pulse1 = Pulse(def_1="1.0", def_2="{a}")
    pulse2 = Pulse(def_1="{a} + 1.0", def_2="3.0")
    pulse3 = Pulse(def_1="{2_stop} + 0.5", def_2="10 + {b}")
    for i, c in enumerate((pulse1, pulse2, pulse3)):
        root.add_child_item(i, c)

    return root
示例#4
0
def template_sequence(pulses_plugin):
    """Create a template sequence and make sure the plugin pick it up.

    """
    from ecpy_pulses.pulses.pulse import Pulse
    from ecpy_pulses.pulses.sequences.base_sequences import RootSequence, BaseSequence
    from ecpy_pulses.pulses.shapes.square_shape import SquareShape
    from ecpy_pulses.pulses.contexts.template_context import TemplateContext

    root = RootSequence()
    context = TemplateContext(
        logical_channels=["A", "B"],
        analogical_channels=["Ch1", "Ch2"],
        channel_mapping={"A": "", "B": "", "Ch1": "", "Ch2": ""},
    )
    root.context = context
    root.local_vars = {"a": "1.5"}

    pulse1 = Pulse(channel="A", def_1="1.0", def_2="{a}")
    pulse2 = Pulse(channel="B", def_1="{a} + 1.0", def_2="3.0")
    pulse3 = Pulse(channel="Ch1", def_1="{2_stop} + 0.5", def_2="{b}", kind="Analogical", shape=SquareShape())
    seq = BaseSequence()
    seq.add_child_item(
        0, Pulse(channel="Ch2", def_1="{2_stop} + 0.5", def_2="{sequence_end}", kind="Analogical", shape=SquareShape())
    )
    for i in [pulse1, pulse2, seq, pulse3][::-1]:
        root.add_child_item(0, i)

    pref = root.preferences_from_members()
    pref["template_vars"] = repr(dict(b=""))
    del pref["item_id"]
    del pref["external_vars"]
    del pref["time_constrained"]

    temp_path = os.path.join(pulses_plugin.templates_folders[0], "__dummy__.temp_pulse.ini")
    save_sequence_prefs(temp_path, pref, "dummy doc")

    pulses_plugin._refresh_known_template_sequences()

    return "__dummy__"