TIOVX User Guide
tivx_debug.h
Go to the documentation of this file.
1
/*
2
*
3
* Copyright (c) 2017 Texas Instruments Incorporated
4
*
5
* All rights reserved not granted herein.
6
*
7
* Limited License.
8
*
9
* Texas Instruments Incorporated grants a world-wide, royalty-free, non-exclusive
10
* license under copyrights and patents it now or hereafter owns or controls to make,
11
* have made, use, import, offer to sell and sell ("Utilize") this software subject to the
12
* terms herein. With respect to the foregoing patent license, such license is granted
13
* solely to the extent that any such patent is necessary to Utilize the software alone.
14
* The patent license shall not apply to any combinations which include this software,
15
* other than combinations with devices manufactured by or for TI ("TI Devices").
16
* No hardware patent is licensed hereunder.
17
*
18
* Redistributions must preserve existing copyright notices and reproduce this license
19
* (including the above copyright notice and the disclaimer and (if applicable) source
20
* code license limitations below) in the documentation and/or other materials provided
21
* with the distribution
22
*
23
* Redistribution and use in binary form, without modification, are permitted provided
24
* that the following conditions are met:
25
*
26
* * No reverse engineering, decompilation, or disassembly of this software is
27
* permitted with respect to any software provided in binary form.
28
*
29
* * any redistribution and use are licensed by TI for use only with TI Devices.
30
*
31
* * Nothing shall obligate TI to provide you with source code for the software
32
* licensed and provided to you in object code.
33
*
34
* If software source code is provided to you, modification and redistribution of the
35
* source code are permitted provided that the following conditions are met:
36
*
37
* * any redistribution and use of the source code, including any resulting derivative
38
* works, are licensed by TI for use only with TI Devices.
39
*
40
* * any redistribution and use of any object code compiled from the source code
41
* and any resulting derivative works, are licensed by TI for use only with TI Devices.
42
*
43
* Neither the name of Texas Instruments Incorporated nor the names of its suppliers
44
*
45
* may be used to endorse or promote products derived from this software without
46
* specific prior written permission.
47
*
48
* DISCLAIMER.
49
*
50
* THIS SOFTWARE IS PROVIDED BY TI AND TI'S LICENSORS "AS IS" AND ANY EXPRESS
51
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
52
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
53
* IN NO EVENT SHALL TI AND TI'S LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT,
54
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
55
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
56
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
57
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
58
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
59
* OF THE POSSIBILITY OF SUCH DAMAGE.
60
*
61
*/
62
63
64
65
#ifndef TIVX_DEBUG_H
66
#define TIVX_DEBUG_H
67
68
#include <stdbool.h>
72
#define ASSERT_CONCAT_(a, b) a##b
73
#define ASSERT_CONCAT(a, b) ASSERT_CONCAT_(a, b)
74
#define BUILD_ASSERT(e) \
75
enum { ASSERT_CONCAT(assert_line_, __LINE__) = (bool)1/(!!(e)) }
76
85
enum
tivx_debug_zone_e
{
86
VX_ZONE_ERROR
= 0,
87
VX_ZONE_WARNING
= 1,
88
VX_ZONE_API
= 2,
89
VX_ZONE_INFO
= 3,
91
VX_ZONE_PERF
= 4,
92
VX_ZONE_CONTEXT
= 5,
93
VX_ZONE_OSAL
= 6,
94
VX_ZONE_REFERENCE
= 7,
96
VX_ZONE_ARRAY
= 8,
97
VX_ZONE_IMAGE
= 9,
98
VX_ZONE_SCALAR
= 10,
99
VX_ZONE_KERNEL
= 11,
101
VX_ZONE_GRAPH
= 12,
102
VX_ZONE_NODE
= 13,
103
VX_ZONE_PARAMETER
= 14,
104
VX_ZONE_DELAY
= 15,
106
VX_ZONE_TARGET
= 16,
107
VX_ZONE_LOG
= 17,
109
VX_ZONE_INIT
= 18,
111
VX_ZONE_OPTIMIZATION
= 19,
113
VX_ZONE_MAX = 32
114
};
115
116
#define VX_PRINT(zone, message, ...) do { tivx_print(((vx_enum)zone), "[%s:%u] " message, __FUNCTION__, __LINE__, ## __VA_ARGS__); } while (1 == 0)
117
124
#ifdef __cplusplus
125
extern
"C"
{
126
#endif
127
134
void
tivx_print
(
vx_enum
zone,
const
char
*format, ...);
135
140
void
tivx_set_debug_zone
(
vx_enum
zone);
141
146
void
tivx_clr_debug_zone
(
vx_enum
zone);
147
152
vx_bool
tivx_get_debug_zone
(
vx_enum
zone);
153
154
#ifdef __cplusplus
155
}
156
#endif
157
158
#endif
159
VX_ZONE_NODE
Definition:
tivx_debug.h:102
vx_bool
vx_bool
VX_ZONE_SCALAR
Definition:
tivx_debug.h:98
VX_ZONE_LOG
Definition:
tivx_debug.h:107
tivx_get_debug_zone
vx_bool tivx_get_debug_zone(vx_enum zone)
Returns true or false if the zone bit is set or cleared.
vx_enum
int32_t vx_enum
VX_ZONE_WARNING
Definition:
tivx_debug.h:87
VX_ZONE_API
Definition:
tivx_debug.h:88
tivx_print
void tivx_print(vx_enum zone, const char *format,...)
Internal Printing Function.
tivx_debug_zone_e
tivx_debug_zone_e
These are the bit flags for debugging.
Definition:
tivx_debug.h:85
VX_ZONE_IMAGE
Definition:
tivx_debug.h:97
VX_ZONE_OSAL
Definition:
tivx_debug.h:93
VX_ZONE_CONTEXT
Definition:
tivx_debug.h:92
VX_ZONE_GRAPH
Definition:
tivx_debug.h:101
VX_ZONE_ERROR
Definition:
tivx_debug.h:86
tivx_set_debug_zone
void tivx_set_debug_zone(vx_enum zone)
Sets a zone bit in the debug mask.
VX_ZONE_OPTIMIZATION
Definition:
tivx_debug.h:111
VX_ZONE_REFERENCE
Definition:
tivx_debug.h:94
VX_ZONE_TARGET
Definition:
tivx_debug.h:106
VX_ZONE_DELAY
Definition:
tivx_debug.h:104
VX_ZONE_ARRAY
Definition:
tivx_debug.h:96
VX_ZONE_PARAMETER
Definition:
tivx_debug.h:103
VX_ZONE_KERNEL
Definition:
tivx_debug.h:99
VX_ZONE_INIT
Definition:
tivx_debug.h:109
tivx_clr_debug_zone
void tivx_clr_debug_zone(vx_enum zone)
Clears the zone bit in the mask.
VX_ZONE_INFO
Definition:
tivx_debug.h:89
VX_ZONE_PERF
Definition:
tivx_debug.h:91
include
TI
tivx_debug.h
Generated by
1.8.14