]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/utils/rxtx.c
Structured comments updated.
[lincan.git] / lincan / utils / rxtx.c
index 0adcef14749949e610eefce29190d44830d871dd..ff611e160cc8ed82ede7cf26a080124e1c78f6db 100644 (file)
@@ -10,6 +10,7 @@
 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];
@@ -38,7 +39,7 @@ int main(void)
                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
@@ -55,8 +56,11 @@ int main(void)
                        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++) {
                        printf("Enter data byte [%d] ",i);
                        scanf("%x",(int *)&message.data[i]);
@@ -72,7 +76,7 @@ int main(void)
                                strncpy(specialfile,buf,MAXL);
                        specialfile[MAXL]='\0';
                printf("Enter the Message ID ");
-               scanf("%ld",&message.id);
+               scanf("%lx",&message.id);
                getchar();
        }
 
@@ -107,7 +111,12 @@ int main(void)
                                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]);