All of lore.kernel.org
 help / color / mirror / Atom feed
* iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-17 23:38 ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-17 23:38 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Jonathan Cameron, Srinivas Pandruvada, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald, linux-input, linux-iio,
	linux-kernel, Crt Mori

[Starting a new thread from https://lkml.org/lkml/2015/12/15/663, as
now my laptop is displaying values in the sysfs *raw* files.]

So I'm trying to understand exactly how the hid-sensor-accel-3d driver works.

If I turn up debugging, when I `cat
/sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
accel_3d_proc_event" and I think that means that
hid_sensor_push_data() is getting called.

But read()'s on /dev/iio:device3 never produces anything, which is
what iio-sensor-proxy uses to translate events to dbus.

Is it expected that the dev-node is "silent"? Just trying to
understand if an extension to the driver to support a chardev based
output is appropriate, or if iio-sensor-proxy needs to be changed to
handle this device.

-Nish

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

* iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-17 23:38 ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-17 23:38 UTC (permalink / raw)
  To: Jiri Kosina
  Cc: Jonathan Cameron, Srinivas Pandruvada, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald,
	linux-input-u79uwXL29TY76Z2rM5mHXA,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Crt Mori

[Starting a new thread from https://lkml.org/lkml/2015/12/15/663, as
now my laptop is displaying values in the sysfs *raw* files.]

So I'm trying to understand exactly how the hid-sensor-accel-3d driver works.

If I turn up debugging, when I `cat
/sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
accel_3d_proc_event" and I think that means that
hid_sensor_push_data() is getting called.

But read()'s on /dev/iio:device3 never produces anything, which is
what iio-sensor-proxy uses to translate events to dbus.

Is it expected that the dev-node is "silent"? Just trying to
understand if an extension to the driver to support a chardev based
output is appropriate, or if iio-sensor-proxy needs to be changed to
handle this device.

-Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  0:51   ` Srinivas Pandruvada
  0 siblings, 0 replies; 26+ messages in thread
From: Srinivas Pandruvada @ 2015-12-18  0:51 UTC (permalink / raw)
  To: Nish Aravamudan, Jiri Kosina
  Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
	Peter Meerwald, linux-input, linux-iio, linux-kernel, Crt Mori

On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> [Starting a new thread from https://lkml.org/lkml/2015/12/15/663, as
> now my laptop is displaying values in the sysfs *raw* files.]
> 
> So I'm trying to understand exactly how the hid-sensor-accel-3d
> driver works.
> 
> If I turn up debugging, when I `cat
> /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> accel_3d_proc_event" and I think that means that
> hid_sensor_push_data() is getting called.
> 
> But read()'s on /dev/iio:device3 never produces anything, which is
> what iio-sensor-proxy uses to translate events to dbus.
> 
> Is it expected that the dev-node is "silent"? Just trying to
> understand if an extension to the driver to support a chardev based
> output is appropriate, or if iio-sensor-proxy needs to be changed to
> handle this device.

You are saying there is some regression. This used to work and now it
doesn't work. Is raw values are displayed correctly, when you do "cat"?
If cat of raw values is working then power on of sensors is working.

Turn on HID debug prints. If it is regression we can do git bisect.
Any ACPI or PM changes can break this. Usually there will be GPIOs
which will be involved in power on, where ACPI comes into play. This
will be done by i2c-hid. There are some prints in i2c-hid which can be
enabled also.

Thanks,
Srinivas

> 
> -Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  0:51   ` Srinivas Pandruvada
  0 siblings, 0 replies; 26+ messages in thread
From: Srinivas Pandruvada @ 2015-12-18  0:51 UTC (permalink / raw)
  To: Nish Aravamudan, Jiri Kosina
  Cc: Jonathan Cameron, Hartmut Knaack, Lars-Peter Clausen,
	Peter Meerwald, linux-input-u79uwXL29TY76Z2rM5mHXA,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Crt Mori

On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> [Starting a new thread from https://lkml.org/lkml/2015/12/15/663, as
> now my laptop is displaying values in the sysfs *raw* files.]
> 
> So I'm trying to understand exactly how the hid-sensor-accel-3d
> driver works.
> 
> If I turn up debugging, when I `cat
> /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> accel_3d_proc_event" and I think that means that
> hid_sensor_push_data() is getting called.
> 
> But read()'s on /dev/iio:device3 never produces anything, which is
> what iio-sensor-proxy uses to translate events to dbus.
> 
> Is it expected that the dev-node is "silent"? Just trying to
> understand if an extension to the driver to support a chardev based
> output is appropriate, or if iio-sensor-proxy needs to be changed to
> handle this device.

You are saying there is some regression. This used to work and now it
doesn't work. Is raw values are displayed correctly, when you do "cat"?
If cat of raw values is working then power on of sensors is working.

Turn on HID debug prints. If it is regression we can do git bisect.
Any ACPI or PM changes can break this. Usually there will be GPIOs
which will be involved in power on, where ACPI comes into play. This
will be done by i2c-hid. There are some prints in i2c-hid which can be
enabled also.

Thanks,
Srinivas

> 
> -Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
  2015-12-18  0:51   ` Srinivas Pandruvada
  (?)
@ 2015-12-18  1:00     ` Pandruvada, Srinivas
  -1 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  1:00 UTC (permalink / raw)
  To: jikos, nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, Shevchenko, Andriy

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1799 bytes --]

Hi Andy,

As per Nish these patches are impacting sensors on Yoga.
https://lkml.org/lkml/2015/11/30/441

Can you help?

Thanks,
Srinivas

On Thu, 2015-12-17 at 16:51 -0800, Srinivas Pandruvada wrote:
> On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
> > as
> > now my laptop is displaying values in the sysfs *raw* files.]
> > 
> > So I'm trying to understand exactly how the hid-sensor-accel-3d
> > driver works.
> > 
> > If I turn up debugging, when I `cat
> > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> > accel_3d_proc_event" and I think that means that
> > hid_sensor_push_data() is getting called.
> > 
> > But read()'s on /dev/iio:device3 never produces anything, which is
> > what iio-sensor-proxy uses to translate events to dbus.
> > 
> > Is it expected that the dev-node is "silent"? Just trying to
> > understand if an extension to the driver to support a chardev based
> > output is appropriate, or if iio-sensor-proxy needs to be changed
> > to
> > handle this device.
> 
> You are saying there is some regression. This used to work and now it
> doesn't work. Is raw values are displayed correctly, when you do
> "cat"?
> If cat of raw values is working then power on of sensors is working.
> 
> Turn on HID debug prints. If it is regression we can do git bisect.
> Any ACPI or PM changes can break this. Usually there will be GPIOs
> which will be involved in power on, where ACPI comes into play. This
> will be done by i2c-hid. There are some prints in i2c-hid which can
> be
> enabled also.
> 
> Thanks,
> Srinivas
> 
> > ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:00     ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  1:00 UTC (permalink / raw)
  To: jikos, nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, Shevchenko, Andriy

Hi Andy,

As per Nish these patches are impacting sensors on Yoga.
https://lkml.org/lkml/2015/11/30/441

Can you help?

Thanks,
Srinivas

On Thu, 2015-12-17 at 16:51 -0800, Srinivas Pandruvada wrote:
> On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
> > as
> > now my laptop is displaying values in the sysfs *raw* files.]
> > 
> > So I'm trying to understand exactly how the hid-sensor-accel-3d
> > driver works.
> > 
> > If I turn up debugging, when I `cat
> > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> > accel_3d_proc_event" and I think that means that
> > hid_sensor_push_data() is getting called.
> > 
> > But read()'s on /dev/iio:device3 never produces anything, which is
> > what iio-sensor-proxy uses to translate events to dbus.
> > 
> > Is it expected that the dev-node is "silent"? Just trying to
> > understand if an extension to the driver to support a chardev based
> > output is appropriate, or if iio-sensor-proxy needs to be changed
> > to
> > handle this device.
> 
> You are saying there is some regression. This used to work and now it
> doesn't work. Is raw values are displayed correctly, when you do
> "cat"?
> If cat of raw values is working then power on of sensors is working.
> 
> Turn on HID debug prints. If it is regression we can do git bisect.
> Any ACPI or PM changes can break this. Usually there will be GPIOs
> which will be involved in power on, where ACPI comes into play. This
> will be done by i2c-hid. There are some prints in i2c-hid which can
> be
> enabled also.
> 
> Thanks,
> Srinivas
> 
> > 

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:00     ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  1:00 UTC (permalink / raw)
  To: jikos, nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, Shevchenko, Andriy

