Bonjour,
je souhaite utiliser les fonctions pack/unpack code/decode de l'exemple motohawk.c pour encoder et décoder un message 8 bytes HEX:
Source: https://github.com/eerimoq/cantools/
J'ai préparé un exemple qui compile sans erreur avec mingw g++ mais qui ne délivre pas les résultats attendus.
Le message HEX à décoder est:
{0x80, 0x4A, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00}
Les fonctions de motohaw.c que j'utilise sont:
Je ne suis pas sur de mon utilisation des pointeurs *dst_p et *src_p dans les fonctions pack/unpack définies dans motohawk.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
Le résultat après "unpack" et "decode" devrait être:
Signal: Enable 'Enabled'
Signal: average_radius 0.0 m
Signal: temperature 255.92 degK
Le résultat après "encode" et "pack" devrait être:
8 Byte message: 80 4A 0F 00 00 00 00 00
Voici ce que mon code retourne pour le décodage (incorrect):
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Voici ce que mon code retourne pour l'encodage (incorrect):
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
Pouvez m'aider s'il vous plait pour la compréhension des fonctions pack/unpack de motohawk.c / motohawk.h et la correction de mon exemple?
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
(ligne 19 et 54 dans mon code)
https://github.com/eerimoq/cantools/...rce/motohawk.c
https://github.com/eerimoq/cantools/...rce/motohawk.h
Merci, Chris

 

 
		
		 
         
 

 
			
			

 
   
 


 Utilisation des fonctions pack/unpack code/decode de eerimoq/cantools (motohawk example)
 Utilisation des fonctions pack/unpack code/decode de eerimoq/cantools (motohawk example)
				 Répondre avec citation
  Répondre avec citation
Partager