Cela fait maintenant un bon moment que je me pose la question suivante: Dois-je parler du coding ? Ou en bon français: coder sa voiture pour en modifier certains paramètres que le constructeur à juger bon de mettre par défaut mais qui ne sont pas changeables par le simple biais de l’interface multimédia. Coder est en fait un abus de langage car il n’est pas question ici de modifier ou mettre à jour le code source du programme qui fait vivre la voiture. Il s’agit simplement de modifier des paramètres de variables, paramètres qui vont ensuite agir sur certains comportements du véhicule ou, plus précisément, sur des fonctions secondaires et accessoires de celui-ci.

matrix i3

Et bien la réponse à cette question est la suivante: Puisque nous sommes à l’air du numérique, et que nous tendons tous à vouloir personnaliser notre environnement pour en faire un lieu où toute chose convient à nos envies et nos besoins, il devient alors naturel de vouloir améliorer notre expérience et notre interaction avec les objets qui nous entourent et que nous possédons.

Il en va donc de même avec les voitures depuis plus plusieurs décennies. En fait depuis que l’électronique a pris une place prépondérante dans notre vie et plus particulièrement au seins des voitures; sujet qui nous intéresse aujourd’hui. La communauté BMW est d’ailleurs plutôt active sur le sujet puisque le coding se pratique depuis de nombreuses années et que personne n’a attendu les séries i pour le faire.

Je vais donc vous offrir un bout de connaissance sur le coding concernant l’i3. Ne possédant moi-même cette merveille technologique sur roue que depuis environ deux bonnes semaines, je n’ai pas encore recouru au coding sur celle-ci mais mes nombreuses recherches m’ont permis de recueillir une quantité d’information suffisante pour me permettre de les relayer et d’en faire un article, en français pour une fois, et assez clair je l’espère pour que vous puissiez comprendre les mécanisme de cette opération.

Sans plus attendre, nous allons donc entrer dans le cœur du sujet. Mais avant cela, un avertissement semble être de circonstance car nulle modification n’est sans conséquence:

NE MODIFIEZ JAMAIS DES PARAMÈTRES SANS ETRE SÛR AU PRÉALABLE DE LEUR(S) EFFET(S) SUR LE VÉHICULE. TOUTES LES MODIFICATIONS PRÉSENTÉES ICI LE SONT UNIQUEMENT A TITRE DE CURIOSITÉ INTELLECTUELLE ET CE POST N’A PAS VOCATION A INCITER QUI QUE CE SOIT A LES RÉALISER.

MEME S’IL EST FORT PEU PROBABLE QUE DES MODIFICATIONS PUISSENT APPORTER DES CHANGEMENT MAJEURS SUR LE COMPORTEMENT ROUTIER DU VÉHICULE, IL EST POSSIBLE  QU’ELLES L’AFFECTENT SUFFISAMMENT POUR L’ENDOMMAGER OU CAUSER DU TORD A AUTRUI. VOUS DEVEZ DONC AGIR EN TOUTE CONNAISSANCE DE CAUSE.

