Bonjour à tous !
Mon petit logiciel de commande avance, un peu grâce au confinement.
![Roule des yeux ::)](https://forum.locoduino.org/Smileys/default/rolleyes.gif)
Cette fois ci, j'aurais besoin de votre aide sur l'octet de détection d'erreur, pour les trains de donnée de plus de 3 octets.
Je ne sais pas comment le calculer dès qu'il y a autre chose qu'un octet adresse et un octet data ...
![Indécis :-\](https://forum.locoduino.org/Smileys/default/undecided.gif)
Pour l'instant, je sais faire pour un train à 3 octets :
AAAAAAAA '0' DDDDDDDD '0' EEEEEEEE
un octet adresse (A), un octet données (D), un octet détection d'erreur (E)
pour chaque E, on calcule XOR de A et D pour la même position.
Pour les trains à davantage d'octets :
AAAAAAAA '0' BBBBBBBB '0' CCCCCCCC '0' DDDDDDDD '0' EEEEEEEE
quatre octets pouvant être adresse et/ou donnée (de A à D), un octet détection d'erreur (E)
Là, je ne comprends plus les NMRA ...
Dois-je faire octet par octet ?
Par exemple, A XOR B donne x, x XOR C donne y, y XOR D donne E ?
Ou suis-je à la ramasse ?
![Choqué :o](https://forum.locoduino.org/Smileys/default/shocked.gif)
Merci à tous !