Modification du seuil ITB (90 % Baro)
Manu a écrit :...........
Pour compiler le firmware MSextra il faut installer CygWin, Make et les tools de compilation pour processeur Freescale. Ensuite le code source est livré avec les firmware. Pour compiler il suffit de taper "Make release" et voila.
............
J'ai fouillé les différents fichiers du code source pour trouver le seuil de basculement du mode ITB (basculement du mode Pression-Régime au mode Ouverture-Régime).
A priori, un seul fichiers est concerné :
ms2extra_3.3.3_release\ms2extra\ms2_extra_misc.c
Partie du code à modifier pour la calcul en mode ITB :
Code : Tout sélectionnerint calc_ITB_load(int percentbaro)
{
int tmp3, tmp4, tmp5;
tmp3 = intrp_1ditable(outpc.rpm, 10,
(unsigned int *) flash11.ITB_load_rpms, 1,
(int *) flash11.ITB_load_loadvals);
tmp4 = intrp_1ditable(outpc.rpm, 10,
(unsigned int *) flash11.ITB_load_rpms, 1,
(int *) flash11.ITB_load_switchpoints);
if (percentbaro < 900) {
/* Make MAP fit in to 0-tmp3 % load... so if user selects 60%,
* 0-90kPa would be 0-60% load, and the throttle position above
* that point to 100% throttle will be 60% load to 100% load
*/
tmp3 = (((long) percentbaro * tmp3) / 900);
} else {
/* Make TPS fit in tmp3 - 100% */
if (outpc.tps >= tmp4) {
/* This is the amt of load TPS has to fit into */
tmp5 = 1000 - tmp3;
/* This is the actual percent above the
* switchpoint TPS is at */
tmp4 = ((long)(outpc.tps - tmp4) * 1000) / (1000 - tmp4);
/* Now scale that into what's left above the 90 % baro
* point
*/
tmp3 = (((long) tmp4 * tmp5) / 1000) + tmp3;
}
/* IF TPS hasn't gone above the setpoint, load should
* stay at the user-set setpoint */
}
/* Make 10 the lowest possible load */
if (tmp3 < 100) {
tmp3 = 100;
}
return tmp3;
}
La valeur du seuil fixe dans le code correspond à 90 % de MAP (pourcentbaro)
Pour les calculs MAP est multiplié par 10, donc 90 % = 900.
Je pense donc que pour modifier ce seuil ITB, il suffit de
modifier les valeurs 900 et 90 dans les 4 lignes concernées.
.. if (percentbaro <
900) {
.. * 0-
90kPa would be 0-60% load, and the throttle position above
(c'est une ligne de commentaire, à modifier pour garder la cohérence).
.. tmp3 = (((long) percentbaro * tmp3) /
900);
.. /* Now scale that into what's left above the
90 % baro
(c'est une ligne de commentaire, à modifier pour garder la cohérence).
Et de recompiler le code (prochaine étape).
La théorie c'est quand on sait tout et que rien ne fonctionne. La pratique c'est quand tout fonctionne et que personne ne sait pourquoi. Moi j'ai réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !