Exemplo n.º 1
0
def test_get_callback(pvnames, simulator):
    print("Callback test:  changing PV must be updated\n")
    mypv = PV(pvnames.updating_pv1)
    NEWVALS = []

    def onChanges(pvname=None, value=None, char_value=None, **kw):
        nonlocal NEWVALS
        print('PV %s %s, %s Changed!\n' % (pvname, repr(value), char_value))
        NEWVALS.append(repr(value))

    mypv.add_callback(onChanges)
    print('Added a callback.  Now wait for changes...\n')

    t0 = time.time()
    while time.time() - t0 < 3:
        time.sleep(1.e-4)
    print('   saw %i changes.\n' % len(NEWVALS))
    assert len(NEWVALS) > 3
    mypv.clear_callbacks()
Exemplo n.º 2
0
def test_waveform_callback_with_count_arg(pvnames, simulator):
    values = []

    wf = PV(pvnames.char_arr_pv, count=32)

    def onChanges(pvname=None, value=None, char_value=None, **kw):
        print('PV %s %s, %s Changed!\n' % (pvname, repr(value), char_value))
        values.append(value)

    wf.add_callback(onChanges)
    print('Added a callback.  Now wait for changes...\n')

    t0 = time.time()
    while time.time() - t0 < 3:
        time.sleep(1.e-4)
        if len(values) > 0:
            break

    assert len(values) > 0
    assert len(values[0]) == 32

    wf.clear_callbacks()