![]() | |||||||||||
Messages in this thread |
On 8/8/06, Pavel Machek <pavel@suse.cz> wrote:
> Okay, so what about ..
>
> #define CONVERT(x) *(s16*)(data.val+x) * (hdaps_invert?-1:1);
>
> ...or better inline function?
Actually, some models require fancier transformations. This was
supposed to be reserved for a future patch, but might as well prepare
the infrastructure:
/* Some models require an axis transformation to the standard reprsentation */
static void transform_axes(int inx, int iny, int *outx, int *outy) {
*outx = inx * (hdaps_invert?-1:1);
*outy = iny * (hdaps_invert?-1:1);
}
...
/* Parse position data: */
transform_axes(*(s16*)(data.val+EC_ACCEL_IDX_XPOS1),
*(s16*)(data.val+EC_ACCEL_IDX_YPOS1), &pos_x, &pos_y);
/* Parse so-called "variance" data: */
transform_axes(*(s16*)(data.val+EC_ACCEL_IDX_XPOS2),
*(s16*)(data.val+EC_ACCEL_IDX_YPOS2), &var_x, &var_y);
Shem
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||
| Last update: 2006-08-08 11:19 [from the cache] ©2003-2008 | |||||||||||