7 #include "../include/can.h"
12 int i=0, fd=0, ret=0, count=0;
15 char ch, transmission[MAXL+1], specialfile[MAXL+1]="/dev/can0", emptystring[MAXL+1]="", buf[MAXL+1];
17 struct canmsg_t message;
19 printf("\nThis program allows you to send a stream of Can messages.\n");
20 printf("Please answer the following questions:\n\n");
23 message.flags |= MSG_EXT; //hard code EXT for now
25 printf("From wich device file would you like to send the message?\n");
28 fgets(buf,MAXL,stdin);
29 buf[strcspn(buf,"\n")]='\0';
31 strncpy(specialfile,buf,MAXL);
32 specialfile[MAXL]='\0';
33 printf("Enter the starting Message ID ");
34 scanf("%lx",&message.id);
35 printf("Enter the Message Length ");
36 scanf("%d",&message.length);
37 for (i=0; i<message.length; i++) {
38 printf("Enter data byte [%d] ",i);
39 scanf("%x",(int *)&message.data[i]);
42 fd=open(specialfile,O_RDWR);
44 printf("Error opening %s\n",specialfile);
50 message.flags = MSG_EXT;
54 bits += 8*(4+message.length);
55 memcpy(message.data,&bits,sizeof(bits));
56 ret=write(fd, &message, sizeof(struct canmsg_t));
58 printf("Error sending message from %s\n",specialfile);
62 printf("Error closing %s\n",specialfile);