Messages in this thread | | | Date | Fri, 13 Jan 2012 23:19:45 +0100 | From | Enrico Mattea <> | Subject | Re: 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; | |