Bonjour à tous !
Mon petit logiciel de commande avance, un peu grâce au confinement.
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 ...
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 ?
Merci à tous !