Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
48241ad08This file is pinned to the selected release. Download the original to open it in your design tool.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IoT-MBBR (masterthesis): firmware/EFM32HG222F64_iot-mbbr/dbprint/dbprint.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">IoT-MBBR (masterthesis)
</div>
<div id="projectbrief">Masterthesis upgrading a Moving Bed BioReactor with extra sensors and cloud connectivity.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('dbprint_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> |
<a href="#func-members">Functions</a> |
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">dbprint.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Homebrew println/printf replacement "DeBugPrint".
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "<a class="el" href="debug__dbprint_8h_source.html">debug_dbprint.h</a>"</code><br />
<code>#include <stdint.h></code><br />
<code>#include <stdbool.h></code><br />
<code>#include "em_cmu.h"</code><br />
<code>#include "em_gpio.h"</code><br />
<code>#include "em_usart.h"</code><br />
</div>
<p><a href="dbprint_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ac5244e0cbb66331a50ec3d0bbba7308b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(i)   (i <= 9 ? '0' + i : 'A' - 10 + i) /* "?:" = ternary operator (return ['0' + i] if [i <= 9] = true, ['A' - 10 + i] if false) */</td></tr>
<tr class="separator:ac5244e0cbb66331a50ec3d0bbba7308b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa3eebc96ec0d2a2f3a2b166f3d08ddc7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#aa3eebc96ec0d2a2f3a2b166f3d08ddc7">TO_DEC</a>(i)   (i <= 9 ? '0' + i : '?') /* return "?" if out of range */</td></tr>
<tr class="separator:aa3eebc96ec0d2a2f3a2b166f3d08ddc7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad86358bf19927183dd7b4ae215a29731"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#ad86358bf19927183dd7b4ae215a29731">COLOR_RED</a>   "\x1b[31m"</td></tr>
<tr class="separator:ad86358bf19927183dd7b4ae215a29731"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afc9149f5de51bd9ac4f5ebbfa153f018"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#afc9149f5de51bd9ac4f5ebbfa153f018">COLOR_GREEN</a>   "\x1b[32m"</td></tr>
<tr class="separator:afc9149f5de51bd9ac4f5ebbfa153f018"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a23c70d699a5a775bc2e1ebeb8603f630"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a23c70d699a5a775bc2e1ebeb8603f630">COLOR_BLUE</a>   "\x1b[34m"</td></tr>
<tr class="separator:a23c70d699a5a775bc2e1ebeb8603f630"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a82573859711fce56f1aa0a76b18a9b18"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a82573859711fce56f1aa0a76b18a9b18">COLOR_CYAN</a>   "\x1b[36m"</td></tr>
<tr class="separator:a82573859711fce56f1aa0a76b18a9b18"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8deb0beccea721b35bdb1b4f7264fe75"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a8deb0beccea721b35bdb1b4f7264fe75">COLOR_MAGENTA</a>   "\x1b[35m"</td></tr>
<tr class="separator:a8deb0beccea721b35bdb1b4f7264fe75"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4534b577b74a58b0f4b7be027af664e0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a4534b577b74a58b0f4b7be027af664e0">COLOR_YELLOW</a>   "\x1b[33m"</td></tr>
<tr class="separator:a4534b577b74a58b0f4b7be027af664e0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a17f760256046df23dd0ab46602f04d02"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>   "\x1b[0m"</td></tr>
<tr class="separator:a17f760256046df23dd0ab46602f04d02"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a36d9f16a26ecfc8540df56331bca3533"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a36d9f16a26ecfc8540df56331bca3533">uint32_to_charHex</a> (char *buf, <a class="el" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value, bool spacing)</td></tr>
<tr class="memdesc:a36d9f16a26ecfc8540df56331bca3533"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <code>uint32_t</code> value to a hexadecimal char array (string). <a href="#a36d9f16a26ecfc8540df56331bca3533">More...</a><br /></td></tr>
<tr class="separator:a36d9f16a26ecfc8540df56331bca3533"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5f61bbab614d503c3925339278530575"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a5f61bbab614d503c3925339278530575">uint32_to_charDec</a> (char *buf, <a class="el" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value)</td></tr>
<tr class="memdesc:a5f61bbab614d503c3925339278530575"><td class="mdescLeft"> </td><td class="mdescRight">Convert a <code>uint32_t</code> value to a decimal char array (string). <a href="#a5f61bbab614d503c3925339278530575">More...</a><br /></td></tr>
<tr class="separator:a5f61bbab614d503c3925339278530575"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a357b85de3c7d286b92fd182309d04727"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a357b85de3c7d286b92fd182309d04727">charDec_to_uint32</a> (char *buf)</td></tr>
<tr class="memdesc:a357b85de3c7d286b92fd182309d04727"><td class="mdescLeft"> </td><td class="mdescRight">Convert a string (char array) in decimal notation to a <code>uint32_t</code> value. <a href="#a357b85de3c7d286b92fd182309d04727">More...</a><br /></td></tr>
<tr class="separator:a357b85de3c7d286b92fd182309d04727"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab517cdef3b6920aa62bb748109212433"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#ab517cdef3b6920aa62bb748109212433">dbprint_INIT</a> (USART_TypeDef *pointer, <a class="el" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> location, bool vcom, bool interrupts)</td></tr>
<tr class="memdesc:ab517cdef3b6920aa62bb748109212433"><td class="mdescLeft"> </td><td class="mdescRight">Initialize USARTx. <a href="#ab517cdef3b6920aa62bb748109212433">More...</a><br /></td></tr>
<tr class="separator:ab517cdef3b6920aa62bb748109212433"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a653b977893c617449265db916e47aea2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a653b977893c617449265db916e47aea2">dbAlert</a> (void)</td></tr>
<tr class="memdesc:a653b977893c617449265db916e47aea2"><td class="mdescLeft"> </td><td class="mdescRight">Sound an alert in the terminal. <a href="#a653b977893c617449265db916e47aea2">More...</a><br /></td></tr>
<tr class="separator:a653b977893c617449265db916e47aea2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aaf486c0dc2992930991d73d2d4240abb"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#aaf486c0dc2992930991d73d2d4240abb">dbClear</a> (void)</td></tr>
<tr class="memdesc:aaf486c0dc2992930991d73d2d4240abb"><td class="mdescLeft"> </td><td class="mdescRight">Clear the terminal. <a href="#aaf486c0dc2992930991d73d2d4240abb">More...</a><br /></td></tr>
<tr class="separator:aaf486c0dc2992930991d73d2d4240abb"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a48c1f5d07dde14219473ff6a89a3f7ba"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a> (char *message)</td></tr>
<tr class="memdesc:a48c1f5d07dde14219473ff6a89a3f7ba"><td class="mdescLeft"> </td><td class="mdescRight">Print a string (char array) to USARTx. <a href="#a48c1f5d07dde14219473ff6a89a3f7ba">More...</a><br /></td></tr>
<tr class="separator:a48c1f5d07dde14219473ff6a89a3f7ba"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5e059a469cca8341eb0a84e5c352f518"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a> (char *message)</td></tr>
<tr class="memdesc:a5e059a469cca8341eb0a84e5c352f518"><td class="mdescLeft"> </td><td class="mdescRight">Print a string (char array) to USARTx and go to the next line. <a href="#a5e059a469cca8341eb0a84e5c352f518">More...</a><br /></td></tr>
<tr class="separator:a5e059a469cca8341eb0a84e5c352f518"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad6b8e79e52a31b01f5816cdd62fb1746"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a> (char *message, <a class="el" href="dbprint_8h.html#a1ab19a6b15298e2a0bb7ba320cf8b540">dbprint_color_t</a> color)</td></tr>
<tr class="memdesc:ad6b8e79e52a31b01f5816cdd62fb1746"><td class="mdescLeft"> </td><td class="mdescRight">Print a string (char array) to USARTx in a given color. <a href="#ad6b8e79e52a31b01f5816cdd62fb1746">More...</a><br /></td></tr>
<tr class="separator:ad6b8e79e52a31b01f5816cdd62fb1746"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aeac6ad47896a658b0753fa0ef8040e6c"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a> (char *message, <a class="el" href="dbprint_8h.html#a1ab19a6b15298e2a0bb7ba320cf8b540">dbprint_color_t</a> color)</td></tr>
<tr class="memdesc:aeac6ad47896a658b0753fa0ef8040e6c"><td class="mdescLeft"> </td><td class="mdescRight">Print a string (char array) to USARTx in a given color and go to the next line. <a href="#aeac6ad47896a658b0753fa0ef8040e6c">More...</a><br /></td></tr>
<tr class="separator:aeac6ad47896a658b0753fa0ef8040e6c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:acb5d4e1082c625ad85d835d4e053d4d8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#acb5d4e1082c625ad85d835d4e053d4d8">dbinfo</a> (char *message)</td></tr>
<tr class="memdesc:acb5d4e1082c625ad85d835d4e053d4d8"><td class="mdescLeft"> </td><td class="mdescRight">Print an <em>info</em> string (char array) to USARTx and go to the next line. <a href="#acb5d4e1082c625ad85d835d4e053d4d8">More...</a><br /></td></tr>
<tr class="separator:acb5d4e1082c625ad85d835d4e053d4d8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a73de59bf0a689a086681070783a82df3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a73de59bf0a689a086681070783a82df3">dbwarn</a> (char *message)</td></tr>
<tr class="memdesc:a73de59bf0a689a086681070783a82df3"><td class="mdescLeft"> </td><td class="mdescRight">Print a <em>warning</em> string (char array) in yellow to USARTx and go to the next line. <a href="#a73de59bf0a689a086681070783a82df3">More...</a><br /></td></tr>
<tr class="separator:a73de59bf0a689a086681070783a82df3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afbbbe6e04352a6b56d1d8a053ec4f941"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#afbbbe6e04352a6b56d1d8a053ec4f941">dbcrit</a> (char *message)</td></tr>
<tr class="memdesc:afbbbe6e04352a6b56d1d8a053ec4f941"><td class="mdescLeft"> </td><td class="mdescRight">Print a <em>critical error</em> string (char array) in red to USARTx and go to the next line. <a href="#afbbbe6e04352a6b56d1d8a053ec4f941">More...</a><br /></td></tr>
<tr class="separator:afbbbe6e04352a6b56d1d8a053ec4f941"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0511ddad2e00a8187d5449b15de7eb4f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a0511ddad2e00a8187d5449b15de7eb4f">dbinfoInt</a> (char *message1, <a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value, char *message2)</td></tr>
<tr class="memdesc:a0511ddad2e00a8187d5449b15de7eb4f"><td class="mdescLeft"> </td><td class="mdescRight">Print an <em>info</em> value surrounded by two strings (char array) to USARTx. <a href="#a0511ddad2e00a8187d5449b15de7eb4f">More...</a><br /></td></tr>
<tr class="separator:a0511ddad2e00a8187d5449b15de7eb4f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ada27783fef89d9c9af4976baab87c477"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#ada27783fef89d9c9af4976baab87c477">dbwarnInt</a> (char *message1, <a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value, char *message2)</td></tr>
<tr class="memdesc:ada27783fef89d9c9af4976baab87c477"><td class="mdescLeft"> </td><td class="mdescRight">Print a <em>warning</em> value surrounded by two strings (char array) to USARTx. <a href="#ada27783fef89d9c9af4976baab87c477">More...</a><br /></td></tr>
<tr class="separator:ada27783fef89d9c9af4976baab87c477"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac127caf50634ea902e2ae98d038feec8"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#ac127caf50634ea902e2ae98d038feec8">dbcritInt</a> (char *message1, <a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value, char *message2)</td></tr>
<tr class="memdesc:ac127caf50634ea902e2ae98d038feec8"><td class="mdescLeft"> </td><td class="mdescRight">Print a <em>critical</em> value surrounded by two strings (char array) to USARTx. <a href="#ac127caf50634ea902e2ae98d038feec8">More...</a><br /></td></tr>
<tr class="separator:ac127caf50634ea902e2ae98d038feec8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af175e2f9858ee73556d78256d72e6823"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#af175e2f9858ee73556d78256d72e6823">dbinfoInt_hex</a> (char *message1, <a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value, char *message2)</td></tr>
<tr class="memdesc:af175e2f9858ee73556d78256d72e6823"><td class="mdescLeft"> </td><td class="mdescRight">Print an <em>info</em> value surrounded by two strings (char array) to USARTx. <a href="#af175e2f9858ee73556d78256d72e6823">More...</a><br /></td></tr>
<tr class="separator:af175e2f9858ee73556d78256d72e6823"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab404cefa28fc63ac33567c5de1e0c5e1"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#ab404cefa28fc63ac33567c5de1e0c5e1">dbwarnInt_hex</a> (char *message1, <a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value, char *message2)</td></tr>
<tr class="memdesc:ab404cefa28fc63ac33567c5de1e0c5e1"><td class="mdescLeft"> </td><td class="mdescRight">Print a <em>warning</em> value surrounded by two strings (char array) to USARTx. <a href="#ab404cefa28fc63ac33567c5de1e0c5e1">More...</a><br /></td></tr>
<tr class="separator:ab404cefa28fc63ac33567c5de1e0c5e1"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a68c0b5602768fe1b3b115818d9d19517"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a68c0b5602768fe1b3b115818d9d19517">dbcritInt_hex</a> (char *message1, <a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value, char *message2)</td></tr>
<tr class="memdesc:a68c0b5602768fe1b3b115818d9d19517"><td class="mdescLeft"> </td><td class="mdescRight">Print a <em>critical</em> value surrounded by two strings (char array) to USARTx. <a href="#a68c0b5602768fe1b3b115818d9d19517">More...</a><br /></td></tr>
<tr class="separator:a68c0b5602768fe1b3b115818d9d19517"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4e4e18f85e358d8cc702ea8c2f190503"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a> (<a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
<tr class="memdesc:a4e4e18f85e358d8cc702ea8c2f190503"><td class="mdescLeft"> </td><td class="mdescRight">Print a number in decimal notation to USARTx. <a href="#a4e4e18f85e358d8cc702ea8c2f190503">More...</a><br /></td></tr>
<tr class="separator:a4e4e18f85e358d8cc702ea8c2f190503"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a05cd4086fbb7c752337b52c49c31d16b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a05cd4086fbb7c752337b52c49c31d16b">dbprintlnInt</a> (<a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
<tr class="memdesc:a05cd4086fbb7c752337b52c49c31d16b"><td class="mdescLeft"> </td><td class="mdescRight">Print a number in decimal notation to USARTx and go to the next line. <a href="#a05cd4086fbb7c752337b52c49c31d16b">More...</a><br /></td></tr>
<tr class="separator:a05cd4086fbb7c752337b52c49c31d16b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1a7a7976e72dd2dd28014a9179d56aaf"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a> (<a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
<tr class="memdesc:a1a7a7976e72dd2dd28014a9179d56aaf"><td class="mdescLeft"> </td><td class="mdescRight">Print a number in hexadecimal notation to USARTx. <a href="#a1a7a7976e72dd2dd28014a9179d56aaf">More...</a><br /></td></tr>
<tr class="separator:a1a7a7976e72dd2dd28014a9179d56aaf"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3c5b33a971b5359958e66321165cb496"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a3c5b33a971b5359958e66321165cb496">dbprintlnInt_hex</a> (<a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> value)</td></tr>
<tr class="memdesc:a3c5b33a971b5359958e66321165cb496"><td class="mdescLeft"> </td><td class="mdescRight">Print a number in hexadecimal notation to USARTx and go to the next line. <a href="#a3c5b33a971b5359958e66321165cb496">More...</a><br /></td></tr>
<tr class="separator:a3c5b33a971b5359958e66321165cb496"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a91119ee9f494f8619f186fefe0e43d2b"><td class="memItemLeft" align="right" valign="top">char </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a91119ee9f494f8619f186fefe0e43d2b">dbReadChar</a> (void)</td></tr>
<tr class="memdesc:a91119ee9f494f8619f186fefe0e43d2b"><td class="mdescLeft"> </td><td class="mdescRight">Read a character from USARTx. <a href="#a91119ee9f494f8619f186fefe0e43d2b">More...</a><br /></td></tr>
<tr class="separator:a91119ee9f494f8619f186fefe0e43d2b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afb3acf31bedd0a65df5cd2fe634e6a21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#afb3acf31bedd0a65df5cd2fe634e6a21">dbReadInt</a> (void)</td></tr>
<tr class="memdesc:afb3acf31bedd0a65df5cd2fe634e6a21"><td class="mdescLeft"> </td><td class="mdescRight">Read a decimal character from USARTx and convert it to a <code>uint8_t</code> value. <a href="#afb3acf31bedd0a65df5cd2fe634e6a21">More...</a><br /></td></tr>
<tr class="separator:afb3acf31bedd0a65df5cd2fe634e6a21"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a82b12a746031f077dd36e7b3777631a4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a82b12a746031f077dd36e7b3777631a4">dbReadLine</a> (char *buf)</td></tr>
<tr class="memdesc:a82b12a746031f077dd36e7b3777631a4"><td class="mdescLeft"> </td><td class="mdescRight">Read a string (char array) from USARTx. <a href="#a82b12a746031f077dd36e7b3777631a4">More...</a><br /></td></tr>
<tr class="separator:a82b12a746031f077dd36e7b3777631a4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2438c70ed863bee3348de2d4fc525031"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a2438c70ed863bee3348de2d4fc525031">dbGet_RXstatus</a> (void)</td></tr>
<tr class="memdesc:a2438c70ed863bee3348de2d4fc525031"><td class="mdescLeft"> </td><td class="mdescRight">Check if data was received using interrupts in the RX buffer. <a href="#a2438c70ed863bee3348de2d4fc525031">More...</a><br /></td></tr>
<tr class="separator:a2438c70ed863bee3348de2d4fc525031"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8c47d4f12d612d50a48f88079b9788b7"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a8c47d4f12d612d50a48f88079b9788b7">dbGet_RXbuffer</a> (char *buf)</td></tr>
<tr class="memdesc:a8c47d4f12d612d50a48f88079b9788b7"><td class="mdescLeft"> </td><td class="mdescRight">Get the value of the RX buffer and clear the <code>dataReceived</code> flag. <a href="#a8c47d4f12d612d50a48f88079b9788b7">More...</a><br /></td></tr>
<tr class="separator:a8c47d4f12d612d50a48f88079b9788b7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8ef4dfd53f8b518acaeddcda2b159c61"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a8ef4dfd53f8b518acaeddcda2b159c61">USART0_RX_IRQHandler</a> (void)</td></tr>
<tr class="memdesc:a8ef4dfd53f8b518acaeddcda2b159c61"><td class="mdescLeft"> </td><td class="mdescRight">USART0 RX interrupt service routine. <a href="#a8ef4dfd53f8b518acaeddcda2b159c61">More...</a><br /></td></tr>
<tr class="separator:a8ef4dfd53f8b518acaeddcda2b159c61"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa1ad8819e3b118aa46e7c04efc32593b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#aa1ad8819e3b118aa46e7c04efc32593b">USART0_TX_IRQHandler</a> (void)</td></tr>
<tr class="memdesc:aa1ad8819e3b118aa46e7c04efc32593b"><td class="mdescLeft"> </td><td class="mdescRight">USART0 TX interrupt service routine. <a href="#aa1ad8819e3b118aa46e7c04efc32593b">More...</a><br /></td></tr>
<tr class="separator:aa1ad8819e3b118aa46e7c04efc32593b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa6a5099bafcea7a957c8a7aff925a5c2"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#aa6a5099bafcea7a957c8a7aff925a5c2">USART1_RX_IRQHandler</a> (void)</td></tr>
<tr class="memdesc:aa6a5099bafcea7a957c8a7aff925a5c2"><td class="mdescLeft"> </td><td class="mdescRight">USART1 RX interrupt service routine. <a href="#aa6a5099bafcea7a957c8a7aff925a5c2">More...</a><br /></td></tr>
<tr class="separator:aa6a5099bafcea7a957c8a7aff925a5c2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af7afa223a57cccc216b627b070ad9443"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#af7afa223a57cccc216b627b070ad9443">USART1_TX_IRQHandler</a> (void)</td></tr>
<tr class="memdesc:af7afa223a57cccc216b627b070ad9443"><td class="mdescLeft"> </td><td class="mdescRight">USART1 TX interrupt service routine. <a href="#af7afa223a57cccc216b627b070ad9443">More...</a><br /></td></tr>
<tr class="separator:af7afa223a57cccc216b627b070ad9443"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a17cb68175234053c0b4f7356b6b20e18"><td class="memItemLeft" align="right" valign="top">USART_TypeDef * </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></td></tr>
<tr class="separator:a17cb68175234053c0b4f7356b6b20e18"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9caaf5e68386ab1a12ef35bee230b1f2"><td class="memItemLeft" align="right" valign="top">volatile bool </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a> = false</td></tr>
<tr class="separator:a9caaf5e68386ab1a12ef35bee230b1f2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9d6fb225dc9d453e3200d22c361bf2cd"><td class="memItemLeft" align="right" valign="top">volatile char </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a> [80]</td></tr>
<tr class="separator:a9d6fb225dc9d453e3200d22c361bf2cd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0ade938809d4336c16aa02941cfbb20f"><td class="memItemLeft" align="right" valign="top">volatile char </td><td class="memItemRight" valign="bottom"><a class="el" href="dbprint_8c.html#a0ade938809d4336c16aa02941cfbb20f">tx_buffer</a> [80]</td></tr>
<tr class="separator:a0ade938809d4336c16aa02941cfbb20f"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Homebrew println/printf replacement "DeBugPrint". </p>
<p>Originally designed for use on the Silicion Labs Happy Gecko EFM32 board (EFM32HG322 – TQFP48). </p><dl class="section version"><dt>Version</dt><dd>7.0 </dd></dl>
<dl class="section author"><dt>Author</dt><dd>Brecht Van Eeckhoudt</dd></dl>
<hr/>
<h1><a class="anchor" id="Versions"></a>
Versions</h1>
<p>Please check <a href="https://github.com/Fescron/dbprint">https://github.com/Fescron/dbprint</a> to find the latest version of dbprint!</p>
<ul>
<li>v1.0: "define" used to jump between VCOM or other mode, itoa (<stdlib.h>) used aswell as stdio.h </li>
<li>v1.1: Separated printInt method in a separate function for printing "int32_t" and "uint32_t" values. </li>
<li>v1.2: Added more options to the initialize method (location selection & boolean if VCOM is used). </li>
<li>v2.0: Restructured files to be used in other projects, added a lot more documentation, added "dbAlert" and "dbClear" methods. </li>
<li>v2.1: Added interrupt functionality. </li>
<li>v2.2: Added parse functions, separated method for printing uint values in a separate one for DEC and HEX notation. </li>
<li>v2.3: Updated documentation. </li>
<li>v2.4: Fixed notes. </li>
<li>v2.5: Separated method for printing int values in a separate one for DEC and HEX notation. </li>
<li>v2.6: Stopped using itoa (<stdlib.h>) in all methods. </li>
<li>v3.0: Simplified number printing, stopped using separate methods for uint and int values. </li>
<li>v3.1: Removed useless if... check. </li>
<li>v3.2: Added the ability to print text in a color. </li>
<li>v3.3: Added info, warning and critical error printing methods. </li>
<li>v3.4: Added printInt(_hex) methods that directly go to a new line. </li>
<li>v3.5: Added USART0 IRQ handlers. </li>
<li>v3.6: Added the ability to print (u)int values as INFO, WARN or CRIT lines. </li>
<li>v3.7: Added separate "_hex" methods for dbinfo/warn/critInt instead of a boolean to select (hexa)decimal notation. </li>
<li>v3.8: Added ReadChar-Int-Line methods. </li>
<li>v3.9: Added "void" between argument brackets were before nothing was. </li>
<li>v4.0: Added more documentation. </li>
<li>v4.1: Added color reset before welcome message. </li>
<li>v5.0: Made uint-char conversion methods static, moved color functionality to enum, started moving interrupt functionality to use getters and setters. </li>
<li>v5.1: Fixed interrupt functionality with getters and setters. </li>
<li>v6.0: Cleaned up interrupt functionality and added some documentation. (put some code in comments to maybe fix later if ever necessary) </li>
<li>v6.1: Made <code>dbpointer</code> a local variable (removed <code>extern</code>). Removed <code>extern</code> from the documentation. </li>
<li>v6.2: Removed <code>static</code> before the local variables (not necessary). </li>
<li>v7.0: Updated documentation.</li>
</ul>
<hr/>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd><b>Future improvements:</b><br />
<ul>
<li>Implement <code>dbSet_TXbuffer</code> and <code>charHex_to_uint32</code> (if necessary).</li>
<li>Add more functionality to print numbers, ...</li>
<li>Separate back-end <-> MCU specific code</li>
</ul>
</dd></dl>
<hr/>
<h1><a class="anchor" id="License"></a>
License</h1>
<p><b>Copyright (C) 2019 - Brecht Van Eeckhoudt</b></p>
<p>This program is free software: you can redistribute it and/or modify it under the terms of the <b>GNU General Public License</b> as published by the Free Software Foundation, either <b>version 3</b> of the License, or (at your option) any later version.</p>
<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.</p>
<p><em>A copy of the GNU General Public License can be found in the <code>LICENSE</code> file along with this source code.</em></p>
<p><br />
Some methods also use code obtained from examples from <a href="https://github.com/SiliconLabs/peripheral_examples">Silicon Labs' GitHub</a>. These sections are licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.</p>
<hr/>
<dl class="section attention"><dt>Attention</dt><dd>See the file <code><a class="el" href="dbprint__documentation_8h.html" title="This file contains useful documentation closely related to dbprint. ">dbprint_documentation.h</a></code> for a lot of useful documentation! </dd></dl>
<p class="definition">Definition in file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a23c70d699a5a775bc2e1ebeb8603f630"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23c70d699a5a775bc2e1ebeb8603f630">◆ </a></span>COLOR_BLUE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_BLUE   "\x1b[34m"</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00108">108</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="a82573859711fce56f1aa0a76b18a9b18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82573859711fce56f1aa0a76b18a9b18">◆ </a></span>COLOR_CYAN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_CYAN   "\x1b[36m"</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00109">109</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="afc9149f5de51bd9ac4f5ebbfa153f018"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc9149f5de51bd9ac4f5ebbfa153f018">◆ </a></span>COLOR_GREEN</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_GREEN   "\x1b[32m"</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00107">107</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="a8deb0beccea721b35bdb1b4f7264fe75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8deb0beccea721b35bdb1b4f7264fe75">◆ </a></span>COLOR_MAGENTA</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_MAGENTA   "\x1b[35m"</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00110">110</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="ad86358bf19927183dd7b4ae215a29731"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad86358bf19927183dd7b4ae215a29731">◆ </a></span>COLOR_RED</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_RED   "\x1b[31m"</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00106">106</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="a17f760256046df23dd0ab46602f04d02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17f760256046df23dd0ab46602f04d02">◆ </a></span>COLOR_RESET</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_RESET   "\x1b[0m"</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00112">112</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="a4534b577b74a58b0f4b7be027af664e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4534b577b74a58b0f4b7be027af664e0">◆ </a></span>COLOR_YELLOW</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define COLOR_YELLOW   "\x1b[33m"</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00111">111</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="aa3eebc96ec0d2a2f3a2b166f3d08ddc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3eebc96ec0d2a2f3a2b166f3d08ddc7">◆ </a></span>TO_DEC</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TO_DEC</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">i</td><td>)</td>
<td>   (i <= 9 ? '0' + i : '?') /* return "?" if out of range */</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00103">103</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="ac5244e0cbb66331a50ec3d0bbba7308b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5244e0cbb66331a50ec3d0bbba7308b">◆ </a></span>TO_HEX</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define TO_HEX</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">i</td><td>)</td>
<td>   (i <= 9 ? '0' + i : 'A' - 10 + i) /* "?:" = ternary operator (return ['0' + i] if [i <= 9] = true, ['A' - 10 + i] if false) */</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00102">102</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a357b85de3c7d286b92fd182309d04727"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a357b85de3c7d286b92fd182309d04727">◆ </a></span>charDec_to_uint32()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> charDec_to_uint32 </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>buf</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a string (char array) in decimal notation to a <code>uint32_t</code> value. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"00BA0FA1"</code>) but a char array, the input buffer (array) needs to end with NULL (<code>"\0"</code>)!</dd>
<dd>
This is a static method because it's only internally used in this file and called by other methods if necessary.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>The decimal string to convert to a <code>uint32_t</code> value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The resulting <code>uint32_t</code> value. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01186">1186</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> {</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span>  <span class="comment">/* Value to eventually return */</span></div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> value = 0;</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span> </div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  <span class="comment">/* Loop until buffer is empty */</span></div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <span class="keywordflow">while</span> (*buf)</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  {</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  <span class="comment">/* Get current character, increment afterwards */</span></div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> byte = *buf++;</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span> </div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  <span class="comment">/* Check if the next value we need to add can fit in a uint32_t */</span></div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  <span class="keywordflow">if</span> ( (value <= 0xFFFFFFF) && ((byte - <span class="charliteral">'0'</span>) <= 0xF) )</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  {</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  <span class="comment">/* Convert the ASCII (decimal) character to the representing decimal value</span></div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span> <span class="comment"> * and add it to the value (which is multiplied by 10 for each position) */</span></div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  value = (value * 10) + (byte - <span class="charliteral">'0'</span>);</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  }</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  {</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>  <span class="comment">/* Given buffer can't fit in uint32_t */</span></div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  <span class="keywordflow">return</span> (0);</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  }</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  }</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> </div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  <span class="keywordflow">return</span> (value);</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> }</div><div class="ttc" id="vl53l1__types_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdoc">Typedef defining 8 bit unsigned char type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00098">vl53l1_types.h:98</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a653b977893c617449265db916e47aea2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a653b977893c617449265db916e47aea2">◆ </a></span>dbAlert()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbAlert </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sound an alert in the terminal. </p>
<p>Print the <em>bell</em> (alert) character to USARTx. </p>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00344">344</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> {</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\a'</span>);</div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aaf486c0dc2992930991d73d2d4240abb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf486c0dc2992930991d73d2d4240abb">◆ </a></span>dbClear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbClear </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Clear the terminal. </p>
<p>Print the <em>form feed</em> character to USARTx. Accessing old data is still possible by scrolling up in the serial port program. </p>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00358">358</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00359"></a><span class="lineno"> 359</span> {</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\f'</span>);</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="afbbbe6e04352a6b56d1d8a053ec4f941"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbbbe6e04352a6b56d1d8a053ec4f941">◆ </a></span>dbcrit()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbcrit </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a <em>critical error</em> string (char array) in red to USARTx and go to the next line. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00541">541</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> {</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(<span class="stringliteral">"CRIT: "</span>, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <a class="code" href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a>(message, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> }</div><div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00054">dbprint.h:54</a></div></div>
<div class="ttc" id="dbprint_8c_html_aeac6ad47896a658b0753fa0ef8040e6c"><div class="ttname"><a href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a></div><div class="ttdeci">void dbprintln_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00482">dbprint.c:482</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad6b8e79e52a31b01f5816cdd62fb1746"><div class="ttname"><a href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a></div><div class="ttdeci">void dbprint_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00423">dbprint.c:423</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ac127caf50634ea902e2ae98d038feec8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac127caf50634ea902e2ae98d038feec8">◆ </a></span>dbcritInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbcritInt </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message2</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a <em>critical</em> value surrounded by two strings (char array) to USARTx. </p>
<p>"CRIT: " gets added in front, the decimal notation is used and the function advances to the next line. The value is in the color white, the rest is red.</p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message1</td><td>The first part of the string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to print between the two string parts.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">message2</td><td>The second part of the string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00631">631</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00632"></a><span class="lineno"> 632</span> {</div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(<span class="stringliteral">"CRIT: "</span>, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(message1, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  <a class="code" href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a>(value);</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <a class="code" href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a>(message2, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> }</div><div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00054">dbprint.h:54</a></div></div>
<div class="ttc" id="dbprint_8c_html_a4e4e18f85e358d8cc702ea8c2f190503"><div class="ttname"><a href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a></div><div class="ttdeci">void dbprintInt(int32_t value)</div><div class="ttdoc">Print a number in decimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00740">dbprint.c:740</a></div></div>
<div class="ttc" id="dbprint_8c_html_aeac6ad47896a658b0753fa0ef8040e6c"><div class="ttname"><a href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a></div><div class="ttdeci">void dbprintln_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00482">dbprint.c:482</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad6b8e79e52a31b01f5816cdd62fb1746"><div class="ttname"><a href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a></div><div class="ttdeci">void dbprint_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00423">dbprint.c:423</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a68c0b5602768fe1b3b115818d9d19517"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68c0b5602768fe1b3b115818d9d19517">◆ </a></span>dbcritInt_hex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbcritInt_hex </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message2</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a <em>critical</em> value surrounded by two strings (char array) to USARTx. </p>
<p>"CRIT: " gets added in front, the hexadecimal notation is used and the function advances to the next line. The value is in the color white, the rest is red.</p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message1</td><td>The first part of the string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to print between the two string parts.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">message2</td><td>The second part of the string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00723">723</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00724"></a><span class="lineno"> 724</span> {</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(<span class="stringliteral">"CRIT: "</span>, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(message1, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  <a class="code" href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a>(value);</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  <a class="code" href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a>(message2, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>);</div><div class="line"><a name="l00729"></a><span class="lineno"> 729</span> }</div><div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00054">dbprint.h:54</a></div></div>
<div class="ttc" id="dbprint_8c_html_a1a7a7976e72dd2dd28014a9179d56aaf"><div class="ttname"><a href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a></div><div class="ttdeci">void dbprintInt_hex(int32_t value)</div><div class="ttdoc">Print a number in hexadecimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00796">dbprint.c:796</a></div></div>
<div class="ttc" id="dbprint_8c_html_aeac6ad47896a658b0753fa0ef8040e6c"><div class="ttname"><a href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a></div><div class="ttdeci">void dbprintln_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00482">dbprint.c:482</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad6b8e79e52a31b01f5816cdd62fb1746"><div class="ttname"><a href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a></div><div class="ttdeci">void dbprint_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00423">dbprint.c:423</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8c47d4f12d612d50a48f88079b9788b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c47d4f12d612d50a48f88079b9788b7">◆ </a></span>dbGet_RXbuffer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbGet_RXbuffer </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>buf</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get the value of the RX buffer and clear the <code>dataReceived</code> flag. </p>
<dl class="section note"><dt>Note</dt><dd>The index of the RX buffer gets reset in the RX handler when a CR character is received or the buffer is filled.</dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Interrupt functionality has to be enabled on initialization for this function to work correctly.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>The buffer to put the resulting string in.<br />
<b>This needs to have a length of <code>DBPRINT_BUFFER_SIZE</code> for the function to work properly: <code>char buf[DBPRINT_BUFFER_SIZE];</code>!</b> </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01019">1019</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> {</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  <span class="keywordflow">if</span> (<a class="code" href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a>)</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  {</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> i;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <span class="comment">/* Copy data from the RX buffer to the given buffer */</span></div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  <span class="keywordflow">for</span> (i = 0; <a class="code" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a>[i] != 0 && i < <a class="code" href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a>-1; i++)</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  {</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  buf[i] = <a class="code" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a>[i];</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  }</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span> </div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  <span class="comment">/* Add NULL termination character */</span></div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  buf[i++] = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span> </div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  <span class="comment">/* Reset "notification" variable */</span></div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <a class="code" href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a> = <span class="keyword">false</span>;</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  }</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  {</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  <a class="code" href="dbprint_8c.html#afbbbe6e04352a6b56d1d8a053ec4f941">dbcrit</a>(<span class="stringliteral">"No received data available!"</span>);</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  }</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> }</div><div class="ttc" id="dbprint_8c_html_a9caaf5e68386ab1a12ef35bee230b1f2"><div class="ttname"><a href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a></div><div class="ttdeci">volatile bool dataReceived</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00120">dbprint.c:120</a></div></div>
<div class="ttc" id="dbprint_8c_html_a9d6fb225dc9d453e3200d22c361bf2cd"><div class="ttname"><a href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a></div><div class="ttdeci">volatile char rx_buffer[80]</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00121">dbprint.c:121</a></div></div>
<div class="ttc" id="dbprint_8h_html_ad5855358e9d9ed029cc2980d7f80dddb"><div class="ttname"><a href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a></div><div class="ttdeci">#define DBPRINT_BUFFER_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00048">dbprint.h:48</a></div></div>
<div class="ttc" id="dbprint_8c_html_afbbbe6e04352a6b56d1d8a053ec4f941"><div class="ttname"><a href="dbprint_8c.html#afbbbe6e04352a6b56d1d8a053ec4f941">dbcrit</a></div><div class="ttdeci">void dbcrit(char *message)</div><div class="ttdoc">Print a critical error string (char array) in red to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00541">dbprint.c:541</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a2438c70ed863bee3348de2d4fc525031"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2438c70ed863bee3348de2d4fc525031">◆ </a></span>dbGet_RXstatus()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool dbGet_RXstatus </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Check if data was received using interrupts in the RX buffer. </p>
<dl class="section note"><dt>Note</dt><dd>The index of the RX buffer gets reset in the RX handler when a CR character is received or the buffer is filled.</dd></dl>
<dl class="section attention"><dt>Attention</dt><dd>Interrupt functionality has to be enabled on initialization for this function to work correctly.</dd></dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li><code>true</code> - Data is received in the RX buffer. </li>
<li><code>false</code> - No data is received. </li>
</ul>
</dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00911">911</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00912"></a><span class="lineno"> 912</span> {</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  <span class="keywordflow">return</span> (<a class="code" href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a>);</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span> }</div><div class="ttc" id="dbprint_8c_html_a9caaf5e68386ab1a12ef35bee230b1f2"><div class="ttname"><a href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a></div><div class="ttdeci">volatile bool dataReceived</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00120">dbprint.c:120</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="acb5d4e1082c625ad85d835d4e053d4d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb5d4e1082c625ad85d835d4e053d4d8">◆ </a></span>dbinfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbinfo </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print an <em>info</em> string (char array) to USARTx and go to the next line. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00505">505</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> {</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<span class="stringliteral">"INFO: "</span>);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <a class="code" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a>(message);</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span> }</div><div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a5e059a469cca8341eb0a84e5c352f518"><div class="ttname"><a href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a></div><div class="ttdeci">void dbprintln(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00397">dbprint.c:397</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0511ddad2e00a8187d5449b15de7eb4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0511ddad2e00a8187d5449b15de7eb4f">◆ </a></span>dbinfoInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbinfoInt </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message2</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print an <em>info</em> value surrounded by two strings (char array) to USARTx. </p>
<p>"INFO: " gets added in front, the decimal notation is used and the function advances to the next line.</p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message1</td><td>The first part of the string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to print between the two string parts.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">message2</td><td>The second part of the string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00569">569</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00570"></a><span class="lineno"> 570</span> {</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<span class="stringliteral">"INFO: "</span>);</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message1);</div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <a class="code" href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a>(value);</div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a>(message2);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span> }</div><div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a5e059a469cca8341eb0a84e5c352f518"><div class="ttname"><a href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a></div><div class="ttdeci">void dbprintln(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00397">dbprint.c:397</a></div></div>
<div class="ttc" id="dbprint_8c_html_a4e4e18f85e358d8cc702ea8c2f190503"><div class="ttname"><a href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a></div><div class="ttdeci">void dbprintInt(int32_t value)</div><div class="ttdoc">Print a number in decimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00740">dbprint.c:740</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af175e2f9858ee73556d78256d72e6823"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af175e2f9858ee73556d78256d72e6823">◆ </a></span>dbinfoInt_hex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbinfoInt_hex </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message2</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print an <em>info</em> value surrounded by two strings (char array) to USARTx. </p>
<p>"INFO: " gets added in front, the hexadecimal notation is used and the function advances to the next line.</p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message1</td><td>The first part of the string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to print between the two string parts.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">message2</td><td>The second part of the string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00661">661</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00662"></a><span class="lineno"> 662</span> {</div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<span class="stringliteral">"INFO: "</span>);</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message1);</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <a class="code" href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a>(value);</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <a class="code" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a>(message2);</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span> }</div><div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a5e059a469cca8341eb0a84e5c352f518"><div class="ttname"><a href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a></div><div class="ttdeci">void dbprintln(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00397">dbprint.c:397</a></div></div>
<div class="ttc" id="dbprint_8c_html_a1a7a7976e72dd2dd28014a9179d56aaf"><div class="ttname"><a href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a></div><div class="ttdeci">void dbprintInt_hex(int32_t value)</div><div class="ttdoc">Print a number in hexadecimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00796">dbprint.c:796</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a48c1f5d07dde14219473ff6a89a3f7ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48c1f5d07dde14219473ff6a89a3f7ba">◆ </a></span>dbprint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprint </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a string (char array) to USARTx. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00375">375</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00376"></a><span class="lineno"> 376</span> {</div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  <span class="comment">/* "message[i] != 0" makes "uint32_t length = strlen(message)"</span></div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="comment"> * not necessary (given string MUST be terminated by NULL for this to work) */</span></div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">for</span> (<a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> i = 0; message[i] != 0; i++)</div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  {</div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, message[i]);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  }</div><div class="line"><a name="l00383"></a><span class="lineno"> 383</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ad6b8e79e52a31b01f5816cdd62fb1746"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6b8e79e52a31b01f5816cdd62fb1746">◆ </a></span>dbprint_color()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprint_color </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="dbprint_8h.html#a1ab19a6b15298e2a0bb7ba320cf8b540">dbprint_color_t</a> </td>
<td class="paramname"><em>color</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a string (char array) to USARTx in a given color. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">color</td><td>The color to print the text in. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00423">423</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> {</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <span class="keywordflow">switch</span> (color)</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  {</div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">case</span> <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607a893c6b76f1c0df789783a2d1405d7dba">DEFAULT_COLOR</a>:</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">case</span> <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a>:</div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#ad86358bf19927183dd7b4ae215a29731">COLOR_RED</a>);</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">case</span> <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607aa60bd322f93178d68184e30e162571ca">GREEN</a>:</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#afc9149f5de51bd9ac4f5ebbfa153f018">COLOR_GREEN</a>);</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keywordflow">case</span> <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607a35d6719cb4d7577c031b3d79057a1b79">BLUE</a>:</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a23c70d699a5a775bc2e1ebeb8603f630">COLOR_BLUE</a>);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  <span class="keywordflow">case</span> <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607aafe71cad474c15ce63b300c470eef8cc">CYAN</a>:</div><div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a82573859711fce56f1aa0a76b18a9b18">COLOR_CYAN</a>);</div><div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="keywordflow">case</span> <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607a56926c820ad72d0977e7ee44d9916e62">MAGENTA</a>:</div><div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a8deb0beccea721b35bdb1b4f7264fe75">COLOR_MAGENTA</a>);</div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">case</span> <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>:</div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a4534b577b74a58b0f4b7be027af664e0">COLOR_YELLOW</a>);</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  }</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span> }</div><div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607aafe71cad474c15ce63b300c470eef8cc"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607aafe71cad474c15ce63b300c470eef8cc">CYAN</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00057">dbprint.h:57</a></div></div>
<div class="ttc" id="dbprint_8c_html_afc9149f5de51bd9ac4f5ebbfa153f018"><div class="ttname"><a href="dbprint_8c.html#afc9149f5de51bd9ac4f5ebbfa153f018">COLOR_GREEN</a></div><div class="ttdeci">#define COLOR_GREEN</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00107">dbprint.c:107</a></div></div>
<div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607a893c6b76f1c0df789783a2d1405d7dba"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607a893c6b76f1c0df789783a2d1405d7dba">DEFAULT_COLOR</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00060">dbprint.h:60</a></div></div>
<div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a4534b577b74a58b0f4b7be027af664e0"><div class="ttname"><a href="dbprint_8c.html#a4534b577b74a58b0f4b7be027af664e0">COLOR_YELLOW</a></div><div class="ttdeci">#define COLOR_YELLOW</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00111">dbprint.c:111</a></div></div>
<div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607af80f9a890089d211842d59625e561f88">RED</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00054">dbprint.h:54</a></div></div>
<div class="ttc" id="dbprint_8c_html_a8deb0beccea721b35bdb1b4f7264fe75"><div class="ttname"><a href="dbprint_8c.html#a8deb0beccea721b35bdb1b4f7264fe75">COLOR_MAGENTA</a></div><div class="ttdeci">#define COLOR_MAGENTA</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00110">dbprint.c:110</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad86358bf19927183dd7b4ae215a29731"><div class="ttname"><a href="dbprint_8c.html#ad86358bf19927183dd7b4ae215a29731">COLOR_RED</a></div><div class="ttdeci">#define COLOR_RED</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00106">dbprint.c:106</a></div></div>
<div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607aa60bd322f93178d68184e30e162571ca"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607aa60bd322f93178d68184e30e162571ca">GREEN</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00055">dbprint.h:55</a></div></div>
<div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00059">dbprint.h:59</a></div></div>
<div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607a35d6719cb4d7577c031b3d79057a1b79"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607a35d6719cb4d7577c031b3d79057a1b79">BLUE</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00056">dbprint.h:56</a></div></div>
<div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607a56926c820ad72d0977e7ee44d9916e62"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607a56926c820ad72d0977e7ee44d9916e62">MAGENTA</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00058">dbprint.h:58</a></div></div>
<div class="ttc" id="dbprint_8c_html_a23c70d699a5a775bc2e1ebeb8603f630"><div class="ttname"><a href="dbprint_8c.html#a23c70d699a5a775bc2e1ebeb8603f630">COLOR_BLUE</a></div><div class="ttdeci">#define COLOR_BLUE</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00108">dbprint.c:108</a></div></div>
<div class="ttc" id="dbprint_8c_html_a82573859711fce56f1aa0a76b18a9b18"><div class="ttname"><a href="dbprint_8c.html#a82573859711fce56f1aa0a76b18a9b18">COLOR_CYAN</a></div><div class="ttdeci">#define COLOR_CYAN</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00109">dbprint.c:109</a></div></div>
<div class="ttc" id="dbprint_8c_html_a17f760256046df23dd0ab46602f04d02"><div class="ttname"><a href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a></div><div class="ttdeci">#define COLOR_RESET</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00112">dbprint.c:112</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab517cdef3b6920aa62bb748109212433"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab517cdef3b6920aa62bb748109212433">◆ </a></span>dbprint_INIT()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprint_INIT </td>
<td>(</td>
<td class="paramtype">USART_TypeDef * </td>
<td class="paramname"><em>pointer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> </td>
<td class="paramname"><em>location</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>vcom</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>interrupts</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initialize USARTx. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">pointer</td><td>Pointer to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">location</td><td>Location for pin routing.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">vcom</td><td><ul>
<li><code>true</code> - Isolation switch enabled by setting <code>PA9</code> high so the <b>Virtual COM port (CDC)</b> can be used. </li>
<li><code>false</code> - Isolation switch disabled on the Happy Gecko board.</li>
</ul>
</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">interrupts</td><td><ul>
<li><code>true</code> - Enable interrupt functionality. </li>
<li><code>false</code> - No interrupt functionality is initialized. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00150">150</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> {</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">/* Store the pointer in the global variable */</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a> = pointer;</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> </div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  <span class="comment">/*</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="comment"> * USART_INITASYNC_DEFAULT:</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="comment"> * config.enable = usartEnable // Specifies whether TX and/or RX is enabled when initialization is completed</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="comment"> * // (Enable RX/TX when initialization is complete).</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="comment"> * config.refFreq = 0 // USART/UART reference clock assumed when configuring baud rate setup</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="comment"> * // (0 = Use current configured reference clock for configuring baud rate).</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="comment"> * config.baudrate = 115200 // Desired baudrate (115200 bits/s).</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="comment"> * config.oversampling = usartOVS16 // Oversampling used (16x oversampling).</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> * config.databits = usartDatabits8 // Number of data bits in frame (8 data bits).</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> * config.parity = usartNoParity // Parity mode to use (no parity).</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> * config.stopbits = usartStopbits1 // Number of stop bits to use (1 stop bit).</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="comment"> * config.mvdis = false // Majority Vote Disable for 16x, 8x and 6x oversampling modes (Do not disable majority vote).</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="comment"> * config.prsRxEnable = false // Enable USART Rx via PRS (Not USART PRS input mode).</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="comment"> * config.prsRxCh = 0 // Select PRS channel for USART Rx. (Only valid if prsRxEnable is true - PRS channel 0).</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> * config.autoCsEnable = false // Auto CS enabling (Auto CS functionality enable/disable switch - disabled).</span></div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment"> */</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  USART_InitAsync_TypeDef config = USART_INITASYNC_DEFAULT;</div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">/* Enable oscillator to GPIO*/</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  CMU_ClockEnable(cmuClock_GPIO, <span class="keyword">true</span>);</div><div class="line"><a name="l00176"></a><span class="lineno"> 176</span> </div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="comment">/* Enable oscillator to USARTx modules */</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">if</span> (<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a> == USART0)</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  {</div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  CMU_ClockEnable(cmuClock_USART0, <span class="keyword">true</span>);</div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  }</div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a> == USART1)</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  CMU_ClockEnable(cmuClock_USART1, <span class="keyword">true</span>);</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  }</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="comment">/* Set PA9 (EFM_BC_EN) high if necessary to enable the isolation switch */</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordflow">if</span> (vcom)</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  {</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  GPIO_PinModeSet(gpioPortA, 9, gpioModePushPull, 1);</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  GPIO_PinOutSet(gpioPortA, 9);</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="comment">/* Set pin modes for UART TX and RX pins */</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">if</span> (<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a> == USART0)</div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  {</div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="keywordflow">switch</span> (location)</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  {</div><div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  <span class="keywordflow">case</span> 0:</div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  GPIO_PinModeSet(gpioPortE, 11, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  GPIO_PinModeSet(gpioPortE, 10, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  GPIO_PinModeSet(gpioPortC, 10, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  GPIO_PinModeSet(gpioPortC, 11, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  GPIO_PinModeSet(gpioPortE, 12, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  GPIO_PinModeSet(gpioPortE, 13, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="keywordflow">case</span> 4:</div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  GPIO_PinModeSet(gpioPortB, 8, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  GPIO_PinModeSet(gpioPortB, 7, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <span class="keywordflow">case</span> 5:</div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">case</span> 6:</div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  GPIO_PinModeSet(gpioPortC, 1, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  GPIO_PinModeSet(gpioPortC, 0, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="comment">/* default: */</span></div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="comment">/* No default */</span></div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  }</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a> == USART1)</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">switch</span> (location)</div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  {</div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">case</span> 0:</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  GPIO_PinModeSet(gpioPortC, 1, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  GPIO_PinModeSet(gpioPortC, 0, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  GPIO_PinModeSet(gpioPortD, 6, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  GPIO_PinModeSet(gpioPortD, 7, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">case</span> 4:</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  GPIO_PinModeSet(gpioPortA, 0, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  GPIO_PinModeSet(gpioPortF, 2, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">case</span> 5:</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  GPIO_PinModeSet(gpioPortC, 2, gpioModeInput, 0); <span class="comment">/* RX */</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  GPIO_PinModeSet(gpioPortC, 1, gpioModePushPull, 1); <span class="comment">/* TX */</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="comment">/* default: */</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="comment">/* No default */</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  }</div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  }</div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> </div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="comment">/* Initialize USART asynchronous mode */</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  USART_InitAsync(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, &config);</div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="comment">/* Route pins */</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordflow">switch</span> (location)</div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  {</div><div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">case</span> 0:</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC0;</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">case</span> 1:</div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC1;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keywordflow">case</span> 2:</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC2;</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">case</span> 3:</div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC3;</div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">case</span> 4:</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC4;</div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordflow">case</span> 5:</div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC5;</div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordflow">case</span> 6:</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_LOC6;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">default</span>:</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>->ROUTE |= USART_ROUTE_TXPEN | USART_ROUTE_RXPEN | USART_ROUTE_LOCATION_DEFAULT;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  }</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="comment">/* Enable interrupts if necessary and print welcome string (and make an alert sound in the console) */</span></div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">if</span> (interrupts)</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="comment">/* Initialize USART interrupts */</span></div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="comment">/* RX Data Valid Interrupt Enable</span></div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment"> * Set when data is available in the receive buffer. Cleared when the receive buffer is empty. */</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  USART_IntEnable(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, USART_IEN_RXDATAV);</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="comment">/* TX Complete Interrupt Enable</span></div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="comment"> * Set when a transmission has completed and no more data is available in the transmit buffer.</span></div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="comment"> * Cleared when a new transmission starts. */</span></div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  USART_IntEnable(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, USART_IEN_TXC);</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordflow">if</span> (<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a> == USART0)</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="comment">/* Enable USART interrupts */</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  NVIC_EnableIRQ(USART0_RX_IRQn);</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  NVIC_EnableIRQ(USART0_TX_IRQn);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  }</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a> == USART1)</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  {</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="comment">/* Enable USART interrupts */</span></div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  NVIC_EnableIRQ(USART1_RX_IRQn);</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  NVIC_EnableIRQ(USART1_TX_IRQn);</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  }</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="comment">/* Print welcome string */</span></div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <a class="code" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a>(<span class="stringliteral">"\a\r\f### UART initialized (interrupt mode) ###"</span>);</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="dbprint_8c.html#acb5d4e1082c625ad85d835d4e053d4d8">dbinfo</a>(<span class="stringliteral">"This is an info message."</span>);</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="dbprint_8c.html#a73de59bf0a689a086681070783a82df3">dbwarn</a>(<span class="stringliteral">"This is a warning message."</span>);</div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="dbprint_8c.html#afbbbe6e04352a6b56d1d8a053ec4f941">dbcrit</a>(<span class="stringliteral">"This is a critical error message."</span>);</div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a>(<span class="stringliteral">"### Start executing programmed code ###\n"</span>);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> </div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="comment">/* Set TX Complete Interrupt Flag (transmission has completed and no more data</span></div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span> <span class="comment"> * is available in the transmit buffer) */</span></div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  USART_IntSet(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, USART_IFS_TXC);</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  }</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <span class="comment">/* Print welcome string (and make an alert sound in the console) if not in interrupt mode */</span></div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  {</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<a class="code" href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a>);</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <a class="code" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a>(<span class="stringliteral">"\a\r\f### UART initialized (no interrupts) ###"</span>);</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="dbprint_8c.html#acb5d4e1082c625ad85d835d4e053d4d8">dbinfo</a>(<span class="stringliteral">"This is an info message."</span>);</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <a class="code" href="dbprint_8c.html#a73de59bf0a689a086681070783a82df3">dbwarn</a>(<span class="stringliteral">"This is a warning message."</span>);</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  <a class="code" href="dbprint_8c.html#afbbbe6e04352a6b56d1d8a053ec4f941">dbcrit</a>(<span class="stringliteral">"This is a critical error message."</span>);</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <a class="code" href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a>(<span class="stringliteral">"### Start executing programmed code ###\n"</span>);</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  }</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span> }</div><div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a5e059a469cca8341eb0a84e5c352f518"><div class="ttname"><a href="dbprint_8c.html#a5e059a469cca8341eb0a84e5c352f518">dbprintln</a></div><div class="ttdeci">void dbprintln(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00397">dbprint.c:397</a></div></div>
<div class="ttc" id="dbprint_8c_html_a73de59bf0a689a086681070783a82df3"><div class="ttname"><a href="dbprint_8c.html#a73de59bf0a689a086681070783a82df3">dbwarn</a></div><div class="ttdeci">void dbwarn(char *message)</div><div class="ttdoc">Print a warning string (char array) in yellow to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00523">dbprint.c:523</a></div></div>
<div class="ttc" id="dbprint_8c_html_acb5d4e1082c625ad85d835d4e053d4d8"><div class="ttname"><a href="dbprint_8c.html#acb5d4e1082c625ad85d835d4e053d4d8">dbinfo</a></div><div class="ttdeci">void dbinfo(char *message)</div><div class="ttdoc">Print an info string (char array) to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00505">dbprint.c:505</a></div></div>
<div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="dbprint_8c_html_a17f760256046df23dd0ab46602f04d02"><div class="ttname"><a href="dbprint_8c.html#a17f760256046df23dd0ab46602f04d02">COLOR_RESET</a></div><div class="ttdeci">#define COLOR_RESET</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00112">dbprint.c:112</a></div></div>
<div class="ttc" id="dbprint_8c_html_afbbbe6e04352a6b56d1d8a053ec4f941"><div class="ttname"><a href="dbprint_8c.html#afbbbe6e04352a6b56d1d8a053ec4f941">dbcrit</a></div><div class="ttdeci">void dbcrit(char *message)</div><div class="ttdoc">Print a critical error string (char array) in red to USARTx and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00541">dbprint.c:541</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a4e4e18f85e358d8cc702ea8c2f190503"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e4e18f85e358d8cc702ea8c2f190503">◆ </a></span>dbprintInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprintInt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a number in decimal notation to USARTx. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to print to USARTx.<br />
This can be of type <code>uint32_t</code> or <code>int32_t</code>. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00740">740</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> {</div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="comment">/* Buffer to put the char array in (Needs to be 10) */</span></div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span>  <span class="keywordtype">char</span> decchar[10];</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span> </div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <span class="comment">/* Convert a negative number to a positive one and print the "-" */</span></div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span>  <span class="keywordflow">if</span> (value < 0)</div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  {</div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  <span class="comment">/* Negative of value = flip all bits, +1</span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="comment"> * bitwise logic: "~" = "NOT" */</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> negativeValue = (~value) + 1;</div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> </div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<span class="stringliteral">"-"</span>);</div><div class="line"><a name="l00753"></a><span class="lineno"> 753</span> </div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="comment">/* Convert the value */</span></div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <a class="code" href="dbprint_8c.html#a5f61bbab614d503c3925339278530575">uint32_to_charDec</a>(decchar, negativeValue);</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span>  }</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00758"></a><span class="lineno"> 758</span>  {</div><div class="line"><a name="l00759"></a><span class="lineno"> 759</span>  <span class="comment">/* Convert the value */</span></div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <a class="code" href="dbprint_8c.html#a5f61bbab614d503c3925339278530575">uint32_to_charDec</a>(decchar, value);</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span>  }</div><div class="line"><a name="l00762"></a><span class="lineno"> 762</span> </div><div class="line"><a name="l00763"></a><span class="lineno"> 763</span>  <span class="comment">/* Print the buffer */</span></div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(decchar);</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span> }</div><div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a5f61bbab614d503c3925339278530575"><div class="ttname"><a href="dbprint_8c.html#a5f61bbab614d503c3925339278530575">uint32_to_charDec</a></div><div class="ttdeci">static void uint32_to_charDec(char *buf, uint32_t value)</div><div class="ttdoc">Convert a uint32_t value to a decimal char array (string). </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l01124">dbprint.c:1124</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1a7a7976e72dd2dd28014a9179d56aaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a7a7976e72dd2dd28014a9179d56aaf">◆ </a></span>dbprintInt_hex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprintInt_hex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a number in hexadecimal notation to USARTx. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to print to USARTx.<br />
This can be of type <code>uint32_t</code> or <code>int32_t</code>. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00796">796</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00797"></a><span class="lineno"> 797</span> {</div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <span class="keywordtype">char</span> hexchar[9]; <span class="comment">/* Needs to be 9 */</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <a class="code" href="dbprint_8c.html#a36d9f16a26ecfc8540df56331bca3533">uint32_to_charHex</a>(hexchar, value, <span class="keyword">true</span>); <span class="comment">/* true: add spacing between eight HEX chars */</span></div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(<span class="stringliteral">"0x"</span>);</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(hexchar);</div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span> }</div><div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a36d9f16a26ecfc8540df56331bca3533"><div class="ttname"><a href="dbprint_8c.html#a36d9f16a26ecfc8540df56331bca3533">uint32_to_charHex</a></div><div class="ttdeci">static void uint32_to_charHex(char *buf, uint32_t value, bool spacing)</div><div class="ttdoc">Convert a uint32_t value to a hexadecimal char array (string). </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l01063">dbprint.c:1063</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5e059a469cca8341eb0a84e5c352f518"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e059a469cca8341eb0a84e5c352f518">◆ </a></span>dbprintln()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprintln </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a string (char array) to USARTx and go to the next line. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00397">397</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00398"></a><span class="lineno"> 398</span> {</div><div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a>(message);</div><div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="comment">/* Carriage return */</span></div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\r'</span>);</div><div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div><div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <span class="comment">/* Line feed (new line) */</span></div><div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\n'</span>);</div><div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div><div class="ttc" id="dbprint_8c_html_a48c1f5d07dde14219473ff6a89a3f7ba"><div class="ttname"><a href="dbprint_8c.html#a48c1f5d07dde14219473ff6a89a3f7ba">dbprint</a></div><div class="ttdeci">void dbprint(char *message)</div><div class="ttdoc">Print a string (char array) to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00375">dbprint.c:375</a></div></div>
<div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aeac6ad47896a658b0753fa0ef8040e6c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeac6ad47896a658b0753fa0ef8040e6c">◆ </a></span>dbprintln_color()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprintln_color </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="dbprint_8h.html#a1ab19a6b15298e2a0bb7ba320cf8b540">dbprint_color_t</a> </td>
<td class="paramname"><em>color</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a string (char array) to USARTx in a given color and go to the next line. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">color</td><td>The color to print the text in. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00482">482</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno"> 483</span> {</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(message, color);</div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span> </div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="comment">/* Carriage return */</span></div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\r'</span>);</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="comment">/* Line feed (new line) */</span></div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\n'</span>);</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad6b8e79e52a31b01f5816cdd62fb1746"><div class="ttname"><a href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a></div><div class="ttdeci">void dbprint_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00423">dbprint.c:423</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a05cd4086fbb7c752337b52c49c31d16b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05cd4086fbb7c752337b52c49c31d16b">◆ </a></span>dbprintlnInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprintlnInt </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a number in decimal notation to USARTx and go to the next line. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to print to USARTx.<br />
This can be of type <code>uint32_t</code> or <code>int32_t</code>. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00776">776</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00777"></a><span class="lineno"> 777</span> {</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <a class="code" href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a>(value);</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  <span class="comment">/* Carriage return */</span></div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\r'</span>);</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span> </div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  <span class="comment">/* Line feed (new line) */</span></div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\n'</span>);</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="dbprint_8c_html_a4e4e18f85e358d8cc702ea8c2f190503"><div class="ttname"><a href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a></div><div class="ttdeci">void dbprintInt(int32_t value)</div><div class="ttdoc">Print a number in decimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00740">dbprint.c:740</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a3c5b33a971b5359958e66321165cb496"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c5b33a971b5359958e66321165cb496">◆ </a></span>dbprintlnInt_hex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbprintlnInt_hex </td>
<td>(</td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a number in hexadecimal notation to USARTx and go to the next line. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The number to print to USARTx.<br />
This can be of type <code>uint32_t</code> or <code>int32_t</code>. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00813">813</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00814"></a><span class="lineno"> 814</span> {</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  <a class="code" href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a>(value);</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="comment">/* Carriage return */</span></div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\r'</span>);</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="comment">/* Line feed (new line) */</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <span class="charliteral">'\n'</span>);</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="dbprint_8c_html_a1a7a7976e72dd2dd28014a9179d56aaf"><div class="ttname"><a href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a></div><div class="ttdeci">void dbprintInt_hex(int32_t value)</div><div class="ttdoc">Print a number in hexadecimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00796">dbprint.c:796</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a91119ee9f494f8619f186fefe0e43d2b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91119ee9f494f8619f186fefe0e43d2b">◆ </a></span>dbReadChar()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char dbReadChar </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read a character from USARTx. </p>
<dl class="section return"><dt>Returns</dt><dd>The character read from USARTx. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00832">832</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> {</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordflow">return</span> (USART_Rx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>));</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="afb3acf31bedd0a65df5cd2fe634e6a21"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb3acf31bedd0a65df5cd2fe634e6a21">◆ </a></span>dbReadInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> dbReadInt </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read a decimal character from USARTx and convert it to a <code>uint8_t</code> value. </p>
<dl class="section note"><dt>Note</dt><dd>Specific methods exist to read <code>uint16_t</code> and <code>uint32_t</code> values:<ul>
<li><code>uint16_t USART_RxDouble(USART_TypeDef *usart);</code></li>
<li><code>uint32_t USART_RxDoubleExt(USART_TypeDef *usart);</code></li>
</ul>
</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The converted <code>uint8_t</code> value. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00850">850</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00851"></a><span class="lineno"> 851</span> {</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="comment">/* Method expects a char array ending with a null termination character */</span></div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <span class="keywordtype">char</span> value[2];</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  value[0]= <a class="code" href="dbprint_8c.html#a91119ee9f494f8619f186fefe0e43d2b">dbReadChar</a>();</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  value[1] = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span> </div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <span class="keywordflow">return</span> (<a class="code" href="dbprint_8c.html#a357b85de3c7d286b92fd182309d04727">charDec_to_uint32</a>(value));</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span> }</div><div class="ttc" id="dbprint_8c_html_a357b85de3c7d286b92fd182309d04727"><div class="ttname"><a href="dbprint_8c.html#a357b85de3c7d286b92fd182309d04727">charDec_to_uint32</a></div><div class="ttdeci">static uint32_t charDec_to_uint32(char *buf)</div><div class="ttdoc">Convert a string (char array) in decimal notation to a uint32_t value. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l01186">dbprint.c:1186</a></div></div>
<div class="ttc" id="dbprint_8c_html_a91119ee9f494f8619f186fefe0e43d2b"><div class="ttname"><a href="dbprint_8c.html#a91119ee9f494f8619f186fefe0e43d2b">dbReadChar</a></div><div class="ttdeci">char dbReadChar(void)</div><div class="ttdoc">Read a character from USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00832">dbprint.c:832</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a82b12a746031f077dd36e7b3777631a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82b12a746031f077dd36e7b3777631a4">◆ </a></span>dbReadLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbReadLine </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>buf</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read a string (char array) from USARTx. </p>
<dl class="section note"><dt>Note</dt><dd>The reading stops when a <code>"CR"</code> (Carriage Return, ENTER) character is received or the maximum length (<code>DBPRINT_BUFFER_SIZE</code>) is reached.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>The buffer to put the resulting string in.<br />
<b>This needs to have a length of <code>DBPRINT_BUFFER_SIZE</code> for the function to work properly: <code>char buf[DBPRINT_BUFFER_SIZE];</code>!</b> </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00874">874</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00875"></a><span class="lineno"> 875</span> {</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  <span class="keywordflow">for</span> (<a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> i = 0; i < <a class="code" href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a> - 1 ; i++ )</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  {</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="keywordtype">char</span> localBuffer = USART_Rx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>);</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  <span class="comment">/* Check if a CR character is received */</span></div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  <span class="keywordflow">if</span> (localBuffer == <span class="charliteral">'\r'</span>)</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  {</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="comment">/* End with a null termination character, expected by the dbprintln method */</span></div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span>  buf[i] = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keywordflow">break</span>;</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  }</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  {</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  buf[i] = localBuffer;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  }</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  }</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span> }</div><div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="dbprint_8h_html_ad5855358e9d9ed029cc2980d7f80dddb"><div class="ttname"><a href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a></div><div class="ttdeci">#define DBPRINT_BUFFER_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00048">dbprint.h:48</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a73de59bf0a689a086681070783a82df3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73de59bf0a689a086681070783a82df3">◆ </a></span>dbwarn()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbwarn </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a <em>warning</em> string (char array) in yellow to USARTx and go to the next line. </p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message</td><td>The string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00523">523</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00524"></a><span class="lineno"> 524</span> {</div><div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(<span class="stringliteral">"WARN: "</span>, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a>(message, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> }</div><div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00059">dbprint.h:59</a></div></div>
<div class="ttc" id="dbprint_8c_html_aeac6ad47896a658b0753fa0ef8040e6c"><div class="ttname"><a href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a></div><div class="ttdeci">void dbprintln_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00482">dbprint.c:482</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad6b8e79e52a31b01f5816cdd62fb1746"><div class="ttname"><a href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a></div><div class="ttdeci">void dbprint_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00423">dbprint.c:423</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ada27783fef89d9c9af4976baab87c477"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada27783fef89d9c9af4976baab87c477">◆ </a></span>dbwarnInt()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbwarnInt </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message2</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a <em>warning</em> value surrounded by two strings (char array) to USARTx. </p>
<p>"WARN: " gets added in front, the decimal notation is used and the function advances to the next line. The value is in the color white, the rest is yellow.</p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message1</td><td>The first part of the string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to print between the two string parts.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">message2</td><td>The second part of the string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00600">600</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> {</div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(<span class="stringliteral">"WARN: "</span>, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(message1, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <a class="code" href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a>(value);</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span>  <a class="code" href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a>(message2, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span> }</div><div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00059">dbprint.h:59</a></div></div>
<div class="ttc" id="dbprint_8c_html_a4e4e18f85e358d8cc702ea8c2f190503"><div class="ttname"><a href="dbprint_8c.html#a4e4e18f85e358d8cc702ea8c2f190503">dbprintInt</a></div><div class="ttdeci">void dbprintInt(int32_t value)</div><div class="ttdoc">Print a number in decimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00740">dbprint.c:740</a></div></div>
<div class="ttc" id="dbprint_8c_html_aeac6ad47896a658b0753fa0ef8040e6c"><div class="ttname"><a href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a></div><div class="ttdeci">void dbprintln_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00482">dbprint.c:482</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad6b8e79e52a31b01f5816cdd62fb1746"><div class="ttname"><a href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a></div><div class="ttdeci">void dbprint_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00423">dbprint.c:423</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ab404cefa28fc63ac33567c5de1e0c5e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab404cefa28fc63ac33567c5de1e0c5e1">◆ </a></span>dbwarnInt_hex()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void dbwarnInt_hex </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a32f2e37ee053cf2ce8ca28d1f74630e5">int32_t</a> </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>message2</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Print a <em>warning</em> value surrounded by two strings (char array) to USARTx. </p>
<p>"WARN: " gets added in front, the hexadecimal notation is used and the function advances to the next line. The value is in the color white, the rest is yellow.</p>
<dl class="section note"><dt>Note</dt><dd>If the input is not a string (ex.: <code>"Hello world!"</code>) but a char array, the input message (array) needs to end with NULL (<code>"\0"</code>)!</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">message1</td><td>The first part of the string to print to USARTx.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The value to print between the two string parts.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">message2</td><td>The second part of the string to print to USARTx. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00692">692</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00693"></a><span class="lineno"> 693</span> {</div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(<span class="stringliteral">"WARN: "</span>, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <a class="code" href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a>(message1, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <a class="code" href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a>(value);</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <a class="code" href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a>(message2, <a class="code" href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a>);</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span> }</div><div class="ttc" id="dbprint_8h_html_a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2"><div class="ttname"><a href="dbprint_8h.html#a30d5293f29342e2bf8b795eb96a61607ae735a848bf82163a19236ead1c3ef2d2">YELLOW</a></div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00059">dbprint.h:59</a></div></div>
<div class="ttc" id="dbprint_8c_html_a1a7a7976e72dd2dd28014a9179d56aaf"><div class="ttname"><a href="dbprint_8c.html#a1a7a7976e72dd2dd28014a9179d56aaf">dbprintInt_hex</a></div><div class="ttdeci">void dbprintInt_hex(int32_t value)</div><div class="ttdoc">Print a number in hexadecimal notation to USARTx. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00796">dbprint.c:796</a></div></div>
<div class="ttc" id="dbprint_8c_html_aeac6ad47896a658b0753fa0ef8040e6c"><div class="ttname"><a href="dbprint_8c.html#aeac6ad47896a658b0753fa0ef8040e6c">dbprintln_color</a></div><div class="ttdeci">void dbprintln_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color and go to the next line. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00482">dbprint.c:482</a></div></div>
<div class="ttc" id="dbprint_8c_html_ad6b8e79e52a31b01f5816cdd62fb1746"><div class="ttname"><a href="dbprint_8c.html#ad6b8e79e52a31b01f5816cdd62fb1746">dbprint_color</a></div><div class="ttdeci">void dbprint_color(char *message, dbprint_color_t color)</div><div class="ttdoc">Print a string (char array) to USARTx in a given color. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00423">dbprint.c:423</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a5f61bbab614d503c3925339278530575"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f61bbab614d503c3925339278530575">◆ </a></span>uint32_to_charDec()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void uint32_to_charDec </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td>
<td class="paramname"><em>value</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a <code>uint32_t</code> value to a decimal char array (string). </p>
<dl class="section note"><dt>Note</dt><dd>This is a static method because it's only internally used in this file and called by other methods if necessary.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>The buffer to put the resulting string in.<br />
<b>This needs to have a length of 10: <code>char buf[10];</code>!</b></td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The <code>uint32_t</code> value to convert to a string. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01124">1124</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> {</div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>  <span class="keywordflow">if</span> (value == 0)</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  {</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span>  buf[0] = <span class="charliteral">'0'</span>;</div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  buf[1] = <span class="charliteral">'\0'</span>; <span class="comment">/* NULL termination character */</span></div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  }</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span>  {</div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span>  <span class="comment">/* MAX uint32_t value = FFFFFFFFh = 4294967295d (10 decimal chars) */</span></div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span>  <span class="keywordtype">char</span> backwardsBuf[10];</div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> </div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> calcval = value;</div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> length = 0;</div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span>  <a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> lengthCounter = 0;</div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> </div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> </div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span>  <span class="comment">/* Loop until the value is zero (separate characters 0-9) and calculate length */</span></div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span>  <span class="keywordflow">while</span> (calcval)</div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span>  {</div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> rem = calcval % 10;</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  backwardsBuf[length] = <a class="code" href="dbprint_8c.html#aa3eebc96ec0d2a2f3a2b166f3d08ddc7">TO_DEC</a>(rem); <span class="comment">/* Convert to ASCII character */</span></div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span>  length++;</div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> </div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span>  calcval = calcval - rem;</div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span>  calcval = calcval / 10;</div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  }</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> </div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span>  <span class="comment">/* Backwards counter */</span></div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  lengthCounter = length;</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span>  <span class="comment">/* Reverse the characters in the buffer for the final string */</span></div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  <span class="keywordflow">for</span> (<a class="code" href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> i = 0; i < length; i++)</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span>  {</div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span>  buf[i] = backwardsBuf[lengthCounter-1];</div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span>  lengthCounter--;</div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span>  }</div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> </div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  <span class="comment">/* Add NULL termination character */</span></div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span>  buf[length] = <span class="charliteral">'\0'</span>;</div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span>  }</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> }</div><div class="ttc" id="dbprint_8c_html_aa3eebc96ec0d2a2f3a2b166f3d08ddc7"><div class="ttname"><a href="dbprint_8c.html#aa3eebc96ec0d2a2f3a2b166f3d08ddc7">TO_DEC</a></div><div class="ttdeci">#define TO_DEC(i)</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00103">dbprint.c:103</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_aba7bc1797add20fe3efdf37ced1182c5"><div class="ttname"><a href="vl53l1__types_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a></div><div class="ttdeci">unsigned char uint8_t</div><div class="ttdoc">Typedef defining 8 bit unsigned char type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00098">vl53l1_types.h:98</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a36d9f16a26ecfc8540df56331bca3533"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36d9f16a26ecfc8540df56331bca3533">◆ </a></span>uint32_to_charHex()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void uint32_to_charHex </td>
<td>(</td>
<td class="paramtype">char * </td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool </td>
<td class="paramname"><em>spacing</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Convert a <code>uint32_t</code> value to a hexadecimal char array (string). </p>
<dl class="section note"><dt>Note</dt><dd>This is a static method because it's only internally used in this file and called by other methods if necessary.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">buf</td><td>The buffer to put the resulting string in.<br />
<b>This needs to have a length of 9: <code>char buf[9];</code>!</b></td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The <code>uint32_t</code> value to convert to a string.</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">spacing</td><td><ul>
<li><code>true</code> - Add spacing between the eight HEX chars to make two groups of four. </li>
<li><code>false</code> - Don't add spacing between the eight HEX chars. </li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01063">1063</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span> {</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <span class="comment">/* 4 nibble HEX representation */</span></div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  <span class="keywordflow">if</span> (value <= 0xFFFF)</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  {</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <span class="comment">/* Only get necessary nibble by ANDing with a mask and</span></div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span> <span class="comment"> * shifting one nibble (4 bits) per position */</span></div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  buf[0] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0xF000) >> 12));</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  buf[1] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x0F00) >> 8 ));</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span>  buf[2] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x00F0) >> 4 ));</div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span>  buf[3] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>( (value & 0x000F) );</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span>  buf[4] = <span class="charliteral">'\0'</span>; <span class="comment">/* NULL termination character */</span></div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  }</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span>  <span class="comment">/* 8 nibble HEX representation */</span></div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span>  {</div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span>  <span class="comment">/* Only get necessary nibble by ANDing with a mask and</span></div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="comment"> * shifting one nibble (4 bits) per position */</span></div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span>  buf[0] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0xF0000000) >> 28));</div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span>  buf[1] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x0F000000) >> 24));</div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span>  buf[2] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x00F00000) >> 20));</div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span>  buf[3] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x000F0000) >> 16));</div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> </div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span>  <span class="comment">/* Add spacing if necessary */</span></div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <span class="keywordflow">if</span> (spacing)</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span>  {</div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  buf[4] = <span class="charliteral">' '</span>; <span class="comment">/* Spacing */</span></div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  buf[5] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x0000F000) >> 12));</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  buf[6] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x00000F00) >> 8 ));</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  buf[7] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x000000F0) >> 4 ));</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  buf[8] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>( (value & 0x0000000F) );</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  buf[9] = <span class="charliteral">'\0'</span>; <span class="comment">/* NULL termination character */</span></div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  }</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  {</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span>  buf[4] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x0000F000) >> 12));</div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  buf[5] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x00000F00) >> 8 ));</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span>  buf[6] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>(((value & 0x000000F0) >> 4 ));</div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  buf[7] = <a class="code" href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a>( (value & 0x0000000F) );</div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  buf[8] = <span class="charliteral">'\0'</span>; <span class="comment">/* NULL termination character */</span></div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  }</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  }</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> }</div><div class="ttc" id="dbprint_8c_html_ac5244e0cbb66331a50ec3d0bbba7308b"><div class="ttname"><a href="dbprint_8c.html#ac5244e0cbb66331a50ec3d0bbba7308b">TO_HEX</a></div><div class="ttdeci">#define TO_HEX(i)</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00102">dbprint.c:102</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a8ef4dfd53f8b518acaeddcda2b159c61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ef4dfd53f8b518acaeddcda2b159c61">◆ </a></span>USART0_RX_IRQHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART0_RX_IRQHandler </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>USART0 RX interrupt service routine. </p>
<p>The index gets reset to zero when a special character (CR) is received or the buffer is filled.</p>
<dl class="section note"><dt>Note</dt><dd>The <em>weak</em> definition for this method is located in <code>system_efm32hg.h</code>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01281">1281</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> {</div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>  <span class="comment">/* "static" so it keeps its value between invocations */</span></div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  <span class="keyword">static</span> <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> i = 0;</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> </div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  <span class="comment">/* Get and clear the pending USART interrupt flags */</span></div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> flags = USART_IntGet(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>);</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>  USART_IntClear(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, flags);</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span> </div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  <span class="comment">/* Store incoming data into dbprint_rx_buffer */</span></div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <a class="code" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a>[i++] = USART_Rx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>);</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span> </div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>  <span class="comment">/* Set dbprint_rxdata when a special character is received (~ full line received) */</span></div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>  <span class="keywordflow">if</span> ( (<a class="code" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a>[i - 1] == <span class="charliteral">'\r'</span>) || (<a class="code" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a>[i - 1] == <span class="charliteral">'\f'</span>) )</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>  {</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  <a class="code" href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>  <a class="code" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a>[i - 1] = <span class="charliteral">'\0'</span>; <span class="comment">/* Overwrite CR or LF character */</span></div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>  i = 0;</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span>  }</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> </div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  <span class="comment">/* Set dbprint_rxdata when the buffer is full */</span></div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span>  <span class="keywordflow">if</span> (i >= (<a class="code" href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a> - 2))</div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span>  {</div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span>  <a class="code" href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span>  <a class="code" href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a>[i] = <span class="charliteral">'\0'</span>; <span class="comment">/* Do not overwrite last character */</span></div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span>  i = 0;</div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span>  }</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> }</div><div class="ttc" id="dbprint_8c_html_a9caaf5e68386ab1a12ef35bee230b1f2"><div class="ttname"><a href="dbprint_8c.html#a9caaf5e68386ab1a12ef35bee230b1f2">dataReceived</a></div><div class="ttdeci">volatile bool dataReceived</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00120">dbprint.c:120</a></div></div>
<div class="ttc" id="dbprint_8c_html_a9d6fb225dc9d453e3200d22c361bf2cd"><div class="ttname"><a href="dbprint_8c.html#a9d6fb225dc9d453e3200d22c361bf2cd">rx_buffer</a></div><div class="ttdeci">volatile char rx_buffer[80]</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00121">dbprint.c:121</a></div></div>
<div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="dbprint_8h_html_ad5855358e9d9ed029cc2980d7f80dddb"><div class="ttname"><a href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a></div><div class="ttdeci">#define DBPRINT_BUFFER_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00048">dbprint.h:48</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa1ad8819e3b118aa46e7c04efc32593b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1ad8819e3b118aa46e7c04efc32593b">◆ </a></span>USART0_TX_IRQHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART0_TX_IRQHandler </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>USART0 TX interrupt service routine. </p>
<p>The index gets reset to zero when all the characters in the buffer are send.</p>
<dl class="section note"><dt>Note</dt><dd>The <em>weak</em> definition for this method is located in <code>system_efm32hg.h</code>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01321">1321</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> {</div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span>  <span class="comment">/* "static" so it keeps its value between invocations */</span></div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>  <span class="keyword">static</span> <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> i = 0;</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> </div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>  <span class="comment">/* Get and clear the pending USART interrupt flags */</span></div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  <a class="code" href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a> flags = USART_IntGet(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>);</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span>  USART_IntClear(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, flags);</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span>  <span class="comment">/* Mask flags AND "TX Complete Interrupt Flag" */</span></div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span>  <span class="keywordflow">if</span> (flags & USART_IF_TXC)</div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span>  {</div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span>  <span class="comment">/* Index is smaller than the maximum buffer size and</span></div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <span class="comment"> * the current item to print is not "NULL" (\0) */</span></div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span>  <span class="keywordflow">if</span> ( (i < <a class="code" href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a>) && (<a class="code" href="dbprint_8c.html#a0ade938809d4336c16aa02941cfbb20f">tx_buffer</a>[i] != <span class="charliteral">'\0'</span>) )</div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span>  {</div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span>  <span class="comment">/* Transmit byte at current index and increment index */</span></div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>  USART_Tx(<a class="code" href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a>, <a class="code" href="dbprint_8c.html#a0ade938809d4336c16aa02941cfbb20f">tx_buffer</a>[i++]);</div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span>  }</div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span>  <span class="keywordflow">else</span></div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span>  {</div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span>  i = 0; <span class="comment">/* No more data to send */</span></div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span>  }</div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span>  }</div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> }</div><div class="ttc" id="dbprint_8c_html_a0ade938809d4336c16aa02941cfbb20f"><div class="ttname"><a href="dbprint_8c.html#a0ade938809d4336c16aa02941cfbb20f">tx_buffer</a></div><div class="ttdeci">volatile char tx_buffer[80]</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00122">dbprint.c:122</a></div></div>
<div class="ttc" id="dbprint_8c_html_a17cb68175234053c0b4f7356b6b20e18"><div class="ttname"><a href="dbprint_8c.html#a17cb68175234053c0b4f7356b6b20e18">dbpointer</a></div><div class="ttdeci">USART_TypeDef * dbpointer</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l00116">dbprint.c:116</a></div></div>
<div class="ttc" id="dbprint_8h_html_ad5855358e9d9ed029cc2980d7f80dddb"><div class="ttname"><a href="dbprint_8h.html#ad5855358e9d9ed029cc2980d7f80dddb">DBPRINT_BUFFER_SIZE</a></div><div class="ttdeci">#define DBPRINT_BUFFER_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8h_source.html#l00048">dbprint.h:48</a></div></div>
<div class="ttc" id="vl53l1__types_8h_html_a435d1572bf3f880d55459d9805097f62"><div class="ttname"><a href="vl53l1__types_8h.html#a435d1572bf3f880d55459d9805097f62">uint32_t</a></div><div class="ttdeci">unsigned int uint32_t</div><div class="ttdoc">Typedef defining 32 bit unsigned int type. The developer should modify this to suit the platform bein...</div><div class="ttdef"><b>Definition:</b> <a href="vl53l1__types_8h_source.html#l00078">vl53l1_types.h:78</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="aa6a5099bafcea7a957c8a7aff925a5c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6a5099bafcea7a957c8a7aff925a5c2">◆ </a></span>USART1_RX_IRQHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART1_RX_IRQHandler </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>USART1 RX interrupt service routine. </p>
<dl class="section note"><dt>Note</dt><dd>The <em>weak</em> definition for this method is located in <code>system_efm32hg.h</code>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01355">1355</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> {</div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span>  <span class="comment">/* Call other handler */</span></div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span>  <a class="code" href="dbprint_8c.html#a8ef4dfd53f8b518acaeddcda2b159c61">USART0_RX_IRQHandler</a>();</div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> }</div><div class="ttc" id="dbprint_8c_html_a8ef4dfd53f8b518acaeddcda2b159c61"><div class="ttname"><a href="dbprint_8c.html#a8ef4dfd53f8b518acaeddcda2b159c61">USART0_RX_IRQHandler</a></div><div class="ttdeci">void USART0_RX_IRQHandler(void)</div><div class="ttdoc">USART0 RX interrupt service routine. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l01281">dbprint.c:1281</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="af7afa223a57cccc216b627b070ad9443"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7afa223a57cccc216b627b070ad9443">◆ </a></span>USART1_TX_IRQHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void USART1_TX_IRQHandler </td>
<td>(</td>
<td class="paramtype">void </td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>USART1 TX interrupt service routine. </p>
<dl class="section note"><dt>Note</dt><dd>The <em>weak</em> definition for this method is located in <code>system_efm32hg.h</code>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l01369">1369</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
<div class="fragment"><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> {</div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span>  <span class="comment">/* Call other handler */</span></div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span>  <a class="code" href="dbprint_8c.html#aa1ad8819e3b118aa46e7c04efc32593b">USART0_TX_IRQHandler</a>();</div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> }</div><div class="ttc" id="dbprint_8c_html_aa1ad8819e3b118aa46e7c04efc32593b"><div class="ttname"><a href="dbprint_8c.html#aa1ad8819e3b118aa46e7c04efc32593b">USART0_TX_IRQHandler</a></div><div class="ttdeci">void USART0_TX_IRQHandler(void)</div><div class="ttdoc">USART0 TX interrupt service routine. </div><div class="ttdef"><b>Definition:</b> <a href="dbprint_8c_source.html#l01321">dbprint.c:1321</a></div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a9caaf5e68386ab1a12ef35bee230b1f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9caaf5e68386ab1a12ef35bee230b1f2">◆ </a></span>dataReceived</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile bool dataReceived = false</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00120">120</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="a17cb68175234053c0b4f7356b6b20e18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17cb68175234053c0b4f7356b6b20e18">◆ </a></span>dbpointer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">USART_TypeDef* dbpointer</td>
</tr>
</table>
</div><div class="memdoc">
<p>Local variable to store the settings (pointer). </p>
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00116">116</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="a9d6fb225dc9d453e3200d22c361bf2cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d6fb225dc9d453e3200d22c361bf2cd">◆ </a></span>rx_buffer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile char rx_buffer[80]</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00121">121</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
<a id="a0ade938809d4336c16aa02941cfbb20f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ade938809d4336c16aa02941cfbb20f">◆ </a></span>tx_buffer</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">volatile char tx_buffer[80]</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbprint_8c_source.html#l00122">122</a> of file <a class="el" href="dbprint_8c_source.html">dbprint.c</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_d9edf6c004b4a7ff14fe9ae7a92214ee.html">firmware</a></li><li class="navelem"><a class="el" href="dir_9a5a365c58dea0dc152d55f461feaba5.html">EFM32HG222F64_iot-mbbr</a></li><li class="navelem"><a class="el" href="dir_94278571b66272a106537e099057d77d.html">dbprint</a></li><li class="navelem"><a class="el" href="dbprint_8c.html">dbprint.c</a></li>
<li class="footer">Generated on Thu Sep 3 2020 04:44:25 for IoT-MBBR (masterthesis) by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>