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)