int main(void)
{
int i=0, fd=0, ret=0, count=0;
+ int msglen;
char loop=0;
char ch, transmission[MAXL+1], specialfile[MAXL+1]="/dev/can0", emptystring[MAXL+1]="", buf[MAXL+1];
char remote[MAXL+1];
remote[count]='\0';
}
if (remote[0]=='y')
- message.flags |= MSG_RTR;
+ message.flags = MSG_RTR;
else
message.flags = 0;
// message.flags |= MSG_EXT; hard code EXT for now
specialfile[MAXL]='\0';
printf("Enter the Message ID ");
scanf("%lx",&message.id);
+ if(message.id>=(1<<11))
+ message.flags |= MSG_EXT;
printf("Enter the Message Length ");
- scanf("%d",&message.length);
+ scanf("%d",&msglen);
+ message.length=msglen;
for (i=0; i<message.length; i++) {
+ int val;
printf("Enter data byte [%d] ",i);
- scanf("%x",(int *)&message.data[i]);
+ scanf("%x",&val);
+ message.data[i]=val;
}
}
if (*transmission=='r') {
strncpy(specialfile,buf,MAXL);
specialfile[MAXL]='\0';
printf("Enter the Message ID ");
- scanf("%ld",&message.id);
+ scanf("%lx",&message.id);
getchar();
}
printf("Id : %lx\n",message.id);
printf("length : %d\n",message.length);
printf("flags : 0x%02x\n", message.flags);
+ #ifdef CAN_MSG_VERSION_2
+ printf("time : %lds %ldusec\n", message.timestamp.tv_sec,
+ message.timestamp.tv_usec);
+ #else /* CAN_MSG_VERSION_2 */
printf("time : %ld\n", message.timestamp);
+ #endif /* CAN_MSG_VERSION_2 */
for (i=0; i<message.length; i++)
printf("data%d : %02x\n",i,
message.data[i]);