All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] HID-Sensor: v2
@ 2012-06-10  1:53 srinivas pandruvada
  2012-06-10  1:53 ` [PATCH 1/8] HID-Sensors: Add ST Micro Sensor hub srinivas pandruvada
                   ` (9 more replies)
  0 siblings, 10 replies; 28+ messages in thread
From: srinivas pandruvada @ 2012-06-10  1:53 UTC (permalink / raw)
  To: linux-iio; +Cc: Jonathan Cameron, Jiri Kosina, srinivas pandruvada

Submitting v2.
Changes compared to version 1:

- Replaced Ring-SW with KFiFO
- Accel-3d, Gyro-3D and Compass-3D uses 3 different channels for X, Y and Z
- SysFS (
--- Changed "polling_interval" to sampling_frequency (IIO_DEV_ATTR_SAMP_FREQ) with units HZ
--- Changed "sensitivity" to hyst_raw, which is already used by some ADC modules
--- Removed "Activate". No longer need this. Using trigger state to activate/deactivate
)
- Removed sysfs attributes for "xxx_offset". Instead using mask 0 in read_raw. So each
sensor have only channels, sampling_frequency and hyst_raw as the ABI.
- Additional patch to enable ST Micro sensor hub 

TBD for v3
- Use Lars-Peter's patch: "v2 1/9 patch: Add helper function for initialize trigger buffers). Want to make sure
that API is final. 

DATA Format examples:
Had few questions on data format for floating point. This spec uses.
- First of size of each field is specified in report descriptor. So it is variable
- It uses VT_F16Ex format. For example VTF16E0 means 16 bit float with unit exponent 0. 
Refer to Page 43 of the "HID Sensor Usage Table"
For example, if the size is 16 bits
0xFFF4 with VTF16E14 format -> -0.12
0xFFF8 with VTF16E14 format -> -0.08
0x0067 with VTF16E14 format -> +1.03

I tried sensor hubs from two different makers. One use 16 bit and other uses 32 bit for accelerometer.
Also the unit expo is different for them. Also units are different.

Possible IIO addition:
I wish we can add two more items for unit and unit_expo in IIO_CHAN_INFO_XXXX. So that we can add
them during channel definition. Currently I am using offset and scale, which doesn't actually mean
this. I think conversion should be done is user space based on the info provided.


Srinivas pandruvada (5):
  HID-Sensors: Common attributes and interfaces
  HID-Sensors: Added accelerometer 3D
  HID-Sensors: Added Gyro 3D
  HID-Sensors: Added Compass 3D
  HID-Sensors: Added ALS

srinivas pandruvada (3):
  HID-Sensors: Add ST Micro Sensor hub
  HID-Sensors: Add Intel HID sensor
  HID-Sensors: Sensor framework

 drivers/hid/hid-core.c                             |    8 +
 drivers/hid/hid-ids.h                              |    6 +
 drivers/staging/Kconfig                            |    2 +
 drivers/staging/Makefile                           |    1 +
 drivers/staging/hid-sensors/Kconfig                |   19 +
 drivers/staging/hid-sensors/Makefile               |   16 +
 drivers/staging/hid-sensors/hid-sensor-accel-3d.c  |  375 ++++++++++
 drivers/staging/hid-sensors/hid-sensor-als.c       |  313 ++++++++
 .../staging/hid-sensors/hid-sensor-attributes.c    |  169 +++++
 .../staging/hid-sensors/hid-sensor-attributes.h    |   51 ++
 drivers/staging/hid-sensors/hid-sensor-buffer.c    |   98 +++
 .../staging/hid-sensors/hid-sensor-compass-3d.c    |  375 ++++++++++
 drivers/staging/hid-sensors/hid-sensor-gyro-3d.c   |  375 ++++++++++
 drivers/staging/hid-sensors/hid-sensor-hub.c       |  747 ++++++++++++++++++++
 drivers/staging/hid-sensors/hid-sensor-ids.h       |  117 +++
 drivers/staging/hid-sensors/hid-sensor-interface.h |   95 +++
 drivers/staging/hid-sensors/hid-sensor-trigger.c   |   83 +++
 17 files changed, 2850 insertions(+), 0 deletions(-)
 create mode 100644 drivers/staging/hid-sensors/Kconfig
 create mode 100644 drivers/staging/hid-sensors/Makefile
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-accel-3d.c
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-als.c
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-attributes.c
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-attributes.h
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-buffer.c
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-compass-3d.c
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-gyro-3d.c
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-hub.c
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-ids.h
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-interface.h
 create mode 100644 drivers/staging/hid-sensors/hid-sensor-trigger.c

