Affichage des articles dont le libellé est labtools. Afficher tous les articles
Affichage des articles dont le libellé est labtools. Afficher tous les articles

vendredi 12 novembre 2021

Identification du firmware

Une question revient souvent concernant le numéro du firmware qui est flashé dans la carte de régulation du poêle et comment savoir quelle version flasher pour une mise à jour. Il y a 2 possibilités:

  1. la version automatique qui consiste à renseigner le numéro de série du poêle dans LabTools
  2. la version manuelle qui consiste à rechercher manuellement le fichier à partir des infos du firmware déjà flashé dans le poêle

Voici des liens vers les versions de LabTools trouvées sur le Net


Recherche automatique sous LabTools

En version 3 de LabTools la recherche du firmware est automatique à partir du numéro de série qu'il faut renseigner et qui est présent sur l'étiquette constructeur à l'arrière du poêle. il n'y a donc en principe rien de plus qu'a renseigner le numéro de série de son matériel.

En version 2.7 l'identification des firmwares en fonction du numéro de série est automatique et basée sur le fichier sn.ini qui se trouve dans le répertoire de LabTools. Malheureusement ce fichier est non exhaustif et certaines références ne sont pas présentes mais pas de panique il est possible de les ajouter.


D'ailleurs il est marqué dans la notice de labtools http://rvdistribution.be/wp-content/uploads/2014/05/Notice-Employ-FR.pdf Annexe 1 que:
Dans le «firmware» directory il y a un fichier nommé «sn.ini». Ce fichier vous donne l’association entre les fichiers firmware et les références des produits.
exemple:
[004]
1 = 895727003
2 = 805711070
etc

Cela signifie que le fichier firmware finissant par _[004].hex concerne toutes les références des produits renseignées par les lignes inscrites dessous.
 

Il est donc possible d'ajouter de nouvelles références tout simplement en les écrivant dans de nouvelles lignes en dessous du type de firmware. Cela permet à LabTools d'aller chercher automatiquement le fichier de firmware lorsque vous entrez le numéro de série de votre poêle.

 Ajout d'une référence dans le fichier sn.ini

Si votre poêle n'est pas reconnu dans LabTools2.7.
Il faut récupérer le numéro d'identification du type de poêle composé de 9 chiffres. Munissez vous du numéro de série de votre matériel qui se trouve à l’arrière du poêle et qui commence par les lettres LT.
Ce numéro d'identification se trouve à la 8ieme position après les lettres LT (les 4 premiers chiffres correspondent à l'année de fabrication puis les 3 chiffres suivants correspondent au jour de fabrication) et enfin on trouve les 9 chiffres d'identification du poêle
Prenons comme exemple le numéro de série suivant: LT2016081 805801420 19183
le numéro d'identification du type de poêle est donc 805801420

Dans mon fichier sn.ini si je cherche ce numéro il me trouve comme numéro d'ID de firmware le [308]
Donc LabTools me proposera automatiquement le fichier à télécharger puisqu'il connait mon modèle de poêle.
Si ce n'est pas le cas il va falloir ajouter ce numéro de modèle avec le bon ID de firmware.

Pour trouver le numéro d'identification du firmware aller au paragraphe suivant "recherche manuelle du firmware" il est expliqué comment retrouver ce numéro. Une fois ce numéro récupéré

il faut donc chercher dans le fichier sn.ini la ligne: [ZZZZ] où ZZZZ est à remplacer avec le nombre trouvé à partir des informations du firmware flashé dans votre poêle, puis ajouter une ligne avec le numéro d'identification du matériel (9 chiffres) trouvé précédemment (dans l'exemple 805801420)

Labtools proposera automatiquement le bon fichier à partir du numéro de série.

 

Recherche manuelle du firmware


