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