-- 
1.7.7.6

^ permalink raw reply	[flat|nested] 28+ messages in thread
* [PATCH 0/8] HID-Sensor v4
@ 2012-07-04 19:52 srinivas pandruvada
       [not found] ` <1341431532-15060-1-git-send-email-srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 28+ messages in thread
From: srinivas pandruvada @ 2012-07-04 19:52 UTC (permalink / raw)
  To: linux-iio; +Cc: linux-input, jkosina, lars, jic23, srinivas pandruvada

v4:
Addressed comments from Lars-Peter Clausen and Jiri Kosina.
- Added Documentation/hid/hid-sensor.txt
- As suggested, created iio/common folder which can contain common code for iio sensor driver.This contain common module to process trigger and attributes
- Removed empty callback functions.
- Duplicating channel structure for an IIO driver instance.

v3 :
- Using TRIGGERRED BUFFER
- Using MFD framework
The sensor hub driver is submiited to drivers/hid. This contains core processing of hid sensor
usage table, registers as an hid driver and adds registration function for routing data
to individual sensor driver. So core driver independent of user mode interface method (IIO/input etc.)

- Submiiting four drivers for Accelerometer-3D, Gyro-3D, Compass-3D and ALS. These uses IIO triggered
buffer interface. They are childrens of hid sensor hub driver.
They reside in iio/accel, iio/gyro iio/magnetometer and iio/light.

- Still using driver/staging/iio. Not able to test with driver/iio.

v2 :
- Replaced Ring-SW with KFiFO
- Accel-3d, Gyro-3D and Compass-3D uses 3 different channels for X, Y and Z
- SysFS (
--- Changed "polling_interval" to sampling_frequency (IIO_DEV_ATTR_SAMP_FREQ) with units HZ
--- Changed "sensitivity" to hyst_raw, which is already used by some ADC modules
--- Removed "Activate". No longer need this. Using trigger state to activate/deactivate
)
- Removed sysfs attributes for "xxx_offset". Instead using mask 0 in read_raw. So each
sensor have only channels, sampling_frequency and hyst_raw as the ABI.
- Additional patch to enable ST Micro sensor hub-

v1:
Base implementation for comments


srinivas pandruvada (8):
  HID-Sensors: Documentation
  HID Sensors: Add to special driver list
  HID-Sensors: Sensor framework
  HID-Sensors: Common attribute and trigger
  HID-Sensors: Added accelerometer 3D
  HID-Sensors: Added Gyroscope 3D
  HID-Sensors: Added Compass/Magnetometer 3D
  HID-Sensors: Added ALS

 Documentation/hid/hid-sensor.txt                   |  139 +++++
 drivers/hid/Kconfig                                |   12 +
 drivers/hid/Makefile                               |    1 +
 drivers/hid/hid-core.c                             |   10 +
 drivers/hid/hid-ids.h                              |    6 +
 drivers/hid/hid-sensor-hub.c                       |  630 ++++++++++++++++++++
 drivers/staging/iio/Kconfig                        |    1 +
 drivers/staging/iio/Makefile                       |    1 +
 drivers/staging/iio/accel/Kconfig                  |   10 +
 drivers/staging/iio/accel/Makefile                 |    3 +
 drivers/staging/iio/accel/hid-sensor-accel-3d.c    |  451 ++++++++++++++
 drivers/staging/iio/common/Kconfig                 |    6 +
 drivers/staging/iio/common/Makefile                |    5 +
 drivers/staging/iio/common/hid-sensors/Kconfig     |   21 +
 drivers/staging/iio/common/hid-sensors/Makefile    |    6 +
 .../iio/common/hid-sensors/hid-sensor-attributes.c |  182 ++++++
 .../iio/common/hid-sensors/hid-sensor-attributes.h |   60 ++
 .../iio/common/hid-sensors/hid-sensor-trigger.c    |  104 ++++
 .../iio/common/hid-sensors/hid-sensor-trigger.h    |   27 +
 drivers/staging/iio/gyro/Kconfig                   |   10 +
 drivers/staging/iio/gyro/Makefile                  |    3 +
 drivers/staging/iio/gyro/hid-sensor-gyro-3d.c      |  451 ++++++++++++++
 drivers/staging/iio/light/Kconfig                  |   10 +
 drivers/staging/iio/light/Makefile                 |    3 +
 drivers/staging/iio/light/hid-sensor-als.c         |  380 ++++++++++++
 drivers/staging/iio/magnetometer/Kconfig           |   10 +
 drivers/staging/iio/magnetometer/Makefile          |    3 +
 .../staging/iio/magnetometer/hid-sensor-magn-3d.c  |  451 ++++++++++++++
 include/linux/hid-sensor-hub.h                     |   72 +++
 include/linux/hid-sensor-ids.h                     |  116 ++++
 30 files changed, 3184 insertions(+), 0 deletions(-)
 create mode 100755 Documentation/hid/hid-sensor.txt
 create mode 100644 drivers/hid/hid-sensor-hub.c
 create mode 100644 drivers/staging/iio/accel/hid-sensor-accel-3d.c
 create mode 100644 drivers/staging/iio/common/Kconfig
 create mode 100644 drivers/staging/iio/common/Makefile
 create mode 100644 drivers/staging/iio/common/hid-sensors/Kconfig
 create mode 100644 drivers/staging/iio/common/hid-sensors/Makefile
 create mode 100644 drivers/staging/iio/common/hid-sensors/hid-sensor-attributes.c
 create mode 100644 drivers/staging/iio/common/hid-sensors/hid-sensor-attributes.h
 create mode 100644 drivers/staging/iio/common/hid-sensors/hid-sensor-trigger.c
 create mode 100644 drivers/staging/iio/common/hid-sensors/hid-sensor-trigger.h
 create mode 100644 drivers/staging/iio/gyro/hid-sensor-gyro-3d.c
 create mode 100644 drivers/staging/iio/light/hid-sensor-als.c
 create mode 100644 drivers/staging/iio/magnetometer/hid-sensor-magn-3d.c
 create mode 100644 include/linux/hid-sensor-hub.h
 create mode 100644 include/linux/hid-sensor-ids.h

-- 
1.7.7.6


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2012-07-08 18:57 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-10  1:53 [PATCH 0/8] HID-Sensor: v2 srinivas pandruvada
2012-06-10  1:53 ` [PATCH 1/8] HID-Sensors: Add ST Micro Sensor hub srinivas pandruvada
2012-06-10  1:53 ` [PATCH 2/8] HID-Sensors: Add Intel HID sensor srinivas pandruvada
2012-06-10  1:53 ` [PATCH 3/8] HID-Sensors: Sensor framework srinivas pandruvada
2012-06-10  1:53 ` [PATCH 4/8] HID-Sensors: Common attributes and interfaces srinivas pandruvada
2012-06-10  1:53 ` [PATCH 5/8] HID-Sensors: Added accelerometer 3D srinivas pandruvada
2012-06-10  1:53 ` [PATCH 6/8] HID-Sensors: Added Gyro 3D srinivas pandruvada
2012-06-10  1:53 ` [PATCH 7/8] HID-Sensors: Added Compass 3D srinivas pandruvada
2012-06-10  1:53 ` [PATCH 8/8] HID-Sensors: Added ALS srinivas pandruvada
2012-06-14 13:08 ` [PATCH 0/8] HID-Sensor: v2 Jiri Kosina
2012-06-14 13:12   ` Jonathan Cameron
2012-06-14 13:25     ` Jiri Kosina
2012-06-14 13:39       ` Jonathan Cameron
2012-06-14 15:25         ` Pandruvada, Srinivas
2012-06-14 16:04           ` Jonathan Cameron
2012-06-15 12:50           ` Jonathan Cameron
2012-06-15 15:27             ` Pandruvada, Srinivas
2012-06-15 13:12 ` Jonathan Cameron
2012-06-15 15:31   ` Pandruvada, Srinivas
2012-06-18  7:43     ` Jonathan Cameron
2012-07-04 19:52 [PATCH 0/8] HID-Sensor v4 srinivas pandruvada
     [not found] ` <1341431532-15060-1-git-send-email-srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2012-07-04 19:52   ` [PATCH 5/8] HID-Sensors: Added accelerometer 3D srinivas pandruvada
2012-07-04 19:52     ` srinivas pandruvada
     [not found]     ` <1341431532-15060-6-git-send-email-srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2012-07-04 21:27       ` David Herrmann
2012-07-04 21:27         ` David Herrmann
     [not found]         ` <CANq1E4R8yutQ0QWw_No4fHDwmp=YkCX_xz7KJ7gfRoy2F40CZw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-07-05 15:32           ` Pandruvada, Srinivas
2012-07-05 15:32             ` Pandruvada, Srinivas
2012-07-08 18:57       ` Jonathan Cameron
2012-07-08 18:57         ` Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.