SGkgQW5keSwNCg0KQXMgcGVyIE5pc2ggdGhlc2UgcGF0Y2hlcyBhcmUgaW1wYWN0aW5nIHNlbnNv
cnMgb24gWW9nYS4NCmh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE1LzExLzMwLzQ0MQ0KDQpDYW4g
eW91IGhlbHA/DQoNClRoYW5rcywNClNyaW5pdmFzDQoNCk9uIFRodSwgMjAxNS0xMi0xNyBhdCAx
Njo1MSAtMDgwMCwgU3Jpbml2YXMgUGFuZHJ1dmFkYSB3cm90ZToNCj4gT24gVGh1LCAyMDE1LTEy
LTE3IGF0IDE1OjM4IC0wODAwLCBOaXNoIEFyYXZhbXVkYW4gd3JvdGU6DQo+ID4gW1N0YXJ0aW5n
IGEgbmV3IHRocmVhZCBmcm9tIGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE1LzEyLzE1LzY2MywN
Cj4gPiBhcw0KPiA+IG5vdyBteSBsYXB0b3AgaXMgZGlzcGxheWluZyB2YWx1ZXMgaW4gdGhlIHN5
c2ZzICpyYXcqIGZpbGVzLl0NCj4gPiANCj4gPiBTbyBJJ20gdHJ5aW5nIHRvIHVuZGVyc3RhbmQg
ZXhhY3RseSBob3cgdGhlIGhpZC1zZW5zb3ItYWNjZWwtM2QNCj4gPiBkcml2ZXIgd29ya3MuDQo+
ID4gDQo+ID4gSWYgSSB0dXJuIHVwIGRlYnVnZ2luZywgd2hlbiBJIGBjYXQNCj4gPiAvc3lzL2J1
cy9paW8vZGV2aWNlcy9kZXZpY2UqLypyYXcqYCwgSSBzZWUgImlpbyBpaW86ZGV2aWNlMzoNCj4g
PiBhY2NlbF8zZF9wcm9jX2V2ZW50IiBhbmQgSSB0aGluayB0aGF0IG1lYW5zIHRoYXQNCj4gPiBo
aWRfc2Vuc29yX3B1c2hfZGF0YSgpIGlzIGdldHRpbmcgY2FsbGVkLg0KPiA+IA0KPiA+IEJ1dCBy
ZWFkKCkncyBvbiAvZGV2L2lpbzpkZXZpY2UzIG5ldmVyIHByb2R1Y2VzIGFueXRoaW5nLCB3aGlj
aCBpcw0KPiA+IHdoYXQgaWlvLXNlbnNvci1wcm94eSB1c2VzIHRvIHRyYW5zbGF0ZSBldmVudHMg
dG8gZGJ1cy4NCj4gPiANCj4gPiBJcyBpdCBleHBlY3RlZCB0aGF0IHRoZSBkZXYtbm9kZSBpcyAi
c2lsZW50Ij8gSnVzdCB0cnlpbmcgdG8NCj4gPiB1bmRlcnN0YW5kIGlmIGFuIGV4dGVuc2lvbiB0
byB0aGUgZHJpdmVyIHRvIHN1cHBvcnQgYSBjaGFyZGV2IGJhc2VkDQo+ID4gb3V0cHV0IGlzIGFw
cHJvcHJpYXRlLCBvciBpZiBpaW8tc2Vuc29yLXByb3h5IG5lZWRzIHRvIGJlIGNoYW5nZWQNCj4g
PiB0bw0KPiA+IGhhbmRsZSB0aGlzIGRldmljZS4NCj4gDQo+IFlvdSBhcmUgc2F5aW5nIHRoZXJl
IGlzIHNvbWUgcmVncmVzc2lvbi4gVGhpcyB1c2VkIHRvIHdvcmsgYW5kIG5vdyBpdA0KPiBkb2Vz
bid0IHdvcmsuIElzIHJhdyB2YWx1ZXMgYXJlIGRpc3BsYXllZCBjb3JyZWN0bHksIHdoZW4geW91
IGRvDQo+ICJjYXQiPw0KPiBJZiBjYXQgb2YgcmF3IHZhbHVlcyBpcyB3b3JraW5nIHRoZW4gcG93
ZXIgb24gb2Ygc2Vuc29ycyBpcyB3b3JraW5nLg0KPiANCj4gVHVybiBvbiBISUQgZGVidWcgcHJp
bnRzLiBJZiBpdCBpcyByZWdyZXNzaW9uIHdlIGNhbiBkbyBnaXQgYmlzZWN0Lg0KPiBBbnkgQUNQ
SSBvciBQTSBjaGFuZ2VzIGNhbiBicmVhayB0aGlzLiBVc3VhbGx5IHRoZXJlIHdpbGwgYmUgR1BJ
T3MNCj4gd2hpY2ggd2lsbCBiZSBpbnZvbHZlZCBpbiBwb3dlciBvbiwgd2hlcmUgQUNQSSBjb21l
cyBpbnRvIHBsYXkuIFRoaXMNCj4gd2lsbCBiZSBkb25lIGJ5IGkyYy1oaWQuIFRoZXJlIGFyZSBz
b21lIHByaW50cyBpbiBpMmMtaGlkIHdoaWNoIGNhbg0KPiBiZQ0KPiBlbmFibGVkIGFsc28uDQo+
IA0KPiBUaGFua3MsDQo+IFNyaW5pdmFzDQo+IA0KPiA+IA==

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
  2015-12-18  0:51   ` Srinivas Pandruvada
  (?)
  (?)
@ 2015-12-18  1:07   ` Nish Aravamudan
  2015-12-18  1:16       ` Srinivas Pandruvada
  -1 siblings, 1 reply; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  1:07 UTC (permalink / raw)
  To: Srinivas Pandruvada
  Cc: Jiri Kosina, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald, linux-input, linux-iio,
	linux-kernel, Crt Mori

On Thu, Dec 17, 2015 at 4:51 PM, Srinivas Pandruvada
<srinivas.pandruvada@linux.intel.com> wrote:
> On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
>> [Starting a new thread from https://lkml.org/lkml/2015/12/15/663, as
>> now my laptop is displaying values in the sysfs *raw* files.]
>>
>> So I'm trying to understand exactly how the hid-sensor-accel-3d
>> driver works.
>>
>> If I turn up debugging, when I `cat
>> /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
>> accel_3d_proc_event" and I think that means that
>> hid_sensor_push_data() is getting called.
>>
>> But read()'s on /dev/iio:device3 never produces anything, which is
>> what iio-sensor-proxy uses to translate events to dbus.
>>
>> Is it expected that the dev-node is "silent"? Just trying to
>> understand if an extension to the driver to support a chardev based
>> output is appropriate, or if iio-sensor-proxy needs to be changed to
>> handle this device.
>
> You are saying there is some regression. This used to work and now it
> doesn't work. Is raw values are displayed correctly, when you do "cat"?
> If cat of raw values is working then power on of sensors is working.

Sorry, I was unclear. I don't know if this is a regression. I can try
going back to an older kernel to see if the /dev/iio:device* files
produced any output.

Yes, the *raw* files in sysfs are producing output, that is changing
as I move the laptop around. But the /dev/ nodes seem to produce no
output (I'm still reading through the driver code to understand where
that data should be coming from.

> Turn on HID debug prints. If it is regression we can do git bisect.
> Any ACPI or PM changes can break this. Usually there will be GPIOs
> which will be involved in power on, where ACPI comes into play. This
> will be done by i2c-hid. There are some prints in i2c-hid which can be
> enabled also.

Ok, I will try this, as well.

-Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
  2015-12-18  1:00     ` Pandruvada, Srinivas
  (?)
  (?)
@ 2015-12-18  1:08     ` Nish Aravamudan
  2015-12-18  1:11         ` Pandruvada, Srinivas
  -1 siblings, 1 reply; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  1:08 UTC (permalink / raw)
  To: Pandruvada, Srinivas
  Cc: jikos, lars, linux-kernel, knaack.h, jic23, cmo, linux-iio,
	pmeerw, linux-input, Shevchenko, Andriy

On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
<srinivas.pandruvada@intel.com> wrote:
> Hi Andy,
>
> As per Nish these patches are impacting sensors on Yoga.
> https://lkml.org/lkml/2015/11/30/441

To be clear, without that series, the touchpad and touchscreen on the
Yoga 900 don't work at all. So they are necessary for functioning. I
don't know (I will test it now), if removing the series makes the IIO
sensors work properly in /dev/.

-Nish

> On Thu, 2015-12-17 at 16:51 -0800, Srinivas Pandruvada wrote:
>> On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
>> > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
>> > as
>> > now my laptop is displaying values in the sysfs *raw* files.]
>> >
>> > So I'm trying to understand exactly how the hid-sensor-accel-3d
>> > driver works.
>> >
>> > If I turn up debugging, when I `cat
>> > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
>> > accel_3d_proc_event" and I think that means that
>> > hid_sensor_push_data() is getting called.
>> >
>> > But read()'s on /dev/iio:device3 never produces anything, which is
>> > what iio-sensor-proxy uses to translate events to dbus.
>> >
>> > Is it expected that the dev-node is "silent"? Just trying to
>> > understand if an extension to the driver to support a chardev based
>> > output is appropriate, or if iio-sensor-proxy needs to be changed
>> > to
>> > handle this device.
>>
>> You are saying there is some regression. This used to work and now it
>> doesn't work. Is raw values are displayed correctly, when you do
>> "cat"?
>> If cat of raw values is working then power on of sensors is working.
>>
>> Turn on HID debug prints. If it is regression we can do git bisect.
>> Any ACPI or PM changes can break this. Usually there will be GPIOs
>> which will be involved in power on, where ACPI comes into play. This
>> will be done by i2c-hid. There are some prints in i2c-hid which can
>> be
>> enabled also.
>>
>> Thanks,
>> Srinivas
>>
>> >

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:11         ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  1:11 UTC (permalink / raw)
  To: nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2500 bytes --]

On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
> <srinivas.pandruvada@intel.com> wrote:
> > Hi Andy,
> > 
> > As per Nish these patches are impacting sensors on Yoga.
> > https://lkml.org/lkml/2015/11/30/441
> 
> To be clear, without that series, the touchpad and touchscreen on the
> Yoga 900 don't work at all. So they are necessary for functioning. I
> don't know (I will test it now), if removing the series makes the IIO
> sensors work properly in /dev/.
This is important to know before we take Andy's time.

Thanks,
Srinivas

> 
> -Nish
> 
> > On Thu, 2015-12-17 at 16:51 -0800, Srinivas Pandruvada wrote:
> > > On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> > > > [Starting a new thread from 
> > > > https://lkml.org/lkml/2015/12/15/663,
> > > > as
> > > > now my laptop is displaying values in the sysfs *raw* files.]
> > > > 
> > > > So I'm trying to understand exactly how the hid-sensor-accel-3d
> > > > driver works.
> > > > 
> > > > If I turn up debugging, when I `cat
> > > > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> > > > accel_3d_proc_event" and I think that means that
> > > > hid_sensor_push_data() is getting called.
> > > > 
> > > > But read()'s on /dev/iio:device3 never produces anything, which
> > > > is
> > > > what iio-sensor-proxy uses to translate events to dbus.
> > > > 
> > > > Is it expected that the dev-node is "silent"? Just trying to
> > > > understand if an extension to the driver to support a chardev
> > > > based
> > > > output is appropriate, or if iio-sensor-proxy needs to be
> > > > changed
> > > > to
> > > > handle this device.
> > > 
> > > You are saying there is some regression. This used to work and
> > > now it
> > > doesn't work. Is raw values are displayed correctly, when you do
> > > "cat"?
> > > If cat of raw values is working then power on of sensors is
> > > working.
> > > 
> > > Turn on HID debug prints. If it is regression we can do git
> > > bisect.
> > > Any ACPI or PM changes can break this. Usually there will be
> > > GPIOs
> > > which will be involved in power on, where ACPI comes into play.
> > > This
> > > will be done by i2c-hid. There are some prints in i2c-hid which
> > > can
> > > be
> > > enabled also.
> > > 
> > > Thanks,
> > > Srinivas
> > > 
> > > > ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:11         ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  1:11 UTC (permalink / raw)
  To: nish.aravamudan-Re5JQEeQqe8AvxtiuMwx3w
  Cc: lars-Qo5EllUWu/uELgA04lAiVw, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	knaack.h-Mmb7MZpHnFY, jic23-DgEjT+Ai2ygdnm+yROfE0A,
	cmo-fc6wVz46lShBDgjK7y7TUQ, linux-iio-u79uwXL29TY76Z2rM5mHXA,
	pmeerw-jW+XmwGofnusTnJN9+BGXg,
	linux-input-u79uwXL29TY76Z2rM5mHXA, jikos-DgEjT+Ai2ygdnm+yROfE0A,
	Shevchenko, Andriy

On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
> <srinivas.pandruvada@intel.com> wrote:
> > Hi Andy,
> > 
> > As per Nish these patches are impacting sensors on Yoga.
> > https://lkml.org/lkml/2015/11/30/441
> 
> To be clear, without that series, the touchpad and touchscreen on the
> Yoga 900 don't work at all. So they are necessary for functioning. I
> don't know (I will test it now), if removing the series makes the IIO
> sensors work properly in /dev/.
This is important to know before we take Andy's time.

Thanks,
Srinivas

> 
> -Nish
> 
> > On Thu, 2015-12-17 at 16:51 -0800, Srinivas Pandruvada wrote:
> > > On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> > > > [Starting a new thread from 
> > > > https://lkml.org/lkml/2015/12/15/663,
> > > > as
> > > > now my laptop is displaying values in the sysfs *raw* files.]
> > > > 
> > > > So I'm trying to understand exactly how the hid-sensor-accel-3d
> > > > driver works.
> > > > 
> > > > If I turn up debugging, when I `cat
> > > > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> > > > accel_3d_proc_event" and I think that means that
> > > > hid_sensor_push_data() is getting called.
> > > > 
> > > > But read()'s on /dev/iio:device3 never produces anything, which
> > > > is
> > > > what iio-sensor-proxy uses to translate events to dbus.
> > > > 
> > > > Is it expected that the dev-node is "silent"? Just trying to
> > > > understand if an extension to the driver to support a chardev
> > > > based
> > > > output is appropriate, or if iio-sensor-proxy needs to be
> > > > changed
> > > > to
> > > > handle this device.
> > > 
> > > You are saying there is some regression. This used to work and
> > > now it
> > > doesn't work. Is raw values are displayed correctly, when you do
> > > "cat"?
> > > If cat of raw values is working then power on of sensors is
> > > working.
> > > 
> > > Turn on HID debug prints. If it is regression we can do git
> > > bisect.
> > > Any ACPI or PM changes can break this. Usually there will be
> > > GPIOs
> > > which will be involved in power on, where ACPI comes into play.
> > > This
> > > will be done by i2c-hid. There are some prints in i2c-hid which
> > > can
> > > be
> > > enabled also.
> > > 
> > > Thanks,
> > > Srinivas
> > > 
> > > > 

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:11         ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  1:11 UTC (permalink / raw)
  To: nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

