Bonjour à tous,
Dans le cadre d'un de mes projets, je dois développer une application capable de lire un bus CAN et de réaliser un traitement selon les données lues.
Le problème est que l'outil est sensé pouvoir être utilisé à des baudrates différents selon le bus utilisé.
Je développe mon application en C, et donc j'utilise des sockets pour lire et envoyer des données sur le bus, et donc je me demandais si en utilisant par exemple la fonction IOCTL il y avait pas moyen de changer le baudrate de manière logicielle.
J'utilise un module mcp251x.
Voila, merci d'avance à ceux qui pourraient m'indiquer des pistes =) j'ai beau éplucher tous les headers à ma disposition je ne trouve pas grand chose :/
EDIT : j'ai vu dans le fichier header ioctl.h qu'il y avait une fonction qui permettait de communiquer avec le hardware notamment _IOW(type,nr,size) mais je galère un peu pour l'utiliser, est-ce que quelqu'un aurait déjà eu à s'en servir? D'après ce que j'ai compris elle permet de créer des nombres IOCTL, mais je comprends pas trop comment on peut envoyer des infos si le HW est pas au courant qu'on veut lui parler.. :/
sources : http://www.linuxtopia.org/online_books/Linux_Kernel_Module_Programming_Guide/x872.html
http://unix.superglobalmegacorp.com/Net2/newsrc/sys/ioctl.h.html
http://www.kernel.org/doc/Documentation/ioctl/ioctl-number.txt
Partager