Dans l'écosystème du développement automobile, la simulation précise des réseaux de communication est une étape incontournable pour garantir la fiabilité des systèmes embarqués. La bibliothèque mock-jutsu répond à ce besoin critique avec sa fonction can_frame, un outil spécialisé conçu pour générer des données fictives respectant rigoureusement la norme ISO 11898-1. Que vous développiez des unités de contrôle électronique (ECU) ou des outils de diagnostic, cette fonction produit des trames réalistes indispensables pour valider vos couches logicielles sans mobiliser de matériel physique complexe.
Sur le plan technique, la fonction can_frame de mock-jutsu se distingue par sa précision chirurgicale. Elle est capable de générer aussi bien des identifiants standards de 11 bits que des identifiants étendus de 29 bits, couvrant ainsi l'ensemble des architectures réseaux modernes. Chaque trame inclut un code de longueur de données (DLC) compris entre 0 et 8 octets, ainsi qu'une charge utile en hexadécimal. L'aspect le plus robuste de cet outil réside dans son calcul d'intégrité : il intègre un polynôme CRC-15 (0xC599) vérifié sur l'ensemble de la structure, incluant le SOF, l'identifiant et les champs de contrôle, garantissant que vos données de test sont structurellement authentiques.
L'intégration de ces données dans vos environnements de test est simplifiée par le support natif de la notation SocketCAN, formatée comme suit : ID#DATA. Cette compatibilité permet d'injecter directement les trames dans des interfaces virtuelles vcan sous Linux pour des tests d'intégration continue. La flexibilité est au cœur de mock-jutsu, puisque la fonction est accessible via une simple commande CLI, une API Python fluide avec jutsu.generate('can_frame'), ou même via JMeter pour des tests de charge, permettant ainsi de simuler un trafic réseau dense en quelques lignes de code.
En utilisant can_frame pour produire vos données de test, vous bénéficiez d'un environnement de simulation contrôlé et reproductible. Cela permet non seulement de tester le comportement nominal de vos applications, mais aussi de simuler des scénarios de stress ou des collisions de messages difficiles à reproduire sur un banc de test physique. En résumé, mock-jutsu offre aux ingénieurs automobile une solution performante pour accélérer les cycles de développement tout en élevant les standards de qualité de leurs logiciels embarqués.
mockjutsu generate can_framemockjutsu bulk can_frame --count 10mockjutsu export can_frame --count 10 --format jsonmockjutsu export can_frame --count 10 --format csvmockjutsu export can_frame --count 10 --format sqlfrom mockjutsu import jutsujutsu.generate('can_frame')jutsu.bulk('can_frame', count=10)jutsu.template(['can_frame'], count=5)${__mockjutsu_automotive(can_frame)}# JMeter Function: __mockjutsu_automotive# Parameter 1: can_frame# Parameter 2: (not required for this function)GET /generate/can_frame# → {"type":"can_frame","result":"...","status":"ok"}GET /bulk/can_frame?count=10POST /template {"types":["can_frame"],"count":1}