T24gVGh1LCAyMDE1LTEyLTE3IGF0IDE3OjA4IC0wODAwLCBOaXNoIEFyYXZhbXVkYW4gd3JvdGU6
DQo+IE9uIFRodSwgRGVjIDE3LCAyMDE1IGF0IDU6MDAgUE0sIFBhbmRydXZhZGEsIFNyaW5pdmFz
DQo+IDxzcmluaXZhcy5wYW5kcnV2YWRhQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gSGkgQW5keSwN
Cj4gPiANCj4gPiBBcyBwZXIgTmlzaCB0aGVzZSBwYXRjaGVzIGFyZSBpbXBhY3Rpbmcgc2Vuc29y
cyBvbiBZb2dhLg0KPiA+IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE1LzExLzMwLzQ0MQ0KPiAN
Cj4gVG8gYmUgY2xlYXIsIHdpdGhvdXQgdGhhdCBzZXJpZXMsIHRoZSB0b3VjaHBhZCBhbmQgdG91
Y2hzY3JlZW4gb24gdGhlDQo+IFlvZ2EgOTAwIGRvbid0IHdvcmsgYXQgYWxsLiBTbyB0aGV5IGFy
ZSBuZWNlc3NhcnkgZm9yIGZ1bmN0aW9uaW5nLiBJDQo+IGRvbid0IGtub3cgKEkgd2lsbCB0ZXN0
IGl0IG5vdyksIGlmIHJlbW92aW5nIHRoZSBzZXJpZXMgbWFrZXMgdGhlIElJTw0KPiBzZW5zb3Jz
IHdvcmsgcHJvcGVybHkgaW4gL2Rldi8uDQpUaGlzIGlzIGltcG9ydGFudCB0byBrbm93IGJlZm9y
ZSB3ZSB0YWtlIEFuZHkncyB0aW1lLg0KDQpUaGFua3MsDQpTcmluaXZhcw0KDQo+IA0KPiAtTmlz
aA0KPiANCj4gPiBPbiBUaHUsIDIwMTUtMTItMTcgYXQgMTY6NTEgLTA4MDAsIFNyaW5pdmFzIFBh
bmRydXZhZGEgd3JvdGU6DQo+ID4gPiBPbiBUaHUsIDIwMTUtMTItMTcgYXQgMTU6MzggLTA4MDAs
IE5pc2ggQXJhdmFtdWRhbiB3cm90ZToNCj4gPiA+ID4gW1N0YXJ0aW5nIGEgbmV3IHRocmVhZCBm
cm9tIA0KPiA+ID4gPiBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxNS8xMi8xNS82NjMsDQo+ID4g
PiA+IGFzDQo+ID4gPiA+IG5vdyBteSBsYXB0b3AgaXMgZGlzcGxheWluZyB2YWx1ZXMgaW4gdGhl
IHN5c2ZzICpyYXcqIGZpbGVzLl0NCj4gPiA+ID4gDQo+ID4gPiA+IFNvIEknbSB0cnlpbmcgdG8g
dW5kZXJzdGFuZCBleGFjdGx5IGhvdyB0aGUgaGlkLXNlbnNvci1hY2NlbC0zZA0KPiA+ID4gPiBk
cml2ZXIgd29ya3MuDQo+ID4gPiA+IA0KPiA+ID4gPiBJZiBJIHR1cm4gdXAgZGVidWdnaW5nLCB3
aGVuIEkgYGNhdA0KPiA+ID4gPiAvc3lzL2J1cy9paW8vZGV2aWNlcy9kZXZpY2UqLypyYXcqYCwg
SSBzZWUgImlpbyBpaW86ZGV2aWNlMzoNCj4gPiA+ID4gYWNjZWxfM2RfcHJvY19ldmVudCIgYW5k
IEkgdGhpbmsgdGhhdCBtZWFucyB0aGF0DQo+ID4gPiA+IGhpZF9zZW5zb3JfcHVzaF9kYXRhKCkg
aXMgZ2V0dGluZyBjYWxsZWQuDQo+ID4gPiA+IA0KPiA+ID4gPiBCdXQgcmVhZCgpJ3Mgb24gL2Rl
di9paW86ZGV2aWNlMyBuZXZlciBwcm9kdWNlcyBhbnl0aGluZywgd2hpY2gNCj4gPiA+ID4gaXMN
Cj4gPiA+ID4gd2hhdCBpaW8tc2Vuc29yLXByb3h5IHVzZXMgdG8gdHJhbnNsYXRlIGV2ZW50cyB0
byBkYnVzLg0KPiA+ID4gPiANCj4gPiA+ID4gSXMgaXQgZXhwZWN0ZWQgdGhhdCB0aGUgZGV2LW5v
ZGUgaXMgInNpbGVudCI/IEp1c3QgdHJ5aW5nIHRvDQo+ID4gPiA+IHVuZGVyc3RhbmQgaWYgYW4g
ZXh0ZW5zaW9uIHRvIHRoZSBkcml2ZXIgdG8gc3VwcG9ydCBhIGNoYXJkZXYNCj4gPiA+ID4gYmFz
ZWQNCj4gPiA+ID4gb3V0cHV0IGlzIGFwcHJvcHJpYXRlLCBvciBpZiBpaW8tc2Vuc29yLXByb3h5
IG5lZWRzIHRvIGJlDQo+ID4gPiA+IGNoYW5nZWQNCj4gPiA+ID4gdG8NCj4gPiA+ID4gaGFuZGxl
IHRoaXMgZGV2aWNlLg0KPiA+ID4gDQo+ID4gPiBZb3UgYXJlIHNheWluZyB0aGVyZSBpcyBzb21l
IHJlZ3Jlc3Npb24uIFRoaXMgdXNlZCB0byB3b3JrIGFuZA0KPiA+ID4gbm93IGl0DQo+ID4gPiBk
b2Vzbid0IHdvcmsuIElzIHJhdyB2YWx1ZXMgYXJlIGRpc3BsYXllZCBjb3JyZWN0bHksIHdoZW4g
eW91IGRvDQo+ID4gPiAiY2F0Ij8NCj4gPiA+IElmIGNhdCBvZiByYXcgdmFsdWVzIGlzIHdvcmtp
bmcgdGhlbiBwb3dlciBvbiBvZiBzZW5zb3JzIGlzDQo+ID4gPiB3b3JraW5nLg0KPiA+ID4gDQo+
ID4gPiBUdXJuIG9uIEhJRCBkZWJ1ZyBwcmludHMuIElmIGl0IGlzIHJlZ3Jlc3Npb24gd2UgY2Fu
IGRvIGdpdA0KPiA+ID4gYmlzZWN0Lg0KPiA+ID4gQW55IEFDUEkgb3IgUE0gY2hhbmdlcyBjYW4g
YnJlYWsgdGhpcy4gVXN1YWxseSB0aGVyZSB3aWxsIGJlDQo+ID4gPiBHUElPcw0KPiA+ID4gd2hp
Y2ggd2lsbCBiZSBpbnZvbHZlZCBpbiBwb3dlciBvbiwgd2hlcmUgQUNQSSBjb21lcyBpbnRvIHBs
YXkuDQo+ID4gPiBUaGlzDQo+ID4gPiB3aWxsIGJlIGRvbmUgYnkgaTJjLWhpZC4gVGhlcmUgYXJl
IHNvbWUgcHJpbnRzIGluIGkyYy1oaWQgd2hpY2gNCj4gPiA+IGNhbg0KPiA+ID4gYmUNCj4gPiA+
IGVuYWJsZWQgYWxzby4NCj4gPiA+IA0KPiA+ID4gVGhhbmtzLA0KPiA+ID4gU3Jpbml2YXMNCj4g
PiA+IA0KPiA+ID4gPiA=

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:16       ` Srinivas Pandruvada
  0 siblings, 0 replies; 26+ messages in thread
From: Srinivas Pandruvada @ 2015-12-18  1:16 UTC (permalink / raw)
  To: Nish Aravamudan
  Cc: Jiri Kosina, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald, linux-input, linux-iio,
	linux-kernel, Crt Mori

On Thu, 2015-12-17 at 17:07 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 4:51 PM, Srinivas Pandruvada
> <srinivas.pandruvada@linux.intel.com> wrote:
> > On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> > > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
> > > as
> > > now my laptop is displaying values in the sysfs *raw* files.]
> > > 
> > > So I'm trying to understand exactly how the hid-sensor-accel-3d
> > > driver works.
> > > 
> > > If I turn up debugging, when I `cat
> > > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> > > accel_3d_proc_event" and I think that means that
> > > hid_sensor_push_data() is getting called.
> > > 
> > > But read()'s on /dev/iio:device3 never produces anything, which
> > > is
> > > what iio-sensor-proxy uses to translate events to dbus.
> > > 
> > > Is it expected that the dev-node is "silent"? Just trying to
> > > understand if an extension to the driver to support a chardev
> > > based
> > > output is appropriate, or if iio-sensor-proxy needs to be changed
> > > to
> > > handle this device.
> > 
> > You are saying there is some regression. This used to work and now
> > it
> > doesn't work. Is raw values are displayed correctly, when you do
> > "cat"?
> > If cat of raw values is working then power on of sensors is
> > working.
> 
> Sorry, I was unclear. I don't know if this is a regression. I can try
> going back to an older kernel to see if the /dev/iio:device* files
> produced any output.
> 
> Yes, the *raw* files in sysfs are producing output, that is changing
> as I move the laptop around. But the /dev/ nodes seem to produce no
> output (I'm still reading through the driver code to understand where
> that data should be coming from.
> 
> > Turn on HID debug prints. If it is regression we can do git bisect.
> > Any ACPI or PM changes can break this. Usually there will be GPIOs
> > which will be involved in power on, where ACPI comes into play.
> > This
> > will be done by i2c-hid. There are some prints in i2c-hid which can
> > be
> > enabled also.
> 
> Ok, I will try this, as well.
> 

Try increasing in_accel_sampling_frequency
echo 100 > in_accel_sampling_frequency
Adjust hysteresis to a low value
echo 0 > in_accel_hysteresis
These values are very vendor specific.

Thanks,
Srinivas

> -Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:16       ` Srinivas Pandruvada
  0 siblings, 0 replies; 26+ messages in thread
From: Srinivas Pandruvada @ 2015-12-18  1:16 UTC (permalink / raw)
  To: Nish Aravamudan
  Cc: Jiri Kosina, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald,
	linux-input-u79uwXL29TY76Z2rM5mHXA,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Crt Mori

On Thu, 2015-12-17 at 17:07 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 4:51 PM, Srinivas Pandruvada
> <srinivas.pandruvada-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote:
> > On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
> > > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
> > > as
> > > now my laptop is displaying values in the sysfs *raw* files.]
> > > 
> > > So I'm trying to understand exactly how the hid-sensor-accel-3d
> > > driver works.
> > > 
> > > If I turn up debugging, when I `cat
> > > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
> > > accel_3d_proc_event" and I think that means that
> > > hid_sensor_push_data() is getting called.
> > > 
> > > But read()'s on /dev/iio:device3 never produces anything, which
> > > is
> > > what iio-sensor-proxy uses to translate events to dbus.
> > > 
> > > Is it expected that the dev-node is "silent"? Just trying to
> > > understand if an extension to the driver to support a chardev
> > > based
> > > output is appropriate, or if iio-sensor-proxy needs to be changed
> > > to
> > > handle this device.
> > 
> > You are saying there is some regression. This used to work and now
> > it
> > doesn't work. Is raw values are displayed correctly, when you do
> > "cat"?
> > If cat of raw values is working then power on of sensors is
> > working.
> 
> Sorry, I was unclear. I don't know if this is a regression. I can try
> going back to an older kernel to see if the /dev/iio:device* files
> produced any output.
> 
> Yes, the *raw* files in sysfs are producing output, that is changing
> as I move the laptop around. But the /dev/ nodes seem to produce no
> output (I'm still reading through the driver code to understand where
> that data should be coming from.
> 
> > Turn on HID debug prints. If it is regression we can do git bisect.
> > Any ACPI or PM changes can break this. Usually there will be GPIOs
> > which will be involved in power on, where ACPI comes into play.
> > This
> > will be done by i2c-hid. There are some prints in i2c-hid which can
> > be
> > enabled also.
> 
> Ok, I will try this, as well.
> 

Try increasing in_accel_sampling_frequency
echo 100 > in_accel_sampling_frequency
Adjust hysteresis to a low value
echo 0 > in_accel_hysteresis
These values are very vendor specific.

Thanks,
Srinivas

> -Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:59         ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  1:59 UTC (permalink / raw)
  To: Srinivas Pandruvada
  Cc: Jiri Kosina, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald, linux-input, linux-iio,
	linux-kernel, Crt Mori

On Thu, Dec 17, 2015 at 5:16 PM, Srinivas Pandruvada
<srinivas.pandruvada@linux.intel.com> wrote:
> On Thu, 2015-12-17 at 17:07 -0800, Nish Aravamudan wrote:
>> On Thu, Dec 17, 2015 at 4:51 PM, Srinivas Pandruvada
>> <srinivas.pandruvada@linux.intel.com> wrote:
>> > On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
>> > > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
>> > > as
>> > > now my laptop is displaying values in the sysfs *raw* files.]
>> > >
>> > > So I'm trying to understand exactly how the hid-sensor-accel-3d
>> > > driver works.
>> > >
>> > > If I turn up debugging, when I `cat
>> > > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
>> > > accel_3d_proc_event" and I think that means that
>> > > hid_sensor_push_data() is getting called.
>> > >
>> > > But read()'s on /dev/iio:device3 never produces anything, which
>> > > is
>> > > what iio-sensor-proxy uses to translate events to dbus.
>> > >
>> > > Is it expected that the dev-node is "silent"? Just trying to
>> > > understand if an extension to the driver to support a chardev
>> > > based
>> > > output is appropriate, or if iio-sensor-proxy needs to be changed
>> > > to
>> > > handle this device.
>> >
>> > You are saying there is some regression. This used to work and now
>> > it
>> > doesn't work. Is raw values are displayed correctly, when you do
>> > "cat"?
>> > If cat of raw values is working then power on of sensors is
>> > working.
>>
>> Sorry, I was unclear. I don't know if this is a regression. I can try
>> going back to an older kernel to see if the /dev/iio:device* files
>> produced any output.
>>
>> Yes, the *raw* files in sysfs are producing output, that is changing
>> as I move the laptop around. But the /dev/ nodes seem to produce no
>> output (I'm still reading through the driver code to understand where
>> that data should be coming from.
>>
>> > Turn on HID debug prints. If it is regression we can do git bisect.
>> > Any ACPI or PM changes can break this. Usually there will be GPIOs
>> > which will be involved in power on, where ACPI comes into play.
>> > This
>> > will be done by i2c-hid. There are some prints in i2c-hid which can
>> > be
>> > enabled also.
>>
>> Ok, I will try this, as well.
>>
>
> Try increasing in_accel_sampling_frequency
> echo 100 > in_accel_sampling_frequency
> Adjust hysteresis to a low value
> echo 0 > in_accel_hysteresis
> These values are very vendor specific.

Adjusting the values in this way didn't seem to make any difference.
Also, `cat in_accel_hysteresis` gave EINVAL, but I was able to echo 0
to it.

-Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  1:59         ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  1:59 UTC (permalink / raw)
  To: Srinivas Pandruvada
  Cc: Jiri Kosina, Jonathan Cameron, Hartmut Knaack,
	Lars-Peter Clausen, Peter Meerwald,
	linux-input-u79uwXL29TY76Z2rM5mHXA,
	linux-iio-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, Crt Mori

On Thu, Dec 17, 2015 at 5:16 PM, Srinivas Pandruvada
<srinivas.pandruvada-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote:
> On Thu, 2015-12-17 at 17:07 -0800, Nish Aravamudan wrote:
>> On Thu, Dec 17, 2015 at 4:51 PM, Srinivas Pandruvada
>> <srinivas.pandruvada-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> wrote:
>> > On Thu, 2015-12-17 at 15:38 -0800, Nish Aravamudan wrote:
>> > > [Starting a new thread from https://lkml.org/lkml/2015/12/15/663,
>> > > as
>> > > now my laptop is displaying values in the sysfs *raw* files.]
>> > >
>> > > So I'm trying to understand exactly how the hid-sensor-accel-3d
>> > > driver works.
>> > >
>> > > If I turn up debugging, when I `cat
>> > > /sys/bus/iio/devices/device*/*raw*`, I see "iio iio:device3:
>> > > accel_3d_proc_event" and I think that means that
>> > > hid_sensor_push_data() is getting called.
>> > >
>> > > But read()'s on /dev/iio:device3 never produces anything, which
>> > > is
>> > > what iio-sensor-proxy uses to translate events to dbus.
>> > >
>> > > Is it expected that the dev-node is "silent"? Just trying to
>> > > understand if an extension to the driver to support a chardev
>> > > based
>> > > output is appropriate, or if iio-sensor-proxy needs to be changed
>> > > to
>> > > handle this device.
>> >
>> > You are saying there is some regression. This used to work and now
>> > it
>> > doesn't work. Is raw values are displayed correctly, when you do
>> > "cat"?
>> > If cat of raw values is working then power on of sensors is
>> > working.
>>
>> Sorry, I was unclear. I don't know if this is a regression. I can try
>> going back to an older kernel to see if the /dev/iio:device* files
>> produced any output.
>>
>> Yes, the *raw* files in sysfs are producing output, that is changing
>> as I move the laptop around. But the /dev/ nodes seem to produce no
>> output (I'm still reading through the driver code to understand where
>> that data should be coming from.
>>
>> > Turn on HID debug prints. If it is regression we can do git bisect.
>> > Any ACPI or PM changes can break this. Usually there will be GPIOs
>> > which will be involved in power on, where ACPI comes into play.
>> > This
>> > will be done by i2c-hid. There are some prints in i2c-hid which can
>> > be
>> > enabled also.
>>
>> Ok, I will try this, as well.
>>
>
> Try increasing in_accel_sampling_frequency
> echo 100 > in_accel_sampling_frequency
> Adjust hysteresis to a low value
> echo 0 > in_accel_hysteresis
> These values are very vendor specific.

Adjusting the values in this way didn't seem to make any difference.
Also, `cat in_accel_hysteresis` gave EINVAL, but I was able to echo 0
to it.

-Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  2:33           ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  2:33 UTC (permalink / raw)
  To: Pandruvada, Srinivas
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
<srinivas.pandruvada@intel.com> wrote:
> On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
>> On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
>> <srinivas.pandruvada@intel.com> wrote:
>> > Hi Andy,
>> >
>> > As per Nish these patches are impacting sensors on Yoga.
>> > https://lkml.org/lkml/2015/11/30/441
>>
>> To be clear, without that series, the touchpad and touchscreen on the
>> Yoga 900 don't work at all. So they are necessary for functioning. I
>> don't know (I will test it now), if removing the series makes the IIO
>> sensors work properly in /dev/.
> This is important to know before we take Andy's time.

It seems like Andy's patches are not the problem. That is, with stock
4.4-rc5, the accelerommeter /dev files still do not update.

-Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  2:33           ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  2:33 UTC (permalink / raw)
  To: Pandruvada, Srinivas
  Cc: lars-Qo5EllUWu/uELgA04lAiVw, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	knaack.h-Mmb7MZpHnFY, jic23-DgEjT+Ai2ygdnm+yROfE0A,
	cmo-fc6wVz46lShBDgjK7y7TUQ, linux-iio-u79uwXL29TY76Z2rM5mHXA,
	pmeerw-jW+XmwGofnusTnJN9+BGXg,
	linux-input-u79uwXL29TY76Z2rM5mHXA, jikos-DgEjT+Ai2ygdnm+yROfE0A,
	Shevchenko, Andriy

On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
<srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
> On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
>> On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
>> <srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
>> > Hi Andy,
>> >
>> > As per Nish these patches are impacting sensors on Yoga.
>> > https://lkml.org/lkml/2015/11/30/441
>>
>> To be clear, without that series, the touchpad and touchscreen on the
>> Yoga 900 don't work at all. So they are necessary for functioning. I
>> don't know (I will test it now), if removing the series makes the IIO
>> sensors work properly in /dev/.
> This is important to know before we take Andy's time.

It seems like Andy's patches are not the problem. That is, with stock
4.4-rc5, the accelerommeter /dev files still do not update.

-Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
  2015-12-18  2:33           ` Nish Aravamudan
  (?)
@ 2015-12-18  2:50             ` Pandruvada, Srinivas
  -1 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  2:50 UTC (permalink / raw)
  To: nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1323 bytes --]

On Thu, 2015-12-17 at 18:33 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
> <srinivas.pandruvada@intel.com> wrote:
> > On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
> > > On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
> > > <srinivas.pandruvada@intel.com> wrote:
> > > > Hi Andy,
> > > > 
> > > > As per Nish these patches are impacting sensors on Yoga.
> > > > https://lkml.org/lkml/2015/11/30/441
> > > 
> > > To be clear, without that series, the touchpad and touchscreen on
> > > the
> > > Yoga 900 don't work at all. So they are necessary for
> > > functioning. I
> > > don't know (I will test it now), if removing the series makes the
> > > IIO
> > > sensors work properly in /dev/.
> > This is important to know before we take Andy's time.
> 
> It seems like Andy's patches are not the problem. That is, with stock
> 4.4-rc5, the accelerommeter /dev files still do not update.
> 
Can you not use raw values by polling from user space? Send me
report description. It should be in
/sys/kernel/debug/hid/ "your device id" /redesc.

Also device id ("your device id") above.

Thanks,
Srinivas


> -Nishÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  2:50             ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  2:50 UTC (permalink / raw)
  To: nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

On Thu, 2015-12-17 at 18:33 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
> <srinivas.pandruvada@intel.com> wrote:
> > On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
> > > On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
> > > <srinivas.pandruvada@intel.com> wrote:
> > > > Hi Andy,
> > > > 
> > > > As per Nish these patches are impacting sensors on Yoga.
> > > > https://lkml.org/lkml/2015/11/30/441
> > > 
> > > To be clear, without that series, the touchpad and touchscreen on
> > > the
> > > Yoga 900 don't work at all. So they are necessary for
> > > functioning. I
> > > don't know (I will test it now), if removing the series makes the
> > > IIO
> > > sensors work properly in /dev/.
> > This is important to know before we take Andy's time.
> 
> It seems like Andy's patches are not the problem. That is, with stock
> 4.4-rc5, the accelerommeter /dev files still do not update.
> 
Can you not use raw values by polling from user space? Send me
report description. It should be in
/sys/kernel/debug/hid/ "your device id" /redesc.

Also device id ("your device id") above.

Thanks,
Srinivas


> -Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  2:50             ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18  2:50 UTC (permalink / raw)
  To: nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

T24gVGh1LCAyMDE1LTEyLTE3IGF0IDE4OjMzIC0wODAwLCBOaXNoIEFyYXZhbXVkYW4gd3JvdGU6
DQo+IE9uIFRodSwgRGVjIDE3LCAyMDE1IGF0IDU6MTEgUE0sIFBhbmRydXZhZGEsIFNyaW5pdmFz
DQo+IDxzcmluaXZhcy5wYW5kcnV2YWRhQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gT24gVGh1LCAy
MDE1LTEyLTE3IGF0IDE3OjA4IC0wODAwLCBOaXNoIEFyYXZhbXVkYW4gd3JvdGU6DQo+ID4gPiBP
biBUaHUsIERlYyAxNywgMjAxNSBhdCA1OjAwIFBNLCBQYW5kcnV2YWRhLCBTcmluaXZhcw0KPiA+
ID4gPHNyaW5pdmFzLnBhbmRydXZhZGFAaW50ZWwuY29tPiB3cm90ZToNCj4gPiA+ID4gSGkgQW5k
eSwNCj4gPiA+ID4gDQo+ID4gPiA+IEFzIHBlciBOaXNoIHRoZXNlIHBhdGNoZXMgYXJlIGltcGFj
dGluZyBzZW5zb3JzIG9uIFlvZ2EuDQo+ID4gPiA+IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE1
LzExLzMwLzQ0MQ0KPiA+ID4gDQo+ID4gPiBUbyBiZSBjbGVhciwgd2l0aG91dCB0aGF0IHNlcmll
cywgdGhlIHRvdWNocGFkIGFuZCB0b3VjaHNjcmVlbiBvbg0KPiA+ID4gdGhlDQo+ID4gPiBZb2dh
IDkwMCBkb24ndCB3b3JrIGF0IGFsbC4gU28gdGhleSBhcmUgbmVjZXNzYXJ5IGZvcg0KPiA+ID4g
ZnVuY3Rpb25pbmcuIEkNCj4gPiA+IGRvbid0IGtub3cgKEkgd2lsbCB0ZXN0IGl0IG5vdyksIGlm
IHJlbW92aW5nIHRoZSBzZXJpZXMgbWFrZXMgdGhlDQo+ID4gPiBJSU8NCj4gPiA+IHNlbnNvcnMg
d29yayBwcm9wZXJseSBpbiAvZGV2Ly4NCj4gPiBUaGlzIGlzIGltcG9ydGFudCB0byBrbm93IGJl
Zm9yZSB3ZSB0YWtlIEFuZHkncyB0aW1lLg0KPiANCj4gSXQgc2VlbXMgbGlrZSBBbmR5J3MgcGF0
Y2hlcyBhcmUgbm90IHRoZSBwcm9ibGVtLiBUaGF0IGlzLCB3aXRoIHN0b2NrDQo+IDQuNC1yYzUs
IHRoZSBhY2NlbGVyb21tZXRlciAvZGV2IGZpbGVzIHN0aWxsIGRvIG5vdCB1cGRhdGUuDQo+IA0K
Q2FuIHlvdSBub3QgdXNlIHJhdyB2YWx1ZXMgYnkgcG9sbGluZyBmcm9tIHVzZXIgc3BhY2U/IFNl
bmQgbWUNCnJlcG9ydCBkZXNjcmlwdGlvbi4gSXQgc2hvdWxkIGJlIGluDQovc3lzL2tlcm5lbC9k
ZWJ1Zy9oaWQvICJ5b3VyIGRldmljZSBpZCIgL3JlZGVzYy4NCg0KQWxzbyBkZXZpY2UgaWQgKCJ5
b3VyIGRldmljZSBpZCIpIGFib3ZlLg0KDQpUaGFua3MsDQpTcmluaXZhcw0KDQoNCj4gLU5pc2g=

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  3:06               ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  3:06 UTC (permalink / raw)
  To: Pandruvada, Srinivas
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

[-- Attachment #1: Type: text/plain, Size: 1479 bytes --]

On Thu, Dec 17, 2015 at 6:50 PM, Pandruvada, Srinivas
<srinivas.pandruvada@intel.com> wrote:
> On Thu, 2015-12-17 at 18:33 -0800, Nish Aravamudan wrote:
>> On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
>> <srinivas.pandruvada@intel.com> wrote:
>> > On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
>> > > On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
>> > > <srinivas.pandruvada@intel.com> wrote:
>> > > > Hi Andy,
>> > > >
>> > > > As per Nish these patches are impacting sensors on Yoga.
>> > > > https://lkml.org/lkml/2015/11/30/441
>> > >
>> > > To be clear, without that series, the touchpad and touchscreen on
>> > > the
>> > > Yoga 900 don't work at all. So they are necessary for
>> > > functioning. I
>> > > don't know (I will test it now), if removing the series makes the
>> > > IIO
>> > > sensors work properly in /dev/.
>> > This is important to know before we take Andy's time.
>>
>> It seems like Andy's patches are not the problem. That is, with stock
>> 4.4-rc5, the accelerommeter /dev files still do not update.
>>
> Can you not use raw values by polling from user space? Send me
> report description. It should be in
> /sys/kernel/debug/hid/ "your device id" /redesc.

The underlying issue is that iio-sensor-proxy relies on values from
the corresponding /dev nodes to automatically rotate the screen, etc.
in the desktop environment.

Attached due to its size.

> Also device id ("your device id") above.

0018:048D:8396.0002

-Nish

[-- Attachment #2: rdesc --]
[-- Type: application/octet-stream, Size: 51603 bytes --]

06 83 ff 09 80 a1 01 85 5a 09 01 15 00 26 ff 00 75 08 95 10 b1 00 c0 05 20 09 01 a1 01 85 01 05 20 09 73 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 13 03 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 0a 12 03 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 0a 52 14 15 00 26 ff ff 75 10 95 01 55 0d b1 02 0a 52 24 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 0a 52 34 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 53 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 54 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 55 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 51 04 15 00 25 01 75 08 95 01 81 02 c0 85 02 05 20 09 76 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 13 03 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 0a 12 03 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 0a 56 14 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 0b b1 02 0a 56 24 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 0a 56 34 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 57 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b 81 02 0a 58 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b 81 02 0a 59 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b 81 02 c0 85 03 05 20 09 83 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 75 54 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 75 44 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 75 14 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 75 24 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 75 34 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 84 54 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 0a 84 44 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 0a 84 14 15 00 26 ff ff 75 20 95 01 55 0d b1 02 0a 84 24 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 0a 84 34 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 75 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 85 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0d 81 02 0a 86 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0d 81 02 0a 87 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0d 81 02 0a 88 04 15 00 25 02 75 08 95 01 a1 02 0a e0 08 0a e1 08 0a e2 08 81 00 c0 c0 85 04 05 20 09 86 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 13 03 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 12 03 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 7e 14 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 7e 24 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 7e 34 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 7f 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 80 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 81 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 88 04 15 00 25 02 75 08 95 01 a1 02 0a e0 08 0a e1 08 0a e2 08 81 00 c0 c0 85 05 05 20 09 8a a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 83 54 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 44 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 14 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 24 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 34 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 83 04 17 80 69 67 ff 27 80 96 98 00 75 20 95 04 55 09 81 02 0a 88 04 15 00 25 02 75 08 95 01 a1 02 0a e0 08 0a e1 08 0a e2 08 81 00 c0 c0 85 06 05 20 09 41 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 32 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a d1 e4 15 00 26 10 27 75 10 95 01 55 0e b1 02 0a d1 24 15 00 26 ff ff 75 10 95 01 55 00 b1 02 0a d1 34 15 00 26 ff ff 75 10 95 01 55 00 b1 02 0a 18 03 16 01 80 26 ff 7f 75 10 95 0c 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a d1 04 15 00 27 ff ff ff ff 55 0e 75 20 95 01 81 02 c0 85 07 05 20 09 e1 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 43 15 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 06 03 75 10 95 0b b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 44 05 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 45 05 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 46 05 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 47 05 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 48 05 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 49 05 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 c0 c0 

  INPUT(1)[INPUT]
    Field(0)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0453
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0454
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0455
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0451
      Logical Minimum(0)
      Logical Maximum(1)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
  INPUT(2)[INPUT]
    Field(0)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0457
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0458
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0459
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
  INPUT(3)[INPUT]
    Field(0)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0485
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0486
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0487
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0488)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.08e0
        Sensor.08e1
        Sensor.08e2
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(128)
      Flags( Array Absolute )
  INPUT(4)[INPUT]
    Field(0)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.047f
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0480
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0481
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0488)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.08e0
        Sensor.08e1
        Sensor.08e2
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(64)
      Flags( Array Absolute )
  INPUT(5)[INPUT]
    Field(0)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(4)
        Sensor.0483
        Sensor.0483
        Sensor.0483
        Sensor.0483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(4)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0488)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.08e0
        Sensor.08e1
        Sensor.08e2
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(144)
      Flags( Array Absolute )
  INPUT(6)[INPUT]
    Field(0)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.04d1
      Logical Minimum(0)
      Logical Maximum(-1)
      Unit Exponent(-2)
      Report Size(32)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
  INPUT(7)[INPUT]
    Field(0)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0544
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0545
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0546
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0547
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0548
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0549
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
  FEATURE(90)[FEATURE]
    Field(0)
      Application(ff83.0080)
      Usage(16)
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
      Logical Minimum(0)
      Logical Maximum(255)
      Report Size(8)
      Report Count(16)
      Report Offset(0)
      Flags( Array Absolute )
  FEATURE(1)[FEATURE]
    Field(0)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0313
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0312
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1452
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2452
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(112)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3452
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
  FEATURE(2)[FEATURE]
    Field(0)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0313
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0312
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1456
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2456
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(160)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3456
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(192)
      Flags( Variable Absolute )
  FEATURE(3)[FEATURE]
    Field(0)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.5475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.4475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1475
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(112)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
    Field(10)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.5484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(144)
      Flags( Variable Absolute )
    Field(11)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.4484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(176)
      Flags( Variable Absolute )
    Field(12)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1484
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(208)
      Flags( Variable Absolute )
    Field(13)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(240)
      Flags( Variable Absolute )
    Field(14)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(272)
      Flags( Variable Absolute )
  FEATURE(4)[FEATURE]
    Field(0)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0313
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0312
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.147e
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.247e
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(112)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.347e
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
  FEATURE(5)[FEATURE]
    Field(0)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.5483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.4483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(160)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(192)
      Flags( Variable Absolute )
  FEATURE(6)[FEATURE]
    Field(0)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(50)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.e4d1
      Logical Minimum(0)
      Logical Maximum(10000)
      Unit Exponent(-2)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.24d1
      Logical Minimum(0)
      Logical Maximum(65535)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.34d1
      Logical Minimum(0)
      Logical Maximum(65535)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(12)
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Report Size(16)
      Report Count(12)
      Report Offset(112)
      Flags( Variable Absolute )
  FEATURE(7)[FEATURE]
    Field(0)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1543
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(11)
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(11)
      Report Offset(80)
      Flags( Variable Absolute )

Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0453 ---> Sync.Report
Sensor.0454 ---> Sync.Report
Sensor.0455 ---> Sync.Report
Sensor.0451 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0457 ---> Sync.Report
Sensor.0458 ---> Sync.Report
Sensor.0459 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0475 ---> Sync.Report
Sensor.0485 ---> Sync.Report
Sensor.0486 ---> Sync.Report
Sensor.0487 ---> Sync.Report
Sensor.08e0 ---> Sync.Report
Sensor.08e1 ---> Sync.Report
Sensor.08e2 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.047f ---> Sync.Report
Sensor.0480 ---> Sync.Report
Sensor.0481 ---> Sync.Report
Sensor.08e0 ---> Sync.Report
Sensor.08e1 ---> Sync.Report
Sensor.08e2 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.08e0 ---> Sync.Report
Sensor.08e1 ---> Sync.Report
Sensor.08e2 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.04d1 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0544 ---> Sync.Report
Sensor.0545 ---> Sync.Report
Sensor.0546 ---> Sync.Report
Sensor.0547 ---> Sync.Report
Sensor.0548 ---> Sync.Report
Sensor.0549 ---> Sync.Report

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18  3:06               ` Nish Aravamudan
  0 siblings, 0 replies; 26+ messages in thread
From: Nish Aravamudan @ 2015-12-18  3:06 UTC (permalink / raw)
  To: Pandruvada, Srinivas
  Cc: lars-Qo5EllUWu/uELgA04lAiVw, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	knaack.h-Mmb7MZpHnFY, jic23-DgEjT+Ai2ygdnm+yROfE0A,
	cmo-fc6wVz46lShBDgjK7y7TUQ, linux-iio-u79uwXL29TY76Z2rM5mHXA,
	pmeerw-jW+XmwGofnusTnJN9+BGXg,
	linux-input-u79uwXL29TY76Z2rM5mHXA, jikos-DgEjT+Ai2ygdnm+yROfE0A,
	Shevchenko, Andriy

[-- Attachment #1: Type: text/plain, Size: 1569 bytes --]

On Thu, Dec 17, 2015 at 6:50 PM, Pandruvada, Srinivas
<srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
> On Thu, 2015-12-17 at 18:33 -0800, Nish Aravamudan wrote:
>> On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
>> <srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
>> > On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
>> > > On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
>> > > <srinivas.pandruvada-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> wrote:
>> > > > Hi Andy,
>> > > >
>> > > > As per Nish these patches are impacting sensors on Yoga.
>> > > > https://lkml.org/lkml/2015/11/30/441
>> > >
>> > > To be clear, without that series, the touchpad and touchscreen on
>> > > the
>> > > Yoga 900 don't work at all. So they are necessary for
>> > > functioning. I
>> > > don't know (I will test it now), if removing the series makes the
>> > > IIO
>> > > sensors work properly in /dev/.
>> > This is important to know before we take Andy's time.
>>
>> It seems like Andy's patches are not the problem. That is, with stock
>> 4.4-rc5, the accelerommeter /dev files still do not update.
>>
> Can you not use raw values by polling from user space? Send me
> report description. It should be in
> /sys/kernel/debug/hid/ "your device id" /redesc.

The underlying issue is that iio-sensor-proxy relies on values from
the corresponding /dev nodes to automatically rotate the screen, etc.
in the desktop environment.

Attached due to its size.

> Also device id ("your device id") above.

0018:048D:8396.0002

-Nish

[-- Attachment #2: rdesc --]
[-- Type: application/octet-stream, Size: 51603 bytes --]

06 83 ff 09 80 a1 01 85 5a 09 01 15 00 26 ff 00 75 08 95 10 b1 00 c0 05 20 09 01 a1 01 85 01 05 20 09 73 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 13 03 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 0a 12 03 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 0a 52 14 15 00 26 ff ff 75 10 95 01 55 0d b1 02 0a 52 24 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 0a 52 34 16 01 80 26 ff 7f 75 10 95 01 55 0d b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 53 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 54 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 55 04 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 51 04 15 00 25 01 75 08 95 01 81 02 c0 85 02 05 20 09 76 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 13 03 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 0a 12 03 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 0a 56 14 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 0b b1 02 0a 56 24 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 0a 56 34 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 57 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b 81 02 0a 58 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b 81 02 0a 59 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0b 81 02 c0 85 03 05 20 09 83 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 75 54 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 75 44 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 75 14 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 75 24 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 75 34 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 84 54 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 0a 84 44 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 0a 84 14 15 00 26 ff ff 75 20 95 01 55 0d b1 02 0a 84 24 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 0a 84 34 17 ff ff 10 00 27 ff 7f ff ff 75 20 95 01 55 0d b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 75 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 85 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0d 81 02 0a 86 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0d 81 02 0a 87 04 17 ff ff 01 00 27 ff 7f ff ff 75 20 95 01 55 0d 81 02 0a 88 04 15 00 25 02 75 08 95 01 a1 02 0a e0 08 0a e1 08 0a e2 08 81 00 c0 c0 85 04 05 20 09 86 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 13 03 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 12 03 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 7e 14 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 7e 24 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 0a 7e 34 16 01 80 26 ff 7f 75 10 95 01 55 0f b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 7f 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 80 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 81 04 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 88 04 15 00 25 02 75 08 95 01 a1 02 0a e0 08 0a e1 08 0a e2 08 81 00 c0 c0 85 05 05 20 09 8a a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 83 54 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 44 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 14 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 24 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 0a 83 34 17 80 69 67 ff 27 80 96 98 00 75 20 95 01 55 09 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 83 04 17 80 69 67 ff 27 80 96 98 00 75 20 95 04 55 09 81 02 0a 88 04 15 00 25 02 75 08 95 01 a1 02 0a e0 08 0a e1 08 0a e2 08 81 00 c0 c0 85 06 05 20 09 41 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 32 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a d1 e4 15 00 26 10 27 75 10 95 01 55 0e b1 02 0a d1 24 15 00 26 ff ff 75 10 95 01 55 00 b1 02 0a d1 34 15 00 26 ff ff 75 10 95 01 55 00 b1 02 0a 18 03 16 01 80 26 ff 7f 75 10 95 0c 55 00 b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a d1 04 15 00 27 ff ff ff ff 55 0e 75 20 95 01 81 02 c0 85 07 05 20 09 e1 a1 00 05 20 0a 09 03 15 00 25 02 75 08 95 01 a1 02 0a 30 08 0a 31 08 0a 32 08 b1 00 c0 0a 16 03 15 00 25 05 75 08 95 01 a1 02 0a 40 08 0a 41 08 0a 42 08 0a 43 08 0a 44 08 0a 45 08 b1 00 c0 0a 19 03 15 00 25 05 75 08 95 01 a1 02 0a 50 08 0a 51 08 0a 52 08 0a 53 08 0a 54 08 0a 55 08 b1 00 c0 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 b1 00 c0 0a 0e 03 15 0a 27 ff ff ff ff 75 20 95 01 55 00 b1 02 0a 43 15 15 00 26 ff ff 75 10 95 01 55 0f b1 02 0a 06 03 75 10 95 0b b1 02 05 20 0a 01 02 15 00 25 06 75 08 95 01 a1 02 0a 00 08 0a 01 08 0a 02 08 0a 03 08 0a 04 08 0a 05 08 0a 06 08 81 00 c0 0a 02 02 15 00 25 05 75 08 95 01 a1 02 0a 10 08 0a 11 08 0a 12 08 0a 13 08 0a 14 08 0a 15 08 81 00 c0 0a 44 05 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 45 05 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 46 05 16 01 80 26 ff 7f 75 10 95 01 55 0d 81 02 0a 47 05 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 48 05 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 0a 49 05 16 01 80 26 ff 7f 75 10 95 01 55 0f 81 02 c0 c0 

  INPUT(1)[INPUT]
    Field(0)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0453
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0454
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0455
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0451
      Logical Minimum(0)
      Logical Maximum(1)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
  INPUT(2)[INPUT]
    Field(0)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0457
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0458
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0459
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
  INPUT(3)[INPUT]
    Field(0)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0485
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0486
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0487
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0488)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.08e0
        Sensor.08e1
        Sensor.08e2
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(128)
      Flags( Array Absolute )
  INPUT(4)[INPUT]
    Field(0)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.047f
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0480
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0481
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0488)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.08e0
        Sensor.08e1
        Sensor.08e2
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(64)
      Flags( Array Absolute )
  INPUT(5)[INPUT]
    Field(0)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(4)
        Sensor.0483
        Sensor.0483
        Sensor.0483
        Sensor.0483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(4)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0488)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.08e0
        Sensor.08e1
        Sensor.08e2
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(144)
      Flags( Array Absolute )
  INPUT(6)[INPUT]
    Field(0)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.04d1
      Logical Minimum(0)
      Logical Maximum(-1)
      Unit Exponent(-2)
      Report Size(32)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
  INPUT(7)[INPUT]
    Field(0)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0202)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0810
        Sensor.0811
        Sensor.0812
        Sensor.0813
        Sensor.0814
        Sensor.0815
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0544
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(16)
      Flags( Variable Absolute )
    Field(3)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0545
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(4)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0546
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(48)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0547
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0548
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0549
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
  FEATURE(90)[FEATURE]
    Field(0)
      Application(ff83.0080)
      Usage(16)
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
        ff83.0001
      Logical Minimum(0)
      Logical Maximum(255)
      Report Size(8)
      Report Count(16)
      Report Offset(0)
      Flags( Array Absolute )
  FEATURE(1)[FEATURE]
    Field(0)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.MotionAccelerometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0313
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0312
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1452
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2452
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(112)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.MotionAccelerometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3452
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-3)
      Report Size(16)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
  FEATURE(2)[FEATURE]
    Field(0)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.MotionGyrometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0313
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0312
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1456
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2456
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(160)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.MotionGyrometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3456
      Logical Minimum(131071)
      Logical Maximum(-32769)
      Unit Exponent(-5)
      Report Size(32)
      Report Count(1)
      Report Offset(192)
      Flags( Variable Absolute )
  FEATURE(3)[FEATURE]
    Field(0)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OrientationCompass3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-5)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.5475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.4475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1475
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(112)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3475
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
    Field(10)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.5484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(144)
      Flags( Variable Absolute )
    Field(11)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.4484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(176)
      Flags( Variable Absolute )
    Field(12)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1484
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(208)
      Flags( Variable Absolute )
    Field(13)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(240)
      Flags( Variable Absolute )
    Field(14)
      Physical(Sensor.OrientationCompass3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3484
      Logical Minimum(1114111)
      Logical Maximum(-32769)
      Unit Exponent(-3)
      Report Size(32)
      Report Count(1)
      Report Offset(272)
      Flags( Variable Absolute )
  FEATURE(4)[FEATURE]
    Field(0)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OrientationInclinometer3D)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-3)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0313
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.0312
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.147e
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.247e
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(112)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.OrientationInclinometer3D)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.347e
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
  FEATURE(5)[FEATURE]
    Field(0)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OrientationDeviceOrientation)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-1)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.5483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.4483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(128)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.2483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(160)
      Flags( Variable Absolute )
    Field(9)
      Physical(Sensor.OrientationDeviceOrientation)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.3483
      Logical Minimum(-10000000)
      Logical Maximum(10000000)
      Unit Exponent(-7)
      Report Size(32)
      Report Count(1)
      Report Offset(192)
      Flags( Variable Absolute )
  FEATURE(6)[FEATURE]
    Field(0)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.LightAmbientLight)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-7)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(50)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.e4d1
      Logical Minimum(0)
      Logical Maximum(10000)
      Unit Exponent(-2)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.24d1
      Logical Minimum(0)
      Logical Maximum(65535)
      Report Size(16)
      Report Count(1)
      Report Offset(80)
      Flags( Variable Absolute )
    Field(7)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.34d1
      Logical Minimum(0)
      Logical Maximum(65535)
      Report Size(16)
      Report Count(1)
      Report Offset(96)
      Flags( Variable Absolute )
    Field(8)
      Physical(Sensor.LightAmbientLight)
      Application(Sensor.Sensor)
      Usage(12)
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
        Sensor.0318
      Logical Minimum(-32767)
      Logical Maximum(32767)
      Report Size(16)
      Report Count(12)
      Report Offset(112)
      Flags( Variable Absolute )
  FEATURE(7)[FEATURE]
    Field(0)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0309)
      Application(Sensor.Sensor)
      Usage(3)
        Sensor.0830
        Sensor.0831
        Sensor.0832
      Logical Minimum(0)
      Logical Maximum(2)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(0)
      Flags( Array Absolute )
    Field(1)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0316)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0840
        Sensor.0841
        Sensor.0842
        Sensor.0843
        Sensor.0844
        Sensor.0845
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(8)
      Flags( Array Absolute )
    Field(2)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0319)
      Application(Sensor.Sensor)
      Usage(6)
        Sensor.0850
        Sensor.0851
        Sensor.0852
        Sensor.0853
        Sensor.0854
        Sensor.0855
      Logical Minimum(0)
      Logical Maximum(5)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(16)
      Flags( Array Absolute )
    Field(3)
      Physical(Sensor.OtherCustom)
      Logical(Sensor.0201)
      Application(Sensor.Sensor)
      Usage(7)
        Sensor.0800
        Sensor.0801
        Sensor.0802
        Sensor.0803
        Sensor.0804
        Sensor.0805
        Sensor.0806
      Logical Minimum(0)
      Logical Maximum(6)
      Unit Exponent(-2)
      Report Size(8)
      Report Count(1)
      Report Offset(24)
      Flags( Array Absolute )
    Field(4)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.030e
      Logical Minimum(10)
      Logical Maximum(-1)
      Report Size(32)
      Report Count(1)
      Report Offset(32)
      Flags( Variable Absolute )
    Field(5)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(1)
        Sensor.1543
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(1)
      Report Offset(64)
      Flags( Variable Absolute )
    Field(6)
      Physical(Sensor.OtherCustom)
      Application(Sensor.Sensor)
      Usage(11)
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
        Sensor.0306
      Logical Minimum(0)
      Logical Maximum(65535)
      Unit Exponent(-1)
      Report Size(16)
      Report Count(11)
      Report Offset(80)
      Flags( Variable Absolute )

Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0453 ---> Sync.Report
Sensor.0454 ---> Sync.Report
Sensor.0455 ---> Sync.Report
Sensor.0451 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0457 ---> Sync.Report
Sensor.0458 ---> Sync.Report
Sensor.0459 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0475 ---> Sync.Report
Sensor.0485 ---> Sync.Report
Sensor.0486 ---> Sync.Report
Sensor.0487 ---> Sync.Report
Sensor.08e0 ---> Sync.Report
Sensor.08e1 ---> Sync.Report
Sensor.08e2 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.047f ---> Sync.Report
Sensor.0480 ---> Sync.Report
Sensor.0481 ---> Sync.Report
Sensor.08e0 ---> Sync.Report
Sensor.08e1 ---> Sync.Report
Sensor.08e2 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.0483 ---> Sync.Report
Sensor.08e0 ---> Sync.Report
Sensor.08e1 ---> Sync.Report
Sensor.08e2 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.04d1 ---> Sync.Report
Sensor.0800 ---> Sync.Report
Sensor.0801 ---> Sync.Report
Sensor.0802 ---> Sync.Report
Sensor.0803 ---> Sync.Report
Sensor.0804 ---> Sync.Report
Sensor.0805 ---> Sync.Report
Sensor.0806 ---> Sync.Report
Sensor.0810 ---> Sync.Report
Sensor.0811 ---> Sync.Report
Sensor.0812 ---> Sync.Report
Sensor.0813 ---> Sync.Report
Sensor.0814 ---> Sync.Report
Sensor.0815 ---> Sync.Report
Sensor.0544 ---> Sync.Report
Sensor.0545 ---> Sync.Report
Sensor.0546 ---> Sync.Report
Sensor.0547 ---> Sync.Report
Sensor.0548 ---> Sync.Report
Sensor.0549 ---> Sync.Report

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18 16:58                 ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18 16:58 UTC (permalink / raw)
  To: nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 1888 bytes --]

On Thu, 2015-12-17 at 19:06 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 6:50 PM, Pandruvada, Srinivas
> <srinivas.pandruvada@intel.com> wrote:
> > On Thu, 2015-12-17 at 18:33 -0800, Nish Aravamudan wrote:
> > > On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
> > > <srinivas.pandruvada@intel.com> wrote:
> > > > On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
> > > > > On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
> > > > > <srinivas.pandruvada@intel.com> wrote:
> > > > > > Hi Andy,
> > > > > > 
> > > > > > As per Nish these patches are impacting sensors on Yoga.
> > > > > > https://lkml.org/lkml/2015/11/30/441
> > > > > 
> > > > > To be clear, without that series, the touchpad and
> > > > > touchscreen on
> > > > > the
> > > > > Yoga 900 don't work at all. So they are necessary for
> > > > > functioning. I
> > > > > don't know (I will test it now), if removing the series makes
> > > > > the
> > > > > IIO
> > > > > sensors work properly in /dev/.
> > > > This is important to know before we take Andy's time.
> > > 
> > > It seems like Andy's patches are not the problem. That is, with
> > > stock
> > > 4.4-rc5, the accelerommeter /dev files still do not update.
> > > 
> > Can you not use raw values by polling from user space? Send me
> > report description. It should be in
> > /sys/kernel/debug/hid/ "your device id" /redesc.
> 
> The underlying issue is that iio-sensor-proxy relies on values from
> the corresponding /dev nodes to automatically rotate the screen, etc.
> in the desktop environment.
> 
> Attached due to its size.
> 
> > Also device id ("your device id") above.
> 
> 0018:048D:8396.0002
Sent a patch, try and see if this works.

Thanks,
Srinivas

> 
> -Nishÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18 16:58                 ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18 16:58 UTC (permalink / raw)
  To: nish.aravamudan-Re5JQEeQqe8AvxtiuMwx3w
  Cc: lars-Qo5EllUWu/uELgA04lAiVw, linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	knaack.h-Mmb7MZpHnFY, jic23-DgEjT+Ai2ygdnm+yROfE0A,
	cmo-fc6wVz46lShBDgjK7y7TUQ, linux-iio-u79uwXL29TY76Z2rM5mHXA,
	pmeerw-jW+XmwGofnusTnJN9+BGXg,
	linux-input-u79uwXL29TY76Z2rM5mHXA, jikos-DgEjT+Ai2ygdnm+yROfE0A,
	Shevchenko, Andriy

On Thu, 2015-12-17 at 19:06 -0800, Nish Aravamudan wrote:
> On Thu, Dec 17, 2015 at 6:50 PM, Pandruvada, Srinivas
> <srinivas.pandruvada@intel.com> wrote:
> > On Thu, 2015-12-17 at 18:33 -0800, Nish Aravamudan wrote:
> > > On Thu, Dec 17, 2015 at 5:11 PM, Pandruvada, Srinivas
> > > <srinivas.pandruvada@intel.com> wrote:
> > > > On Thu, 2015-12-17 at 17:08 -0800, Nish Aravamudan wrote:
> > > > > On Thu, Dec 17, 2015 at 5:00 PM, Pandruvada, Srinivas
> > > > > <srinivas.pandruvada@intel.com> wrote:
> > > > > > Hi Andy,
> > > > > > 
> > > > > > As per Nish these patches are impacting sensors on Yoga.
> > > > > > https://lkml.org/lkml/2015/11/30/441
> > > > > 
> > > > > To be clear, without that series, the touchpad and
> > > > > touchscreen on
> > > > > the
> > > > > Yoga 900 don't work at all. So they are necessary for
> > > > > functioning. I
> > > > > don't know (I will test it now), if removing the series makes
> > > > > the
> > > > > IIO
> > > > > sensors work properly in /dev/.
> > > > This is important to know before we take Andy's time.
> > > 
> > > It seems like Andy's patches are not the problem. That is, with
> > > stock
> > > 4.4-rc5, the accelerommeter /dev files still do not update.
> > > 
> > Can you not use raw values by polling from user space? Send me
> > report description. It should be in
> > /sys/kernel/debug/hid/ "your device id" /redesc.
> 
> The underlying issue is that iio-sensor-proxy relies on values from
> the corresponding /dev nodes to automatically rotate the screen, etc.
> in the desktop environment.
> 
> Attached due to its size.
> 
> > Also device id ("your device id") above.
> 
> 0018:048D:8396.0002
Sent a patch, try and see if this works.

Thanks,
Srinivas

> 
> -Nish

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

* Re: iio/hid-sensor-accel-3d: no output from /dev/iio:device*?
@ 2015-12-18 16:58                 ` Pandruvada, Srinivas
  0 siblings, 0 replies; 26+ messages in thread
From: Pandruvada, Srinivas @ 2015-12-18 16:58 UTC (permalink / raw)
  To: nish.aravamudan
  Cc: lars, linux-kernel, knaack.h, jic23, cmo, linux-iio, pmeerw,
	linux-input, jikos, Shevchenko, Andriy

T24gVGh1LCAyMDE1LTEyLTE3IGF0IDE5OjA2IC0wODAwLCBOaXNoIEFyYXZhbXVkYW4gd3JvdGU6
DQo+IE9uIFRodSwgRGVjIDE3LCAyMDE1IGF0IDY6NTAgUE0sIFBhbmRydXZhZGEsIFNyaW5pdmFz
DQo+IDxzcmluaXZhcy5wYW5kcnV2YWRhQGludGVsLmNvbT4gd3JvdGU6DQo+ID4gT24gVGh1LCAy
MDE1LTEyLTE3IGF0IDE4OjMzIC0wODAwLCBOaXNoIEFyYXZhbXVkYW4gd3JvdGU6DQo+ID4gPiBP
biBUaHUsIERlYyAxNywgMjAxNSBhdCA1OjExIFBNLCBQYW5kcnV2YWRhLCBTcmluaXZhcw0KPiA+
ID4gPHNyaW5pdmFzLnBhbmRydXZhZGFAaW50ZWwuY29tPiB3cm90ZToNCj4gPiA+ID4gT24gVGh1
LCAyMDE1LTEyLTE3IGF0IDE3OjA4IC0wODAwLCBOaXNoIEFyYXZhbXVkYW4gd3JvdGU6DQo+ID4g
PiA+ID4gT24gVGh1LCBEZWMgMTcsIDIwMTUgYXQgNTowMCBQTSwgUGFuZHJ1dmFkYSwgU3Jpbml2
YXMNCj4gPiA+ID4gPiA8c3Jpbml2YXMucGFuZHJ1dmFkYUBpbnRlbC5jb20+IHdyb3RlOg0KPiA+
ID4gPiA+ID4gSGkgQW5keSwNCj4gPiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gQXMgcGVyIE5pc2gg
dGhlc2UgcGF0Y2hlcyBhcmUgaW1wYWN0aW5nIHNlbnNvcnMgb24gWW9nYS4NCj4gPiA+ID4gPiA+
IGh0dHBzOi8vbGttbC5vcmcvbGttbC8yMDE1LzExLzMwLzQ0MQ0KPiA+ID4gPiA+IA0KPiA+ID4g
PiA+IFRvIGJlIGNsZWFyLCB3aXRob3V0IHRoYXQgc2VyaWVzLCB0aGUgdG91Y2hwYWQgYW5kDQo+
ID4gPiA+ID4gdG91Y2hzY3JlZW4gb24NCj4gPiA+ID4gPiB0aGUNCj4gPiA+ID4gPiBZb2dhIDkw
MCBkb24ndCB3b3JrIGF0IGFsbC4gU28gdGhleSBhcmUgbmVjZXNzYXJ5IGZvcg0KPiA+ID4gPiA+
IGZ1bmN0aW9uaW5nLiBJDQo+ID4gPiA+ID4gZG9uJ3Qga25vdyAoSSB3aWxsIHRlc3QgaXQgbm93
KSwgaWYgcmVtb3ZpbmcgdGhlIHNlcmllcyBtYWtlcw0KPiA+ID4gPiA+IHRoZQ0KPiA+ID4gPiA+
IElJTw0KPiA+ID4gPiA+IHNlbnNvcnMgd29yayBwcm9wZXJseSBpbiAvZGV2Ly4NCj4gPiA+ID4g
VGhpcyBpcyBpbXBvcnRhbnQgdG8ga25vdyBiZWZvcmUgd2UgdGFrZSBBbmR5J3MgdGltZS4NCj4g
PiA+IA0KPiA+ID4gSXQgc2VlbXMgbGlrZSBBbmR5J3MgcGF0Y2hlcyBhcmUgbm90IHRoZSBwcm9i
bGVtLiBUaGF0IGlzLCB3aXRoDQo+ID4gPiBzdG9jaw0KPiA+ID4gNC40LXJjNSwgdGhlIGFjY2Vs
ZXJvbW1ldGVyIC9kZXYgZmlsZXMgc3RpbGwgZG8gbm90IHVwZGF0ZS4NCj4gPiA+IA0KPiA+IENh
biB5b3Ugbm90IHVzZSByYXcgdmFsdWVzIGJ5IHBvbGxpbmcgZnJvbSB1c2VyIHNwYWNlPyBTZW5k
IG1lDQo+ID4gcmVwb3J0IGRlc2NyaXB0aW9uLiBJdCBzaG91bGQgYmUgaW4NCj4gPiAvc3lzL2tl
cm5lbC9kZWJ1Zy9oaWQvICJ5b3VyIGRldmljZSBpZCIgL3JlZGVzYy4NCj4gDQo+IFRoZSB1bmRl
cmx5aW5nIGlzc3VlIGlzIHRoYXQgaWlvLXNlbnNvci1wcm94eSByZWxpZXMgb24gdmFsdWVzIGZy
b20NCj4gdGhlIGNvcnJlc3BvbmRpbmcgL2RldiBub2RlcyB0byBhdXRvbWF0aWNhbGx5IHJvdGF0
ZSB0aGUgc2NyZWVuLCBldGMuDQo+IGluIHRoZSBkZXNrdG9wIGVudmlyb25tZW50Lg0KPiANCj4g
QXR0YWNoZWQgZHVlIHRvIGl0cyBzaXplLg0KPiANCj4gPiBBbHNvIGRldmljZSBpZCAoInlvdXIg
ZGV2aWNlIGlkIikgYWJvdmUuDQo+IA0KPiAwMDE4OjA0OEQ6ODM5Ni4wMDAyDQpTZW50IGEgcGF0
Y2gsIHRyeSBhbmQgc2VlIGlmIHRoaXMgd29ya3MuDQoNClRoYW5rcywNClNyaW5pdmFzDQoNCj4g
DQo+IC1OaXNo

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

end of thread, other threads:[~2015-12-18 16:58 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-12-17 23:38 iio/hid-sensor-accel-3d: no output from /dev/iio:device*? Nish Aravamudan
2015-12-17 23:38 ` Nish Aravamudan
2015-12-18  0:51 ` Srinivas Pandruvada
2015-12-18  0:51   ` Srinivas Pandruvada
2015-12-18  1:00   ` Pandruvada, Srinivas
2015-12-18  1:00     ` Pandruvada, Srinivas
2015-12-18  1:00     ` Pandruvada, Srinivas
2015-12-18  1:08     ` Nish Aravamudan
2015-12-18  1:11       ` Pandruvada, Srinivas
2015-12-18  1:11         ` Pandruvada, Srinivas
2015-12-18  1:11         ` Pandruvada, Srinivas
2015-12-18  2:33         ` Nish Aravamudan
2015-12-18  2:33           ` Nish Aravamudan
2015-12-18  2:50           ` Pandruvada, Srinivas
2015-12-18  2:50             ` Pandruvada, Srinivas
2015-12-18  2:50             ` Pandruvada, Srinivas
2015-12-18  3:06             ` Nish Aravamudan
2015-12-18  3:06               ` Nish Aravamudan
2015-12-18 16:58               ` Pandruvada, Srinivas
2015-12-18 16:58                 ` Pandruvada, Srinivas
2015-12-18 16:58                 ` Pandruvada, Srinivas
2015-12-18  1:07   ` Nish Aravamudan
2015-12-18  1:16     ` Srinivas Pandruvada
2015-12-18  1:16       ` Srinivas Pandruvada
2015-12-18  1:59       ` Nish Aravamudan
2015-12-18  1:59         ` Nish Aravamudan

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.