Using more than two sensors from sensor fusion (as streaming)

I have a quick question.
I downloaded a iOS MetaBase App.
I wanted to use both EULER ANGLES & LINEAR ACCELERATION (as streaming).
But, I got the below message.
"Error Total transmission frequency cannot exceed 100Hz over a BLE connection"

If the metabase application is not allowed to use these two sensors (as streaming),
are there any methods to use the two sensors with 100Hz (as streaming) using iOS metawear SDK?

Actually, with Android metawear SDK, I already implemented the android app to use EULER ANGLES & LINEAR ACCELERATION & CORRECTED GYRO (as streaming).

so, I hope that iOS metawear SDK also allows using sensor fusion sensors with 100Hz.

Comments

  • Yes it does though actual performance may vary depending on your iOS device when going over 100Hz.

  • I wonder whether iOS Metawear SDK could configure Sampling rate of Sensor Fusion Sensors?

    Using iOS Metawear SDK, I want to use more than two sensors from sensor fusion with a concrete sampling rate (e.g., 50Hz)

  • Hello Eric,

    I understand that under iOS, thanks to "dataprocessor" options that it is possible to reduce the sampling rate of BLE transmission but I do not understand where and when use the related code.
    I would appreciate some help or advice.

    Here is my code regarding mil_mw_processor_time_create to try to reduce sampling rate for sensor fusion to 50Hz.

    let quaternion = mbl_mw_sensor_fusion_get_data_signal(device_quat.board, MBL_MW_SENSOR_FUSION_DATA_QUATERNION);
    
    mbl_mw_dataprocessor_time_create(quaternion, MBL_MW_TIME_ABSOLUTE, 20, bridge(obj: self)) { (context, new_processor_created) in
         let _self : DeviceViewController = bridge(ptr: context!)
         //what to do here of new_processor_created here ???
         DispatchQueue.main.async {
              print("rate sensor")
              _self.printRate()
         }
    }
    

    I put this code between mbl_mw_sensor_fusion_get_data_signal and mbl_mw_datasignal_subscribe but without any effect on sampling rate ?

    Thanks in advance for your help.

  • Try with 15ms.

  • Thanks Eric,

    I tried with this value instead of 20 but It doesn't change anything...
    Then I guess that mbl_mw_dataprocessor_time_create is not called where it should...

    Clearly, a small iOS demo app (as before with old SDK) with best code practice would be appreciated to help us qualify our apps.

  • @patrice said:
    Thanks Eric,

    I tried with this value instead of 20 but It doesn't change anything...
    Then I guess that mbl_mw_dataprocessor_time_create is not called where it should...

    What does your call to mbl_mw_datasignal_subscribe look like?

Sign In or Register to comment.