1What: /sys/bus/iio/devices/iio:deviceX/buffer/length 2KernelVersion: 2.6.35 3Contact: linux-iio@vger.kernel.org 4Description: 5 Number of scans contained by the buffer. 6 7 Since Kernel 5.11, multiple buffers are supported. 8 so, it is better to use, instead: 9 /sys/bus/iio/devices/iio:deviceX/bufferY/length 10 11What: /sys/bus/iio/devices/iio:deviceX/buffer/enable 12KernelVersion: 2.6.35 13Contact: linux-iio@vger.kernel.org 14Description: 15 Actually start the buffer capture up. Will start trigger 16 if first device and appropriate. 17 18 Since Kernel 5.11, multiple buffers are supported. 19 so, it is better to use, instead: 20 /sys/bus/iio/devices/iio:deviceX/bufferY/enable 21 22What: /sys/bus/iio/devices/iio:deviceX/scan_elements 23KernelVersion: 2.6.37 24Contact: linux-iio@vger.kernel.org 25Description: 26 Directory containing interfaces for elements that will be 27 captured for a single triggered sample set in the buffer. 28 29 Since kernel 5.11 the scan_elements attributes are merged into 30 the bufferY directory, to be configurable per buffer. 31 32What: /sys/.../iio:deviceX/scan_elements/in_accel_x_en 33What: /sys/.../iio:deviceX/scan_elements/in_accel_y_en 34What: /sys/.../iio:deviceX/scan_elements/in_accel_z_en 35What: /sys/.../iio:deviceX/scan_elements/in_anglvel_x_en 36What: /sys/.../iio:deviceX/scan_elements/in_anglvel_y_en 37What: /sys/.../iio:deviceX/scan_elements/in_anglvel_z_en 38What: /sys/.../iio:deviceX/scan_elements/in_magn_x_en 39What: /sys/.../iio:deviceX/scan_elements/in_magn_y_en 40What: /sys/.../iio:deviceX/scan_elements/in_magn_z_en 41What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_en 42What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_en 43What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_tilt_comp_en 44What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_tilt_comp_en 45What: /sys/.../iio:deviceX/scan_elements/in_timestamp_en 46What: /sys/.../iio:deviceX/scan_elements/in_voltageY_supply_en 47What: /sys/.../iio:deviceX/scan_elements/in_voltageY_en 48What: /sys/.../iio:deviceX/scan_elements/in_voltageY-voltageZ_en 49What: /sys/.../iio:deviceX/scan_elements/in_voltageY_i_en 50What: /sys/.../iio:deviceX/scan_elements/in_voltageY_q_en 51What: /sys/.../iio:deviceX/scan_elements/in_voltage_i_en 52What: /sys/.../iio:deviceX/scan_elements/in_voltage_q_en 53What: /sys/.../iio:deviceX/scan_elements/in_incli_x_en 54What: /sys/.../iio:deviceX/scan_elements/in_incli_y_en 55What: /sys/.../iio:deviceX/scan_elements/in_pressureY_en 56What: /sys/.../iio:deviceX/scan_elements/in_pressure_en 57What: /sys/.../iio:deviceX/scan_elements/in_rot_quaternion_en 58What: /sys/.../iio:deviceX/scan_elements/in_proximity_en 59KernelVersion: 2.6.37 60Contact: linux-iio@vger.kernel.org 61Description: 62 Scan element control for triggered data capture. 63 64 Since kernel 5.11 the scan_elements attributes are merged into 65 the bufferY directory, to be configurable per buffer. 66 67What: /sys/.../iio:deviceX/scan_elements/in_accel_type 68What: /sys/.../iio:deviceX/scan_elements/in_anglvel_type 69What: /sys/.../iio:deviceX/scan_elements/in_magn_type 70What: /sys/.../iio:deviceX/scan_elements/in_incli_type 71What: /sys/.../iio:deviceX/scan_elements/in_voltageY_type 72What: /sys/.../iio:deviceX/scan_elements/in_voltage_type 73What: /sys/.../iio:deviceX/scan_elements/in_voltageY_supply_type 74What: /sys/.../iio:deviceX/scan_elements/in_voltageY_i_type 75What: /sys/.../iio:deviceX/scan_elements/in_voltageY_q_type 76What: /sys/.../iio:deviceX/scan_elements/in_voltage_i_type 77What: /sys/.../iio:deviceX/scan_elements/in_voltage_q_type 78What: /sys/.../iio:deviceX/scan_elements/in_timestamp_type 79What: /sys/.../iio:deviceX/scan_elements/in_pressureY_type 80What: /sys/.../iio:deviceX/scan_elements/in_pressure_type 81What: /sys/.../iio:deviceX/scan_elements/in_rot_quaternion_type 82What: /sys/.../iio:deviceX/scan_elements/in_proximity_type 83KernelVersion: 2.6.37 84Contact: linux-iio@vger.kernel.org 85Description: 86 Description of the scan element data storage within the buffer 87 and hence the form in which it is read from user-space. 88 Form is [be|le]:[s|u]bits/storagebits[>>shift]. 89 be or le specifies big or little endian. s or u specifies if 90 signed (2's complement) or unsigned. bits is the number of bits 91 of data and storagebits is the space (after padding) that it 92 occupies in the buffer. shift if specified, is the shift that 93 needs to be applied prior to masking out unused bits. Some 94 devices put their data in the middle of the transferred elements 95 with additional information on both sides. Note that some 96 devices will have additional information in the unused bits 97 so to get a clean value, the bits value must be used to mask 98 the buffer output value appropriately. The storagebits value 99 also specifies the data alignment. So s48/64>>2 will be a 100 signed 48 bit integer stored in a 64 bit location aligned to 101 a 64 bit boundary. To obtain the clean value, shift right 2 102 and apply a mask to zero the top 16 bits of the result. 103 For other storage combinations this attribute will be extended 104 appropriately. 105 106 Since kernel 5.11 the scan_elements attributes are merged into 107 the bufferY directory, to be configurable per buffer. 108 109What: /sys/.../iio:deviceX/scan_elements/in_voltageY_index 110What: /sys/.../iio:deviceX/scan_elements/in_voltageY_supply_index 111What: /sys/.../iio:deviceX/scan_elements/in_voltageY_i_index 112What: /sys/.../iio:deviceX/scan_elements/in_voltageY_q_index 113What: /sys/.../iio:deviceX/scan_elements/in_voltage_i_index 114What: /sys/.../iio:deviceX/scan_elements/in_voltage_q_index 115What: /sys/.../iio:deviceX/scan_elements/in_accel_x_index 116What: /sys/.../iio:deviceX/scan_elements/in_accel_y_index 117What: /sys/.../iio:deviceX/scan_elements/in_accel_z_index 118What: /sys/.../iio:deviceX/scan_elements/in_anglvel_x_index 119What: /sys/.../iio:deviceX/scan_elements/in_anglvel_y_index 120What: /sys/.../iio:deviceX/scan_elements/in_anglvel_z_index 121What: /sys/.../iio:deviceX/scan_elements/in_magn_x_index 122What: /sys/.../iio:deviceX/scan_elements/in_magn_y_index 123What: /sys/.../iio:deviceX/scan_elements/in_magn_z_index 124What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_index 125What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_index 126What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_magnetic_tilt_comp_index 127What: /sys/.../iio:deviceX/scan_elements/in_rot_from_north_true_tilt_comp_index 128What: /sys/.../iio:deviceX/scan_elements/in_incli_x_index 129What: /sys/.../iio:deviceX/scan_elements/in_incli_y_index 130What: /sys/.../iio:deviceX/scan_elements/in_timestamp_index 131What: /sys/.../iio:deviceX/scan_elements/in_pressureY_index 132What: /sys/.../iio:deviceX/scan_elements/in_pressure_index 133What: /sys/.../iio:deviceX/scan_elements/in_rot_quaternion_index 134What: /sys/.../iio:deviceX/scan_elements/in_proximity_index 135KernelVersion: 2.6.37 136Description: 137 A single positive integer specifying the position of this 138 scan element in the buffer. Note these are not dependent on 139 what is enabled and may not be contiguous. Thus for user-space 140 to establish the full layout these must be used in conjunction 141 with all _en attributes to establish which channels are present, 142 and the relevant _type attributes to establish the data storage 143 format. 144 145 Since kernel 5.11 the scan_elements attributes are merged into 146 the bufferY directory, to be configurable per buffer. 147 148What: /sys/bus/iio/devices/iio:deviceX/buffer/watermark 149KernelVersion: 4.2 150Contact: linux-iio@vger.kernel.org 151Description: 152 A single positive integer specifying the maximum number of scan 153 elements to wait for. 154 155 Poll will block until the watermark is reached. 156 157 Blocking read will wait until the minimum between the requested 158 read amount or the low water mark is available. 159 160 Non-blocking read will retrieve the available samples from the 161 buffer even if there are less samples then watermark level. This 162 allows the application to block on poll with a timeout and read 163 the available samples after the timeout expires and thus have a 164 maximum delay guarantee. 165 166 Since Kernel 5.11, multiple buffers are supported. 167 so, it is better to use, instead: 168 /sys/bus/iio/devices/iio:deviceX/bufferY/watermark 169 170What: /sys/bus/iio/devices/iio:deviceX/buffer/data_available 171KernelVersion: 4.16 172Contact: linux-iio@vger.kernel.org 173Description: 174 A read-only value indicating the bytes of data available in the 175 buffer. In the case of an output buffer, this indicates the 176 amount of empty space available to write data to. In the case of 177 an input buffer, this indicates the amount of data available for 178 reading. 179 180 Since Kernel 5.11, multiple buffers are supported. 181 so, it is better to use, instead: 182 /sys/bus/iio/devices/iio:deviceX/bufferY/data_available 183