iio: core: Introduce CHANGE event type
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>
This commit is contained in:
parent
d37f6836fa
commit
27be84236d
@ -891,12 +891,24 @@ Description:
|
|||||||
number or direction is not specified, applies to all channels of
|
number or direction is not specified, applies to all channels of
|
||||||
this type.
|
this type.
|
||||||
|
|
||||||
What: /sys/.../events/in_steps_instance_en
|
What: /sys/.../events/in_steps_change_en
|
||||||
KernelVersion: 3.19
|
KernelVersion: 3.20
|
||||||
Contact: linux-iio@vger.kernel.org
|
Contact: linux-iio@vger.kernel.org
|
||||||
Description:
|
Description:
|
||||||
Enables or disables step detection. Each time the user takes a step an
|
Event generated when channel passes a threshold on the absolute
|
||||||
event of this type will be generated.
|
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
|
What: /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger
|
||||||
KernelVersion: 2.6.35
|
KernelVersion: 2.6.35
|
||||||
|
@ -198,6 +198,7 @@ static const char * const iio_ev_type_text[] = {
|
|||||||
[IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive",
|
[IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive",
|
||||||
[IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive",
|
[IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive",
|
||||||
[IIO_EV_TYPE_INSTANCE] = "instance",
|
[IIO_EV_TYPE_INSTANCE] = "instance",
|
||||||
|
[IIO_EV_TYPE_CHANGE] = "change",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const iio_ev_dir_text[] = {
|
static const char * const iio_ev_dir_text[] = {
|
||||||
|
@ -60,6 +60,7 @@ static const char * const iio_ev_type_text[] = {
|
|||||||
[IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive",
|
[IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive",
|
||||||
[IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive",
|
[IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive",
|
||||||
[IIO_EV_TYPE_INSTANCE] = "instance",
|
[IIO_EV_TYPE_INSTANCE] = "instance",
|
||||||
|
[IIO_EV_TYPE_CHANGE] = "change",
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const iio_ev_dir_text[] = {
|
static const char * const iio_ev_dir_text[] = {
|
||||||
@ -179,6 +180,7 @@ static bool event_is_known(struct iio_event_data *event)
|
|||||||
case IIO_EV_TYPE_THRESH_ADAPTIVE:
|
case IIO_EV_TYPE_THRESH_ADAPTIVE:
|
||||||
case IIO_EV_TYPE_MAG_ADAPTIVE:
|
case IIO_EV_TYPE_MAG_ADAPTIVE:
|
||||||
case IIO_EV_TYPE_INSTANCE:
|
case IIO_EV_TYPE_INSTANCE:
|
||||||
|
case IIO_EV_TYPE_CHANGE:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
@ -79,6 +79,7 @@ enum iio_event_type {
|
|||||||
IIO_EV_TYPE_THRESH_ADAPTIVE,
|
IIO_EV_TYPE_THRESH_ADAPTIVE,
|
||||||
IIO_EV_TYPE_MAG_ADAPTIVE,
|
IIO_EV_TYPE_MAG_ADAPTIVE,
|
||||||
IIO_EV_TYPE_INSTANCE,
|
IIO_EV_TYPE_INSTANCE,
|
||||||
|
IIO_EV_TYPE_CHANGE,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum iio_event_info {
|
enum iio_event_info {
|
||||||
|
Loading…
Reference in New Issue
Block a user