Dans l’hypothèse où « quelqu’un » voudrai donc modifier quelques paramètres concernant des petits détails parfois agaçants, parfois peu logiques qui auraient été implémentées sur notre voiture préférée, voici ce dont il aurait besoin:

  1. Le câble

    Il faudra vous procurer un câble OBD II vers Ethernet (disponible sur Ebay, Amazon et différent sites marchands. Ce câble coûte entre 15 et 80 euros environ. Plusieurs marques semblent être fonctionnelles et la différence de prix survient parfois en fonction du service (logiciel et licences peuvent parfois être incluses).

    Concrètement, c’est ce câble qui servira à connecter un ordinateur portable à la BMW i3. (On pourrait aussi y connecter un ordinateur fixe mais il faudra qu’il soit situé très près de la voiture) La trappe pour accéder à la prise OBD se situe sous le tableau de bord, à gauche du volant.Pour information, à l’heure où j’écris ces lignes, je viens de passer commande pour un câble. Je devrais pouvoir tester tout ça en live d’ici fin Juillet.

  2. L’ordinateurBMW i3 coding laptop

    Le logiciel qui permet ensuite de paramétrer une BMW (i3 ou autre série) tourne sur Windows 7 ou 10 ainsi que sur Mac ou Linux via une machine virtuelle. Il vous faudra donc un ordinateur portable  (le moins cher fera l’affaire) et le fameux logiciel qui tourne dessus.

  3. Le logiciel

    Il faudra ensuite vous procurer:

    • Le logiciel principal qui permet de manipuler les données: E-Sys (Launcher Premium 2.5.3 – ou dernière version à jour)
    • Les données qui font tourner le logiciel: PSdZData 59.0 (ou dernière version à jour)

BMW i3 coding software Esys

C‘est à la limite la partie la plus « difficile » car il faut pouvoir trouver la dernière version du logiciel et les données qui vont avec. Je ne pourrai évidemment pas les fournir directement sur ce blog pour des raisons évidentes. Cela dit, si vous faites un tour sur le plus gros forum BMW américain (Bimmerfest), vous pourriez trouver une oreille attentive à votre écoute dans la partie Coding. Enregistrez-vous sur le forum et demandez gentiment de recevoir en MP (message privé) le lien qui permet de télécharger tout ça.

Navré que ces informations doivent être obtenues à un endroit où les anglophobes auront peut-être un peu du mal à s’y retrouver. Je pourrai vous vous aider éventuellement dans vos recherches.

4. Une licence (un token)

Enfin, pour faire tourner le logiciel et sa base de données que vous aurez installé lors du point numéro 3, il vous faudra une licence payante (ou un token en anglais) afin d’utiliser tout se petit monde. C’est un point à revoir car il semblerait qu’une version token free est désormais disponible. Je donnerai un retour d’information sur ce point lorsque j’aurai testé tout cela moi-même.

A titre d’information, cette licence coûtait environ entre 30 et 50 euros pour une année d’utilisation. (si vous ne faites pas de mise à jour de firmware chez votre concessionnaire, vous n’aurez pas besoin de l’utiliser les années suivantes donc pas de problème, mais si c’est le cas, il vous faudra alors racheter une licence pour re-coder)

UPDATE du 17 Août 2016:

Les versions téléchargeables sur le forum US ne demandent désormais plus de Token payants. L’ensemble des  packages logiciels est gratuit. (Merci à Gwenaël pour son rappel via son commentaire sur cet article)

5. Parler i3

Voici la partie la plus fun mais aussi la partie la plus délicate où vous devrez être extrêmement consciencieux. Il est l’heure d’aller modifier de la variable, et donc de modifier certains comportements par défaut de votre chère i3. Chaque partie est décomposée en « module », c’est ce que vous verrez apparaître dans l’arborescence de la base de données du logiciel lorsque vous vous servirez de celui-ci.

NOTE Importante: Si vous ramener votre voiture chez le concessionnaire et que celui-ci met à jour le firmware (logiciel interne) de votre i3, vous devrez recommencer vos modifications. Alors que la sauvegarde des différents profils utilisateurs est possible sur clé USB, vous ne pouvez pas le faire pour ces modifications.

Voici donc, pour vous, une liste traduite qui circule sur certains groupe Facebook et autres forum anglophones. Les termes techniques (paramètres) originaux sont en allemand. Le seul terme que je n’ai pas traduit est le suivant: WERTE qui signifie Valeur, tout simplement.

ACSM Module:

Voyant Lumineux des Ceintures de Sécurité: Désactiver

3001Gurtzustandsanzeige_Beifahrer (Conducteur) Changer à: nicht_aktiv

3001Gurtzustandsanzeige_Fahrer (Passager) Changer à: nicht_aktiv

Désactiver les 3 Gongs (bips) de Bienvenue:

3001  Initialwarnung Changer à: nicht_aktiv

Rappel Sonore pour les Ceintures de Sécurités (Désactiver):

3001SBR-PreWarning_Fahrer (Conducteur) Changer à: nicht_aktiv

3001SBR-PreWarning_Beifahrer (Passager) Changer à: nicht_aktiv

BDC Body Module:

Sauvegarder le mode de conduite par défaut au démarrage:

3221 PfFesMaster
FesInitMode
Ausgelesen
Werte=??
03 = Comfort
07 = Eco Pro
08 = Eco Pro +

Changer le Comportement du 3ème Boutton sur la clé (Appui Court, Moyen, Long sur le bouton)

30D0  RC_DEFAULT_IDG_3RD_BUTTON_SHORT Changer à: voir options ci-dessous

30D0  RC_DEFAULT_IDG_3RD_BUTTON_MID Changer à: voir options ci-dessous

30D0  RC_DEFAULT_IDG_3RD_BUTTON_LONG Changer à: voir options ci-dessous

30D0  RC_DEFAULT_IDG_4TH_BUTTON_SHORT Changer à: voir options ci-dessous

30D0  RC_DEFAULT_IDG_4TH_BUTTON_MID Changer à: voir options ci-dessous

30D0  RC_DEFAULT_IDG_4TH_BUTTON_LONG Changer à: voir options ci-dessous

Wert_00 = No Action

Wert_02 = Open Trunk (rear Boot)

Wert_03 = Panic Alarm

Wert_04 = Suivez-Moi – Maison (Trouver la voiture dans un parking – Lumières allumées)

Wert_05 = Ouvre le Frunk (Coffre Avant ou Front Trunk)

Wert_07 = Climatisation

Auto Start/Stop Désactivé par Défaut

3023 TCM_MSA_DEFAULT_OFF set to: aktiv – werte=01

Auto Start/Stop – Se souvient du dernier paramètre

3023 TCM_MSA_MEMORY Changer à aktiv – werte=01

Déverrouillage de toutes les portes si moteur éteint (Mono-tirage des poignées):

3040 VAM_UNLOCK_KL15OFF_AFTER_PIA_AUTO_LOCK Changer à: aktiv

Désactiver l’électronique quand portes ouvertes:

3020 TCM_LOGIC_R_OFF_DOOR set to: aktiv

Démarrer véhicule en pressant sur le bouton Start (Appuyer sur pédale de frein plus obligatoire)

3000 TC_STARTLOCK_BRAKE Changer à: nicht_aktiv

3000 TC_STARTLOCK_DRIVINGREADINESS Changer à: nicht_aktiv

Augmenter la luminosité DRL pour être plus intense (Augmente le voltage vers les ampoules LED)

3062  MAPPING_STANDL_V_L_PWM_LEVEL_1 Changer à: 13.7v

3062  MAPPING_STANDL_V_R_PWM_LEVEL_1 Changer à: 13.7v

3062  MAPPING_PARKL_1_V_L_PWM_1_LEFT Changer à: 13.7v

3062  MAPPING_PARKL_1_V_L_PWM_2_RIGHT Changer à: 13.7v

Fermer fenêtres, toit ouvrant et rétroviseurs depuis la clé:

3056  KOMFORTSCHLIESSUNG_FB (Option accès confort seulement) Changer à: aktiv 00

3110  ASP_BEIKLAPPEN Changer à: aktiv

3110  ASP_BEIKLAPPEN_BEI_KOMFORTSCHLIESSEN Werte=01

3110  ASP_AUSKLAPPEN_NACH_KOMFORTSCHLIESSEN Werte=01

Programmer un délai dans le rabat des rétroviseurs:

3056 KOMFORT_SCHLIESSEN Werte=00

Rétroviseurs se déploient automatiquement à une certaine vitesse: (Valeur binaire dans « Werte »):

3110  ASP_GESCHWINDIGKEIT_AUTO_AUSKLAPPEN Werte=14 (12Mph = 19.3 km/h)

Interrompt la fermeture automatique des vitres porte ouverte (Auto-fermeture quand la porte n’est pas fermée):

3050  FH_TUERAUF_STOP_MAUT Changer à: nicht_aktiv

Changer le nombre du triple clignotement pr une autre valeur:

3068  BLINKZYKLEN_ANZAHL_TIPP

Werte = # Clignotement-1 (Exemple. 4 clignotements = werte=3)

Activer le clignotement rapide des feux de stop si freinage d’urgence intense:

3068  ESS_AKTIVIERBARER_AUSGANG Changer à: bremsclicht blinkend

Pivoter encore plus le le miroir du rétroviseur passager lorsqu’en marche arrière:

3110 ASP_BORDSTEINAUTOMATIK_DELTA Werte=4B

Ambiance Lumineuse contrôlée indépendamment depuis le variateur d’ambiance:

3070  AMBIENTE_NACHFUEHRUNG Changer à: nicht_aktiv

Activer l’illumination des poignées de portes extérieures lorsqu’en marche arrière:

3070 OVT_BEI_REUCKFAHRLICHT changer à: aktiv

Allumer les feux anti-brouillard lorsque les feux « trouver voiture – maison » sont activés:

3063  MAPPING_NEBELSCHW_L_PART_OF Werte=10

3063  MAPPING_NEBELSCHW_R_PART_OF Werte=10

Activer les feux arrières anti-brouillard (Ne fonctionne qu’en mode Européen):

3068 NSL_Verbaut Set to: Verbaut

3064 Mapping_Nebelschlussl_L_output Set to: nsl_l

3064 Mapping_Nebelschlussl_L_Function Set to: nebelschlusslicht

3064 Mapping_Nebelschlussl_R_output Set to: nsl_r

3064 Mapping_Nebelschlussl_R_Function Set to: nebelschlusslicht

Turn On Tail Lights with DRLs:

3062  MAPPING_TAGFAHRL_1_V_L_OUTPUT set to: tfl_l

3062  MAPPING_TAGFAHRL_1_V_L_OUTPUT set to: tfl_l

Sensibilité de déclenchement automatique des feux de croisement:

3130 RLS_DEF_FLC_SCHWELLWERT_SATZ Changer à: voir option ci-dessous

3130 RLS_FLC_SCHWELLWERT_SATZ Changer à: voir option ci-dessous

Options:

normal = normale

empfindlich = Sensible

sehr_empfindlich = Très Sensible

unempfindlich = Insensible

HU_NBT or HU_ENTRYNAV:

Activer Radio AM (en plus de la FM)

3002 RADIO_BAND_KW changer à: aktiv

Activer le mode « maintient de la charge » pour le REx (inutile en Europe car déjà Actif mais extrêmement utile pour nos amis américains sinon le REx ne se déclenche qu’à 5% restant, impossible de le forcer avant comme chez nous)

3000  EV_MENU_AVAILABLE Changer à: rex

Configurer la sonnerie du téléphone comme étant la principale ( ?? )

3001 INBAND_RINGIN Changer à: aktiv

Désactiver le vérouillage automatique des portes lorsque l’on commence à avancer

3000 DOOR_LOCK_AFTER_DRIVING_AWAY Changer à: nicht_aktiv

Changer la voix du navigateur de US à UK (ne concerne pas la voix française donc)

3000 LANGUAGE_ENGLISH_UK Changer à: master

3000 LANGUAGE_ENGLISH_US Changer à: nicht_aktiv

Video « en mouvement » (Plus besoin d’être arrêté avec les freins de parking pour pouvoir lire une vidéo) 

3000  SPEEDLOCK_X_KMH_MAX werte = FF

3000  SPEEDLOCK_X_KMH_MIN werte = FF

3000  VIDEO_HANDBRAKE Changer à: nicht_aktiv

3000  VIDEO_FRONT_LOCKED Changer à: nicht_aktiv

3000  VIDEO_SPEEDLOCK_CONDITION Changer à: none

Navigation : Importation d’itinéraires

3000 NAVI_TRIP_IMPORT Changer à: aktiv

Navigation: Arrêt vers station essence proposé pendant le trajet

3000 NAVI_FUELSTOP_PROPOSAL set to: aktiv

Activer fichiers vidéos depuis USB

3000 ENT_CODEC_OGG Changer à: aktiv

3000 ENT_CODEC_XVID Changer à: aktiv

3000 ENT_CODEC_VCD Changer à: aktiv

3003 API_USB_VIDEO Changer à: both

Ajouter « Position actuelle GPS » dans la liste du menu du Navigateur

3000 NAVI_POSITION_MENU Changer à: aktiv

Activer la fonction de sauvegarde des fichiers videos dans le disque dur intern pour lire plus tard:

3000  ENT_MC_VIDEO_SUPPORT Changer à: aktiv

Désactiver la fonction Office  » speed lock-out ??

3000 OFFICE_MESSAGES_SPEEDLOCK_CONDITION Changer à: nicht_aktiv

Activer la fonction Lignes de Texte Entières dans Office tout en conduisant

3003  PIM_DRIVING_TEXT_LENGTH Changer à: whole text

Désactiver le signal sonore au verrouillage de la voiture (Option alarme)

3000  ACOUSTICAL_LOCK_CONFIRM Changer à: nicht_aktiv

Activer la commande vocale pour l’écriture d’Email ou de SMS

3003  SPEECH_2_TEXT Changer à: aktiv

Activer l’affichage de l’heure (date) dans les logs des appels téléphoniques

3003  TIMESTAMP_DISPLAY Changer à: aktiv

Ajouter la température et la PSI sur l’écran de contrôle de l’état des pneus

3001 RDC_SAFETY Changer à: aktiv

Supprimer les mentions légales de l’écran à valider (option park assist et autres…)

3001 LEGAL_DISCLAIMER_TIME Changer à: kein_ld

3001 MACRO_CAM_LEGALDISCLAIMER Changer à: kein_ld

3001 MACRO_NIVICAM_LDISCLAIMER Changer à: kein_ld

Changer l’animaton du logo i-Drive vers celui du « Logo série M »

3001 STARTUP_EMBLEM Changer à: variant_01

Changer l’animation iDrive vers celle Standard de BMW Connected Drive:

3001 STARTUP_EMBLEM Changer à: variant_00

Activer le Menu pour Développeur

3000  ENTWICKLER_MENUE Changer à: aktiv 01

IHKA Module:

Système HVAC se souvient des derniers paramètres

3000 OFF_MEMORY Changer à: aktiv

Système HVAC se souvient du dernier paramètre de la Climatisation (Toujours Automatique par défaut au démarrage du véhicule)

3000 MEMORY_UMLUFT Changer à: aktiv

KOMBI ou BKOMBI Module:

Affiche en MPH la vitesse dans l’écran de contrôle (active by BC button cycle)

3000 BC_DIGITAL_V Changer à: aktiv

Enable GPS-Sync for Clock to Instrument Cluster

3000 GPS_UHR Changer à: aktiv

Change l’activation automatique du REx selon la capacité restante de la batterie:

3000 SOC_HOLD_POSITION werte = Valeur Hexadécimale xx

Unités sont de 0.5% — Par défaut = 0C ce qui fait 6% Exemple: 18 = 12%

Augmente la limite électronique de détection de la capacité du réservoir à essence et la fait passer pour sa limite réelle physique. Seulement valable pour les USA qui ont une limite à 6 ou 7 litres au lieu des 9 litres que nous avons en Europe)

3005 TNK_VOLL_ANZEIGE set to: 8_liter

3005 TNK_LITER_RECHTS set to: mcv_rex_liter_kl_rechts

3005 TNK_OHM_RECHTS set to: mcv_rex_ohm_kl_rechts

PMA_PDC Module:

Active la caméra de recule peu importe la vitesse (option)

300B d_schwelle_2kmh werte = FF

300B v_schwelle_2kmh werte = FF

Code to start in EcoPro mode:
BDC_BODY / CAFD EDIT FDL /
3221 PfFesMaster
FesInitMode
Ausgelesen
Werte=??
03 = Comfort
07 = Eco Pro
08 = Eco Pro +

Voilà, j’espère que cela aura été instructif. N’hésitez pas à souscrire à la mailing list pour recevoir un petit mail lorsque je posterai de nouveaux articles. Concernant le coding, je ferai un ou deux retours sur le sujets lorsque j’aurai pu mettre les mains dans le cambouis. N’hésitez pas à commenter pour me faire part de votre expérience sur le sujet.

A très bientôt.

PS: Voir épisode 2 ici !

Brice

Entrez votre adresse mail pour suivre ce blog et être notifié par email des nouvelles publications.

Publicités