Skip to content

Commit

Permalink
iio: core: Introduce CHANGE event type
Browse files Browse the repository at this point in the history
A step detector will generate an interrupt each time N step are detected.
A device that has such pedometer functionality is Freescale's MMA9553L:
http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf.

Introduce IIO_EV_TYPE_CHANGE event type for events that are generated
when the channel passes a threshold on the absolute change in value.

Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
  • Loading branch information
Irina Tirdea authored and Jonathan Cameron committed Jan 27, 2015
1 parent d37f683 commit 27be842
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 4 deletions.
20 changes: 16 additions & 4 deletions Documentation/ABI/testing/sysfs-bus-iio
Original file line number Diff line number Diff line change
Expand Up @@ -891,12 +891,24 @@ Description:
number or direction is not specified, applies to all channels of
this type.

What: /sys/.../events/in_steps_instance_en
KernelVersion: 3.19
What: /sys/.../events/in_steps_change_en
KernelVersion: 3.20
Contact: linux-iio@vger.kernel.org
Description:
Enables or disables step detection. Each time the user takes a step an
event of this type will be generated.
Event generated when channel passes a threshold on the absolute
change in value. E.g. for steps: a step change event is
generated each time the user takes N steps, where N is set using
in_steps_change_value.

What: /sys/.../events/in_steps_change_value
KernelVersion: 3.20
Contact: linux-iio@vger.kernel.org
Description:
Specifies the value of change threshold that the
device is comparing against for the events enabled by
<type>[Y][_name]_roc[_rising|falling|]_en. E.g. for steps:
if set to 3, a step change event will be generated every 3
steps.

What: /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger
KernelVersion: 2.6.35
Expand Down
1 change: 1 addition & 0 deletions drivers/iio/industrialio-event.c
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ static const char * const iio_ev_type_text[] = {
[IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive",
[IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive",
[IIO_EV_TYPE_INSTANCE] = "instance",
[IIO_EV_TYPE_CHANGE] = "change",
};

static const char * const iio_ev_dir_text[] = {
Expand Down
2 changes: 2 additions & 0 deletions drivers/staging/iio/Documentation/iio_event_monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ static const char * const iio_ev_type_text[] = {
[IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive",
[IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive",
[IIO_EV_TYPE_INSTANCE] = "instance",
[IIO_EV_TYPE_CHANGE] = "change",
};

static const char * const iio_ev_dir_text[] = {
Expand Down Expand Up @@ -179,6 +180,7 @@ static bool event_is_known(struct iio_event_data *event)
case IIO_EV_TYPE_THRESH_ADAPTIVE:
case IIO_EV_TYPE_MAG_ADAPTIVE:
case IIO_EV_TYPE_INSTANCE:
case IIO_EV_TYPE_CHANGE:
break;
default:
return false;
Expand Down
1 change: 1 addition & 0 deletions include/linux/iio/types.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ enum iio_event_type {
IIO_EV_TYPE_THRESH_ADAPTIVE,
IIO_EV_TYPE_MAG_ADAPTIVE,
IIO_EV_TYPE_INSTANCE,
IIO_EV_TYPE_CHANGE,
};

enum iio_event_info {
Expand Down

0 comments on commit 27be842

Please sign in to comment.