slow download

edited February 2021 in Python

BOARD INFORMATION
Hardware revision [0.3]
Firmware revision [1.5.1]
Model number [5]

HOST DEVICE INFORMATION
OS version: Windows 10
Intel(R) Wireless Bluetooth(R)

hi everybody,
the download of raw data (acc & gyro) from 3 devices is very slow.
before downloading, I configure the sensors, enable recording (Start) and disable recording (stop), and then save the results (save).
this code is then invoked within another code (GUI tkinter).

i programmed in windows to do this (i know windows is no longer supported, but i can't go back anymore).
is there a way to speed up the download? also changing the connection parameters? i know the BLE connection is unstable, but is there still a way to limit the instability?


I am attaching the download code:

Comments

  • BluetoothLE is slow so this is normal. There's not much we can do about it, the spec just isn't fast like Wifi or regular Bluetooth.

    Thats why we want to build in USB download into our MMS sensor so you can skip the BLE download altogether.

  • thanks for your answer.

    quantifying:
    60 seconds of recording -> 15/20 minutes for download (in the best case). would you expect that long?

    in addition, the time increases proportionally to the distance from the PC of the MMRs during recording.
    Could you recommend me something? any settings in particular?

    I have set these settings:

    could you recommend other values? or other functions?

  • edited February 2021

    Sounds like the BLE link is not optimal.
    Check your BLE ad settings and try some recommend settings from your os/hardware manufacturer (don't ask, I won't know, you need to google-fu this).
    Check your dongle, maybe it's not very good.
    Turn off other things like Wifi that might share the antenna.
    The closer your board is, the better because ble packets don't get dropped.

  • I face a similar problem,

    After logging acceleration (100hz, 16g) for 10s with two devices, downloading from device 1 takes about 20s, and downloading from the device 2 about 10 mn.
    When downloading both devices are at same distance.

    This true with MetaBase and with Python API. (long time is always for the same device, and this is also the case when I use this device alone)
    For API Here are the settings for the two devices
    libmetawear.mbl_mw_settings_set_connection_parameters(d.board, 7.5, 7.5, 0, 6000) as in https://github.com/mbientlab/MetaWear-SDK-Python/blob/master/examples/log_acc.py

  • At the end of the day, BLE is not very fast.
    That's why we release the MMS and it will have USB download available shortly (in about 1 month we will release this feature).

  • I face a similar problem,

    After logging acceleration (100hz, 16g) for 10s with two devices, downloading from device 1 takes about 20s, and downloading from the device 2 about 10 mn.
    When downloading both devices are at same distance.

    This true with MetaBase and with Python API. (long time is always for the same device, and this is also the case when I use this device alone)
    For API Here are the settings for the two devices
    libmetawear.mbl_mw_settings_set_connection_parameters(d.board, 7.5, 7.5, 0, 6000) as in https://github.com/mbientlab/MetaWear-SDK-Python/blob/master/examples/log_acc.py

  • Problem is back
    For one device the csv file for gyro is 141 kB and for the other 6.6 MB ! So it's normal that downloading times are very different.
    Here is plot of the time stamp for the two files
    For the first device (the long time one)

    and for the short one

    Sampling frequency is 100 hz and logging time is about 18 s. So both files shoudd end with indices around 1800

    And we can see that for one device logging doesn't stop and for the other one logging restart during downloading (after the long one as complete the downloading)

    Behaviour is the same with accelerometer and with MetaBase or Python API

  • HI @ericf,
    I don't understand your setup at all.
    It sounds like you may be going over the BLE specs here.

  • Hi,

    With MetaBase App I have a group of 2 devices.
    I configure logging for gyros at 100 Hz 2000 °/s
    Duration of logging = 17 s
    I obtain 2 csv files one corresponding to each device
    one has 2 001 lines (2000 samples)
    the other 90 666 lines (90 665 samples)

    When I configure, stop logging and download devices are at 20 cm from my phone.

  • edited June 2021

    Oh are you using Windows 10 MetaBase? Because that App doesn't work and is no longer supported (hasn't been for 2 years). I removed it from the store because it is confusing many people.

    Please confirm and use iOS or Android MetaBase only.

  • The problem is with Android MetaBase

  • Once again problem has vanished. I just don't know how.

  • Maybe it is an issue with ble caching on android.

  • but when the problem is present (and only on one device and always on the same device) it is present both with the App and with python API.
    It seems like if this instruction
    libmetawear.mbl_mw_logging_stop(d.board)
    was ignored

Sign In or Register to comment.