← Documents Documentation/iio/adis16475.rst GitHub 원문 ↗

Linux 6.18.37 · IIO

ADIS16475 driver

ADIS16475 계열 IMU의 관성 채널, 보정, 처리 단위, debugfs와 IIO 버퍼를 설명합니다.

Source pathDocumentation/iio/adis16475.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

adis16475.rst:1-384

ADIS16475 드라이버는 8개 정밀 MEMS IMU의 3축 가속도·각속도와 온도를 IIO로 제공합니다. 일부 계열은 delta velocity·delta angle 버퍼도 지원하며, 축별 바이어스와 샘플링 주파수·저역 통과 대역폭을 조정할 수 있습니다.

문서 개요
항목
SourceDocumentation/iio/adis16475.rst
분량384 source lines
지원 장치8
센서 축가속도 3축 + 자이로스코프 3축
Delta 버퍼ADIS16477, ADIS16500, ADIS16505, ADIS16507

지원 범위와 핵심 제약을 요약합니다.

통합 IMU 흐름
공장 보정된 3축 관성 센서 측정축별 `calibbias`와 필터·샘플 속도 설정raw·offset·scale로 처리값 계산일반 또는 delta 채널 그룹 선택Sysfs 읽기 또는 IIO buffer 캡처

센서 보정부터 sysfs 또는 버퍼 수집까지의 경로입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ================
4 ADIS16475 driver
5 ================
6
7 This driver supports Analog Device's IMUs on SPI bus.
8
9 1. Supported devices
10 ====================
11
12 * `ADIS16465 <https://www.analog.com/ADIS16465>`_
13 * `ADIS16467 <https://www.analog.com/ADIS16467>`_
14 * `ADIS16470 <https://www.analog.com/ADIS16470>`_
15 * `ADIS16475 <https://www.analog.com/ADIS16475>`_
16 * `ADIS16477 <https://www.analog.com/ADIS16477>`_
17 * `ADIS16500 <https://www.analog.com/ADIS16500>`_
18 * `ADIS16505 <https://www.analog.com/ADIS16505>`_
19 * `ADIS16507 <https://www.analog.com/ADIS16507>`_
20
21 Each supported device is a precision, miniature microelectromechanical system
22 (MEMS) inertial measurement unit (IMU) that includes a triaxial gyroscope and a
23 triaxial accelerometer. Each inertial sensor in the IMU device combines with
24 signal conditioning that optimizes dynamic performance. The factory calibration
25 characterizes each sensor for sensitivity, bias, alignment, linear acceleration
26 (gyroscope bias), and point of percussion (accelerometer location). As a result,
27 each sensor has dynamic compensation formulas that provide accurate sensor
28 measurements over a broad set of conditions.
29
30 2. Device attributes
31 ====================
32
33 Accelerometer, gyroscope measurements are always provided. Furthermore, the
34 driver offers the capability to retrieve the delta angle and the delta velocity
35 measurements computed by the device.
36
37 The delta angle measurements represent a calculation of angular displacement
38 between each sample update, while the delta velocity measurements represent a
39 calculation of linear velocity change between each sample update.
40
41 Finally, temperature data are provided which show a coarse measurement of
42 the temperature inside of the IMU device. This data is most useful for
43 monitoring relative changes in the thermal environment.
44
45 The signal chain of each inertial sensor (accelerometers and gyroscopes)
46 includes the application of unique correction formulas, which are derived from
47 extensive characterization of bias, sensitivity, alignment, response to linear
48 acceleration (gyroscopes), and point of percussion (accelerometer location)
49 over a temperature range of −40°C to +85°C, for each ADIS device. These
50 correction formulas are not accessible, but users do have the opportunity to
51 adjust the bias for each sensor individually through the calibbias attribute.
52
53 Each IIO device, has a device folder under ``/sys/bus/iio/devices/iio:deviceX``,
54 where X is the IIO index of the device. Under these folders reside a set of
55 device files, depending on the characteristics and features of the hardware
56 device in questions. These files are consistently generalized and documented in
57 the IIO ABI documentation.
58
59 The following tables show the adis16475 related device files, found in the
60 specific device folder path ``/sys/bus/iio/devices/iio:deviceX``.
61
62 +-------------------------------------------+----------------------------------------------------------+
63 | 3-Axis Accelerometer related device files | Description |
64 +-------------------------------------------+----------------------------------------------------------+
65 | in_accel_scale | Scale for the accelerometer channels. |
66 +-------------------------------------------+----------------------------------------------------------+
67 | in_accel_x_calibbias | Calibration offset for the X-axis accelerometer channel. |
68 +-------------------------------------------+----------------------------------------------------------+
69 | in_accel_x_raw | Raw X-axis accelerometer channel value. |
70 +-------------------------------------------+----------------------------------------------------------+
71 | in_accel_y_calibbias | Calibration offset for the Y-axis accelerometer channel. |
72 +-------------------------------------------+----------------------------------------------------------+
73 | in_accel_y_raw | Raw Y-axis accelerometer channel value. |
74 +-------------------------------------------+----------------------------------------------------------+
75 | in_accel_z_calibbias | Calibration offset for the Z-axis accelerometer channel. |
76 +-------------------------------------------+----------------------------------------------------------+
77 | in_accel_z_raw | Raw Z-axis accelerometer channel value. |
78 +-------------------------------------------+----------------------------------------------------------+
79 | in_deltavelocity_scale | Scale for delta velocity channels. |
80 +-------------------------------------------+----------------------------------------------------------+
81 | in_deltavelocity_x_raw | Raw X-axis delta velocity channel value. |
82 +-------------------------------------------+----------------------------------------------------------+
83 | in_deltavelocity_y_raw | Raw Y-axis delta velocity channel value. |
84 +-------------------------------------------+----------------------------------------------------------+
85 | in_deltavelocity_z_raw | Raw Z-axis delta velocity channel value. |
86 +-------------------------------------------+----------------------------------------------------------+
87
88 +---------------------------------------+------------------------------------------------------+
89 | 3-Axis Gyroscope related device files | Description |
90 +---------------------------------------+------------------------------------------------------+
91 | in_anglvel_scale | Scale for the gyroscope channels. |
92 +---------------------------------------+------------------------------------------------------+
93 | in_anglvel_x_calibbias | Calibration offset for the X-axis gyroscope channel. |
94 +---------------------------------------+------------------------------------------------------+
95 | in_anglvel_x_raw | Raw X-axis gyroscope channel value. |
96 +---------------------------------------+------------------------------------------------------+
97 | in_anglvel_y_calibbias | Calibration offset for the Y-axis gyroscope channel. |
98 +---------------------------------------+------------------------------------------------------+
99 | in_anglvel_y_raw | Raw Y-axis gyroscope channel value. |
100 +---------------------------------------+------------------------------------------------------+
101 | in_anglvel_z_calibbias | Calibration offset for the Z-axis gyroscope channel. |
102 +---------------------------------------+------------------------------------------------------+
103 | in_anglvel_z_raw | Raw Z-axis gyroscope channel value. |
104 +---------------------------------------+------------------------------------------------------+
105 | in_deltaangl_scale | Scale for delta angle channels. |
106 +---------------------------------------+------------------------------------------------------+
107 | in_deltaangl_x_raw | Raw X-axis delta angle channel value. |
108 +---------------------------------------+------------------------------------------------------+
109 | in_deltaangl_y_raw | Raw Y-axis delta angle channel value. |
110 +---------------------------------------+------------------------------------------------------+
111 | in_deltaangl_z_raw | Raw Z-axis delta angle channel value. |
112 +---------------------------------------+------------------------------------------------------+
113
114 +----------------------------------+-------------------------------------------+
115 | Temperature sensor related files | Description |
116 +----------------------------------+-------------------------------------------+
117 | in_temp0_raw | Raw temperature channel value. |
118 +----------------------------------+-------------------------------------------+
119 | in_temp0_scale | Scale for the temperature sensor channel. |
120 +----------------------------------+-------------------------------------------+
121
122 +-------------------------------+---------------------------------------------------------+
123 | Miscellaneous device files | Description |
124 +-------------------------------+---------------------------------------------------------+
125 | name | Name of the IIO device. |
126 +-------------------------------+---------------------------------------------------------+
127 | sampling_frequency | Currently selected sample rate. |
128 +-------------------------------+---------------------------------------------------------+
129 | filter_low_pass_3db_frequency | Bandwidth for the accelerometer and gyroscope channels. |
130 +-------------------------------+---------------------------------------------------------+
131
132 The following table shows the adis16475 related device debug files, found in the
133 specific device debug folder path ``/sys/kernel/debug/iio/iio:deviceX``.
134
135 +----------------------+-------------------------------------------------------------------------+
136 | Debugfs device files | Description |
137 +----------------------+-------------------------------------------------------------------------+
138 | serial_number | The serial number of the chip in hexadecimal format. |
139 +----------------------+-------------------------------------------------------------------------+
140 | product_id | Chip specific product id (e.g. 16475, 16500, 16505, etc.). |
141 +----------------------+-------------------------------------------------------------------------+
142 | flash_count | The number of flash writes performed on the device. |
143 +----------------------+-------------------------------------------------------------------------+
144 | firmware_revision | String containing the firmware revision in the following format ##.##. |
145 +----------------------+-------------------------------------------------------------------------+
146 | firmware_date | String containing the firmware date in the following format mm-dd-yyyy. |
147 +----------------------+-------------------------------------------------------------------------+
148
149 Channels processed values
150 -------------------------
151
152 A channel value can be read from its _raw attribute. The value returned is the
153 raw value as reported by the devices. To get the processed value of the channel,
154 apply the following formula:
155
156 .. code-block:: bash
157
158 processed value = (_raw + _offset) * _scale
159
160 Where _offset and _scale are device attributes. If no _offset attribute is
161 present, simply assume its value is 0.
162
163 The adis16475 driver offers data for 5 types of channels, the table below shows
164 the measurement units for the processed value, which are defined by the IIO
165 framework:
166
167 +-------------------------------------+---------------------------+
168 | Channel type | Measurement unit |
169 +-------------------------------------+---------------------------+
170 | Acceleration on X, Y, and Z axis | Meters per Second squared |
171 +-------------------------------------+---------------------------+
172 | Angular velocity on X, Y and Z axis | Radians per second |
173 +-------------------------------------+---------------------------+
174 | Delta velocity on X. Y, and Z axis | Meters per Second |
175 +-------------------------------------+---------------------------+
176 | Delta angle on X, Y, and Z axis | Radians |
177 +-------------------------------------+---------------------------+
178 | Temperature | Millidegrees Celsius |
179 +-------------------------------------+---------------------------+
180
181 Usage examples
182 --------------
183
184 Show device name:
185
186 .. code-block:: bash
187
188 root:/sys/bus/iio/devices/iio:device0> cat name
189 adis16505-2
190
191 Show accelerometer channels value:
192
193 .. code-block:: bash
194
195 root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_raw
196 -275924
197 root:/sys/bus/iio/devices/iio:device0> cat in_accel_y_raw
198 -30142222
199 root:/sys/bus/iio/devices/iio:device0> cat in_accel_z_raw
200 261265769
201 root:/sys/bus/iio/devices/iio:device0> cat in_accel_scale
202 0.000000037
203
204 - X-axis acceleration = in_accel_x_raw * in_accel_scale = −0.010209188 m/s^2
205 - Y-axis acceleration = in_accel_y_raw * in_accel_scale = −1.115262214 m/s^2
206 - Z-axis acceleration = in_accel_z_raw * in_accel_scale = 9.666833453 m/s^2
207
208 Show gyroscope channels value:
209
210 .. code-block:: bash
211
212 root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_x_raw
213 -3324626
214 root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_raw
215 1336980
216 root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_z_raw
217 -602983
218 root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_scale
219 0.000000006
220
221 - X-axis angular velocity = in_anglvel_x_raw * in_anglvel_scale = −0.019947756 rad/s
222 - Y-axis angular velocity = in_anglvel_y_raw * in_anglvel_scale = 0.00802188 rad/s
223 - Z-axis angular velocity = in_anglvel_z_raw * in_anglvel_scale = −0.003617898 rad/s
224
225 Set calibration offset for accelerometer channels:
226
227 .. code-block:: bash
228
229 root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
230 0
231
232 root:/sys/bus/iio/devices/iio:device0> echo 5000 > in_accel_x_calibbias
233 root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
234 5000
235
236 Set calibration offset for gyroscope channels:
237
238 .. code-block:: bash
239
240 root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
241 0
242
243 root:/sys/bus/iio/devices/iio:device0> echo -5000 > in_anglvel_y_calibbias
244 root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
245 -5000
246
247 Set sampling frequency:
248
249 .. code-block:: bash
250
251 root:/sys/bus/iio/devices/iio:device0> cat sampling_frequency
252 2000.000000
253
254 root:/sys/bus/iio/devices/iio:device0> echo 1000 > sampling_frequency
255 1000.000000
256
257 Set bandwidth for accelerometer and gyroscope:
258
259 .. code-block:: bash
260
261 root:/sys/bus/iio/devices/iio:device0> cat filter_low_pass_3db_frequency
262 720
263
264 root:/sys/bus/iio/devices/iio:device0> echo 360 > filter_low_pass_3db_frequency
265 root:/sys/bus/iio/devices/iio:device0> cat filter_low_pass_3db_frequency
266 360
267
268 Show serial number:
269
270 .. code-block:: bash
271
272 root:/sys/kernel/debug/iio/iio:device0> cat serial_number
273 0x04f9
274
275 Show product id:
276
277 .. code-block:: bash
278
279 root:/sys/kernel/debug/iio/iio:device0> cat product_id
280 16505
281
282 Show flash count:
283
284 .. code-block:: bash
285
286 root:/sys/kernel/debug/iio/iio:device0> cat flash_count
287 150
288
289 Show firmware revision:
290
291 .. code-block:: bash
292
293 root:/sys/kernel/debug/iio/iio:device0> cat firmware_revision
294 1.6
295
296 Show firmware date:
297
298 .. code-block:: bash
299
300 root:/sys/kernel/debug/iio/iio:device0> cat firmware_date
301 06-27-2019
302
303 3. Device buffers
304 =================
305
306 This driver supports IIO buffers.
307
308 All devices support retrieving the raw acceleration, gyroscope and temperature
309 measurements using buffers.
310
311 The following device families also support retrieving the delta velocity, delta
312 angle and temperature measurements using buffers:
313
314 - ADIS16477
315 - ADIS16500
316 - ADIS16505
317 - ADIS16507
318
319 However, when retrieving acceleration or gyroscope data using buffers, delta
320 readings will not be available and vice versa.
321
322 Usage examples
323 --------------
324
325 Set device trigger in current_trigger, if not already set:
326
327 .. code-block:: bash
328
329 root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger
330
331 root:/sys/bus/iio/devices/iio:device0> echo adis16505-2-dev0 > trigger/current_trigger
332 root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger
333 adis16505-2-dev0
334
335 Select channels for buffer read:
336
337 .. code-block:: bash
338
339 root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_x_en
340 root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_y_en
341 root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_z_en
342 root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_temp0_en
343
344 Set the number of samples to be stored in the buffer:
345
346 .. code-block:: bash
347
348 root:/sys/bus/iio/devices/iio:device0> echo 10 > buffer/length
349
350 Enable buffer readings:
351
352 .. code-block:: bash
353
354 root:/sys/bus/iio/devices/iio:device0> echo 1 > buffer/enable
355
356 Obtain buffered data:
357
358 .. code-block:: bash
359
360 root:/sys/bus/iio/devices/iio:device0> hexdump -C /dev/iio\:device0
361 ...
362 00001680 01 1f 00 00 ff ff fe ef 00 00 47 bf 00 03 35 55 |..........G...5U|
363 00001690 01 1f 00 00 ff ff ff d9 00 00 46 f1 00 03 35 35 |..........F...55|
364 000016a0 01 1f 00 00 ff ff fe fc 00 00 46 cb 00 03 35 7b |..........F...5{|
365 000016b0 01 1f 00 00 ff ff fe 41 00 00 47 0d 00 03 35 8b |.......A..G...5.|
366 000016c0 01 1f 00 00 ff ff fe 37 00 00 46 b4 00 03 35 90 |.......7..F...5.|
367 000016d0 01 1d 00 00 ff ff fe 5a 00 00 45 d7 00 03 36 08 |.......Z..E...6.|
368 000016e0 01 1b 00 00 ff ff fe fb 00 00 45 e7 00 03 36 60 |..........E...6`|
369 000016f0 01 1a 00 00 ff ff ff 17 00 00 46 bc 00 03 36 de |..........F...6.|
370 00001700 01 1a 00 00 ff ff fe 59 00 00 46 d7 00 03 37 b8 |.......Y..F...7.|
371 00001710 01 1a 00 00 ff ff fe ae 00 00 46 95 00 03 37 ba |..........F...7.|
372 00001720 01 1a 00 00 ff ff fe c5 00 00 46 63 00 03 37 9f |..........Fc..7.|
373 00001730 01 1a 00 00 ff ff fe 55 00 00 46 89 00 03 37 c1 |.......U..F...7.|
374 00001740 01 1a 00 00 ff ff fe 31 00 00 46 aa 00 03 37 f7 |.......1..F...7.|
375 ...
376
377 See ``Documentation/iio/iio_devbuf.rst`` for more information about how buffered
378 data is structured.
379
380 4. IIO Interfacing Tools
381 ========================
382
383 See ``Documentation/iio/iio_tools.rst`` for the description of the available IIO
384 interfacing tools.
385

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

지원 IMU와 센서 보정 개요

1-60

이 드라이버는 SPI 버스에 연결된 Analog Devices IMU를 지원합니다.

ADIS16475 드라이버 지원 장치
장치버스센서 구성
ADIS16465SPI3축 gyroscope + 3축 accelerometer
ADIS16467SPI3축 gyroscope + 3축 accelerometer
ADIS16470SPI3축 gyroscope + 3축 accelerometer
ADIS16475SPI3축 gyroscope + 3축 accelerometer
ADIS16477SPI3축 gyroscope + 3축 accelerometer
ADIS16500SPI3축 gyroscope + 3축 accelerometer
ADIS16505SPI3축 gyroscope + 3축 accelerometer
ADIS16507SPI3축 gyroscope + 3축 accelerometer

정밀 3축 자이로스코프와 3축 가속도계를 통합한 여덟 IMU입니다.

각 지원 장치는 3축 자이로스코프와 3축 가속도계를 포함한 정밀 소형 MEMS 관성 측정 장치(IMU)입니다. IMU의 각 관성 센서는 동적 성능을 최적화하는 신호 조절 회로와 결합됩니다.

공장 보정은 각 센서의 감도, 바이어스, 정렬, 선형 가속도에 대한 자이로스코프 바이어스, 가속도계 위치에 해당하는 타격 중심을 특성화합니다. 그 결과 각 센서는 넓은 동작 조건에서 정확한 측정값을 제공하는 동적 보정 공식을 갖습니다.

가속도계와 자이로스코프 측정값은 항상 제공됩니다. 장치가 계산하는 delta angle과 delta velocity 측정값도 드라이버를 통해 읽을 수 있습니다. Delta angle은 샘플 갱신 사이의 각변위를, delta velocity는 샘플 갱신 사이의 선형 속도 변화를 나타냅니다.

온도 데이터는 IMU 내부 온도의 대략적인 측정값입니다. 절대 온도 정밀 측정보다는 열 환경의 상대적인 변화를 감시하는 데 가장 유용합니다.

각 관성 센서의 신호 경로에는 장치별 보정 공식이 적용됩니다. 이 공식은 −40°C부터 +85°C까지 바이어스, 감도, 정렬, 자이로스코프의 선형 가속도 응답, 가속도계 위치를 폭넓게 특성화해 얻습니다. 내부 공식 자체에는 접근할 수 없지만 각 센서의 `calibbias` 속성으로 바이어스를 개별 조정할 수 있습니다.

각 IIO 장치는 `/sys/bus/iio/devices/iio:deviceX` 폴더를 가지며 X는 IIO 장치 인덱스입니다. 하드웨어 특성에 따라 이 폴더 아래에 장치 파일이 만들어지고, 일반 규칙은 IIO ABI 문서에 정의됩니다.

ADIS IMU 측정 보정 흐름
3축 가속도계와 3축 자이로스코프가 관성 입력 감지장치별 신호 조절과 공장 보정 공식 적용가속도·각속도 및 delta 값 계산사용자 `calibbias` 보정 반영`iio:deviceX` 속성에서 raw·scale 값 제공

센서의 물리 입력이 보정된 IIO 채널 값으로 이어지는 구조입니다.

.. SPDX-License-Identifier: GPL-2.0

================
ADIS16475 driver
================

This driver supports Analog Device's IMUs on SPI bus.

1. Supported devices
====================

* `ADIS16465 <https://www.analog.com/ADIS16465>`_
* `ADIS16467 <https://www.analog.com/ADIS16467>`_
* `ADIS16470 <https://www.analog.com/ADIS16470>`_
* `ADIS16475 <https://www.analog.com/ADIS16475>`_
* `ADIS16477 <https://www.analog.com/ADIS16477>`_
* `ADIS16500 <https://www.analog.com/ADIS16500>`_
* `ADIS16505 <https://www.analog.com/ADIS16505>`_
* `ADIS16507 <https://www.analog.com/ADIS16507>`_

Each supported device is a precision, miniature microelectromechanical system
(MEMS) inertial measurement unit (IMU) that includes a triaxial gyroscope and a
triaxial accelerometer. Each inertial sensor in the IMU device combines with
signal conditioning that optimizes dynamic performance. The factory calibration
characterizes each sensor for sensitivity, bias, alignment, linear acceleration
(gyroscope bias), and point of percussion (accelerometer location). As a result,
each sensor has dynamic compensation formulas that provide accurate sensor
measurements over a broad set of conditions.

2. Device attributes
====================

Accelerometer, gyroscope measurements are always provided. Furthermore, the
driver offers the capability to retrieve the delta angle and the delta velocity
measurements computed by the device.

The delta angle measurements represent a calculation of angular displacement
between each sample update, while the delta velocity measurements represent a
calculation of linear velocity change between each sample update.

Finally, temperature data are provided which show a coarse measurement of
the temperature inside of the IMU device. This data is most useful for
monitoring relative changes in the thermal environment.

The signal chain of each inertial sensor (accelerometers and gyroscopes)
includes the application of unique correction formulas, which are derived from
extensive characterization of bias, sensitivity, alignment, response to linear
acceleration (gyroscopes), and point of percussion (accelerometer location)
over a temperature range of −40°C to +85°C, for each ADIS device. These
correction formulas are not accessible, but users do have the opportunity to
adjust the bias for each sensor individually through the calibbias attribute.

Each IIO device, has a device folder under ``/sys/bus/iio/devices/iio:deviceX``,
where X is the IIO index of the device. Under these folders reside a set of
device files, depending on the characteristics and features of the hardware
device in questions. These files are consistently generalized and documented in
the IIO ABI documentation.

The following tables show the adis16475 related device files, found in the
specific device folder path ``/sys/bus/iio/devices/iio:deviceX``.

센서 속성과 debugfs 파일

61-148
3축 가속도계와 delta velocity 속성
장치 파일설명
`in_accel_scale`가속도계 채널 배율
`in_accel_x_calibbias`X축 가속도계 보정 오프셋
`in_accel_x_raw`X축 가속도계 원시 값
`in_accel_y_calibbias`Y축 가속도계 보정 오프셋
`in_accel_y_raw`Y축 가속도계 원시 값
`in_accel_z_calibbias`Z축 가속도계 보정 오프셋
`in_accel_z_raw`Z축 가속도계 원시 값
`in_deltavelocity_scale`Delta velocity 채널 배율
`in_deltavelocity_x_raw`X축 delta velocity 원시 값
`in_deltavelocity_y_raw`Y축 delta velocity 원시 값
`in_deltavelocity_z_raw`Z축 delta velocity 원시 값

가속도 채널은 축별 raw·calibbias를, delta velocity는 축별 raw를 제공합니다.

3축 자이로스코프와 delta angle 속성
장치 파일설명
`in_anglvel_scale`자이로스코프 채널 배율
`in_anglvel_x_calibbias`X축 자이로스코프 보정 오프셋
`in_anglvel_x_raw`X축 자이로스코프 원시 값
`in_anglvel_y_calibbias`Y축 자이로스코프 보정 오프셋
`in_anglvel_y_raw`Y축 자이로스코프 원시 값
`in_anglvel_z_calibbias`Z축 자이로스코프 보정 오프셋
`in_anglvel_z_raw`Z축 자이로스코프 원시 값
`in_deltaangl_scale`Delta angle 채널 배율
`in_deltaangl_x_raw`X축 delta angle 원시 값
`in_deltaangl_y_raw`Y축 delta angle 원시 값
`in_deltaangl_z_raw`Z축 delta angle 원시 값

각속도 채널은 축별 raw·calibbias를, delta angle은 축별 raw를 제공합니다.

온도 센서 속성
장치 파일설명
`in_temp0_raw`온도 채널 원시 값
`in_temp0_scale`온도 센서 채널 배율

IMU 내부 온도의 원시 값과 배율입니다.

기타 장치 속성
장치 파일설명
`name`IIO 장치 이름
`sampling_frequency`현재 선택한 sample rate
`filter_low_pass_3db_frequency`가속도계와 자이로스코프 채널 대역폭

장치 식별, 샘플 속도와 관성 센서 대역폭을 제어합니다.

ADIS16475 관련 디버그 파일은 `/sys/kernel/debug/iio/iio:deviceX` 장치 디버그 폴더에 있습니다.

ADIS16475 debugfs 파일
Debugfs 파일설명
`serial_number`16진수 형식의 칩 일련번호
`product_id`16475, 16500, 16505 같은 칩별 제품 ID
`flash_count`장치에서 수행한 flash write 횟수
`firmware_revision``##.##` 형식의 펌웨어 리비전 문자열
`firmware_date``mm-dd-yyyy` 형식의 펌웨어 날짜 문자열

칩 식별 및 펌웨어·플래시 상태를 읽는 디버그 인터페이스입니다.

ADIS 속성 계층
`/sys/bus/iio/devices/iio:deviceX`에서 센서 raw·scale 읽기축별 `calibbias`로 가속도계·자이로스코프 보정`sampling_frequency`와 low-pass 대역폭 설정`/sys/kernel/debug/iio/iio:deviceX`에서 칩 정보 확인

일반 IIO 측정 속성과 debugfs 진단 정보의 위치를 구분합니다.


+-------------------------------------------+----------------------------------------------------------+
| 3-Axis Accelerometer related device files | Description                                              |
+-------------------------------------------+----------------------------------------------------------+
| in_accel_scale                            | Scale for the accelerometer channels.                    |
+-------------------------------------------+----------------------------------------------------------+
| in_accel_x_calibbias                      | Calibration offset for the X-axis accelerometer channel. |
+-------------------------------------------+----------------------------------------------------------+
| in_accel_x_raw                            | Raw X-axis accelerometer channel value.                  |
+-------------------------------------------+----------------------------------------------------------+
| in_accel_y_calibbias                      | Calibration offset for the Y-axis accelerometer channel. |
+-------------------------------------------+----------------------------------------------------------+
| in_accel_y_raw                            | Raw Y-axis accelerometer channel value.                  |
+-------------------------------------------+----------------------------------------------------------+
| in_accel_z_calibbias                      | Calibration offset for the Z-axis accelerometer channel. |
+-------------------------------------------+----------------------------------------------------------+
| in_accel_z_raw                            | Raw Z-axis accelerometer channel value.                  |
+-------------------------------------------+----------------------------------------------------------+
| in_deltavelocity_scale                    | Scale for delta velocity channels.                       |
+-------------------------------------------+----------------------------------------------------------+
| in_deltavelocity_x_raw                    | Raw X-axis delta velocity channel value.                 |
+-------------------------------------------+----------------------------------------------------------+
| in_deltavelocity_y_raw                    | Raw Y-axis delta velocity channel value.                 |
+-------------------------------------------+----------------------------------------------------------+
| in_deltavelocity_z_raw                    | Raw Z-axis delta velocity channel value.                 |
+-------------------------------------------+----------------------------------------------------------+

+---------------------------------------+------------------------------------------------------+
| 3-Axis Gyroscope related device files | Description                                          |
+---------------------------------------+------------------------------------------------------+
| in_anglvel_scale                      | Scale for the gyroscope channels.                    |
+---------------------------------------+------------------------------------------------------+
| in_anglvel_x_calibbias                | Calibration offset for the X-axis gyroscope channel. |
+---------------------------------------+------------------------------------------------------+
| in_anglvel_x_raw                      | Raw X-axis gyroscope channel value.                  |
+---------------------------------------+------------------------------------------------------+
| in_anglvel_y_calibbias                | Calibration offset for the Y-axis gyroscope channel. |
+---------------------------------------+------------------------------------------------------+
| in_anglvel_y_raw                      | Raw Y-axis gyroscope channel value.                  |
+---------------------------------------+------------------------------------------------------+
| in_anglvel_z_calibbias                | Calibration offset for the Z-axis gyroscope channel. |
+---------------------------------------+------------------------------------------------------+
| in_anglvel_z_raw                      | Raw Z-axis gyroscope channel value.                  |
+---------------------------------------+------------------------------------------------------+
| in_deltaangl_scale                    | Scale for delta angle channels.                      |
+---------------------------------------+------------------------------------------------------+
| in_deltaangl_x_raw                    | Raw X-axis delta angle channel value.                |
+---------------------------------------+------------------------------------------------------+
| in_deltaangl_y_raw                    | Raw Y-axis delta angle channel value.                |
+---------------------------------------+------------------------------------------------------+
| in_deltaangl_z_raw                    | Raw Z-axis delta angle channel value.                |
+---------------------------------------+------------------------------------------------------+

+----------------------------------+-------------------------------------------+
| Temperature sensor related files | Description                               |
+----------------------------------+-------------------------------------------+
| in_temp0_raw                     | Raw temperature channel value.            |
+----------------------------------+-------------------------------------------+
| in_temp0_scale                   | Scale for the temperature sensor channel. |
+----------------------------------+-------------------------------------------+

+-------------------------------+---------------------------------------------------------+
| Miscellaneous device files    | Description                                             |
+-------------------------------+---------------------------------------------------------+
| name                          | Name of the IIO device.                                 |
+-------------------------------+---------------------------------------------------------+
| sampling_frequency            | Currently selected sample rate.                         |
+-------------------------------+---------------------------------------------------------+
| filter_low_pass_3db_frequency | Bandwidth for the accelerometer and gyroscope channels. |
+-------------------------------+---------------------------------------------------------+

The following table shows the adis16475 related device debug files, found in the
specific device debug folder path ``/sys/kernel/debug/iio/iio:deviceX``.

+----------------------+-------------------------------------------------------------------------+
| Debugfs device files | Description                                                             |
+----------------------+-------------------------------------------------------------------------+
| serial_number        | The serial number of the chip in hexadecimal format.                    |
+----------------------+-------------------------------------------------------------------------+
| product_id           | Chip specific product id (e.g. 16475, 16500, 16505, etc.).              |
+----------------------+-------------------------------------------------------------------------+
| flash_count          | The number of flash writes performed on the device.                     |
+----------------------+-------------------------------------------------------------------------+
| firmware_revision    | String containing the firmware revision in the following format ##.##.  |
+----------------------+-------------------------------------------------------------------------+
| firmware_date        | String containing the firmware date in the following format mm-dd-yyyy. |
+----------------------+-------------------------------------------------------------------------+

처리값 공식과 가속도 예제

149-207

채널 값은 해당 `_raw` 속성에서 읽습니다. 반환값은 장치가 보고한 원시 값입니다. 처리된 채널 값은 다음 공식을 적용해 계산합니다.

processed value = (_raw + _offset) * _scale

여기서 `_offset`과 `_scale`은 장치 속성입니다. `_offset` 속성이 없다면 0으로 간주합니다.

처리된 채널 값의 측정 단위
채널 유형처리값 단위
X·Y·Z축 가속도m/s²
X·Y·Z축 각속도rad/s
X·Y·Z축 delta velocitym/s
X·Y·Z축 delta anglerad
온도밀리도 섭씨

ADIS16475 드라이버가 제공하는 다섯 채널 유형의 IIO 표준 단위입니다.

장치 이름 확인 예제에서는 `name`을 읽어 `adis16505-2`를 얻습니다.

root:/sys/bus/iio/devices/iio:device0> cat name
adis16505-2

가속도계 예제는 X·Y·Z축 원시 값과 공통 배율을 읽습니다.

root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_raw
-275924
root:/sys/bus/iio/devices/iio:device0> cat in_accel_y_raw
-30142222
root:/sys/bus/iio/devices/iio:device0> cat in_accel_z_raw
261265769
root:/sys/bus/iio/devices/iio:device0> cat in_accel_scale
0.000000037

보정 오프셋이 0이라고 하면 X축 가속도는 −0.010209188 m/s², Y축은 −1.115262214 m/s², Z축은 9.666833453 m/s²입니다.

가속도 처리값 예제
원시 값처리값
X-275924−0.010209188 m/s²
Y-30142222−1.115262214 m/s²
Z2612657699.666833453 m/s²

원시 값에 `in_accel_scale = 0.000000037`을 적용한 결과입니다.

채널 처리값 계산
축별 `_raw` 읽기해당 `_offset` 또는 `calibbias` 확인채널 유형의 `_scale` 읽기`(_raw + _offset) * _scale` 계산IIO 표준 물리 단위로 해석

sysfs 원시 값에서 물리 단위 결과를 얻는 순서입니다.

Channels processed values
-------------------------

A channel value can be read from its _raw attribute. The value returned is the
raw value as reported by the devices. To get the processed value of the channel,
apply the following formula:

.. code-block:: bash

        processed value = (_raw + _offset) * _scale

Where _offset and _scale are device attributes. If no _offset attribute is
present, simply assume its value is 0.

The adis16475 driver offers data for 5 types of channels, the table below shows
the measurement units for the processed value, which are defined by the IIO
framework:

+-------------------------------------+---------------------------+
| Channel type                        | Measurement unit          |
+-------------------------------------+---------------------------+
| Acceleration on X, Y, and Z axis    | Meters per Second squared |
+-------------------------------------+---------------------------+
| Angular velocity on X, Y and Z axis | Radians per second        |
+-------------------------------------+---------------------------+
| Delta velocity on X. Y, and Z axis  | Meters per Second         |
+-------------------------------------+---------------------------+
| Delta angle on X, Y, and Z axis     | Radians                   |
+-------------------------------------+---------------------------+
| Temperature                         | Millidegrees Celsius      |
+-------------------------------------+---------------------------+

Usage examples
--------------

Show device name:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat name
        adis16505-2

Show accelerometer channels value:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_raw
        -275924
        root:/sys/bus/iio/devices/iio:device0> cat in_accel_y_raw
        -30142222
        root:/sys/bus/iio/devices/iio:device0> cat in_accel_z_raw
        261265769
        root:/sys/bus/iio/devices/iio:device0> cat in_accel_scale
        0.000000037

- X-axis acceleration = in_accel_x_raw * in_accel_scale = −0.010209188 m/s^2
- Y-axis acceleration = in_accel_y_raw * in_accel_scale = −1.115262214 m/s^2
- Z-axis acceleration = in_accel_z_raw * in_accel_scale = 9.666833453 m/s^2

각속도·보정·샘플링·진단 예제

208-302

자이로스코프 예제는 X·Y·Z축 원시 각속도와 공통 배율을 읽습니다.

root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_x_raw
-3324626
root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_raw
1336980
root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_z_raw
-602983
root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_scale
0.000000006

배율을 적용하면 X축 각속도는 −0.019947756 rad/s, Y축은 0.00802188 rad/s, Z축은 −0.003617898 rad/s입니다.

각속도 처리값 예제
원시 값처리값
X-3324626−0.019947756 rad/s
Y13369800.00802188 rad/s
Z-602983−0.003617898 rad/s

원시 값에 `in_anglvel_scale = 0.000000006`을 적용한 결과입니다.

가속도계 X축의 보정 오프셋은 처음 0이며, `in_accel_x_calibbias`에 5000을 쓰면 다시 읽었을 때 5000이 반환됩니다.

root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
0
root:/sys/bus/iio/devices/iio:device0> echo 5000 > in_accel_x_calibbias
root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
5000

자이로스코프 Y축의 보정 오프셋도 같은 방식으로 설정합니다. `in_anglvel_y_calibbias`에 −5000을 쓰면 이후 읽기 결과가 −5000입니다.

root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
0
root:/sys/bus/iio/devices/iio:device0> echo -5000 > in_anglvel_y_calibbias
root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
-5000

샘플링 주파수 예제는 현재 2000.000000을 확인한 뒤 `sampling_frequency`에 1000을 써서 1000.000000으로 변경합니다.

root:/sys/bus/iio/devices/iio:device0> cat sampling_frequency
2000.000000
root:/sys/bus/iio/devices/iio:device0> echo 1000 > sampling_frequency
1000.000000

가속도계와 자이로스코프의 저역 통과 3 dB 대역폭은 `filter_low_pass_3db_frequency`로 설정합니다. 예제에서는 720을 확인한 뒤 360을 써서 대역폭을 360으로 바꿉니다.

root:/sys/bus/iio/devices/iio:device0> cat filter_low_pass_3db_frequency
720
root:/sys/bus/iio/devices/iio:device0> echo 360 > filter_low_pass_3db_frequency
root:/sys/bus/iio/devices/iio:device0> cat filter_low_pass_3db_frequency
360

Debugfs에서는 일련번호 `0x04f9`, 제품 ID `16505`, flash write 횟수 `150`, 펌웨어 리비전 `1.6`, 펌웨어 날짜 `06-27-2019`를 각각 확인하는 예제를 제공합니다.

root:/sys/kernel/debug/iio/iio:device0> cat serial_number
0x04f9
root:/sys/kernel/debug/iio/iio:device0> cat product_id
16505
root:/sys/kernel/debug/iio/iio:device0> cat flash_count
150
root:/sys/kernel/debug/iio/iio:device0> cat firmware_revision
1.6
root:/sys/kernel/debug/iio/iio:device0> cat firmware_date
06-27-2019
ADIS16475 설정·진단 예제
작업속성예제 값
가속도 X 보정`in_accel_x_calibbias`0 → 5000
각속도 Y 보정`in_anglvel_y_calibbias`0 → −5000
샘플 속도`sampling_frequency`2000 → 1000
저역 통과 대역폭`filter_low_pass_3db_frequency`720 → 360
칩 식별`serial_number`, `product_id`0x04f9, 16505
펌웨어`firmware_revision`, `firmware_date`1.6, 06-27-2019

원문 명령에서 변경하거나 읽는 값입니다.

Show gyroscope channels value:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_x_raw
        -3324626
        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_raw
        1336980
        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_z_raw
        -602983
        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_scale
        0.000000006

- X-axis angular velocity = in_anglvel_x_raw * in_anglvel_scale = −0.019947756 rad/s
- Y-axis angular velocity = in_anglvel_y_raw * in_anglvel_scale = 0.00802188 rad/s
- Z-axis angular velocity = in_anglvel_z_raw * in_anglvel_scale = −0.003617898 rad/s

Set calibration offset for accelerometer channels:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
        0

        root:/sys/bus/iio/devices/iio:device0> echo 5000 > in_accel_x_calibbias
        root:/sys/bus/iio/devices/iio:device0> cat in_accel_x_calibbias
        5000

Set calibration offset for gyroscope channels:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
        0

        root:/sys/bus/iio/devices/iio:device0> echo -5000 > in_anglvel_y_calibbias
        root:/sys/bus/iio/devices/iio:device0> cat in_anglvel_y_calibbias
        -5000

Set sampling frequency:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat sampling_frequency
        2000.000000

        root:/sys/bus/iio/devices/iio:device0> echo 1000 > sampling_frequency
        1000.000000

Set bandwidth for accelerometer and gyroscope:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat filter_low_pass_3db_frequency
        720

        root:/sys/bus/iio/devices/iio:device0> echo 360 > filter_low_pass_3db_frequency
        root:/sys/bus/iio/devices/iio:device0> cat filter_low_pass_3db_frequency
        360

Show serial number:

.. code-block:: bash

        root:/sys/kernel/debug/iio/iio:device0> cat serial_number
        0x04f9

Show product id:

.. code-block:: bash

        root:/sys/kernel/debug/iio/iio:device0> cat product_id
        16505

Show flash count:

.. code-block:: bash

        root:/sys/kernel/debug/iio/iio:device0> cat flash_count
        150

Show firmware revision:

.. code-block:: bash

        root:/sys/kernel/debug/iio/iio:device0> cat firmware_revision
        1.6

Show firmware date:

.. code-block:: bash

        root:/sys/kernel/debug/iio/iio:device0> cat firmware_date
        06-27-2019

IIO 버퍼와 인터페이스 도구

303-384

이 드라이버는 IIO 버퍼를 지원합니다. 모든 지원 장치는 버퍼를 통해 원시 가속도, 자이로스코프, 온도 측정값을 읽을 수 있습니다.

ADIS16477, ADIS16500, ADIS16505, ADIS16507 계열은 delta velocity, delta angle, 온도 측정값도 버퍼로 읽을 수 있습니다.

ADIS 버퍼 채널 지원
장치 범위버퍼 채널
모든 지원 장치가속도, 자이로스코프, 온도
ADIS16477Delta velocity, delta angle, 온도
ADIS16500Delta velocity, delta angle, 온도
ADIS16505Delta velocity, delta angle, 온도
ADIS16507Delta velocity, delta angle, 온도

모든 장치의 기본 채널과 일부 계열의 delta 채널 지원을 구분합니다.

버퍼에서 가속도 또는 자이로스코프 데이터를 읽는 동안에는 delta 측정값을 사용할 수 없습니다. 반대로 delta 측정값을 읽는 동안에는 가속도와 자이로스코프 데이터를 함께 사용할 수 없습니다.

버퍼 채널 상호 배타성
선택한 그룹사용 가능사용 불가
일반 센서 그룹가속도 또는 자이로스코프Delta velocity, delta angle
Delta 그룹Delta velocity 또는 delta angle가속도, 자이로스코프

일반 관성 채널과 적분 delta 채널은 같은 캡처에서 함께 선택할 수 없습니다.

버퍼 사용 전에 `trigger/current_trigger`를 확인하고 비어 있으면 장치 트리거 이름 `adis16505-2-dev0`을 설정합니다.

root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger
root:/sys/bus/iio/devices/iio:device0> echo adis16505-2-dev0 > trigger/current_trigger
root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger
adis16505-2-dev0

예제는 X·Y·Z축 delta velocity와 온도 채널을 scan element로 활성화합니다.

root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_x_en
root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_y_en
root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_z_en
root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_temp0_en

저장할 샘플 수는 `buffer/length`에 10을 쓰고, `buffer/enable`에 1을 써서 버퍼 읽기를 시작합니다.

root:/sys/bus/iio/devices/iio:device0> echo 10 > buffer/length
root:/sys/bus/iio/devices/iio:device0> echo 1 > buffer/enable

버퍼 데이터는 `/dev/iio:device0`을 읽어 얻습니다. 원문의 `hexdump -C` 예제는 각 스캔 레코드의 원시 바이트를 주소와 ASCII 열로 표시합니다.

root:/sys/bus/iio/devices/iio:device0> hexdump -C /dev/iio\:device0
Delta velocity 버퍼 캡처
`trigger/current_trigger`에 `adis16505-2-dev0` 설정X·Y·Z delta velocity와 온도 scan element 활성화`buffer/length`를 10으로 설정`buffer/enable`을 1로 설정`hexdump -C /dev/iio\:device0`로 레코드 확인

트리거 연결부터 원시 버퍼 확인까지의 전체 절차입니다.

버퍼 데이터 구조에 관한 자세한 내용은 `Documentation/iio/iio_devbuf.rst`를 참고합니다. 사용 가능한 IIO 인터페이스 도구는 `Documentation/iio/iio_tools.rst`에 설명되어 있습니다.

3. Device buffers
=================

This driver supports IIO buffers.

All devices support retrieving the raw acceleration, gyroscope and temperature
measurements using buffers.

The following device families also support retrieving the delta velocity, delta
angle and temperature measurements using buffers:

- ADIS16477
- ADIS16500
- ADIS16505
- ADIS16507

However, when retrieving acceleration or gyroscope data using buffers, delta
readings will not be available and vice versa.

Usage examples
--------------

Set device trigger in current_trigger, if not already set:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger

        root:/sys/bus/iio/devices/iio:device0> echo adis16505-2-dev0 > trigger/current_trigger
        root:/sys/bus/iio/devices/iio:device0> cat trigger/current_trigger
        adis16505-2-dev0

Select channels for buffer read:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_x_en
        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_y_en
        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_deltavelocity_z_en
        root:/sys/bus/iio/devices/iio:device0> echo 1 > scan_elements/in_temp0_en

Set the number of samples to be stored in the buffer:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> echo 10 > buffer/length

Enable buffer readings:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> echo 1 > buffer/enable

Obtain buffered data:

.. code-block:: bash

        root:/sys/bus/iio/devices/iio:device0> hexdump -C /dev/iio\:device0
        ...
        00001680  01 1f 00 00 ff ff fe ef  00 00 47 bf 00 03 35 55  |..........G...5U|
        00001690  01 1f 00 00 ff ff ff d9  00 00 46 f1 00 03 35 35  |..........F...55|
        000016a0  01 1f 00 00 ff ff fe fc  00 00 46 cb 00 03 35 7b  |..........F...5{|
        000016b0  01 1f 00 00 ff ff fe 41  00 00 47 0d 00 03 35 8b  |.......A..G...5.|
        000016c0  01 1f 00 00 ff ff fe 37  00 00 46 b4 00 03 35 90  |.......7..F...5.|
        000016d0  01 1d 00 00 ff ff fe 5a  00 00 45 d7 00 03 36 08  |.......Z..E...6.|
        000016e0  01 1b 00 00 ff ff fe fb  00 00 45 e7 00 03 36 60  |..........E...6`|
        000016f0  01 1a 00 00 ff ff ff 17  00 00 46 bc 00 03 36 de  |..........F...6.|
        00001700  01 1a 00 00 ff ff fe 59  00 00 46 d7 00 03 37 b8  |.......Y..F...7.|
        00001710  01 1a 00 00 ff ff fe ae  00 00 46 95 00 03 37 ba  |..........F...7.|
        00001720  01 1a 00 00 ff ff fe c5  00 00 46 63 00 03 37 9f  |..........Fc..7.|
        00001730  01 1a 00 00 ff ff fe 55  00 00 46 89 00 03 37 c1  |.......U..F...7.|
        00001740  01 1a 00 00 ff ff fe 31  00 00 46 aa 00 03 37 f7  |.......1..F...7.|
        ...

See ``Documentation/iio/iio_devbuf.rst`` for more information about how buffered
data is structured.

4. IIO Interfacing Tools
========================

See ``Documentation/iio/iio_tools.rst`` for the description of the available IIO
interfacing tools.