au top caseb42 a écrit :Voici en détail et pour rappel :poulpito a écrit :tu pourrai nous détailler ton analyse de trame complète ?
sur la fin tu n'étais pas encore certain des avances
Config série : 57600 8 BITS 1 STOP Pas de parité (pas de handckeck)
Pour que l'Igniteck donne les mesures de monitoring il faut lui envoyer en 1er une trame de 102 Octets (et la renvoyer bien sur de manière cyclique) :
Le PC envoie une trame de 102 octets totalement vide (0) avec le 1er octect à 0x30 (hexa) et biensur le checksum à la fin qui est dans ce cas 0xCF (hexa)
Le checksum est un simple XOR sur les données.
L'Ignitech répond avec une trame de 102 octets commençant par 0xB0 et se terminant par le checksum qui sera à calculer pour vérifier qu'il n'y a pas d'erreur.
Ensuite on décode chaque octet reçu. Voici le codage que j'ai fini par déduire.
Colonne 1 : c'est le numéro d'octet dans la trame donc de 0 à 101 pour ceux qui suivent. Il y a des trous, car certains ne servent pas.
Colonne 2 : une description de la signification de la donnée
0 Identifiant de la commande (toujours 0xB0 dans notre cas)
1 RPM Vitesse de rotation LSB
2 RPM Vitesse de rotation HSB
3 Lecture TPS LSB (valeur brute adc)
4 Lecture TPS HSB (valeur brute adc)
5 Tension d'alimentation mV LSB
6 Tension d'alimentation mV HSB
37 Kill Switch No=0 Yes>0
38 Retard No=0 Yes>0
39 Start Limiter No=0 Yes>0
40 Clutch Master No=0 Yes>0
41 TP En pourcentage 0-100%
42 2 Special out No=0 Yes>0
43 1 Special out No=0 Yes>0
48 Capteur 1 d'allumage 0=No Signal
49 Capteur 2 d'allumage 0=No Signal
50 Avance 1 calculée soustraire 100°
51 Avance 2 calculée soustraire 100°
54 Avance Maximum sur cylindre 1 LSB
55 Avance Maximum sur cylindre 1 HSB
56 Avance Maximum sur cylindre 2 LSB
57 Avance Maximum sur cylindre 2 HSB
62 RPM Passe en rouge >0 (à mon avis si supérieur au limiter)
63 Motor off/on 0=Off 1=On
66 Input 1 : Open=0 Grounded>0
67 Input 1 : Open=0 Grounded>0
68 3 Special out No=0 Yes=1
69 CKPS 1 Polarity 0=Positive 1= Negative
70 CKPS 2 Polarity 0=Positive 1= Negative
71 Erreur capteur 1/2 à analyser bit à bit (TODO)
99 >1 Indique une erreur de programmation des données
100 Version soft ignitech
101 Checksum XOR
c'est ton décodage ou tu as trouvé d'autres gens sur le net qui ont fait le reverse ing de ce truc la !