]> rtime.felk.cvut.cz Git - can-usb1.git/blob - ulan/embedded/libs4c/ulan/ulsup/ul_util.c
Initializing repo
[can-usb1.git] / ulan / embedded / libs4c / ulan / ulsup / ul_util.c
1 #include "stdio.h"
2 #include "ulan.h"
3 #include "ul_util.h"
4
5 int print_msg(int with_data)
6 {
7   int ret;
8   char *state;
9   unsigned i;
10   uchar xdata uc;
11
12   ret=ul_acceptmsg(ul_fd,&msginfo);
13   if(ret<0) 
14   { printf("spy_messages : problem to accept message\n");
15     return ret;
16   };
17   
18   if(msginfo.flg&UL_BFL_FAIL) state="FAIL";
19   else if(msginfo.flg&UL_BFL_PROC) {state="PROC"; with_data=0;}
20   else state="REC ";
21   printf("%s:(d:%d,s:%d,c:0x%X,",
22          state,(unsigned)msginfo.dadr,(unsigned)msginfo.sadr,(unsigned)msginfo.cmd);
23   printf("f:0x%X,l:%d)",(unsigned)msginfo.flg,(unsigned)msginfo.len);
24   if(with_data) for(i=0;i<msginfo.len;i++){ 
25     ret=ul_read(ul_fd,&uc,1); printf(" 0x%X",(unsigned)uc);
26     if(ret!=1) {printf("\nul_read returned %d\n",ret); break;}
27     /*printf("%d %d\n",i,msginfo.len);*/
28   };
29   while((msginfo.flg&UL_BFL_TAIL)&&(ret>=0))
30   { ret=ul_actailmsg(ul_fd,&msginfo);
31     if(msginfo.flg&UL_BFL_FAIL) state="fail";
32     else if(msginfo.flg&UL_BFL_PROC) state="proc";
33     else state="rec ";
34     printf(" %s:(d:%d,s:%d,c:0x%X,",
35            state,(unsigned)msginfo.dadr,(unsigned)msginfo.sadr,(unsigned)msginfo.cmd);
36     printf("f:0x%X,l:%d)",(unsigned)msginfo.flg,(unsigned)msginfo.len);
37     if(with_data) for(i=0;i<msginfo.len;i++)
38       { ul_read(ul_fd,&uc,1); printf(" 0x%X",(unsigned)uc); };
39   };
40   printf("\n");
41   ul_freemsg(ul_fd);
42   return 0;
43 }