Exemple #1
0
    def download_data(self):
        libmetawear.mbl_mw_timer_remove(self.timer)
        libmetawear.mbl_mw_logging_stop(self.device.board)

        e = Event()
        def progress_update_handler(context, entries_left, total_entries):
            if (entries_left == 0):
                e.set()
        
        fn_wrapper = FnVoid_VoidP_UInt_UInt(progress_update_handler)
        download_handler= LogDownloadHandler(context = None, \
            received_progress_update = fn_wrapper, \
            received_unknown_entry = cast(None, FnVoid_VoidP_UByte_Long_UByteP_UByte), \
            received_unhandled_entry = cast(None, FnVoid_VoidP_DataP))

        callback = FnVoid_VoidP_DataP(lambda ctx, p: print("%f" % (parse_value(p))))
        libmetawear.mbl_mw_logger_subscribe(self.logger, None, callback)
        libmetawear.mbl_mw_logging_download(self.device.board, 0, byref(download_handler))
        e.wait()
 # event is to read temp signal
 libmetawear.mbl_mw_datasignal_read(signal)
 create_voidp_int(lambda fn: libmetawear.mbl_mw_event_end_record(timer, None, fn), event = e)
 
 # start logging
 libmetawear.mbl_mw_logging_start(d.board, 0)
 
 # start timer
 libmetawear.mbl_mw_timer_start(timer)
 
 # log 10s
 print("Logging data for 10s")
 sleep(10.0)
 
 # remove timer
 libmetawear.mbl_mw_timer_remove(timer)
 
 # remove logger
 libmetawear.mbl_mw_logging_stop(d.board)
 
 # remove event
 libmetawear.mbl_mw_event_remove_all(d.board)
 
 # flush cache for mms
 libmetawear.mbl_mw_logging_flush_page(d.board)
 
 # setup ble
 libmetawear.mbl_mw_settings_set_connection_parameters(d.board, 7.5, 7.5, 0, 6000)
 
 # wait 1s
 sleep(1.0)