Il faut regarder directement dans le poêle et trouver les infos du firmware déjà programmé pour cela il faut aller dans le menu configuration puis dans le sous menu "information système" [5] et faire défiler les informations avec la flèche droite →

  • le 1er nombre cXXX c'est le numéro de version dans mon exemple 047
  • le 2ieme nombre dYYY
  • le 3ieme nombre ZZZZ c'est le numéro d'identification dans mon exemple j'ai ZZZZ = 0308 soit le firmware 308


A partir des 2 numéros XXX et ZZZZ on peux rechercher manuellement le fichier du firmware à uploader


Il faut aller dans le dossier de Labtools où sont enregistrés les firmwares :

 C:\Program Files (x86)\LabTools\firmware

et il faut chercher le fichier .hex qui finit par l'ID du firmware (ZZZZ). Pour info la fin du fichier contient 4 chiffres si le 1er chiffre est différent de 0 sinon le fichier se termine par les 3 derniers chiffres qui constituent ZZZZ zéro inclus.

par exemple si ZZZZ=0039 alors le fichier fini par _039.hex

par exemple si ZZZZ=0308 alors le fichier fini par _308.hex

par exemple si ZZZZ=1220 alors le fichier fini par _1220.hex

Toujours dans mon exemple j'utilise la fonction rechercher de Windows et je recherche"_308.hex" 

Il y a 2 fichiers:

  • Le fichier 002_000119_47_308.hex, soit la version 47 du firmware dont l'ID est 308.
  • Et le fichier 002_000136_48_308.hex, soit la version 48 du firmware dont l'ID est 308.

Comme je suis en version 47 (cXXX = c047) je flash la dernière version qui est la 48

mercredi 1 janvier 2020

La liaison série - serial line


La communication entre le poêle et les matériels tiers se fait grâce à une liaison série multi point. Le poêle étant le master c’est lui qui envoie les commandes via le bus Tx (du poêle) et les esclaves écoutent sur ce même bus puis répondent sur le bus Rx (du poêle). Afin de permettre de brancher les esclaves sur le même bus ceux-ci sont ramenés à la tension Vdd (+3.3V) via une résistance de pull up. A partir du circuit PCB on retrouve le schéma électronique de la liaison série.

 



Il y a en plus des deux signaux classique pour une liaison ssérie de type UART un signal de type 1-Wire créé à partie d'un réseau de transistors de type NPN et de résistances. Remarque sur ma Connection Box seul les signaux Rx et Tx sont utilisés.
Lorsqu'on analyse les signaux à l'oscilloscope voici ce qu'on obtient:



On voit bien que le signal Tx émis sur la pin 2 est inversé sur la pin 1 les niveaux de tension sont de type TTL autour de 3V (0V - bit=0 et 3V - bit=1) avec la largeur d'un bit autour de 25us soit 1/25us donne 38400 bauds


Lorsque le master émet sa trame sur la pin 2 (Tx) les esclaves eux sont en haute impédance sur la ligne Rx on a donc une recopie du signal Tx. Par contre le signal Rx devient différent du signal Tx lorsqu'un esclave répond au maitre (non représenté sur le chronogramme). En effet le master maintient au niveau logique 0 la ligne TX pendant que l'esclave répond sur la ligne Rx.



Voici les pinout du connecteur RJ12 du poêle Palazzetti




Au final il suffit d'utiliser un convertisseur USB vers TTL et de configurer le microswitch vers 3.3V.
J'ai réalisé un article sur ce convertisseur que vous trouverez ici Article convertisseur TTL/USB
 

RJ12 connection to USB/TTL converter

La connexion au poêle se fait directement dans le connecteur à l’arrière de celui-ci. Si le connecteur est déjà utilisé (par exemple par la Connection BOX) vous pouvez utiliser un splitter 6 voies branché soit à l’arrière de l’écran tactile (comme indiqué dans le manuel d'utilisation du logiciel LabTools 2.7) soit dans le connecteur à côté de l'interrupteur du poêle.




Voici le câble que j'ai confectionné:




Il n'y a plus qu'à faire communiquer votre poêle avec le logiciel adéquate type LabTools