cancel
Showing results for 
Search instead for 
Did you mean: 

ST BLE: concurrency of sensor data with pressure + accelerometer + sensor fusion?

BShal.1
Associate II

We have a flutter application that is connecting to the ST BLE sensor chip via native bluetooth. We listen to the mems, pressure, accelerometer, and sensor fusion sensors to save to 4 files on the app. The ST SDK was giving us the observed blocking of pressure sensor so we switched to Native bluetooth in hopes it was just an SDK issue, but seeing same issues with bluetooth.

When the pressure sensor is being listened to, only audio + pressure data is received. the other 2 sensors have nothing.

When disable listening to pressure, the other 2 sensors + audio receive data.

We have put breakpoints for where we write data from the 3 sensors, and with pressure sensor not active, we can see the data being saved, but when enabled, it only fires on the pressure sensor write to csv function and the other 2 are never triggered.

It appears that the pressure sensor does not allow for interrupts and is operating in a sync mode when it comes to the other sensors.

This is proved by only listening to the other 2 sensors and receiving both data.

Is this a known issue that pressure sensor operates only in sync mode?

Are we overlooking an initialization step that puts pressure sensor in interrupt/async mode?

I was hoping that initialized sensors on the ST BLE chip would broadcast their data via bluetooth (ie multiplex) and on the app side, we just decode the data packets to separate out the desired data.

Unless we have missed something in initialization or concurrent streaming of pressure sensor + other sensors are not possible, then we have to look in writing update to firmware to do round-robin sampling of each sensor and package up a multiplex file/stream to send to our app.

thanks for your time and brainstorming.

-brandon

1 ACCEPTED SOLUTION

Accepted Solutions
niccolò
ST Employee

Hi @BShal.1​ ,

maybe the problem is that the interrupt lines for pressure sensor and the others sensors are shared, but it depends on the hardware you are using.

is it an ST evaluation board or is it something custom made?

Niccolò

View solution in original post

2 REPLIES 2
niccolò
ST Employee

Hi @BShal.1​ ,

maybe the problem is that the interrupt lines for pressure sensor and the others sensors are shared, but it depends on the hardware you are using.

is it an ST evaluation board or is it something custom made?

Niccolò

BShal.1
Associate II

greetings Niccolo!

we are using the ST BLE evaluation board.

right now, because we cannot get concurrent data so that the pressure, accelerometer and sensor fusion data to line up with audio (we process the audio as well as data), for purposes of our smart baby bottle to detect the suck/swallow/breath patterns of a baby when feeding.

that we have to listen to the pressure sensor to get pressure reading, then turn it off and listen to the other 2 sensors to get data for 200ms sampling time, then turn it off to listen to pressure to get data, and repeat.

our firmware developer pointed out in schematic that the hardware interrupt leg doesn't go any where, so that might be for our production board we make it connect on PCB and that might solve things...

right now, trying to see if its a initliazation issue with pressure that is making it go in sync mode and not interrupt with other sensors as i had originally thought (assumed) that it would do