I believe the output of the sensor bitmasks is incorrect. data[2] represents state offsets 0-7 and data[3] represents state offsets 8-14. So semantically, I believe the output should be:
printf("0x%02x%02x", rsp->data[3], rsp->data[2]);
instead of what is currently done, which is:
printf("| 0x%-8x | %-10s | 0x%02x%02x",
val,
unitstr, rsp->data[2], rsp->data[3]);
It's possible that the original output wanted to output event bitmasks 0-14 in order left to right, but it's actually outputting "7-0,reserved(ie. bit 15),14-8".
Francois Isabelle responded on the mailing list:
"I personally agree but I'm afraid our users are used to this reversed notation."
Fair enough. But it should be documented as a "bug: will not fix" or something like that.