xref: /linux/Documentation/iio/adis16550.rst (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1*aaa9d616SRobert Budai.. SPDX-License-Identifier: GPL-2.0
2*aaa9d616SRobert Budai
3*aaa9d616SRobert Budai================
4*aaa9d616SRobert BudaiADIS16550 driver
5*aaa9d616SRobert Budai================
6*aaa9d616SRobert Budai
7*aaa9d616SRobert BudaiThis driver supports Analog Device's IMUs on SPI bus.
8*aaa9d616SRobert Budai
9*aaa9d616SRobert Budai1. Supported devices
10*aaa9d616SRobert Budai====================
11*aaa9d616SRobert Budai
12*aaa9d616SRobert Budai* `ADIS16550 <https://www.analog.com/ADIS16550>`_
13*aaa9d616SRobert Budai
14*aaa9d616SRobert BudaiThe ADIS16550 is a complete inertial system that includes a triaxis gyroscope
15*aaa9d616SRobert Budaiand a triaxis accelerometer. The factory calibration characterizes each sensor for
16*aaa9d616SRobert Budaisensitivity, bias, and alignment. As a result, each sensor has its own dynamic
17*aaa9d616SRobert Budaicompensation formulas that provide accurate sensor measurements.
18*aaa9d616SRobert Budai
19*aaa9d616SRobert Budai2. Device attributes
20*aaa9d616SRobert Budai====================
21*aaa9d616SRobert Budai
22*aaa9d616SRobert BudaiAccelerometer, gyroscope measurements are always provided. Furthermore, the
23*aaa9d616SRobert Budaidriver offers the capability to retrieve the delta angle and the delta velocity
24*aaa9d616SRobert Budaimeasurements computed by the device.
25*aaa9d616SRobert Budai
26*aaa9d616SRobert BudaiThe delta angle measurements represent a calculation of angular displacement
27*aaa9d616SRobert Budaibetween each sample update, while the delta velocity measurements represent a
28*aaa9d616SRobert Budaicalculation of linear velocity change between each sample update.
29*aaa9d616SRobert Budai
30*aaa9d616SRobert BudaiFinally, temperature data are provided which show a coarse measurement of
31*aaa9d616SRobert Budaithe temperature inside of the IMU device. This data is most useful for
32*aaa9d616SRobert Budaimonitoring relative changes in the thermal environment.
33*aaa9d616SRobert Budai
34*aaa9d616SRobert BudaiEach IIO device, has a device folder under ``/sys/bus/iio/devices/iio:deviceX``,
35*aaa9d616SRobert Budaiwhere X is the IIO index of the device. Under these folders reside a set of
36*aaa9d616SRobert Budaidevice files, depending on the characteristics and features of the hardware
37*aaa9d616SRobert Budaidevice in questions. These files are consistently generalized and documented in
38*aaa9d616SRobert Budaithe IIO ABI documentation.
39*aaa9d616SRobert Budai
40*aaa9d616SRobert BudaiThe following tables show the adis16550 related device files, found in the
41*aaa9d616SRobert Budaispecific device folder path ``/sys/bus/iio/devices/iio:deviceX``.
42*aaa9d616SRobert Budai
43*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
44*aaa9d616SRobert Budai| 3-Axis Accelerometer related device files | Description                                              |
45*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
46*aaa9d616SRobert Budai| in_accel_scale                            | Scale for the accelerometer channels.                    |
47*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
48*aaa9d616SRobert Budai| in_accel_filter_low_pass_3db_frequency    | Bandwidth for the accelerometer channels.                |
49*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
50*aaa9d616SRobert Budai| in_accel_x_calibbias                      | Calibration offset for the X-axis accelerometer channel. |
51*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
52*aaa9d616SRobert Budai| in_accel_x_calibscale                     | Calibration scale for the X-axis accelerometer channel.  |
53*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
54*aaa9d616SRobert Budai| in_accel_x_raw                            | Raw X-axis accelerometer channel value.                  |
55*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
56*aaa9d616SRobert Budai| in_accel_y_calibbias                      | Calibration offset for the Y-axis accelerometer channel. |
57*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
58*aaa9d616SRobert Budai| in_accel_y_calibscale                     | Calibration scale for the Y-axis accelerometer channel.  |
59*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
60*aaa9d616SRobert Budai| in_accel_y_raw                            | Raw Y-axis accelerometer channel value.                  |
61*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
62*aaa9d616SRobert Budai| in_accel_z_calibbias                      | Calibration offset for the Z-axis accelerometer channel. |
63*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
64*aaa9d616SRobert Budai| in_accel_z_calibscale                     | Calibration scale for the Z-axis accelerometer channel.  |
65*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
66*aaa9d616SRobert Budai| in_accel_z_raw                            | Raw Z-axis accelerometer channel value.                  |
67*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
68*aaa9d616SRobert Budai| in_deltavelocity_scale                    | Scale for delta velocity channels.                       |
69*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
70*aaa9d616SRobert Budai| in_deltavelocity_x_raw                    | Raw X-axis delta velocity channel value.                 |
71*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
72*aaa9d616SRobert Budai| in_deltavelocity_y_raw                    | Raw Y-axis delta velocity channel value.                 |
73*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
74*aaa9d616SRobert Budai| in_deltavelocity_z_raw                    | Raw Z-axis delta velocity channel value.                 |
75*aaa9d616SRobert Budai+-------------------------------------------+----------------------------------------------------------+
76*aaa9d616SRobert Budai
77*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
78*aaa9d616SRobert Budai| 3-Axis Gyroscope related device files      | Description                                          |
79*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
80*aaa9d616SRobert Budai| in_anglvel_scale                           | Scale for the gyroscope channels.                    |
81*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
82*aaa9d616SRobert Budai| in_anglvel_filter_low_pass_3db_frequency   | Scale for the gyroscope channels.                    |
83*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
84*aaa9d616SRobert Budai| in_anglvel_x_calibbias                     | Calibration offset for the X-axis gyroscope channel. |
85*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
86*aaa9d616SRobert Budai| in_anglvel_x_calibscale                    | Calibration scale for the X-axis gyroscope channel.  |
87*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
88*aaa9d616SRobert Budai| in_anglvel_x_raw                           | Raw X-axis gyroscope channel value.                  |
89*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
90*aaa9d616SRobert Budai| in_anglvel_y_calibbias                     | Calibration offset for the Y-axis gyroscope channel. |
91*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
92*aaa9d616SRobert Budai| in_anglvel_y_calibscale                    | Calibration scale for the Y-axis gyroscope channel.  |
93*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
94*aaa9d616SRobert Budai| in_anglvel_y_raw                           | Raw Y-axis gyroscope channel value.                  |
95*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
96*aaa9d616SRobert Budai| in_anglvel_z_calibbias                     | Calibration offset for the Z-axis gyroscope channel. |
97*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
98*aaa9d616SRobert Budai| in_anglvel_z_calibscale                    | Calibration scale for the Z-axis gyroscope channel.  |
99*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
100*aaa9d616SRobert Budai| in_anglvel_z_raw                           | Raw Z-axis gyroscope channel value.                  |
101*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
102*aaa9d616SRobert Budai| in_deltaangl_scale                         | Scale for delta angle channels.                      |
103*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
104*aaa9d616SRobert Budai| in_deltaangl_x_raw                         | Raw X-axis delta angle channel value.                |
105*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
106*aaa9d616SRobert Budai| in_deltaangl_y_raw                         | Raw Y-axis delta angle channel value.                |
107*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
108*aaa9d616SRobert Budai| in_deltaangl_z_raw                         | Raw Z-axis delta angle channel value.                |
109*aaa9d616SRobert Budai+--------------------------------------------+------------------------------------------------------+
110*aaa9d616SRobert Budai
111*aaa9d616SRobert Budai+----------------------------------+-------------------------------------------+
112*aaa9d616SRobert Budai| Temperature sensor related files | Description                               |
113*aaa9d616SRobert Budai+----------------------------------+-------------------------------------------+
114*aaa9d616SRobert Budai| in_temp0_raw                     | Raw temperature channel value.            |
115*aaa9d616SRobert Budai+----------------------------------+-------------------------------------------+
116*aaa9d616SRobert Budai| in_temp0_offset                  | Offset for the temperature sensor channel.|
117*aaa9d616SRobert Budai+----------------------------------+-------------------------------------------+
118*aaa9d616SRobert Budai| in_temp0_scale                   | Scale for the temperature sensor channel. |
119*aaa9d616SRobert Budai+----------------------------------+-------------------------------------------+
120*aaa9d616SRobert Budai
121*aaa9d616SRobert Budai+----------------------------+--------------------------------------------------------------------------------+
122*aaa9d616SRobert Budai| Miscellaneous device files | Description                                                                    |
123*aaa9d616SRobert Budai+----------------------------+--------------------------------------------------------------------------------+
124*aaa9d616SRobert Budai| name                       | Name of the IIO device.                                                        |
125*aaa9d616SRobert Budai+----------------------------+--------------------------------------------------------------------------------+
126*aaa9d616SRobert Budai| sampling_frequency         | Currently selected sample rate.                                                |
127*aaa9d616SRobert Budai+----------------------------+--------------------------------------------------------------------------------+
128*aaa9d616SRobert Budai
129*aaa9d616SRobert BudaiThe following table shows the adis16550 related device debug files, found in the
130*aaa9d616SRobert Budaispecific device debug folder path ``/sys/kernel/debug/iio/iio:deviceX``.
131*aaa9d616SRobert Budai
132*aaa9d616SRobert Budai+----------------------+-------------------------------------------------------------------------+
133*aaa9d616SRobert Budai| Debugfs device files | Description                                                             |
134*aaa9d616SRobert Budai+----------------------+-------------------------------------------------------------------------+
135*aaa9d616SRobert Budai| serial_number        | The serial number of the chip in hexadecimal format.                    |
136*aaa9d616SRobert Budai+----------------------+-------------------------------------------------------------------------+
137*aaa9d616SRobert Budai| product_id           | Chip specific product id (16550).                                       |
138*aaa9d616SRobert Budai+----------------------+-------------------------------------------------------------------------+
139*aaa9d616SRobert Budai| flash_count          | The number of flash writes performed on the device.                     |
140*aaa9d616SRobert Budai+----------------------+-------------------------------------------------------------------------+
141*aaa9d616SRobert Budai| firmware_revision    | String containing the firmware revision in the following format ##.##.  |
142*aaa9d616SRobert Budai+----------------------+-------------------------------------------------------------------------+
143*aaa9d616SRobert Budai| firmware_date        | String containing the firmware date in the following format mm-dd-yyyy. |
144*aaa9d616SRobert Budai+----------------------+-------------------------------------------------------------------------+
145*aaa9d616SRobert Budai
146*aaa9d616SRobert BudaiChannels processed values
147*aaa9d616SRobert Budai-------------------------
148*aaa9d616SRobert Budai
149*aaa9d616SRobert BudaiA channel value can be read from its _raw attribute. The value returned is the
150*aaa9d616SRobert Budairaw value as reported by the devices. To get the processed value of the channel,
151*aaa9d616SRobert Budaiapply the following formula:
152*aaa9d616SRobert Budai
153*aaa9d616SRobert Budai.. code-block:: bash
154*aaa9d616SRobert Budai
155*aaa9d616SRobert Budai        processed value = (_raw + _offset) * _scale
156*aaa9d616SRobert Budai
157*aaa9d616SRobert BudaiWhere _offset and _scale are device attributes. If no _offset attribute is
158*aaa9d616SRobert Budaipresent, simply assume its value is 0.
159*aaa9d616SRobert Budai
160*aaa9d616SRobert BudaiThe adis16550 driver offers data for 5 types of channels, the table below shows
161*aaa9d616SRobert Budaithe measurement units for the processed value, which are defined by the IIO
162*aaa9d616SRobert Budaiframework:
163*aaa9d616SRobert Budai
164*aaa9d616SRobert Budai+--------------------------------------+---------------------------+
165*aaa9d616SRobert Budai| Channel type                         | Measurement unit          |
166*aaa9d616SRobert Budai+--------------------------------------+---------------------------+
167*aaa9d616SRobert Budai| Acceleration on X, Y, and Z axis     | Meters per Second squared |
168*aaa9d616SRobert Budai+--------------------------------------+---------------------------+
169*aaa9d616SRobert Budai| Angular velocity on X, Y and Z axis  | Radians per second        |
170*aaa9d616SRobert Budai+--------------------------------------+---------------------------+
171*aaa9d616SRobert Budai| Delta velocity on X. Y, and Z axis   | Meters per Second         |
172*aaa9d616SRobert Budai+--------------------------------------+---------------------------+
173*aaa9d616SRobert Budai| Delta angle on X, Y, and Z axis      | Radians                   |
174*aaa9d616SRobert Budai+--------------------------------------+---------------------------+
175*aaa9d616SRobert Budai| Temperature                          | Millidegrees Celsius      |
176*aaa9d616SRobert Budai+--------------------------------------+---------------------------+
177*aaa9d616SRobert Budai
178*aaa9d616SRobert BudaiUsage examples
179*aaa9d616SRobert Budai--------------
180*aaa9d616SRobert Budai
181*aaa9d616SRobert BudaiShow device name:
182*aaa9d616SRobert Budai
183*aaa9d616SRobert Budai.. code-block:: bash
184*aaa9d616SRobert Budai
185*aaa9d616SRobert Budai	root:/sys/bus/iio/devices/iio:device0> cat name
186*aaa9d616SRobert Budai        adis16550
187*aaa9d616SRobert Budai
188*aaa9d616SRobert BudaiShow accelerometer channels value:
189*aaa9d616SRobert Budai
190*aaa9d616SRobert Budai.. code-block:: bash
191*aaa9d616SRobert Budai
192*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_raw
193*aaa9d616SRobert Budai        6903851
194*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_y_raw
195*aaa9d616SRobert Budai        5650550
196*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_z_raw
197*aaa9d616SRobert Budai        104873530
198*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_scale
199*aaa9d616SRobert Budai        0.000000095
200*aaa9d616SRobert Budai
201*aaa9d616SRobert Budai- X-axis acceleration = in_accel_x_raw * in_accel_scale = 0.655865845 m/s^2
202*aaa9d616SRobert Budai- Y-axis acceleration = in_accel_y_raw * in_accel_scale = 0.53680225 m/s^2
203*aaa9d616SRobert Budai- Z-axis acceleration = in_accel_z_raw * in_accel_scale = 9.96298535 m/s^2
204*aaa9d616SRobert Budai
205*aaa9d616SRobert BudaiShow gyroscope channels value:
206*aaa9d616SRobert Budai
207*aaa9d616SRobert Budai.. code-block:: bash
208*aaa9d616SRobert Budai
209*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_x_raw
210*aaa9d616SRobert Budai        193309
211*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_raw
212*aaa9d616SRobert Budai        -763676
213*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_z_raw
214*aaa9d616SRobert Budai        -358108
215*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_scale
216*aaa9d616SRobert Budai        0.000000003
217*aaa9d616SRobert Budai
218*aaa9d616SRobert Budai- X-axis angular velocity = in_anglvel_x_raw * in_anglvel_scale = 0.000579927 rad/s
219*aaa9d616SRobert Budai- Y-axis angular velocity = in_anglvel_y_raw * in_anglvel_scale = −0.002291028 rad/s
220*aaa9d616SRobert Budai- Z-axis angular velocity = in_anglvel_z_raw * in_anglvel_scale = −0.001074324 rad/s
221*aaa9d616SRobert Budai
222*aaa9d616SRobert BudaiSet calibration offset for accelerometer channels:
223*aaa9d616SRobert Budai
224*aaa9d616SRobert Budai.. code-block:: bash
225*aaa9d616SRobert Budai
226*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
227*aaa9d616SRobert Budai        0
228*aaa9d616SRobert Budai
229*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 5000 > in_accel_x_calibbias
230*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
231*aaa9d616SRobert Budai        5000
232*aaa9d616SRobert Budai
233*aaa9d616SRobert BudaiSet calibration offset for gyroscope channels:
234*aaa9d616SRobert Budai
235*aaa9d616SRobert Budai.. code-block:: bash
236*aaa9d616SRobert Budai
237*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
238*aaa9d616SRobert Budai        0
239*aaa9d616SRobert Budai
240*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo -5000 > in_anglvel_y_calibbias
241*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
242*aaa9d616SRobert Budai        -5000
243*aaa9d616SRobert Budai
244*aaa9d616SRobert BudaiSet sampling frequency:
245*aaa9d616SRobert Budai
246*aaa9d616SRobert Budai.. code-block:: bash
247*aaa9d616SRobert Budai
248*aaa9d616SRobert Budai	root:/sys/bus/iio/devices/iio:device0> cat sampling_frequency
249*aaa9d616SRobert Budai        4000.000000
250*aaa9d616SRobert Budai
251*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 1000 > sampling_frequency
252*aaa9d616SRobert Budai        1000.000000
253*aaa9d616SRobert Budai
254*aaa9d616SRobert BudaiSet bandwidth for accelerometer channels:
255*aaa9d616SRobert Budai
256*aaa9d616SRobert Budai.. code-block:: bash
257*aaa9d616SRobert Budai
258*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_filter_low_pass_3db_frequency
259*aaa9d616SRobert Budai        0
260*aaa9d616SRobert Budai
261*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 100 > in_accel_filter_low_pass_3db_frequency
262*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat in_accel_filter_low_pass_3db_frequency
263*aaa9d616SRobert Budai        100
264*aaa9d616SRobert Budai
265*aaa9d616SRobert BudaiShow serial number:
266*aaa9d616SRobert Budai
267*aaa9d616SRobert Budai.. code-block:: bash
268*aaa9d616SRobert Budai
269*aaa9d616SRobert Budai        root:/sys/kernel/debug/iio/iio:device0> cat serial_number
270*aaa9d616SRobert Budai        0x000000b6
271*aaa9d616SRobert Budai
272*aaa9d616SRobert BudaiShow product id:
273*aaa9d616SRobert Budai
274*aaa9d616SRobert Budai.. code-block:: bash
275*aaa9d616SRobert Budai
276*aaa9d616SRobert Budai        root:/sys/kernel/debug/iio/iio:device0> cat product_id
277*aaa9d616SRobert Budai        16550
278*aaa9d616SRobert Budai
279*aaa9d616SRobert BudaiShow flash count:
280*aaa9d616SRobert Budai
281*aaa9d616SRobert Budai.. code-block:: bash
282*aaa9d616SRobert Budai
283*aaa9d616SRobert Budai        root:/sys/kernel/debug/iio/iio:device0> cat flash_count
284*aaa9d616SRobert Budai        13
285*aaa9d616SRobert Budai
286*aaa9d616SRobert BudaiShow firmware revision:
287*aaa9d616SRobert Budai
288*aaa9d616SRobert Budai.. code-block:: bash
289*aaa9d616SRobert Budai
290*aaa9d616SRobert Budai        root:/sys/kernel/debug/iio/iio:device0> cat firmware_revision
291*aaa9d616SRobert Budai        1.5
292*aaa9d616SRobert Budai
293*aaa9d616SRobert BudaiShow firmware date:
294*aaa9d616SRobert Budai
295*aaa9d616SRobert Budai.. code-block:: bash
296*aaa9d616SRobert Budai
297*aaa9d616SRobert Budai        root:/sys/kernel/debug/iio/iio:device0> cat firmware_date
298*aaa9d616SRobert Budai        28-04-2021
299*aaa9d616SRobert Budai
300*aaa9d616SRobert Budai3. Device buffers
301*aaa9d616SRobert Budai=================
302*aaa9d616SRobert Budai
303*aaa9d616SRobert BudaiThis driver supports IIO buffers.
304*aaa9d616SRobert Budai
305*aaa9d616SRobert BudaiThe device supports retrieving the raw acceleration, gyroscope, delta velocity,
306*aaa9d616SRobert Budaidelta angle and temperature measurements using buffers.
307*aaa9d616SRobert Budai
308*aaa9d616SRobert BudaiHowever, when retrieving acceleration or gyroscope data using buffers, delta
309*aaa9d616SRobert Budaireadings will not be available and vice versa. This is because the device only
310*aaa9d616SRobert Budaiallows to read either acceleration and gyroscope data or delta velocity and
311*aaa9d616SRobert Budaidelta angle data at a time and switching between these two burst data selection
312*aaa9d616SRobert Budaimodes is time consuming.
313*aaa9d616SRobert Budai
314*aaa9d616SRobert BudaiUsage examples
315*aaa9d616SRobert Budai--------------
316*aaa9d616SRobert Budai
317*aaa9d616SRobert BudaiSet device trigger in current_trigger, if not already set:
318*aaa9d616SRobert Budai
319*aaa9d616SRobert Budai.. code-block:: bash
320*aaa9d616SRobert Budai
321*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger
322*aaa9d616SRobert Budai
323*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo adis16550-dev0 > trigger/current_trigger
324*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger
325*aaa9d616SRobert Budai        adis16550-dev0
326*aaa9d616SRobert Budai
327*aaa9d616SRobert BudaiSelect channels for buffer read:
328*aaa9d616SRobert Budai
329*aaa9d616SRobert Budai.. code-block:: bash
330*aaa9d616SRobert Budai
331*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_x_en
332*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_y_en
333*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_z_en
334*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_temp0_en
335*aaa9d616SRobert Budai
336*aaa9d616SRobert BudaiSet the number of samples to be stored in the buffer:
337*aaa9d616SRobert Budai
338*aaa9d616SRobert Budai.. code-block:: bash
339*aaa9d616SRobert Budai
340*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 10 > buffer/length
341*aaa9d616SRobert Budai
342*aaa9d616SRobert BudaiEnable buffer readings:
343*aaa9d616SRobert Budai
344*aaa9d616SRobert Budai.. code-block:: bash
345*aaa9d616SRobert Budai
346*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> echo 1 > buffer/enable
347*aaa9d616SRobert Budai
348*aaa9d616SRobert BudaiObtain buffered data:
349*aaa9d616SRobert Budai
350*aaa9d616SRobert Budai.. code-block:: bash
351*aaa9d616SRobert Budai
352*aaa9d616SRobert Budai        root:/sys/bus/iio/devices/iio:device0> hexdump -C /dev/iio\:device0
353*aaa9d616SRobert Budai        ...
354*aaa9d616SRobert Budai        0000cdf0  00 00 0d 2f 00 00 08 43  00 00 09 09 00 00 a4 5f  |.../...C......._|
355*aaa9d616SRobert Budai        0000ce00  00 00 0d 2f 00 00 07 de  00 00 08 db 00 00 a4 4b  |.../...........K|
356*aaa9d616SRobert Budai        0000ce10  00 00 0d 2f 00 00 07 58  00 00 08 a3 00 00 a4 55  |.../...X.......U|
357*aaa9d616SRobert Budai        0000ce20  00 00 0d 2f 00 00 06 d6  00 00 08 5c 00 00 a4 62  |.../.......\...b|
358*aaa9d616SRobert Budai        0000ce30  00 00 0d 2f 00 00 06 45  00 00 08 37 00 00 a4 47  |.../...E...7...G|
359*aaa9d616SRobert Budai        0000ce40  00 00 0d 2f 00 00 05 d4  00 00 08 30 00 00 a3 fa  |.../.......0....|
360*aaa9d616SRobert Budai        0000ce50  00 00 0d 2f 00 00 05 d0  00 00 08 12 00 00 a3 d3  |.../............|
361*aaa9d616SRobert Budai        0000ce60  00 00 0d 2f 00 00 05 dd  00 00 08 2e 00 00 a3 e9  |.../............|
362*aaa9d616SRobert Budai        0000ce70  00 00 0d 2f 00 00 05 cc  00 00 08 51 00 00 a3 d5  |.../.......Q....|
363*aaa9d616SRobert Budai        0000ce80  00 00 0d 2f 00 00 05 ba  00 00 08 22 00 00 a3 9a  |.../......."....|
364*aaa9d616SRobert Budai        0000ce90  00 00 0d 2f 00 00 05 9c  00 00 07 d9 00 00 a3 40  |.../...........@|
365*aaa9d616SRobert Budai        0000cea0  00 00 0d 2f 00 00 05 68  00 00 07 94 00 00 a2 e4  |.../...h........|
366*aaa9d616SRobert Budai        0000ceb0  00 00 0d 2f 00 00 05 25  00 00 07 8d 00 00 a2 ce  |.../...%........|
367*aaa9d616SRobert Budai        ...
368*aaa9d616SRobert Budai
369*aaa9d616SRobert BudaiSee ``Documentation/iio/iio_devbuf.rst`` for more information about how buffered
370*aaa9d616SRobert Budaidata is structured.
371*aaa9d616SRobert Budai
372*aaa9d616SRobert Budai4. IIO Interfacing Tools
373*aaa9d616SRobert Budai========================
374*aaa9d616SRobert Budai
375*aaa9d616SRobert BudaiSee ``Documentation/iio/iio_tools.rst`` for the description of the available IIO
376*aaa9d616SRobert Budaiinterfacing tools.
377