Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1a8f324a authored by William Breathitt Gray's avatar William Breathitt Gray Committed by Jonathan Cameron
Browse files

iio: Implement counter channel type and info constants



Quadrature encoders, such as rotary encoders and linear encoders, are
devices which are capable of encoding the relative position and
direction of motion of a shaft. This patch introduces several IIO
constants for supporting quadrature encoder counter devices.

  IIO_COUNT: Current count (main data provided by the counter device)
  IIO_INDEX: Counter device index value

Signed-off-by: default avatarWilliam Breathitt Gray <vilhelm.gray@gmail.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 9ecca12e
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -329,6 +329,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_pressure_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_humidityrelative_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_velocity_sqrt(x^2+y^2+z^2)_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_illuminance_scale
What:		/sys/bus/iio/devices/iio:deviceX/in_countY_scale
KernelVersion:	2.6.35
Contact:	linux-iio@vger.kernel.org
Description:
@@ -1579,3 +1580,20 @@ Contact: linux-iio@vger.kernel.org
Description:
		Raw (unscaled no offset etc.) electric conductivity reading that
		can be processed to siemens per meter.

What:		/sys/bus/iio/devices/iio:deviceX/in_countY_raw
KernelVersion:	4.9
Contact:	linux-iio@vger.kernel.org
Description:
		Raw counter device counts from channel Y. For quadrature
		counters, multiplication by an available [Y]_scale results in
		the counts of a single quadrature signal phase from channel Y.

What:		/sys/bus/iio/devices/iio:deviceX/in_indexY_raw
KernelVersion:	4.9
Contact:	linux-iio@vger.kernel.org
Description:
		Raw counter device index value from channel Y. This attribute
		provides an absolute positional reference (e.g. a pulse once per
		revolution) which may be used to home positional systems as
		required.
+2 −0
Original line number Diff line number Diff line
@@ -81,6 +81,8 @@ static const char * const iio_chan_type_name_spec[] = {
	[IIO_PH] = "ph",
	[IIO_UVINDEX] = "uvindex",
	[IIO_ELECTRICALCONDUCTIVITY] = "electricalconductivity",
	[IIO_COUNT] = "count",
	[IIO_INDEX] = "index",
};

static const char * const iio_modifier_names[] = {
+2 −0
Original line number Diff line number Diff line
@@ -40,6 +40,8 @@ enum iio_chan_type {
	IIO_PH,
	IIO_UVINDEX,
	IIO_ELECTRICALCONDUCTIVITY,
	IIO_COUNT,
	IIO_INDEX,
};

enum iio_modifier {