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.
No comments to display
No comments to display