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