Logging behaviour for MetaMotion R

Hi there, a few questions about logging:

  1. Can the logging be stopped (and then started again) without also downloading the logs?  The iOS api only seems to expose the downloadLogAndStopLoggingAsync method.
  2. Is there any API function to clear the log without downloading them?
  3. Is the correct way to handle logging of multiple modules to start the logging for each, and then downloadLogAndStopLoggingAsync for each?  Or is there a device-wide download and stop ability?
  4. What's the behaviour when I've started logging, soft reset the device (or run out of battery) and then start logging again? Are the existing entries appended or replaced?
  5. Is there any problem with logging and streaming at the same time? (there doesn't seem to be any issue with this in my testing)
  6. Downloading logs is quite slow (about realtime for SensorFusion data, which for a day of logging takes about a day of transfer, and with 5x sensors...), which I presume is just the datarate limit of ble4, I don't suppose there is any way to transfer via usb or somesuch?


  • edited December 2016
    I've let the iOS dev know to take a look at questions 1-3.  In regards to questions 4-6:

    4) Existing entries will remain in memory even through power cycles / resets.  New entries will be appended.
    5) There are no problems with logging and streaming data simultaneously though it is not a recommended way to use the boards.
    6) Correct, BLE is slow compared to other wireless protocols such as WiFi and Bluetooth Classic; downloading a full MetaMotion log will take ~30min.  We have given some thought to alternative methods for transferring data from the flash memory however at this time, the BLE link is the only way as the USB port is for power only.
  • 1) Not as publicly documented now.  If you need to programmatically stop/start logging, you may consider using a filter and logging the output of the filter instead.
    2) You can do a full erase of the device by calling device.setConfigurationAsync(nil).
    3) Correct, you call start/download on each event you need data for.
This discussion has been closed.