Re: [PATCH 1/8] iio: core: Introduce CALORIES channel type

From: Jonathan Cameron
Date: Fri Dec 26 2014 - 08:26:20 EST


On 19/12/14 22:57, Irina Tirdea wrote:
> Some devices compute the number of calories that the user has
> burnt since the last reset.
>
> One of this devices is Freescale's MMA9553L
> (http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf)
> that computes the number of calories based on weight and step rate.
>
> Introduce a new channel type CALORIES to export these values.
>
> Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx>
hmm.. Ideally we use SI units for everything, but in human energy usage
Calories are the most common unit by a long way. I'm having some trouble
even finding the conversion for this particular for of calorie.

Now clearly it doesn't matter if the only energy sensors we ever get
are for human activity. However, that's unlikely to be the case. We
already have devices doing instantaneous power and there are plenty
of smart meter chips out there (though of course, they will use the
option of kW Hours just to confuse matters).

I'd definitely prefer joules if we can do it with out a large amount of
pain.

Lars - any views on this? (Analog do make plenty of 'energy' measurement
devices after all!)
> ---
> Documentation/ABI/testing/sysfs-bus-iio | 9 +++++++++
> drivers/iio/industrialio-core.c | 1 +
> include/linux/iio/types.h | 1 +
> 3 files changed, 11 insertions(+)
>
> diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio
> index df5e69e..bb9342b 100644
> --- a/Documentation/ABI/testing/sysfs-bus-iio
> +++ b/Documentation/ABI/testing/sysfs-bus-iio
> @@ -282,6 +282,7 @@ What: /sys/bus/iio/devices/iio:deviceX/in_current_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_accel_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_accel_peak_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_anglvel_scale
> +What: /sys/bus/iio/devices/iio:deviceX/in_calories_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_magn_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_magn_x_scale
> What: /sys/bus/iio/devices/iio:deviceX/in_magn_y_scale
> @@ -1049,6 +1050,14 @@ Description:
> For a list of available output power modes read
> in_accel_power_mode_available.
>
> +What: /sys/.../iio:deviceX/in_calories_input
> +What: /sys/.../iio:deviceX/in_calories_raw
> +KernelVersion: 3.17
> +Contact: linux-iio@xxxxxxxxxxxxxxx
> +Description:
> + This attribute is used to read the number of calories burned since the last
> + reset. Units after application of scale are Joules.
> +
> What: /sys/bus/iio/devices/iio:deviceX/store_eeprom
> KernelVersion: 3.4.0
> Contact: linux-iio@xxxxxxxxxxxxxxx
> diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c
> index ee442ee..5d95e84 100644
> --- a/drivers/iio/industrialio-core.c
> +++ b/drivers/iio/industrialio-core.c
> @@ -72,6 +72,7 @@ static const char * const iio_chan_type_name_spec[] = {
> [IIO_HUMIDITYRELATIVE] = "humidityrelative",
> [IIO_ACTIVITY] = "activity",
> [IIO_STEPS] = "steps",
> + [IIO_CALORIES] = "calories",
> };
>
> static const char * const iio_modifier_names[] = {
> diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h
> index 904dcbb..d2fe930 100644
> --- a/include/linux/iio/types.h
> +++ b/include/linux/iio/types.h
> @@ -32,6 +32,7 @@ enum iio_chan_type {
> IIO_HUMIDITYRELATIVE,
> IIO_ACTIVITY,
> IIO_STEPS,
> + IIO_CALORIES,
> };
>
> enum iio_modifier {
>

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/