On 4/14/22 15:03, Jean-Baptiste Maneyrol wrote:
Hello,
accel and gyro are synchronized and are outputting data inside the same hardware FIFO, as inv_icm42600 is doing. The issue is that the sensors have different frequencies, using a header for signaling data availability, thus demultiplexing from userspace is not possible in a standard way.
Solution found for inv_icm42600 was to use 2 devices with each one a buffer. FIFO is read, data demultiplexed, and sent in each device. Now that we can have 2 buffers for 1 device, is it simpler to use this solution rather than 2 devices?
Thanks for your advice,
JB
Hi,
So the data rates are synchronized, but different, i.e. integer ratios?
I think this might be a good use case to give the multi-buffer support a
bit of real world testing.
- Lars
From: Lars-Peter Clausen <lars@xxxxxxxxxx>
Sent: Thursday, April 14, 2022 13:19
To: Fawzi Khaber <Fawzi.Khaber@xxxxxxx>; jic23@xxxxxxxxxx <jic23@xxxxxxxxxx>
Cc: Jean-Baptiste Maneyrol <Jean-Baptiste.Maneyrol@xxxxxxx>; linux-iio <linux-iio@xxxxxxxxxxxxxxx>
Subject: Re: iio: imu new driver
[CAUTION] This is EXTERNAL email. Do not click any links or open attachments unless you recognize the sender and know the content is safe.
======================================================================
On 4/14/22 12:35, Fawzi Khaber wrote:
Hello Jonathan,
We are currently implementing a new driver for an invensense chip similar to
iio/imu/inv_icm42600. The chip has 2 sensors a gyroscope and an
accelerometer, and we are wandering if it was better the have two
IIO devices, one for each sensor, or just one IIO device with two buffers.
Are these two completely independent sensors that only sit in the same
package or do they share a common clock and the data acquisition can be
synchronized?
If it is the latter the best might be to have a single device with a
single buffer.
Typical algorithms that process IMU data, like odometry, want to process
the accelerator and gyroscope data jointly. If the data gets
artificially separated into two buffers it first has to be re-aligned,
which might be tricky to do.
- Lars