iio: Add channel for Position Relative
Add new channel type for relative position on a pad. These type of analog sensor offers the position of a pen on a touchpad, and is represented as a voltage, which can be converted to a position on X and Y axis on the pad. The channel will hand the relative position on the pad in both directions. The channel can then be consumed by a touchscreen driver or read as-is for a raw indication of the touchpen on a touchpad. Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
d22cd4dd66
commit
3055a6cfa0
@ -197,6 +197,18 @@ Description:
|
||||
Angle of rotation. Units after application of scale and offset
|
||||
are radians.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_x_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_positionrelative_y_raw
|
||||
KernelVersion: 4.18
|
||||
Contact: linux-iio@vger.kernel.org
|
||||
Description:
|
||||
Relative position in direction x or y on a pad (may be
|
||||
arbitrarily assigned but should match other such assignments on
|
||||
device).
|
||||
Units after application of scale and offset are milli percents
|
||||
from the pad's size in both directions. Should be calibrated by
|
||||
the consumer.
|
||||
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_x_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_y_raw
|
||||
What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_z_raw
|
||||
|
@ -85,6 +85,7 @@ static const char * const iio_chan_type_name_spec[] = {
|
||||
[IIO_COUNT] = "count",
|
||||
[IIO_INDEX] = "index",
|
||||
[IIO_GRAVITY] = "gravity",
|
||||
[IIO_POSITIONRELATIVE] = "positionrelative",
|
||||
};
|
||||
|
||||
static const char * const iio_modifier_names[] = {
|
||||
|
@ -44,6 +44,7 @@ enum iio_chan_type {
|
||||
IIO_COUNT,
|
||||
IIO_INDEX,
|
||||
IIO_GRAVITY,
|
||||
IIO_POSITIONRELATIVE,
|
||||
};
|
||||
|
||||
enum iio_modifier {
|
||||
|
@ -58,6 +58,7 @@ static const char * const iio_chan_type_name_spec[] = {
|
||||
[IIO_PH] = "ph",
|
||||
[IIO_UVINDEX] = "uvindex",
|
||||
[IIO_GRAVITY] = "gravity",
|
||||
[IIO_POSITIONRELATIVE] = "positionrelative",
|
||||
};
|
||||
|
||||
static const char * const iio_ev_type_text[] = {
|
||||
@ -151,6 +152,7 @@ static bool event_is_known(struct iio_event_data *event)
|
||||
case IIO_PH:
|
||||
case IIO_UVINDEX:
|
||||
case IIO_GRAVITY:
|
||||
case IIO_POSITIONRELATIVE:
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user