IIO channel type for status/error flag indicators

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

We are currently working on a new adis16495 IMU driver which is an upgrade
from the adis16480 family: https://www.analog.com/media/en/technical-docume
ntation/data-sheets/ADIS16495.pdf.

This new chip supports a feature called "Burst Read Function" (page 13 in
the datasheet). The burst read function (BRF) provides a method for reading
a batch of data (status, temperature, gyroscopes, accelerometers, time
stamp/data counter, and CRC code), which does not require a stall
time between each 16-bit segment and only requires one command
on the DIN line to initiate.

Most of the data read in this way can be attributed to a type of channel: 
IIO_TEMP, IIO_ANGL_VEL, IIO_ACCEL, etc. However, there is no equivalent for
the status and CRC. The status register provides various error flags such
as spi communication error, sensor failure, sync error, etc (Table 18 in
the datasheet). This information together with the CRC error should be
exposed to the user space. What is the best way to do it? 

The most obvious way, but not necessarily the correct one, would be to add
a new channel type called something like IIO_STATUS or IIO_FLAG. Is this
acceptable?

A more or less similar burst read function has been previously implemented
as part of the adis16400 driver. Although a burst read will also produce
diagnostic status data, it was ignored in the driver implementation.

Looking forward to any suggestion.

-Stefan




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux