Пример #1
0
def main(
    reconnect_time=5,
    func='usbPoll',
    disable_interrupts=0,
    sleep_between_calls=0,
    delay=0.001,
):
    mcu = Arduino()
    mcu.pins.reset()

    count = 0
    fail = 0
    t1 = time.time()
    while 1:
        count += 1
        t2 = time.time()
        if (t2 - t1) > 2:
            t1 = t2
            print dict(
                delay=delay,
                func=func,
                disable_interrupts=disable_interrupts,
                sleep_between_calls=sleep_between_calls,
                count=count,
                fail=fail,
            )
        try:
            mcu.delay_test(delay,
                           func,
                           disable_interrupts=disable_interrupts)
            time.sleep(sleep_between_calls)
            mcu.firmware_test()

        except (usb.USBError, ArduinoUsbDeviceError), e:
            print('USBError: %s reconnect_time: %s s' % (str(
                e), reconnect_time))

            # time for reconnect
            time.sleep(reconnect_time)

#            mcu.connect()
            fail += 1