391 lines
14 KiB
Plaintext
391 lines
14 KiB
Plaintext
What: /sys/bus/iio/devices/device[n]
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Hardware chip or device accessed by on communication port.
|
|
Corresponds to a grouping of sensor channels.
|
|
|
|
What: /sys/bus/iio/devices/trigger[n]
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
An event driven driver of data capture to an in kernel buffer.
|
|
May be provided by a device driver that also has an IIO device
|
|
based on hardware generated events (e.g. data ready) or
|
|
provided by a separate driver for other hardware (e.g.
|
|
periodic timer, gpio or high resolution timer).
|
|
Contains trigger type specific elements. These do not
|
|
generalize well and hence are not documented in this file.
|
|
|
|
What: /sys/bus/iio/devices/device[n]:buffer
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Link to /sys/class/iio/device[n]/device[n]:buffer. n indicates
|
|
the device with which this buffer buffer is associated.
|
|
|
|
What: /sys/.../device[n]/name
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Description of the physical chip / device. Typically a part
|
|
number.
|
|
|
|
What: /sys/.../device[n]/sampling_frequency
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Some devices have internal clocks. This parameter sets the
|
|
resulting sampling frequency. In many devices this
|
|
parameter has an effect on input filters etc rather than
|
|
simply controlling when the input is sampled. As this
|
|
effects datardy triggers, hardware buffers and the sysfs
|
|
direct access interfaces, it may be found in any of the
|
|
relevant directories. If it effects all of the above
|
|
then it is to be found in the base device directory as here.
|
|
|
|
What: /sys/.../device[n]/sampling_frequency_available
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
When the internal sampling clock can only take a small
|
|
discrete set of values, this file lists those availale.
|
|
|
|
What: /sys/.../device[n]/in[m][_name]_raw
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Raw (unscaled no bias removal etc) voltage measurement from
|
|
channel m. name is used in special cases where this does
|
|
not correspond to externally available input (e.g. supply
|
|
voltage monitoring in which case the file is in_supply_raw).
|
|
If the device supports events on this channel then m must be
|
|
specified (even on named channels) so as to allow the source
|
|
of event codes to be identified.
|
|
|
|
What: /sys/.../device[n]/in[m][_name]_offset
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
If known for a device, offset to be added to in[m]_raw prior
|
|
to scaling by in[_name][m]_scale in order to obtain voltage in
|
|
millivolts. Not present if the offset is always 0 or unknown.
|
|
If m is not present, then voltage offset applies to all in
|
|
channels. May be writable if a variable offset is controlled
|
|
by the device. Note that this is different to calibbias which
|
|
is for devices that apply offsets to compensate for variation
|
|
between different instances of the part, typically adjusted by
|
|
using some hardware supported calibration procedure.
|
|
|
|
What: /sys/.../device[n]/in[m][_name]_offset_available
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
If a small number of discrete offset values are available, this
|
|
will be a space separated list. If these are independant (but
|
|
options the same) for individual offsets then m should not be
|
|
present.
|
|
|
|
What: /sys/.../device[n]/in[m][_name]_offset_[min|max]
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
If a more or less continuous range of voltage offsets are
|
|
supported then these specify the minimum and maximum. If shared
|
|
by all in channels then m is not present.
|
|
|
|
What: /sys/.../device[n]/in[m][_name]_calibbias
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Hardware applied calibration offset. (assumed to fix production
|
|
inaccuracies)
|
|
|
|
What /sys/.../device[n]/in[m][_name]_calibscale
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Hardware applied calibration scale factor. (assumed to fix
|
|
production inaccuracies)
|
|
|
|
What: /sys/.../device[n]/in[m][_name]_scale
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
If known for a device, scale to be applied to volt[m]_raw post
|
|
addition of in[_name][m]_offset in order to obtain the measured
|
|
voltage in millivolts. If shared across all in channels then
|
|
m is not present.
|
|
|
|
What: /sys/.../device[n]/in[m]-in[o]_raw
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Raw (unscaled) differential voltage measurement equivalent to
|
|
channel m - channel o where these channel numbers apply to the
|
|
physically equivalent inputs when non differential readings are
|
|
separately available. In differential only parts, then all that
|
|
is required is a consistent labelling.
|
|
|
|
What: /sys/.../device[n]/accel[_x|_y|_z][m]_raw
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Acceleration in direction x, y or z (may be arbitrarily assigned
|
|
but should match other such assignments on device)
|
|
channel m (not present if only one accelerometer channel at
|
|
this orientation). Has all of the equivalent parameters as per
|
|
in[m]. Units after application of scale and offset are m/s^2.
|
|
|
|
What: /sys/.../device[n]/gyro[_x|_y|_z][m]_raw
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Angular velocity about axis x, y or z (may be arbitrarily
|
|
assigned) channel m (not present if only one gyroscope at
|
|
this orientation).
|
|
Data converted by application of offset then scale to
|
|
radians per second. Has all the equivalent parameters as
|
|
per in[m].
|
|
|
|
What: /sys/.../device[n]/incli[_x|_y|_z][m]_raw
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Inclination raw reading about axis x, y or z (may be arbitarily
|
|
assigned) channel m (not present if only one inclinometer at
|
|
this orientation). Data converted by application of offset
|
|
and scale to Degrees.
|
|
|
|
What: /sys/.../device[n]/magn[_x|_y|_z][m]_raw
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Magnetic field along axis x, y or z (may be arbitrarily
|
|
assigned) channel m (not present if only one magnetometer
|
|
at this orientation). Data converted by application of
|
|
offset then scale to Gauss. Has all the equivalent modifiers
|
|
as per in[m].
|
|
|
|
What: /sys/.../device[n]/device[n]:event[m]
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Configuration of which hardware generated events are passed up to
|
|
userspace. Some of these are a bit complex to generalize so this
|
|
section is a work in progress.
|
|
|
|
What: /sys/.../device[n]:event[m]/dev
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
major:minor character device numbers for the event line.
|
|
|
|
Taking accel_x0 as an example
|
|
|
|
What: /sys/.../device[n]:event[m]/accel_x0_thresh[_rising|_falling]_en
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Event generated when accel_x0 passes a threshold in the specfied
|
|
(_rising|_falling) direction. If the direction is not specified,
|
|
then either the device will report an event which ever direction
|
|
a single threshold value is called in (e.g.
|
|
accel_x0_<raw|input>_thresh_value) or
|
|
accel_x0_<raw|input>_thresh_rising_value and
|
|
accel_x0_<raw|input>_thresh_falling_value may take different
|
|
values, but the device can only enable both thresholds or
|
|
neither.
|
|
Note the driver will assume the last p events requested are
|
|
to be enabled where p is however many it supports (which may
|
|
vary depending on the exact set requested. So if you want to be
|
|
sure you have set what you think you have, check the contents of
|
|
these attributes after everything is configured. Drivers may
|
|
have to buffer any parameters so that they are consistent when
|
|
a given event type is enabled a future point (and not those for
|
|
whatever event was previously enabled).
|
|
|
|
What: /sys/.../accel_x0_<raw|input>_thresh[_rising|_falling]_value
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Specifies the value of threshold that the device is comparing
|
|
against for the events enabled by
|
|
accel_x0_<raw|input>_thresh[_rising|falling]_en.
|
|
If seperate exist for the two directions, but direction is
|
|
not specified for this attribute, then a single threshold value
|
|
applies to both directions.
|
|
The raw or input element of the name indicates whether the
|
|
value is in raw device units or in processed units (as _raw
|
|
and _input do on sysfs direct channel read attributes).
|
|
|
|
What: /sys/.../accel_x0_thresh[_rising|_falling]_meanperiod
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Period of time (in seconds) over which the raw channel value
|
|
is averaged before being compared with the threshold set in
|
|
accel_x0_thresh[_rising|_falling]_meanperiod. If direction is
|
|
not specified then this mean period applies to both directions.
|
|
|
|
What: /sys/.../accel_x0_thresh[_rising|_falling]_period
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Period of time (in seconds) for which the threshold must be
|
|
passed before an event is generated. If direction is not
|
|
specified then this period applies to both directions.
|
|
|
|
What: /sys/.../device[n]:event[m]/accel_x0_mag[_rising|_falling]_en
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Similar to accel_x0_thresh[_rising|_falling]_en, but here the
|
|
magnitude of the channel is compared to the threshold, not its
|
|
signed value.
|
|
|
|
What: /sys/.../accel_x0_<raw|input>_mag[_rising|_falling]_value
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
The value to which the magnitude of the channel is compared.
|
|
|
|
What: /sys/.../accel_x0_mag[_rising|_falling]_meanperiod
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Period of time (in seconds) over which the value of the channel
|
|
is averaged before being compared to the threshold
|
|
|
|
What: /sys/.../accel_x0_mag[_rising|_falling]_period
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Period of time (in seconds) for which the condition must be true
|
|
before an event occurs.
|
|
|
|
What: /sys/.../device[n]:event[m]/accel_x0_roc[_rising|_falling]_en
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Similar to accel_x0_thresh[_rising|_falling]_en, but here the
|
|
first differential is compared with the threshold.
|
|
|
|
What: /sys/.../accel_x0_<raw|input>_roc[_rising|_falling]_value
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
The value to which the first differential of the channel is
|
|
compared.
|
|
|
|
What: /sys/.../accel_x0_roc[_rising|_falling]_meanperiod
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Period of time (in seconds) over which the value of the channel
|
|
is averaged before being compared to the threshold
|
|
|
|
What: /sys/.../accel_x0_roc[_rising|_falling]_period
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Period of time (in seconds) for which the condition must be true
|
|
before an event occurs.
|
|
|
|
What: /sys/.../device[n]/device[n]:buffer:event/dev
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Buffer for device n event character device major:minor numbers.
|
|
|
|
What: /sys/.../device[n]/device[n]:buffer:access/dev
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Buffer for device n access character device o major:minor numbers.
|
|
|
|
What: /sys/.../device[n]:buffer/trigger
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
The name of the trigger source being used, as per string given
|
|
in /sys/class/iio/trigger[n]/name.
|
|
|
|
What: /sys/.../device[n]:buffer/length
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Number of scans contained by the buffer.
|
|
|
|
What: /sys/.../device[n]:buffer/bytes_per_datum
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Bytes per scan. Due to alignment fun, the scan may be larger
|
|
than implied directly by the scan_element parameters.
|
|
|
|
What: /sys/.../device[n]:buffer/enable
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Actually start the buffer capture up. Will start trigger
|
|
if first device and appropriate.
|
|
|
|
What: /sys/.../device[n]:buffer/alignment
|
|
KernelVersion: 2.6.35
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Minimum data alignment. Scan elements larger than this are
|
|
aligned to the nearest power of 2 times this. (may not be
|
|
true in weird hardware buffers that pack data well)
|
|
|
|
What: /sys/.../device[n]/buffer/scan_elements
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Directory containing interfaces for elements that will be
|
|
captured for a single triggered sample set in the buffer.
|
|
|
|
What: /sys/.../device[n]/buffer/scan_elements/accel_x0_en
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Scan element control for triggered data capture.
|
|
|
|
What: /sys/.../device[n]/buffer/scan_elements/accel[_x0]_type
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
Description of the scan element data storage within the buffer
|
|
and hence the form in which it is read from userspace.
|
|
Form is [s|u]bits/storagebits. s or u specifies if signed
|
|
(2's complement) or unsigned. bits is the number of bits of
|
|
data and storagebits is the space (after padding) that it
|
|
occupies in the buffer. Note that some devices will have
|
|
additional information in the unused bits so to get a clean
|
|
value, the bits value must be used to mask the buffer output
|
|
value appropriately. The storagebits value also specifies the
|
|
data alignment. So s48/64 will be a signed 48 bit integer
|
|
stored in a 64 bit location aligned to a a64 bit boundary.
|
|
For other storage combinations this attribute will be extended
|
|
appropriately.
|
|
|
|
What: /sys/.../device[n]/buffer/scan_elements/accel[_x0]_index
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
A single positive integer specifying the position of this
|
|
scan element in the buffer. Note these are not dependant on
|
|
what is enabled and may not be contiguous. Thus for userspace
|
|
to establish the full layout these must be used in conjunction
|
|
with all _en attributes to establish which channels are present,
|
|
and the relevant _type attributes to establish the data storage
|
|
format.
|
|
|
|
What: /sys/.../device[n]/buffer/scan_elements/accel[_x0]_shift
|
|
KernelVersion: 2.6.37
|
|
Contact: linux-iio@vger.kernel.org
|
|
Description:
|
|
A bit shift (to right) that must be applied prior to
|
|
extracting the bits specified by accel[_x0]_precision.
|