lkml.org 
[lkml]   [2012]   [Jan]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: HID device calibration - how to override mapping?
Hi el es, thank you for your answer.

Il 13/01/2012 18:09, el es ha scritto:
>
> released - halfway - pressed
> 0 - (-32767)<-> (32767) - 0
> but does it happen in reverse order when releasing pedal ?

Yes, it does - perfect reverse order.
> seems the interpretation of this is up to the application really,
> but /if/ the -32767 to 32767 change happens all around the 'halfway'
> spot, maybe it is (in the app. engine) interpreted as 'change'
> and it's effect applied to 'car engine' not directly, but integrated
> (time-integral function applied) first ?
I don't think that the change is interpreted, because the clutch value
seems to be computed directly, i.e. applying the app. calibration value
on the the axis value received from the kernel;
even if I'm not completely familiar with the app.'s code, the attached
code snippet is the interested part of the clutch handler of the app,
and it doesn't seem to have any other function applied.
> I'd say, for the clutch simulation it's the /change-in-time/ that
> matters, not the /exact/ value; so no 'static' calibration is
> ever going to be relevant (bar maybe the device telling us when the
> pedal is fully pressed or fully released - in case app is not tracking
> it)
I agree, but trying to calibrate the axis produces the 'jump' effect
also on the clutch value, so that either the first half of the axis
isn't taken into account, or it produces full clutch already at halfway,
and then value 0 after the halfway spot.

Thank you for your support,
Ocirne
case GFCTRL_TYPE_JOY_AXIS:
clutch = joyInfo->ax[cmd[CMD_CLUTCH].val];
if (clutch > cmd[CMD_CLUTCH].max) {
clutch = cmd[CMD_CLUTCH].max;
} else if (clutch < cmd[CMD_CLUTCH].min) {
clutch = cmd[CMD_CLUTCH].min;
}
car->_clutchCmd = fabs(cmd[CMD_CLUTCH].pow *
pow(fabs((clutch - cmd[CMD_CLUTCH].minVal) /
(cmd[CMD_CLUTCH].max - cmd[CMD_CLUTCH].min)),
1.0f / cmd[CMD_CLUTCH].sens));
break;
\
 
 \ /
  Last update: 2012-01-13 23:21    [W:0.056 / U:1.308 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site