]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/devs/can/m68k/mcf52xx/v2_0/tests/can_test_aux.inl
Initial revision
[karo-tx-redboot.git] / packages / devs / can / m68k / mcf52xx / v2_0 / tests / can_test_aux.inl
1 //==========================================================================
2 //
3 //        can_test_aux.inl
4 //
5 //        CAN test auxiliary functions
6 //
7 //==========================================================================
8 //####ECOSGPLCOPYRIGHTBEGIN####
9 // -------------------------------------------
10 // This file is part of eCos, the Embedded Configurable Operating System.
11 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
12 //
13 // eCos is free software; you can redistribute it and/or modify it under
14 // the terms of the GNU General Public License as published by the Free
15 // Software Foundation; either version 2 or (at your option) any later version.
16 //
17 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
20 // for more details.
21 //
22 // You should have received a copy of the GNU General Public License along
23 // with eCos; if not, write to the Free Software Foundation, Inc.,
24 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
25 //
26 // As a special exception, if other files instantiate templates or use macros
27 // or inline functions from this file, or you compile this file and link it
28 // with other works to produce a work based on this file, this file does not
29 // by itself cause the resulting work to be covered by the GNU General Public
30 // License. However the source code for this file must still be made available
31 // in accordance with section (3) of the GNU General Public License.
32 //
33 // This exception does not invalidate any other reasons why a work based on
34 // this file might be covered by the GNU General Public License.
35 //
36 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 // at http://sources.redhat.com/ecos/ecos-license/
38 // -------------------------------------------
39 //####ECOSGPLCOPYRIGHTEND####
40 //==========================================================================
41 //#####DESCRIPTIONBEGIN####
42 //
43 // Author(s):     Uwe Kindler
44 // Contributors:  Uwe Kindler
45 // Date:          2005-08-07
46 // Description:   Auxiliary functions for CAN driver tests
47 //####DESCRIPTIONEND####
48
49
50 //===========================================================================
51 //                           PRINT CAN EVENT
52 //===========================================================================
53 void print_can_msg(cyg_can_message *pmsg, char *pMsg)
54 {   
55     char *pmsg_str;
56     static char* msg_tbl[] =
57     {
58         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:]\n",
59         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X]\n",
60         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X]\n",
61         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X]\n",
62         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X]\n",
63         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X]\n",
64         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X %02X]\n",
65         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X %02X %02X]\n",
66         "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X %02X %02X %02X]\n"
67     };
68     
69     if (pmsg->rtr)
70     {
71         diag_printf("%s [ID:%03X] [RTR:%d] [EXT:%d]\n",
72                     pMsg,
73                     pmsg->id,
74                     pmsg->rtr,
75                     pmsg->ext);
76                     
77         return;
78     }
79     
80     if (pmsg->dlc > 8)
81     {
82         pmsg_str = msg_tbl[8];
83     }   
84     else
85     {
86         pmsg_str = msg_tbl[pmsg->dlc];
87     } 
88     
89     diag_printf(pmsg_str,
90                 pMsg,
91                 pmsg->id,
92                 pmsg->rtr,
93                 pmsg->ext,
94                 pmsg->data[0],
95                 pmsg->data[1],
96                 pmsg->data[2],
97                 pmsg->data[3],
98                 pmsg->data[4],
99                 pmsg->data[5],
100                 pmsg->data[6],
101                 pmsg->data[7]);
102 }
103
104
105 //===========================================================================
106 //                         PRINT CAN EVENT FLAGS
107 //===========================================================================
108 void print_can_flags(cyg_uint16 flags, char *pMsg)
109 {
110     char      *pmsg_str;
111     cyg_uint8  i ;
112     static char* msg_tbl[] =
113     {
114         "RX  ",
115         "TX  ",
116         "WRX  ",
117         "WTX  ",
118         "ERRP  ",
119         "BOFF  ",
120         "OVRX  ",
121         "OVTX  ",
122         "CERR  ",
123         "LSTY  ",
124         "ESTY  ",
125         "ALOS  ",
126         "DEVC  ",
127     };
128     i = 0;
129     while (flags && (i < 16))
130     {
131         if (flags & 0x0001)
132         {
133             pmsg_str = msg_tbl[i];
134             diag_printf(pmsg_str);
135         }
136         flags >>=1;
137         i++;
138     }
139     
140     diag_printf("\n");
141 }
142
143 //---------------------------------------------------------------------------
144 // end of can_test_aux.inl