Skip to main content

Protocole CAN — Commandes d'aiguillages

Statut : expérimental / aide-mémoire

Paramètres CAN

Paramètre Valeur
Vitesse 125 kbit/s
Format d'identifiant CAN standard 11 bits
CAN ID utilisé 0x100 (valeur pour l'instant arbitraire)
DLC 1 octet
Octet de commande DATA[0]

Trame de commande

La trame utilise actuellement uniquement le premier octet de données :

CAN ID DLC DATA[0] DATA[1..7]
0x100 1 Commande + n° aiguille Non utilisés

Format de DATA[0]

Bit 7 6 5 4 3 2 1 0
Fonction Commande Commande N° aiguille N° aiguille N° aiguille N° aiguille N° aiguille N° aiguille
  • Bits 0 à 5 : numéro de l'aiguille (0 à 63)

  • Bits 6 et 7 : commande

Bits 7..6 Valeur Commande
11 0xC0 Basculer l'aiguille
10 0x80 Position déviée
01 0x40 Position droite
00 0x00 Réservé

Exemples

Pour commander le basculement de l'aiguille n°1 :

CAN ID : 0x100
DLC    : 1
DATA   : C1

Pour l'aiguille n°2 :

CAN ID : 0x100
DLC    : 1
DATA   : C2

Pour l'aiguille n°3 :

CAN ID : 0x100
DLC    : 1
DATA   : C3

Le calcul est :

DATA[0] = 0xC0 | numéro_aiguille

Les valeurs 0x00 à 0x3F sont donc réservées aux commandes futures utilisant 00 dans les bits 7..6.

Exemple candump

can0  100   [1]  C1
can0  100   [1]  C2
can0  100   [1]  C3

Ce qui correspond respectivement au basculement des aiguilles 1, 2 et 3.