OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [io/] [can/] [current/] [tests/] [can_test_aux.inl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
//==========================================================================
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 Free Software Foundation, 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
16
// version.
17
//
18
// eCos is distributed in the hope that it will be useful, but WITHOUT
19
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
// for more details.
22
//
23
// You should have received a copy of the GNU General Public License
24
// along with eCos; if not, write to the Free Software Foundation, Inc.,
25
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
//
27
// As a special exception, if other files instantiate templates or use
28
// macros or inline functions from this file, or you compile this file
29
// and link it with other works to produce a work based on this file,
30
// this file does not by itself cause the resulting work to be covered by
31
// the GNU General Public License. However the source code for this file
32
// must still be made available in accordance with section (3) of the GNU
33
// General Public License v2.
34
//
35
// This exception does not invalidate any other reasons why a work based
36
// on this file might be covered by the GNU General Public License.
37
// -------------------------------------------
38
// ####ECOSGPLCOPYRIGHTEND####
39
//==========================================================================
40
//#####DESCRIPTIONBEGIN####
41
//
42
// Author(s):     Uwe Kindler
43
// Contributors:  Uwe Kindler
44
// Date:          2005-08-07
45
// Description:   Auxiliary functions for CAN driver tests
46
//####DESCRIPTIONEND####
47
 
48
 
49
//===========================================================================
50
//                           PRINT CAN EVENT
51
//===========================================================================
52
void print_can_msg(cyg_can_message *pmsg, char *pMsg)
53
{
54
    char *pmsg_str;
55
    static char* msg_tbl[] =
56
    {
57
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:]\n",
58
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X]\n",
59
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X]\n",
60
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X]\n",
61
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X]\n",
62
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X]\n",
63
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X %02X]\n",
64
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X %02X %02X]\n",
65
        "%s [ID:%03X] [RTR:%d] [EXT:%d] [DATA:%02X %02X %02X %02X %02X %02X %02X %02X]\n"
66
    };
67
 
68
    if (pmsg->rtr)
69
    {
70
        diag_printf("%s [ID:%03X] [RTR:%d] [EXT:%d] [DLC:%d]\n",
71
                    pMsg,
72
                    pmsg->id,
73
                    pmsg->rtr,
74
                    pmsg->ext,
75
                    pmsg->dlc);
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.bytes[0],
95
                pmsg->data.bytes[1],
96
                pmsg->data.bytes[2],
97
                pmsg->data.bytes[3],
98
                pmsg->data.bytes[4],
99
                pmsg->data.bytes[5],
100
                pmsg->data.bytes[6],
101
                pmsg->data.bytes[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
        "PHYF  ",
128
        "PHYH  ",
129
        "PHYL  "
130
    };
131
    i = 0;
132
    while (flags && (i < 16))
133
    {
134
        if (flags & 0x0001)
135
        {
136
            pmsg_str = msg_tbl[i];
137
            diag_printf(pmsg_str);
138
        }
139
        flags >>=1;
140
        i++;
141
    }
142
 
143
    diag_printf("\n");
144
}
145
 
146
//---------------------------------------------------------------------------
147
// end of can_test_aux.inl

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.