예제 #1
0
    libmetawear.mbl_mw_sensor_fusion_start(s.device.board)
    print("start streaming")

sleep(5.0)

for s in states:
    print("stop streaming")
    libmetawear.mbl_mw_sensor_fusion_stop(s.device.board)

    libmetawear.mbl_mw_acc_stop(s.device.board)
    libmetawear.mbl_mw_acc_disable_acceleration_sampling(s.device.board)

    print("Unsubscribing.. ")
    signal = libmetawear.mbl_mw_sensor_fusion_get_data_signal(
        s.device.board, SensorFusionData.EULER_ANGLE)
    libmetawear.mbl_mw_datasignal_unsubscribe(signal)
    acc = libmetawear.mbl_mw_sensor_fusion_get_data_signal(
        s.device.board, SensorFusionData.LINEAR_ACC)
    print("ths")
    ths = libmetawear.mbl_mw_dataprocessor_threshold_create(
        acc, ThresholdMode.BINARY, 0.2, 0.0, None, s.callbackax)
    libmetawear.mbl_mw_datasignal_unsubscribe(ths)
    print("ths ended")

    libmetawear.mbl_mw_debug_disconnect(s.device.board)

print("Total Samples Received")
for s in states:
    print("%s -> %d" % (s.device.address, s.samples))
    print(az)
    # setup averager - averages over 8 RMS samples @ 50Hz
    avg = create_voidp(lambda fn: libmetawear.
                       mbl_mw_dataprocessor_average_create(rms, 8, None, fn),
                       resource="averager",
                       event=e)
    print("Averager created")

    # setup event on avg - reset averager
    libmetawear.mbl_mw_event_record_commands(avg)
    libmetawear.mbl_mw_dataprocessor_average_reset(avg)
    create_voidp_int(
        lambda fn: libmetawear.mbl_mw_event_end_record(avg, None, fn), event=e)

    # setup threshold detector - detect anything above 1
    ths = create_voidp(
        lambda fn: libmetawear.mbl_mw_dataprocessor_threshold_create(
            avg, ThresholdMode.BINARY, 1.0, 0.0, None, fn),
        resource="threshold detector",
        event=e)
    print("Threshold detector created")

    # setup logger - log the final signal of the averaged data
    ths_logger = create_voidp(
        lambda fn: libmetawear.mbl_mw_datasignal_log(ths, None, fn),
        resource="threshold logger",
        event=e)
    print("Threshold logger created")

    # start accelerometer and event logging
    libmetawear.mbl_mw_acc_enable_acceleration_sampling(d.board)
    libmetawear.mbl_mw_acc_start(d.board)
    libmetawear.mbl_mw_logging_start(d.board, 0)