1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5 <meta http-equiv="X-UA-Compatible" content="IE=9"/>
6 <meta name="generator" content="Doxygen 1.8.13"/>
7 <meta name="viewport" content="width=device-width, initial-scale=1"/>
8 <title>OnScreenApp: app/hmi-debug.h File Reference</title>
9 <link href="../../tabs.css" rel="stylesheet" type="text/css"/>
10 <script type="text/javascript" src="../../jquery.js"></script>
11 <script type="text/javascript" src="../../dynsections.js"></script>
12 <link href="../../search/search.css" rel="stylesheet" type="text/css"/>
13 <script type="text/javascript" src="../../search/searchdata.js"></script>
14 <script type="text/javascript" src="../../search/search.js"></script>
15 <link href="../../doxygen.css" rel="stylesheet" type="text/css" />
18 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
20 <table cellspacing="0" cellpadding="0">
22 <tr style="height: 56px;">
23 <td id="projectalign" style="padding-left: 0.5em;">
24 <div id="projectname">OnScreenApp
31 <!-- end header part -->
32 <!-- Generated by Doxygen 1.8.13 -->
33 <script type="text/javascript">
34 var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
36 <script type="text/javascript" src="../../menudata.js"></script>
37 <script type="text/javascript" src="../../menu.js"></script>
38 <script type="text/javascript">
40 initMenu('../../',true,false,'search.php','Search');
41 $(document).ready(function() { init_search(); });
44 <div id="main-nav"></div>
45 <!-- window showing the filter options -->
46 <div id="MSearchSelectWindow"
47 onmouseover="return searchBox.OnSearchSelectShow()"
48 onmouseout="return searchBox.OnSearchSelectHide()"
49 onkeydown="return searchBox.OnSearchSelectKey(event)">
52 <!-- iframe showing the search results (closed by default) -->
53 <div id="MSearchResultsWindow">
54 <iframe src="javascript:void(0)" frameborder="0"
55 name="MSearchResults" id="MSearchResults">
59 <div id="nav-path" class="navpath">
61 <li class="navelem"><a class="el" href="../../dir_d422163b96683743ed3963d4aac17747.html">app</a></li> </ul>
66 <a href="#define-members">Macros</a> |
67 <a href="#enum-members">Enumerations</a> |
68 <a href="#func-members">Functions</a> |
69 <a href="#var-members">Variables</a> </div>
70 <div class="headertitle">
71 <div class="title">hmi-debug.h File Reference</div> </div>
73 <div class="contents">
74 <div class="textblock"><code>#include <time.h></code><br />
75 <code>#include <stdio.h></code><br />
76 <code>#include <stdarg.h></code><br />
77 <code>#include <string.h></code><br />
78 <code>#include <stdlib.h></code><br />
80 <p><a href="../../df/d76/hmi-debug_8h_source.html">Go to the source code of this file.</a></p>
81 <table class="memberdecls">
82 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
84 <tr class="memitem:a5fccb4fc71e44089a1b1a77fc76c0b68"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>   (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)</td></tr>
85 <tr class="separator:a5fccb4fc71e44089a1b1a77fc76c0b68"><td class="memSeparator" colspan="2"> </td></tr>
86 <tr class="memitem:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a65bb6c7cfe38f8a724beab5059d36fb2">HMI_ERROR</a>(prefix, args, ...)   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td></tr>
87 <tr class="separator:a65bb6c7cfe38f8a724beab5059d36fb2"><td class="memSeparator" colspan="2"> </td></tr>
88 <tr class="memitem:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a25361812432cd2480bc8f1a8e56ecbf7">HMI_WARNING</a>(prefix, args, ...)   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
89 <tr class="separator:a25361812432cd2480bc8f1a8e56ecbf7"><td class="memSeparator" colspan="2"> </td></tr>
90 <tr class="memitem:abc0d6e0760017d8ae48b836925b2ef15"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#abc0d6e0760017d8ae48b836925b2ef15">HMI_NOTICE</a>(prefix, args, ...)   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
91 <tr class="separator:abc0d6e0760017d8ae48b836925b2ef15"><td class="memSeparator" colspan="2"> </td></tr>
92 <tr class="memitem:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a11b249a67108f0f4c50a0fc8a3eb4f5c">HMI_INFO</a>(prefix, args, ...)   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
93 <tr class="separator:a11b249a67108f0f4c50a0fc8a3eb4f5c"><td class="memSeparator" colspan="2"> </td></tr>
94 <tr class="memitem:a0d26d8b8201011dade787236519711c0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a0d26d8b8201011dade787236519711c0">HMI_DEBUG</a>(prefix, args, ...)   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td></tr>
95 <tr class="separator:a0d26d8b8201011dade787236519711c0"><td class="memSeparator" colspan="2"> </td></tr>
96 </table><table class="memberdecls">
97 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
98 Enumerations</h2></td></tr>
99 <tr class="memitem:aa5a9053636a30269210c54e734e0d583"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> { <br />
100   <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,
101 <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,
102 <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,
103 <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,
105   <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,
106 <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,
107 <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG
110 <tr class="separator:aa5a9053636a30269210c54e734e0d583"><td class="memSeparator" colspan="2"> </td></tr>
111 </table><table class="memberdecls">
112 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
113 Functions</h2></td></tr>
114 <tr class="memitem:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a> (enum <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> level, const char *file, const char *func, const int line, const char *prefix, const char *log,...)</td></tr>
115 <tr class="separator:a0846b9d51e2e0612c4825a9a581aa40a"><td class="memSeparator" colspan="2"> </td></tr>
116 </table><table class="memberdecls">
117 <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
118 Variables</h2></td></tr>
119 <tr class="memitem:a13d4c7647aad2e84766f8b48a6caab09"><td class="memItemLeft" align="right" valign="top">static char </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a> [6][20] = {"NONE", "ERROR", "WARNING", "NOTICE", "INFO", "DEBUG"}</td></tr>
120 <tr class="separator:a13d4c7647aad2e84766f8b48a6caab09"><td class="memSeparator" colspan="2"> </td></tr>
122 <h2 class="groupheader">Macro Definition Documentation</h2>
123 <a id="a5fccb4fc71e44089a1b1a77fc76c0b68"></a>
124 <h2 class="memtitle"><span class="permalink"><a href="#a5fccb4fc71e44089a1b1a77fc76c0b68">◆ </a></span>__FILENAME__</h2>
126 <div class="memitem">
127 <div class="memproto">
128 <table class="memname">
130 <td class="memname">#define __FILENAME__   (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)</td>
133 </div><div class="memdoc">
135 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00036">36</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
139 <a id="a0d26d8b8201011dade787236519711c0"></a>
140 <h2 class="memtitle"><span class="permalink"><a href="#a0d26d8b8201011dade787236519711c0">◆ </a></span>HMI_DEBUG</h2>
142 <div class="memitem">
143 <div class="memproto">
144 <table class="memname">
146 <td class="memname">#define HMI_DEBUG</td>
148 <td class="paramtype"> </td>
149 <td class="paramname">prefix, </td>
152 <td class="paramkey"></td>
154 <td class="paramtype"> </td>
155 <td class="paramname">args, </td>
158 <td class="paramkey"></td>
160 <td class="paramtype"> </td>
161 <td class="paramname"><em>...</em> </td>
166 <td></td><td>   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
169 </div><div class="memdoc">
171 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00042">42</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
175 <a id="a65bb6c7cfe38f8a724beab5059d36fb2"></a>
176 <h2 class="memtitle"><span class="permalink"><a href="#a65bb6c7cfe38f8a724beab5059d36fb2">◆ </a></span>HMI_ERROR</h2>
178 <div class="memitem">
179 <div class="memproto">
180 <table class="memname">
182 <td class="memname">#define HMI_ERROR</td>
184 <td class="paramtype"> </td>
185 <td class="paramname">prefix, </td>
188 <td class="paramkey"></td>
190 <td class="paramtype"> </td>
191 <td class="paramname">args, </td>
194 <td class="paramkey"></td>
196 <td class="paramtype"> </td>
197 <td class="paramname"><em>...</em> </td>
202 <td></td><td>   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__, __LINE__, prefix, args, ##__VA_ARGS__)</td>
205 </div><div class="memdoc">
207 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00038">38</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
211 <a id="a11b249a67108f0f4c50a0fc8a3eb4f5c"></a>
212 <h2 class="memtitle"><span class="permalink"><a href="#a11b249a67108f0f4c50a0fc8a3eb4f5c">◆ </a></span>HMI_INFO</h2>
214 <div class="memitem">
215 <div class="memproto">
216 <table class="memname">
218 <td class="memname">#define HMI_INFO</td>
220 <td class="paramtype"> </td>
221 <td class="paramname">prefix, </td>
224 <td class="paramkey"></td>
226 <td class="paramtype"> </td>
227 <td class="paramname">args, </td>
230 <td class="paramkey"></td>
232 <td class="paramtype"> </td>
233 <td class="paramname"><em>...</em> </td>
238 <td></td><td>   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
241 </div><div class="memdoc">
243 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00041">41</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
247 <a id="abc0d6e0760017d8ae48b836925b2ef15"></a>
248 <h2 class="memtitle"><span class="permalink"><a href="#abc0d6e0760017d8ae48b836925b2ef15">◆ </a></span>HMI_NOTICE</h2>
250 <div class="memitem">
251 <div class="memproto">
252 <table class="memname">
254 <td class="memname">#define HMI_NOTICE</td>
256 <td class="paramtype"> </td>
257 <td class="paramname">prefix, </td>
260 <td class="paramkey"></td>
262 <td class="paramtype"> </td>
263 <td class="paramname">args, </td>
266 <td class="paramkey"></td>
268 <td class="paramtype"> </td>
269 <td class="paramname"><em>...</em> </td>
274 <td></td><td>   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
277 </div><div class="memdoc">
279 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00040">40</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
283 <a id="a25361812432cd2480bc8f1a8e56ecbf7"></a>
284 <h2 class="memtitle"><span class="permalink"><a href="#a25361812432cd2480bc8f1a8e56ecbf7">◆ </a></span>HMI_WARNING</h2>
286 <div class="memitem">
287 <div class="memproto">
288 <table class="memname">
290 <td class="memname">#define HMI_WARNING</td>
292 <td class="paramtype"> </td>
293 <td class="paramname">prefix, </td>
296 <td class="paramkey"></td>
298 <td class="paramtype"> </td>
299 <td class="paramname">args, </td>
302 <td class="paramkey"></td>
304 <td class="paramtype"> </td>
305 <td class="paramname"><em>...</em> </td>
310 <td></td><td>   <a class="el" href="../../df/d76/hmi-debug_8h.html#a0846b9d51e2e0612c4825a9a581aa40a">_HMI_LOG</a>(<a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>, <a class="el" href="../../df/d76/hmi-debug_8h.html#a5fccb4fc71e44089a1b1a77fc76c0b68">__FILENAME__</a>, __FUNCTION__,__LINE__, prefix, args,##__VA_ARGS__)</td>
313 </div><div class="memdoc">
315 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00039">39</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
319 <h2 class="groupheader">Enumeration Type Documentation</h2>
320 <a id="aa5a9053636a30269210c54e734e0d583"></a>
321 <h2 class="memtitle"><span class="permalink"><a href="#aa5a9053636a30269210c54e734e0d583">◆ </a></span>LOG_LEVEL</h2>
323 <div class="memitem">
324 <div class="memproto">
325 <table class="memname">
327 <td class="memname">enum <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a></td>
330 </div><div class="memdoc">
331 <table class="fieldtable">
332 <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"></a>LOG_LEVEL_NONE </td><td class="fielddoc"></td></tr>
333 <tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"></a>LOG_LEVEL_ERROR </td><td class="fielddoc"></td></tr>
334 <tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"></a>LOG_LEVEL_WARNING </td><td class="fielddoc"></td></tr>
335 <tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"></a>LOG_LEVEL_NOTICE </td><td class="fielddoc"></td></tr>
336 <tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"></a>LOG_LEVEL_INFO </td><td class="fielddoc"></td></tr>
337 <tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"></a>LOG_LEVEL_DEBUG </td><td class="fielddoc"></td></tr>
338 <tr><td class="fieldname"><a id="aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"></a>LOG_LEVEL_MAX </td><td class="fielddoc"></td></tr>
341 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00026">26</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
342 <div class="fragment"><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  {</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a> = 0,</div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>,</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a>,</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a>,</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a>,</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a>,</div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a> = LOG_LEVEL_DEBUG</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> };</div><div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
343 <div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a23ae4d711a7bbb3900240cb7316b4b4e">LOG_LEVEL_NOTICE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00030">hmi-debug.h:30</a></div></div>
344 <div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a538b2b6e011479d408ecd2be0f6d6177">LOG_LEVEL_DEBUG</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00032">hmi-debug.h:32</a></div></div>
345 <div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583aedee1e3159bfe7d918b6e29873c5aee4">LOG_LEVEL_INFO</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00031">hmi-debug.h:31</a></div></div>
346 <div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a0459003454bc8bb17752e6d8e5787444">LOG_LEVEL_MAX</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00033">hmi-debug.h:33</a></div></div>
347 <div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b4dd81b4dc7eefbc55ba03415c627ef">LOG_LEVEL_WARNING</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00029">hmi-debug.h:29</a></div></div>
348 <div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a69dacb1837e1e37c6ed34cc2ee1d8848">LOG_LEVEL_NONE</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00027">hmi-debug.h:27</a></div></div>
349 </div><!-- fragment -->
352 <h2 class="groupheader">Function Documentation</h2>
353 <a id="a0846b9d51e2e0612c4825a9a581aa40a"></a>
354 <h2 class="memtitle"><span class="permalink"><a href="#a0846b9d51e2e0612c4825a9a581aa40a">◆ </a></span>_HMI_LOG()</h2>
356 <div class="memitem">
357 <div class="memproto">
358 <table class="mlabels">
360 <td class="mlabels-left">
361 <table class="memname">
363 <td class="memname">static void _HMI_LOG </td>
365 <td class="paramtype">enum <a class="el" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583">LOG_LEVEL</a> </td>
366 <td class="paramname"><em>level</em>, </td>
369 <td class="paramkey"></td>
371 <td class="paramtype">const char * </td>
372 <td class="paramname"><em>file</em>, </td>
375 <td class="paramkey"></td>
377 <td class="paramtype">const char * </td>
378 <td class="paramname"><em>func</em>, </td>
381 <td class="paramkey"></td>
383 <td class="paramtype">const int </td>
384 <td class="paramname"><em>line</em>, </td>
387 <td class="paramkey"></td>
389 <td class="paramtype">const char * </td>
390 <td class="paramname"><em>prefix</em>, </td>
393 <td class="paramkey"></td>
395 <td class="paramtype">const char * </td>
396 <td class="paramname"><em>log</em>, </td>
399 <td class="paramkey"></td>
401 <td class="paramtype"> </td>
402 <td class="paramname"><em>...</em> </td>
411 <td class="mlabels-right">
412 <span class="mlabels"><span class="mlabel">static</span></span> </td>
415 </div><div class="memdoc">
417 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00046">46</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
418 <div class="fragment"><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> {</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> log_level = (getenv(<span class="stringliteral">"USE_HMI_DEBUG"</span>) == NULL)?<a class="code" href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a>:atoi(getenv(<span class="stringliteral">"USE_HMI_DEBUG"</span>));</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">if</span>(log_level < level)</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  {</div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  <span class="keywordflow">return</span>;</div><div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  }</div><div class="line"><a name="l00053"></a><span class="lineno"> 53</span> </div><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  <span class="keywordtype">char</span> *message;</div><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">struct </span>timespec tp;</div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> time;</div><div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  clock_gettime(CLOCK_REALTIME, &tp);</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);</div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  va_list args;</div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  va_start(args, log);</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (log == NULL || vasprintf(&message, log, args) < 0)</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  message = NULL;</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  fprintf(stderr, <span class="stringliteral">"[%10.3f] [%s %s] [%s, %s(), Line:%d] >>> %s \n"</span>, time / 1000.0, prefix, <a class="code" href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a>[level], file, func, line, message);</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  va_end(args);</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  free(message);</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> }</div><div class="ttc" id="hmi-debug_8h_html_aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#aa5a9053636a30269210c54e734e0d583a5b40f003febbc3b535649d63f4b8a44f">LOG_LEVEL_ERROR</a></div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00028">hmi-debug.h:28</a></div></div>
419 <div class="ttc" id="hmi-debug_8h_html_a13d4c7647aad2e84766f8b48a6caab09"><div class="ttname"><a href="../../df/d76/hmi-debug_8h.html#a13d4c7647aad2e84766f8b48a6caab09">ERROR_FLAG</a></div><div class="ttdeci">static char ERROR_FLAG[6][20]</div><div class="ttdef"><b>Definition:</b> <a href="../../df/d76/hmi-debug_8h_source.html#l00044">hmi-debug.h:44</a></div></div>
420 </div><!-- fragment -->
423 <h2 class="groupheader">Variable Documentation</h2>
424 <a id="a13d4c7647aad2e84766f8b48a6caab09"></a>
425 <h2 class="memtitle"><span class="permalink"><a href="#a13d4c7647aad2e84766f8b48a6caab09">◆ </a></span>ERROR_FLAG</h2>
427 <div class="memitem">
428 <div class="memproto">
429 <table class="mlabels">
431 <td class="mlabels-left">
432 <table class="memname">
434 <td class="memname">char ERROR_FLAG[6][20] = {"NONE", "ERROR", "WARNING", "NOTICE", "INFO", "DEBUG"}</td>
438 <td class="mlabels-right">
439 <span class="mlabels"><span class="mlabel">static</span></span> </td>
442 </div><div class="memdoc">
444 <p class="definition">Definition at line <a class="el" href="../../df/d76/hmi-debug_8h_source.html#l00044">44</a> of file <a class="el" href="../../df/d76/hmi-debug_8h_source.html">hmi-debug.h</a>.</p>
448 </div><!-- contents -->
449 <!-- start footer part -->
450 <hr class="footer"/><address class="footer"><small>
451 Generated by  <a href="http://www.doxygen.org/index.html">
452 <img class="footer" src="../../doxygen.png" alt="doxygen"/>