Compare commits

...

2 Commits

Author SHA1 Message Date
dfec39d996 Generated foxygen documentation. Closes #1 2026-06-14 20:51:56 -04:00
e2c07dde0d dsoxygen config was added 2026-06-14 20:44:55 -04:00
165 changed files with 27103 additions and 0 deletions

1792
Doxyfile Normal file

File diff suppressed because it is too large Load Diff

56
docs/html/README_8md.html Normal file
View File

@@ -0,0 +1,56 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: README.md 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">README.md File Reference</div></div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

77
docs/html/annotated.html Normal file
View File

@@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Class List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">Class List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structDbcDatabase.html" target="_self">DbcDatabase</a></td><td class="desc">Parsed DBC content stored in a simple internal form </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDbcDecodeBuilder.html" target="_self">DbcDecodeBuilder</a></td><td class="desc">Converts parsed DBC data into runtime decode database </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDbcDecoder.html" target="_self">DbcDecoder</a></td><td class="desc">Runtime CAN decoder using prebuilt decode database </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDbcParser.html" target="_self">DbcParser</a></td><td class="desc">Minimal DBC parser </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classDbcTreeBuilder.html" target="_self">DbcTreeBuilder</a></td><td class="desc">Builds a simple tree from parsed DBC database </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structDecodeDatabase.html" target="_self">DecodeDatabase</a></td><td class="desc">Runtime decode database with fast lookup by CAN ID </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structDecodedFrameValue.html" target="_self">DecodedFrameValue</a></td><td class="desc">Fully decoded frame </td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structDecodedSignalValue.html" target="_self">DecodedSignalValue</a></td><td class="desc">One decoded signal value </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structDecodeFrame.html" target="_self">DecodeFrame</a></td><td class="desc">Runtime-ready frame definition </td></tr>
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structDecodeSignal.html" target="_self">DecodeSignal</a></td><td class="desc">Runtime-ready signal definition </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFrameInfo.html" target="_self">FrameInfo</a></td><td class="desc">Describes one CAN frame from a DBC file </td></tr>
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFrameKey.html" target="_self">FrameKey</a></td><td class="desc">Key for fast frame lookup </td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structFrameKeyHasher.html" target="_self">FrameKeyHasher</a></td><td class="desc">Hasher for frame key </td></tr>
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structRawCanFrame.html" target="_self">RawCanFrame</a></td><td class="desc">Raw CAN frame used for runtime or trace decoding </td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="structSignalInfo.html" target="_self">SignalInfo</a></td><td class="desc">Describes one signal inside a DBC frame </td></tr>
<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classTreeNode.html" target="_self">TreeNode</a></td><td class="desc">Tree node for later use in model/view or other hierarchy consumers </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

BIN
docs/html/bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
docs/html/bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View File

@@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DbcDecodeBuilder Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">Build</a>(const DbcDatabase &amp;source) const</td><td class="entry"><a class="el" href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DbcDecodeBuilder Class 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classDbcDecodeBuilder-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DbcDecodeBuilder Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Converts parsed DBC data into runtime decode database.
<a href="classDbcDecodeBuilder.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__decode__builder_8h_source.html">dbc_decode_builder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2bc6386dfb5e58976c42e22c19ec471b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDecodeDatabase.html">DecodeDatabase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">Build</a> (const <a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;source) const</td></tr>
<tr class="memdesc:a2bc6386dfb5e58976c42e22c19ec471b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build runtime decode database. <a href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">More...</a><br /></td></tr>
<tr class="separator:a2bc6386dfb5e58976c42e22c19ec471b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Converts parsed DBC data into runtime decode database. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decode__builder_8h_source.html#l00021">21</a> of file <a class="el" href="dbc__decode__builder_8h_source.html">dbc_decode_builder.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a2bc6386dfb5e58976c42e22c19ec471b" name="a2bc6386dfb5e58976c42e22c19ec471b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bc6386dfb5e58976c42e22c19ec471b">&#9670;&nbsp;</a></span>Build()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDecodeDatabase.html">DecodeDatabase</a> DbcDecodeBuilder::Build </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;&#160;</td>
<td class="paramname"><em>source</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Build runtime decode database. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">source</td><td>Parsed DBC database. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Runtime-ready decode database. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">14</a> of file <a class="el" href="dbc__decode__builder_8cpp_source.html">dbc_decode_builder.cpp</a>.</p>
<p class="reference">References <a class="el" href="decode__database_8h_source.html#l00043">DecodeSignal::byteOrder</a>, <a class="el" href="decode__database_8h_source.html#l00074">DecodeFrame::canId</a>, <a class="el" href="frame__info_8h_source.html#l00026">FrameInfo::canId</a>, <a class="el" href="decode__database_8h_source.html#l00051">DecodeSignal::comment</a>, <a class="el" href="decode__database_8h_source.html#l00080">DecodeFrame::comment</a>, <a class="el" href="frame__info_8h_source.html#l00032">FrameInfo::comment</a>, <a class="el" href="signal__info_8h_source.html#l00034">SignalInfo::comment</a>, <a class="el" href="decode__database_8h_source.html#l00076">DecodeFrame::dlc</a>, <a class="el" href="frame__info_8h_source.html#l00030">FrameInfo::dlc</a>, <a class="el" href="decode__database_8h_source.html#l00045">DecodeSignal::factor</a>, <a class="el" href="signal__info_8h_source.html#l00028">SignalInfo::factor</a>, <a class="el" href="decode__database_8h_source.html#l00134">DecodeDatabase::frameIndexByKey</a>, <a class="el" href="dbc__database_8h_source.html#l00023">DbcDatabase::frames</a>, <a class="el" href="decode__database_8h_source.html#l00133">DecodeDatabase::frames</a>, <a class="el" href="decode__database_8h_source.html#l00078">DecodeFrame::hasPgn</a>, <a class="el" href="frame__info_8h_source.html#l00029">FrameInfo::hasPgn</a>, <a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">Intel</a>, <a class="el" href="decode__database_8h_source.html#l00075">DecodeFrame::isExtended</a>, <a class="el" href="frame__info_8h_source.html#l00027">FrameInfo::isExtended</a>, <a class="el" href="signal__info_8h_source.html#l00026">SignalInfo::isLittleEndian</a>, <a class="el" href="signal__info_8h_source.html#l00027">SignalInfo::isSigned</a>, <a class="el" href="decode__database_8h_source.html#l00042">DecodeSignal::length</a>, <a class="el" href="signal__info_8h_source.html#l00025">SignalInfo::length</a>, <a class="el" href="decode__database_8h_source.html#l00048">DecodeSignal::maximum</a>, <a class="el" href="signal__info_8h_source.html#l00031">SignalInfo::maximum</a>, <a class="el" href="decode__database_8h_source.html#l00047">DecodeSignal::minimum</a>, <a class="el" href="signal__info_8h_source.html#l00030">SignalInfo::minimum</a>, <a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31">Motorola</a>, <a class="el" href="decode__database_8h_source.html#l00040">DecodeSignal::name</a>, <a class="el" href="decode__database_8h_source.html#l00073">DecodeFrame::name</a>, <a class="el" href="frame__info_8h_source.html#l00025">FrameInfo::name</a>, <a class="el" href="signal__info_8h_source.html#l00023">SignalInfo::name</a>, <a class="el" href="decode__database_8h_source.html#l00046">DecodeSignal::offset</a>, <a class="el" href="signal__info_8h_source.html#l00029">SignalInfo::offset</a>, <a class="el" href="decode__database_8h_source.html#l00077">DecodeFrame::pgn</a>, <a class="el" href="frame__info_8h_source.html#l00028">FrameInfo::pgn</a>, <a class="el" href="decode__database_8h_source.html#l00050">DecodeSignal::receivers</a>, <a class="el" href="signal__info_8h_source.html#l00033">SignalInfo::receivers</a>, <a class="el" href="decode__database_8h_source.html#l00081">DecodeFrame::signals</a>, <a class="el" href="frame__info_8h_source.html#l00033">FrameInfo::signals</a>, <a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">Signed</a>, <a class="el" href="decode__database_8h_source.html#l00041">DecodeSignal::startBit</a>, <a class="el" href="signal__info_8h_source.html#l00024">SignalInfo::startBit</a>, <a class="el" href="decode__database_8h_source.html#l00079">DecodeFrame::transmitter</a>, <a class="el" href="frame__info_8h_source.html#l00031">FrameInfo::transmitter</a>, <a class="el" href="decode__database_8h_source.html#l00049">DecodeSignal::unit</a>, <a class="el" href="signal__info_8h_source.html#l00032">SignalInfo::unit</a>, <a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a">Unsigned</a>, and <a class="el" href="decode__database_8h_source.html#l00044">DecodeSignal::valueType</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="dbc__decode__builder_8h_source.html">dbc_decode_builder.h</a></li>
<li><a class="el" href="dbc__decode__builder_8cpp_source.html">dbc_decode_builder.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,66 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DbcDecoder Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classDbcDecoder.html">DbcDecoder</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">Decode</a>(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const</td><td class="entry"><a class="el" href="classDbcDecoder.html">DbcDecoder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">ExtractIntel</a>(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</td><td class="entry"><a class="el" href="classDbcDecoder.html">DbcDecoder</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">ExtractMotorola</a>(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</td><td class="entry"><a class="el" href="classDbcDecoder.html">DbcDecoder</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">ExtractUnsigned</a>(const std::vector&lt; std::uint8_t &gt; &amp;data, const DecodeSignal &amp;signal, std::uint64_t &amp;value)</td><td class="entry"><a class="el" href="classDbcDecoder.html">DbcDecoder</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">FindFrame</a>(const DecodeDatabase &amp;database, std::uint32_t canId, bool isExtended) const</td><td class="entry"><a class="el" href="classDbcDecoder.html">DbcDecoder</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">SignExtend</a>(std::uint64_t value, std::uint32_t bitLength)</td><td class="entry"><a class="el" href="classDbcDecoder.html">DbcDecoder</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,383 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DbcDecoder Class 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="classDbcDecoder-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DbcDecoder Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Runtime CAN decoder using prebuilt decode database.
<a href="classDbcDecoder.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab2cfb2fb711c95d3a29365546b89f3da"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structDecodeFrame.html">DecodeFrame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">FindFrame</a> (const <a class="el" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;database, std::uint32_t canId, bool isExtended) const</td></tr>
<tr class="memdesc:ab2cfb2fb711c95d3a29365546b89f3da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Find frame definition by CAN ID. <a href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">More...</a><br /></td></tr>
<tr class="separator:ab2cfb2fb711c95d3a29365546b89f3da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a345951ffe5d943a70d3a1ea1f39e74f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">Decode</a> (const <a class="el" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;database, const <a class="el" href="structRawCanFrame.html">RawCanFrame</a> &amp;frame) const</td></tr>
<tr class="memdesc:a345951ffe5d943a70d3a1ea1f39e74f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Decode one raw CAN frame. <a href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">More...</a><br /></td></tr>
<tr class="separator:a345951ffe5d943a70d3a1ea1f39e74f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a2a8a99b1107543be6fd1b3f891130bf5"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">ExtractUnsigned</a> (const std::vector&lt; std::uint8_t &gt; &amp;data, const <a class="el" href="structDecodeSignal.html">DecodeSignal</a> &amp;signal, std::uint64_t &amp;value)</td></tr>
<tr class="separator:a2a8a99b1107543be6fd1b3f891130bf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba130165c1a73bb4cd3a0454f415d872"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">ExtractIntel</a> (const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</td></tr>
<tr class="separator:aba130165c1a73bb4cd3a0454f415d872"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aede690734148c3d538105d5a2f7ee0a9"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">ExtractMotorola</a> (const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</td></tr>
<tr class="separator:aede690734148c3d538105d5a2f7ee0a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41e89e343338088d27e46773fa52df42"><td class="memItemLeft" align="right" valign="top">static std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">SignExtend</a> (std::uint64_t value, std::uint32_t bitLength)</td></tr>
<tr class="separator:a41e89e343338088d27e46773fa52df42"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Runtime CAN decoder using prebuilt decode database. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00070">70</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a345951ffe5d943a70d3a1ea1f39e74f7" name="a345951ffe5d943a70d3a1ea1f39e74f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a345951ffe5d943a70d3a1ea1f39e74f7">&#9670;&nbsp;</a></span>Decode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a> DbcDecoder::Decode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;&#160;</td>
<td class="paramname"><em>database</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structRawCanFrame.html">RawCanFrame</a> &amp;&#160;</td>
<td class="paramname"><em>frame</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Decode one raw CAN frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">database</td><td>Runtime decode database. </td></tr>
<tr><td class="paramname">frame</td><td>Raw CAN frame. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Decoded frame value. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8cpp_source.html#l00031">31</a> of file <a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__decoder_8h_source.html#l00024">RawCanFrame::canId</a>, <a class="el" href="dbc__decoder_8h_source.html#l00026">RawCanFrame::data</a>, <a class="el" href="dbc__decoder_8h_source.html#l00039">DecodedSignalValue::definition</a>, <a class="el" href="dbc__decoder_8h_source.html#l00056">DecodedFrameValue::definition</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00070">ExtractUnsigned()</a>, <a class="el" href="decode__database_8h_source.html#l00045">DecodeSignal::factor</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00014">FindFrame()</a>, <a class="el" href="dbc__decoder_8h_source.html#l00025">RawCanFrame::isExtended</a>, <a class="el" href="decode__database_8h_source.html#l00042">DecodeSignal::length</a>, <a class="el" href="decode__database_8h_source.html#l00046">DecodeSignal::offset</a>, <a class="el" href="dbc__decoder_8h_source.html#l00041">DecodedSignalValue::physicalValue</a>, <a class="el" href="dbc__decoder_8h_source.html#l00040">DecodedSignalValue::rawValue</a>, <a class="el" href="dbc__decoder_8h_source.html#l00057">DecodedFrameValue::signals</a>, <a class="el" href="decode__database_8h_source.html#l00081">DecodeFrame::signals</a>, <a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">Signed</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00144">SignExtend()</a>, <a class="el" href="dbc__decoder_8h_source.html#l00042">DecodedSignalValue::valid</a>, <a class="el" href="dbc__decoder_8h_source.html#l00058">DecodedFrameValue::valid</a>, and <a class="el" href="decode__database_8h_source.html#l00044">DecodeSignal::valueType</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<a id="aba130165c1a73bb4cd3a0454f415d872" name="aba130165c1a73bb4cd3a0454f415d872"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba130165c1a73bb4cd3a0454f415d872">&#9670;&nbsp;</a></span>ExtractIntel()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DbcDecoder::ExtractIntel </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::uint8_t &gt; &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>startBit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8cpp_source.html#l00082">82</a> of file <a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00070">ExtractUnsigned()</a>.</p>
</div>
</div>
<a id="aede690734148c3d538105d5a2f7ee0a9" name="aede690734148c3d538105d5a2f7ee0a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aede690734148c3d538105d5a2f7ee0a9">&#9670;&nbsp;</a></span>ExtractMotorola()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DbcDecoder::ExtractMotorola </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::uint8_t &gt; &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>startBit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>length</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8cpp_source.html#l00105">105</a> of file <a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00070">ExtractUnsigned()</a>.</p>
</div>
</div>
<a id="a2a8a99b1107543be6fd1b3f891130bf5" name="a2a8a99b1107543be6fd1b3f891130bf5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a8a99b1107543be6fd1b3f891130bf5">&#9670;&nbsp;</a></span>ExtractUnsigned()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DbcDecoder::ExtractUnsigned </td>
<td>(</td>
<td class="paramtype">const std::vector&lt; std::uint8_t &gt; &amp;&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structDecodeSignal.html">DecodeSignal</a> &amp;&#160;</td>
<td class="paramname"><em>signal</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint64_t &amp;&#160;</td>
<td class="paramname"><em>value</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8cpp_source.html#l00070">70</a> of file <a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a>.</p>
<p class="reference">References <a class="el" href="decode__database_8h_source.html#l00043">DecodeSignal::byteOrder</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00082">ExtractIntel()</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00105">ExtractMotorola()</a>, <a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">Intel</a>, <a class="el" href="decode__database_8h_source.html#l00042">DecodeSignal::length</a>, and <a class="el" href="decode__database_8h_source.html#l00041">DecodeSignal::startBit</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">Decode()</a>.</p>
</div>
</div>
<a id="ab2cfb2fb711c95d3a29365546b89f3da" name="ab2cfb2fb711c95d3a29365546b89f3da"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2cfb2fb711c95d3a29365546b89f3da">&#9670;&nbsp;</a></span>FindFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structDecodeFrame.html">DecodeFrame</a> * DbcDecoder::FindFrame </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;&#160;</td>
<td class="paramname"><em>database</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>canId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isExtended</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Find frame definition by CAN ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">database</td><td>Runtime decode database. </td></tr>
<tr><td class="paramname">canId</td><td>Normalized CAN ID. </td></tr>
<tr><td class="paramname">isExtended</td><td>true for extended frame. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to frame definition or nullptr. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8cpp_source.html#l00014">14</a> of file <a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a>.</p>
<p class="reference">References <a class="el" href="decode__database_8h_source.html#l00134">DecodeDatabase::frameIndexByKey</a>, and <a class="el" href="decode__database_8h_source.html#l00133">DecodeDatabase::frames</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">Decode()</a>.</p>
</div>
</div>
<a id="a41e89e343338088d27e46773fa52df42" name="a41e89e343338088d27e46773fa52df42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a41e89e343338088d27e46773fa52df42">&#9670;&nbsp;</a></span>SignExtend()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::int64_t DbcDecoder::SignExtend </td>
<td>(</td>
<td class="paramtype">std::uint64_t&#160;</td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>bitLength</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8cpp_source.html#l00144">144</a> of file <a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">Decode()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a></li>
<li><a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,73 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DbcParser Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classDbcParser.html">DbcParser</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">FindFrameById</a>(DbcDatabase &amp;database, std::uint32_t canId, bool isExtended)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">FindSignalByName</a>(FrameInfo &amp;frame, const std::string &amp;signalName)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">IsCommentLine</a>(const std::string &amp;line)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">IsFrameLine</a>(const std::string &amp;line)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">IsSignalLine</a>(const std::string &amp;line)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">NormalizeCanId</a>(std::uint32_t rawCanId, std::uint32_t &amp;normalizedCanId, bool &amp;isExtended)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">ParseCommentLine</a>(const std::string &amp;line, DbcDatabase &amp;database)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">ParseFile</a>(const std::string &amp;filePath) const</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">ParseFrameLine</a>(const std::string &amp;line)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">ParseSignalLine</a>(const std::string &amp;line)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">SplitReceivers</a>(const std::string &amp;text)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">Trim</a>(const std::string &amp;text)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">TryExtractPgn</a>(std::uint32_t canId, bool isExtended, bool &amp;hasPgn)</td><td class="entry"><a class="el" href="classDbcParser.html">DbcParser</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,601 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DbcParser Class 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="classDbcParser-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DbcParser Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Minimal DBC parser.
<a href="classDbcParser.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__parser_8h_source.html">dbc_parser.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aef72826942c9095d653fafa435855e56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structDbcDatabase.html">DbcDatabase</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">ParseFile</a> (const std::string &amp;filePath) const</td></tr>
<tr class="memdesc:aef72826942c9095d653fafa435855e56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parse DBC file. <a href="classDbcParser.html#aef72826942c9095d653fafa435855e56">More...</a><br /></td></tr>
<tr class="separator:aef72826942c9095d653fafa435855e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-static-methods" name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:ada086584d371c08dd93b75fb7965f13b"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">IsFrameLine</a> (const std::string &amp;line)</td></tr>
<tr class="separator:ada086584d371c08dd93b75fb7965f13b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace3d3432a55707bc286a994aa205fed1"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">IsSignalLine</a> (const std::string &amp;line)</td></tr>
<tr class="separator:ace3d3432a55707bc286a994aa205fed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3488a0a6c64dc95e4ed289e77579feb"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">IsCommentLine</a> (const std::string &amp;line)</td></tr>
<tr class="separator:ae3488a0a6c64dc95e4ed289e77579feb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ae77c4c356af3d7b01a30044366f02b"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">Trim</a> (const std::string &amp;text)</td></tr>
<tr class="separator:a1ae77c4c356af3d7b01a30044366f02b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c1cc3c58f33473bf426a77b7a25c529"><td class="memItemLeft" align="right" valign="top">static std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">SplitReceivers</a> (const std::string &amp;text)</td></tr>
<tr class="separator:a0c1cc3c58f33473bf426a77b7a25c529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7e8fc517e40beab87a8a1dbad2b324"><td class="memItemLeft" align="right" valign="top">static std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">TryExtractPgn</a> (std::uint32_t canId, bool isExtended, bool &amp;hasPgn)</td></tr>
<tr class="separator:a8a7e8fc517e40beab87a8a1dbad2b324"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94d140d9442e4989b5b2ea7662c2debf"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">NormalizeCanId</a> (std::uint32_t rawCanId, std::uint32_t &amp;normalizedCanId, bool &amp;isExtended)</td></tr>
<tr class="separator:a94d140d9442e4989b5b2ea7662c2debf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d73bb1885e59aecd8202e93a7cd392a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structFrameInfo.html">FrameInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">ParseFrameLine</a> (const std::string &amp;line)</td></tr>
<tr class="separator:a6d73bb1885e59aecd8202e93a7cd392a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cbce88d08b1f72903ecf1bce41de5d2"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structSignalInfo.html">SignalInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">ParseSignalLine</a> (const std::string &amp;line)</td></tr>
<tr class="separator:a4cbce88d08b1f72903ecf1bce41de5d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa662b34694fd8b3edd757f36cb064c5c"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">ParseCommentLine</a> (const std::string &amp;line, <a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;database)</td></tr>
<tr class="separator:aa662b34694fd8b3edd757f36cb064c5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1fee32cb845573ce10949b4bec721f9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structFrameInfo.html">FrameInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">FindFrameById</a> (<a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;database, std::uint32_t canId, bool isExtended)</td></tr>
<tr class="separator:ab1fee32cb845573ce10949b4bec721f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7b95be4433c56cc855bedb08b96a71a"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structSignalInfo.html">SignalInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">FindSignalByName</a> (<a class="el" href="structFrameInfo.html">FrameInfo</a> &amp;frame, const std::string &amp;signalName)</td></tr>
<tr class="separator:ab7b95be4433c56cc855bedb08b96a71a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Minimal DBC parser. </p>
<p >Supports:</p><ul>
<li>BO_</li>
<li>SG_</li>
<li>CM_ BO_</li>
<li>CM_ SG_</li>
</ul>
<p >Ignores:</p><ul>
<li>attributes</li>
<li>multiplexing</li>
<li>value tables </li>
</ul>
<p class="definition">Definition at line <a class="el" href="dbc__parser_8h_source.html#l00035">35</a> of file <a class="el" href="dbc__parser_8h_source.html">dbc_parser.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ab1fee32cb845573ce10949b4bec721f9" name="ab1fee32cb845573ce10949b4bec721f9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1fee32cb845573ce10949b4bec721f9">&#9670;&nbsp;</a></span>FindFrameById()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structFrameInfo.html">FrameInfo</a> * DbcParser::FindFrameById </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;&#160;</td>
<td class="paramname"><em>database</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>canId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isExtended</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00337">337</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__database_8h_source.html#l00023">DbcDatabase::frames</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00274">ParseCommentLine()</a>.</p>
</div>
</div>
<a id="ab7b95be4433c56cc855bedb08b96a71a" name="ab7b95be4433c56cc855bedb08b96a71a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7b95be4433c56cc855bedb08b96a71a">&#9670;&nbsp;</a></span>FindSignalByName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structSignalInfo.html">SignalInfo</a> * DbcParser::FindSignalByName </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structFrameInfo.html">FrameInfo</a> &amp;&#160;</td>
<td class="paramname"><em>frame</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>signalName</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00349">349</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="frame__info_8h_source.html#l00033">FrameInfo::signals</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00274">ParseCommentLine()</a>.</p>
</div>
</div>
<a id="ae3488a0a6c64dc95e4ed289e77579feb" name="ae3488a0a6c64dc95e4ed289e77579feb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3488a0a6c64dc95e4ed289e77579feb">&#9670;&nbsp;</a></span>IsCommentLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DbcParser::IsCommentLine </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00079">79</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00040">ParseFile()</a>.</p>
</div>
</div>
<a id="ada086584d371c08dd93b75fb7965f13b" name="ada086584d371c08dd93b75fb7965f13b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada086584d371c08dd93b75fb7965f13b">&#9670;&nbsp;</a></span>IsFrameLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DbcParser::IsFrameLine </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00071">71</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00040">ParseFile()</a>.</p>
</div>
</div>
<a id="ace3d3432a55707bc286a994aa205fed1" name="ace3d3432a55707bc286a994aa205fed1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace3d3432a55707bc286a994aa205fed1">&#9670;&nbsp;</a></span>IsSignalLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool DbcParser::IsSignalLine </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00075">75</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00040">ParseFile()</a>.</p>
</div>
</div>
<a id="a94d140d9442e4989b5b2ea7662c2debf" name="a94d140d9442e4989b5b2ea7662c2debf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94d140d9442e4989b5b2ea7662c2debf">&#9670;&nbsp;</a></span>NormalizeCanId()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void DbcParser::NormalizeCanId </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>rawCanId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">std::uint32_t &amp;&#160;</td>
<td class="paramname"><em>normalizedCanId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool &amp;&#160;</td>
<td class="paramname"><em>isExtended</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00101">101</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00274">ParseCommentLine()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00142">ParseFrameLine()</a>.</p>
</div>
</div>
<a id="aa662b34694fd8b3edd757f36cb064c5c" name="aa662b34694fd8b3edd757f36cb064c5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa662b34694fd8b3edd757f36cb064c5c">&#9670;&nbsp;</a></span>ParseCommentLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void DbcParser::ParseCommentLine </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>line</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;&#160;</td>
<td class="paramname"><em>database</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00274">274</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="frame__info_8h_source.html#l00032">FrameInfo::comment</a>, <a class="el" href="signal__info_8h_source.html#l00034">SignalInfo::comment</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00337">FindFrameById()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00349">FindSignalByName()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00101">NormalizeCanId()</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00040">ParseFile()</a>.</p>
</div>
</div>
<a id="aef72826942c9095d653fafa435855e56" name="aef72826942c9095d653fafa435855e56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef72826942c9095d653fafa435855e56">&#9670;&nbsp;</a></span>ParseFile()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structDbcDatabase.html">DbcDatabase</a> DbcParser::ParseFile </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>filePath</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse DBC file. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filePath</td><td>Path to input file. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Parsed database. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">std::runtime_error</td><td>on file or parse errors. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00040">40</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__database_8h_source.html#l00023">DbcDatabase::frames</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00079">IsCommentLine()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00071">IsFrameLine()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00075">IsSignalLine()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00274">ParseCommentLine()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00142">ParseFrameLine()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00181">ParseSignalLine()</a>, <a class="el" href="frame__info_8h_source.html#l00033">FrameInfo::signals</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00083">Trim()</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<a id="a6d73bb1885e59aecd8202e93a7cd392a" name="a6d73bb1885e59aecd8202e93a7cd392a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d73bb1885e59aecd8202e93a7cd392a">&#9670;&nbsp;</a></span>ParseFrameLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structFrameInfo.html">FrameInfo</a> DbcParser::ParseFrameLine </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00142">142</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="frame__info_8h_source.html#l00026">FrameInfo::canId</a>, <a class="el" href="frame__info_8h_source.html#l00030">FrameInfo::dlc</a>, <a class="el" href="frame__info_8h_source.html#l00029">FrameInfo::hasPgn</a>, <a class="el" href="frame__info_8h_source.html#l00027">FrameInfo::isExtended</a>, <a class="el" href="frame__info_8h_source.html#l00025">FrameInfo::name</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00101">NormalizeCanId()</a>, <a class="el" href="frame__info_8h_source.html#l00028">FrameInfo::pgn</a>, <a class="el" href="frame__info_8h_source.html#l00031">FrameInfo::transmitter</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00118">TryExtractPgn()</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00040">ParseFile()</a>.</p>
</div>
</div>
<a id="a4cbce88d08b1f72903ecf1bce41de5d2" name="a4cbce88d08b1f72903ecf1bce41de5d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cbce88d08b1f72903ecf1bce41de5d2">&#9670;&nbsp;</a></span>ParseSignalLine()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structSignalInfo.html">SignalInfo</a> DbcParser::ParseSignalLine </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>line</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00181">181</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="signal__info_8h_source.html#l00028">SignalInfo::factor</a>, <a class="el" href="signal__info_8h_source.html#l00026">SignalInfo::isLittleEndian</a>, <a class="el" href="signal__info_8h_source.html#l00027">SignalInfo::isSigned</a>, <a class="el" href="signal__info_8h_source.html#l00025">SignalInfo::length</a>, <a class="el" href="signal__info_8h_source.html#l00031">SignalInfo::maximum</a>, <a class="el" href="signal__info_8h_source.html#l00030">SignalInfo::minimum</a>, <a class="el" href="signal__info_8h_source.html#l00023">SignalInfo::name</a>, <a class="el" href="signal__info_8h_source.html#l00029">SignalInfo::offset</a>, <a class="el" href="signal__info_8h_source.html#l00033">SignalInfo::receivers</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00087">SplitReceivers()</a>, <a class="el" href="signal__info_8h_source.html#l00024">SignalInfo::startBit</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00025">anonymous_namespace{dbc_parser.cpp}::TrimText()</a>, and <a class="el" href="signal__info_8h_source.html#l00032">SignalInfo::unit</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00040">ParseFile()</a>.</p>
</div>
</div>
<a id="a0c1cc3c58f33473bf426a77b7a25c529" name="a0c1cc3c58f33473bf426a77b7a25c529"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0c1cc3c58f33473bf426a77b7a25c529">&#9670;&nbsp;</a></span>SplitReceivers()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt; std::string &gt; DbcParser::SplitReceivers </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>text</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00087">87</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__parser_8cpp_source.html#l00025">anonymous_namespace{dbc_parser.cpp}::TrimText()</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00181">ParseSignalLine()</a>.</p>
</div>
</div>
<a id="a1ae77c4c356af3d7b01a30044366f02b" name="a1ae77c4c356af3d7b01a30044366f02b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ae77c4c356af3d7b01a30044366f02b">&#9670;&nbsp;</a></span>Trim()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string DbcParser::Trim </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>text</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00083">83</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__parser_8cpp_source.html#l00025">anonymous_namespace{dbc_parser.cpp}::TrimText()</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00040">ParseFile()</a>.</p>
</div>
</div>
<a id="a8a7e8fc517e40beab87a8a1dbad2b324" name="a8a7e8fc517e40beab87a8a1dbad2b324"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a7e8fc517e40beab87a8a1dbad2b324">&#9670;&nbsp;</a></span>TryExtractPgn()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::uint32_t DbcParser::TryExtractPgn </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>canId</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>isExtended</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool &amp;&#160;</td>
<td class="paramname"><em>hasPgn</em>&#160;</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 class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00118">118</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00142">ParseFrameLine()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="dbc__parser_8h_source.html">dbc_parser.h</a></li>
<li><a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DbcTreeBuilder Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classDbcTreeBuilder.html">DbcTreeBuilder</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">Build</a>(const DbcDatabase &amp;database) const</td><td class="entry"><a class="el" href="classDbcTreeBuilder.html">DbcTreeBuilder</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DbcTreeBuilder Class 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classDbcTreeBuilder-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DbcTreeBuilder Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Builds a simple tree from parsed DBC database.
<a href="classDbcTreeBuilder.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__tree__builder_8h_source.html">dbc_tree_builder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7e57d067d831b14b383947fd125edd4b"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="classTreeNode.html">TreeNode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">Build</a> (const <a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;database) const</td></tr>
<tr class="memdesc:a7e57d067d831b14b383947fd125edd4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Build tree representation of parsed DBC data. <a href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">More...</a><br /></td></tr>
<tr class="separator:a7e57d067d831b14b383947fd125edd4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Builds a simple tree from parsed DBC database. </p>
<p class="definition">Definition at line <a class="el" href="dbc__tree__builder_8h_source.html#l00023">23</a> of file <a class="el" href="dbc__tree__builder_8h_source.html">dbc_tree_builder.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a7e57d067d831b14b383947fd125edd4b" name="a7e57d067d831b14b383947fd125edd4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e57d067d831b14b383947fd125edd4b">&#9670;&nbsp;</a></span>Build()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt; <a class="el" href="classTreeNode.html">TreeNode</a> &gt; DbcTreeBuilder::Build </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDbcDatabase.html">DbcDatabase</a> &amp;&#160;</td>
<td class="paramname"><em>database</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Build tree representation of parsed DBC data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">database</td><td>Parsed database. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Root node of the tree. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbc__tree__builder_8cpp_source.html#l00014">14</a> of file <a class="el" href="dbc__tree__builder_8cpp_source.html">dbc_tree_builder.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__database_8h_source.html#l00023">DbcDatabase::frames</a>, and <a class="el" href="frame__info_8h_source.html#l00033">FrameInfo::signals</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="dbc__tree__builder_8h_source.html">dbc_tree_builder.h</a></li>
<li><a class="el" href="dbc__tree__builder_8cpp_source.html">dbc_tree_builder.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,81 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">TreeNode Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classTreeNode.html">TreeNode</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a6161f2ebb92184eab4215d121870e788">AddChild</a>(std::unique_ptr&lt; TreeNode &gt; child)</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6">GetChild</a>(std::size_t index) const</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f">GetChild</a>(std::size_t index)</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea">GetChildCount</a>() const</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#afc503b40004764163605d6dbdb4ef811">GetFrame</a>() const</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">GetName</a>() const</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1">GetSignal</a>() const</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9">GetType</a>() const</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351">m_children</a></td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2">m_frame</a></td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8">m_name</a></td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386">m_signal</a></td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224">m_type</a></td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa">operator=</a>(const TreeNode &amp;)=delete</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95">operator=</a>(TreeNode &amp;&amp;)=default</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d">TreeNode</a>()</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc">TreeNode</a>(const FrameInfo &amp;frame)</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae">TreeNode</a>(const SignalInfo &amp;signal)</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff">TreeNode</a>(const TreeNode &amp;)=delete</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1">TreeNode</a>(TreeNode &amp;&amp;)=default</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570">~TreeNode</a>()=default</td><td class="entry"><a class="el" href="classTreeNode.html">TreeNode</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,719 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: TreeNode Class 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classTreeNode-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">TreeNode Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Tree node for later use in model/view or other hierarchy consumers.
<a href="classTreeNode.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="tree__node_8h_source.html">tree_node.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a984a98d5ccf7ef1f5a18094c6821f35d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d">TreeNode</a> ()</td></tr>
<tr class="memdesc:a984a98d5ccf7ef1f5a18094c6821f35d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create root node. <a href="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d">More...</a><br /></td></tr>
<tr class="separator:a984a98d5ccf7ef1f5a18094c6821f35d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e38dd591d8801d7ee3a7dbad90c67fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc">TreeNode</a> (const <a class="el" href="structFrameInfo.html">FrameInfo</a> &amp;frame)</td></tr>
<tr class="memdesc:a8e38dd591d8801d7ee3a7dbad90c67fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create frame node. <a href="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc">More...</a><br /></td></tr>
<tr class="separator:a8e38dd591d8801d7ee3a7dbad90c67fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9f00f5253d56461bb2d420fd639c5ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae">TreeNode</a> (const <a class="el" href="structSignalInfo.html">SignalInfo</a> &amp;signal)</td></tr>
<tr class="memdesc:ab9f00f5253d56461bb2d420fd639c5ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create signal node. <a href="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae">More...</a><br /></td></tr>
<tr class="separator:ab9f00f5253d56461bb2d420fd639c5ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89eb1eb0e25fccaa83c780b85f95b570"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570">~TreeNode</a> ()=default</td></tr>
<tr class="separator:a89eb1eb0e25fccaa83c780b85f95b570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d3054a033accf3e38ea132002fc35ff"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff">TreeNode</a> (const <a class="el" href="classTreeNode.html">TreeNode</a> &amp;)=delete</td></tr>
<tr class="separator:a4d3054a033accf3e38ea132002fc35ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6ce97dcf532b452d520452b6d000daa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTreeNode.html">TreeNode</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa">operator=</a> (const <a class="el" href="classTreeNode.html">TreeNode</a> &amp;)=delete</td></tr>
<tr class="separator:ad6ce97dcf532b452d520452b6d000daa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35724af755b5d0c43de40a723ef81ec1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1">TreeNode</a> (<a class="el" href="classTreeNode.html">TreeNode</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a35724af755b5d0c43de40a723ef81ec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88fbcbec9c64d888b19c5edb95059a95"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTreeNode.html">TreeNode</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95">operator=</a> (<a class="el" href="classTreeNode.html">TreeNode</a> &amp;&amp;)=default</td></tr>
<tr class="separator:a88fbcbec9c64d888b19c5edb95059a95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6161f2ebb92184eab4215d121870e788"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a6161f2ebb92184eab4215d121870e788">AddChild</a> (std::unique_ptr&lt; <a class="el" href="classTreeNode.html">TreeNode</a> &gt; child)</td></tr>
<tr class="memdesc:a6161f2ebb92184eab4215d121870e788"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add child node. <a href="classTreeNode.html#a6161f2ebb92184eab4215d121870e788">More...</a><br /></td></tr>
<tr class="separator:a6161f2ebb92184eab4215d121870e788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdd82460187dca8d3e5d66f5d5c529ea"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea">GetChildCount</a> () const</td></tr>
<tr class="memdesc:abdd82460187dca8d3e5d66f5d5c529ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get child count. <a href="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea">More...</a><br /></td></tr>
<tr class="separator:abdd82460187dca8d3e5d66f5d5c529ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4727ff801a2d1b9323c5ae50a35457a6"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classTreeNode.html">TreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6">GetChild</a> (std::size_t index) const</td></tr>
<tr class="memdesc:a4727ff801a2d1b9323c5ae50a35457a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get child by index. <a href="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6">More...</a><br /></td></tr>
<tr class="separator:a4727ff801a2d1b9323c5ae50a35457a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81047bd7d2a4cc96b9ef5e20d0d63b5f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classTreeNode.html">TreeNode</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f">GetChild</a> (std::size_t index)</td></tr>
<tr class="memdesc:a81047bd7d2a4cc96b9ef5e20d0d63b5f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get mutable child by index. <a href="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f">More...</a><br /></td></tr>
<tr class="separator:a81047bd7d2a4cc96b9ef5e20d0d63b5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa2f4b0aafa12d3d41ed00df8e0250c9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16">NodeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9">GetType</a> () const</td></tr>
<tr class="memdesc:afa2f4b0aafa12d3d41ed00df8e0250c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get node type. <a href="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9">More...</a><br /></td></tr>
<tr class="separator:afa2f4b0aafa12d3d41ed00df8e0250c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaac5b8d9dc9e5ae1f367d1adbcf20e18"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">GetName</a> () const</td></tr>
<tr class="memdesc:aaac5b8d9dc9e5ae1f367d1adbcf20e18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get display name. <a href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">More...</a><br /></td></tr>
<tr class="separator:aaac5b8d9dc9e5ae1f367d1adbcf20e18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc503b40004764163605d6dbdb4ef811"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structFrameInfo.html">FrameInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#afc503b40004764163605d6dbdb4ef811">GetFrame</a> () const</td></tr>
<tr class="memdesc:afc503b40004764163605d6dbdb4ef811"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get frame payload if node is frame. <a href="classTreeNode.html#afc503b40004764163605d6dbdb4ef811">More...</a><br /></td></tr>
<tr class="separator:afc503b40004764163605d6dbdb4ef811"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a226518612d0d00b5988a2c44fc21d3f1"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structSignalInfo.html">SignalInfo</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1">GetSignal</a> () const</td></tr>
<tr class="memdesc:a226518612d0d00b5988a2c44fc21d3f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get signal payload if node is signal. <a href="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1">More...</a><br /></td></tr>
<tr class="separator:a226518612d0d00b5988a2c44fc21d3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a04bccab9e60a6a78777cd7dfec52d224"><td class="memItemLeft" align="right" valign="top"><a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16">NodeType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224">m_type</a></td></tr>
<tr class="separator:a04bccab9e60a6a78777cd7dfec52d224"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0ddcb8370e6b51e2d3de6b8211a47f8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8">m_name</a></td></tr>
<tr class="separator:ac0ddcb8370e6b51e2d3de6b8211a47f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bd61f40df6d36e61021063e3816a351"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::unique_ptr&lt; <a class="el" href="classTreeNode.html">TreeNode</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351">m_children</a></td></tr>
<tr class="separator:a1bd61f40df6d36e61021063e3816a351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77ee6aa80774d67ba442a66b45c798c2"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="structFrameInfo.html">FrameInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2">m_frame</a></td></tr>
<tr class="separator:a77ee6aa80774d67ba442a66b45c798c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae658355007bc9303f7bfae3bb3ec8386"><td class="memItemLeft" align="right" valign="top">std::unique_ptr&lt; <a class="el" href="structSignalInfo.html">SignalInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386">m_signal</a></td></tr>
<tr class="separator:ae658355007bc9303f7bfae3bb3ec8386"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Tree node for later use in model/view or other hierarchy consumers. </p>
<p class="definition">Definition at line <a class="el" href="tree__node_8h_source.html#l00035">35</a> of file <a class="el" href="tree__node_8h_source.html">tree_node.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a984a98d5ccf7ef1f5a18094c6821f35d" name="a984a98d5ccf7ef1f5a18094c6821f35d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a984a98d5ccf7ef1f5a18094c6821f35d">&#9670;&nbsp;</a></span>TreeNode() <span class="overload">[1/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">TreeNode::TreeNode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Create root node. </p>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00014">14</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad">Root</a>.</p>
</div>
</div>
<a id="a8e38dd591d8801d7ee3a7dbad90c67fc" name="a8e38dd591d8801d7ee3a7dbad90c67fc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e38dd591d8801d7ee3a7dbad90c67fc">&#9670;&nbsp;</a></span>TreeNode() <span class="overload">[2/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TreeNode::TreeNode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structFrameInfo.html">FrameInfo</a> &amp;&#160;</td>
<td class="paramname"><em>frame</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create frame node. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frame</td><td>Frame payload. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00022">22</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a">Frame</a>.</p>
</div>
</div>
<a id="ab9f00f5253d56461bb2d420fd639c5ae" name="ab9f00f5253d56461bb2d420fd639c5ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9f00f5253d56461bb2d420fd639c5ae">&#9670;&nbsp;</a></span>TreeNode() <span class="overload">[3/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TreeNode::TreeNode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structSignalInfo.html">SignalInfo</a> &amp;&#160;</td>
<td class="paramname"><em>signal</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">explicit</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Create signal node. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">signal</td><td>Signal payload. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00030">30</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398">Signal</a>.</p>
</div>
</div>
<a id="a89eb1eb0e25fccaa83c780b85f95b570" name="a89eb1eb0e25fccaa83c780b85f95b570"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89eb1eb0e25fccaa83c780b85f95b570">&#9670;&nbsp;</a></span>~TreeNode()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TreeNode::~TreeNode </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a4d3054a033accf3e38ea132002fc35ff" name="a4d3054a033accf3e38ea132002fc35ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d3054a033accf3e38ea132002fc35ff">&#9670;&nbsp;</a></span>TreeNode() <span class="overload">[4/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TreeNode::TreeNode </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTreeNode.html">TreeNode</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a35724af755b5d0c43de40a723ef81ec1" name="a35724af755b5d0c43de40a723ef81ec1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35724af755b5d0c43de40a723ef81ec1">&#9670;&nbsp;</a></span>TreeNode() <span class="overload">[5/5]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TreeNode::TreeNode </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTreeNode.html">TreeNode</a> &amp;&amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a6161f2ebb92184eab4215d121870e788" name="a6161f2ebb92184eab4215d121870e788"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6161f2ebb92184eab4215d121870e788">&#9670;&nbsp;</a></span>AddChild()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TreeNode::AddChild </td>
<td>(</td>
<td class="paramtype">std::unique_ptr&lt; <a class="el" href="classTreeNode.html">TreeNode</a> &gt;&#160;</td>
<td class="paramname"><em>child</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Add child node. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">child</td><td>Child node to add. </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00038">38</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00115">m_children</a>.</p>
</div>
</div>
<a id="a81047bd7d2a4cc96b9ef5e20d0d63b5f" name="a81047bd7d2a4cc96b9ef5e20d0d63b5f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81047bd7d2a4cc96b9ef5e20d0d63b5f">&#9670;&nbsp;</a></span>GetChild() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classTreeNode.html">TreeNode</a> * TreeNode::GetChild </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get mutable child by index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>Child index. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Child pointer or nullptr if index is invalid. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00054">54</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00115">m_children</a>.</p>
</div>
</div>
<a id="a4727ff801a2d1b9323c5ae50a35457a6" name="a4727ff801a2d1b9323c5ae50a35457a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4727ff801a2d1b9323c5ae50a35457a6">&#9670;&nbsp;</a></span>GetChild() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classTreeNode.html">TreeNode</a> * TreeNode::GetChild </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>index</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get child by index. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">index</td><td>Child index. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Child pointer or nullptr if index is invalid. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00047">47</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00115">m_children</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="abdd82460187dca8d3e5d66f5d5c529ea" name="abdd82460187dca8d3e5d66f5d5c529ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdd82460187dca8d3e5d66f5d5c529ea">&#9670;&nbsp;</a></span>GetChildCount()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::size_t TreeNode::GetChildCount </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get child count. </p>
<dl class="section return"><dt>Returns</dt><dd>Number of children. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00043">43</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00115">m_children</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="afc503b40004764163605d6dbdb4ef811" name="afc503b40004764163605d6dbdb4ef811"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc503b40004764163605d6dbdb4ef811">&#9670;&nbsp;</a></span>GetFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structFrameInfo.html">FrameInfo</a> * TreeNode::GetFrame </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get frame payload if node is frame. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to frame info or nullptr. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00069">69</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00116">m_frame</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="aaac5b8d9dc9e5ae1f367d1adbcf20e18" name="aaac5b8d9dc9e5ae1f367d1adbcf20e18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaac5b8d9dc9e5ae1f367d1adbcf20e18">&#9670;&nbsp;</a></span>GetName()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const std::string &amp; TreeNode::GetName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get display name. </p>
<dl class="section return"><dt>Returns</dt><dd>Node name. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00065">65</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00114">m_name</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="a226518612d0d00b5988a2c44fc21d3f1" name="a226518612d0d00b5988a2c44fc21d3f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a226518612d0d00b5988a2c44fc21d3f1">&#9670;&nbsp;</a></span>GetSignal()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structSignalInfo.html">SignalInfo</a> * TreeNode::GetSignal </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get signal payload if node is signal. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to signal info or nullptr. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00073">73</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00117">m_signal</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="afa2f4b0aafa12d3d41ed00df8e0250c9" name="afa2f4b0aafa12d3d41ed00df8e0250c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afa2f4b0aafa12d3d41ed00df8e0250c9">&#9670;&nbsp;</a></span>GetType()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16">NodeType</a> TreeNode::GetType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Get node type. </p>
<dl class="section return"><dt>Returns</dt><dd>Node type. </dd></dl>
<p class="definition">Definition at line <a class="el" href="tree__node_8cpp_source.html#l00061">61</a> of file <a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a>.</p>
<p class="reference">References <a class="el" href="tree__node_8h_source.html#l00113">m_type</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="ad6ce97dcf532b452d520452b6d000daa" name="ad6ce97dcf532b452d520452b6d000daa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6ce97dcf532b452d520452b6d000daa">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classTreeNode.html">TreeNode</a> &amp; TreeNode::operator= </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTreeNode.html">TreeNode</a> &amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a id="a88fbcbec9c64d888b19c5edb95059a95" name="a88fbcbec9c64d888b19c5edb95059a95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88fbcbec9c64d888b19c5edb95059a95">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classTreeNode.html">TreeNode</a> &amp; TreeNode::operator= </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classTreeNode.html">TreeNode</a> &amp;&amp;&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">default</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a1bd61f40df6d36e61021063e3816a351" name="a1bd61f40df6d36e61021063e3816a351"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bd61f40df6d36e61021063e3816a351">&#9670;&nbsp;</a></span>m_children</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::unique_ptr&lt;<a class="el" href="classTreeNode.html">TreeNode</a>&gt; &gt; TreeNode::m_children</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="tree__node_8h_source.html#l00115">115</a> of file <a class="el" href="tree__node_8h_source.html">tree_node.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="tree__node_8cpp_source.html#l00038">AddChild()</a>, <a class="el" href="tree__node_8cpp_source.html#l00047">GetChild()</a>, and <a class="el" href="tree__node_8cpp_source.html#l00043">GetChildCount()</a>.</p>
</div>
</div>
<a id="a77ee6aa80774d67ba442a66b45c798c2" name="a77ee6aa80774d67ba442a66b45c798c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77ee6aa80774d67ba442a66b45c798c2">&#9670;&nbsp;</a></span>m_frame</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="structFrameInfo.html">FrameInfo</a>&gt; TreeNode::m_frame</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="tree__node_8h_source.html#l00116">116</a> of file <a class="el" href="tree__node_8h_source.html">tree_node.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="tree__node_8cpp_source.html#l00069">GetFrame()</a>.</p>
</div>
</div>
<a id="ac0ddcb8370e6b51e2d3de6b8211a47f8" name="ac0ddcb8370e6b51e2d3de6b8211a47f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac0ddcb8370e6b51e2d3de6b8211a47f8">&#9670;&nbsp;</a></span>m_name</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string TreeNode::m_name</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="tree__node_8h_source.html#l00114">114</a> of file <a class="el" href="tree__node_8h_source.html">tree_node.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="tree__node_8cpp_source.html#l00065">GetName()</a>.</p>
</div>
</div>
<a id="ae658355007bc9303f7bfae3bb3ec8386" name="ae658355007bc9303f7bfae3bb3ec8386"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae658355007bc9303f7bfae3bb3ec8386">&#9670;&nbsp;</a></span>m_signal</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::unique_ptr&lt;<a class="el" href="structSignalInfo.html">SignalInfo</a>&gt; TreeNode::m_signal</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="tree__node_8h_source.html#l00117">117</a> of file <a class="el" href="tree__node_8h_source.html">tree_node.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="tree__node_8cpp_source.html#l00073">GetSignal()</a>.</p>
</div>
</div>
<a id="a04bccab9e60a6a78777cd7dfec52d224" name="a04bccab9e60a6a78777cd7dfec52d224"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04bccab9e60a6a78777cd7dfec52d224">&#9670;&nbsp;</a></span>m_type</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16">NodeType</a> TreeNode::m_type</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="tree__node_8h_source.html#l00113">113</a> of file <a class="el" href="tree__node_8h_source.html">tree_node.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="tree__node_8cpp_source.html#l00061">GetType()</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="tree__node_8h_source.html">tree_node.h</a></li>
<li><a class="el" href="tree__node_8cpp_source.html">tree_node.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

75
docs/html/classes.html Normal file
View File

@@ -0,0 +1,75 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Class Index</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li class="current"><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">Class Index</div></div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_D">D</a>&#160;|&#160;<a class="qindex" href="#letter_F">F</a>&#160;|&#160;<a class="qindex" href="#letter_R">R</a>&#160;|&#160;<a class="qindex" href="#letter_S">S</a>&#160;|&#160;<a class="qindex" href="#letter_T">T</a></div>
<div class="classindex">
<dl class="classindex even">
<dt class="alphachar"><a id="letter_D" name="letter_D">D</a></dt>
<dd><a class="el" href="structDbcDatabase.html">DbcDatabase</a></dd><dd><a class="el" href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a></dd><dd><a class="el" href="classDbcDecoder.html">DbcDecoder</a></dd><dd><a class="el" href="classDbcParser.html">DbcParser</a></dd><dd><a class="el" href="classDbcTreeBuilder.html">DbcTreeBuilder</a></dd><dd><a class="el" href="structDecodeDatabase.html">DecodeDatabase</a></dd><dd><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a></dd><dd><a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a></dd><dd><a class="el" href="structDecodeFrame.html">DecodeFrame</a></dd><dd><a class="el" href="structDecodeSignal.html">DecodeSignal</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_F" name="letter_F">F</a></dt>
<dd><a class="el" href="structFrameInfo.html">FrameInfo</a></dd><dd><a class="el" href="structFrameKey.html">FrameKey</a></dd><dd><a class="el" href="structFrameKeyHasher.html">FrameKeyHasher</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_R" name="letter_R">R</a></dt>
<dd><a class="el" href="structRawCanFrame.html">RawCanFrame</a></dd></dl>
<dl class="classindex odd">
<dt class="alphachar"><a id="letter_S" name="letter_S">S</a></dt>
<dd><a class="el" href="structSignalInfo.html">SignalInfo</a></dd></dl>
<dl class="classindex even">
<dt class="alphachar"><a id="letter_T" name="letter_T">T</a></dt>
<dd><a class="el" href="classTreeNode.html">TreeNode</a></dd></dl>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

BIN
docs/html/closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
docs/html/dbc.qch Normal file

Binary file not shown.

View File

@@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_database.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle"><div class="title">dbc_database.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;vector&gt;</code><br />
<code>#include &quot;<a class="el" href="frame__info_8h_source.html">frame_info.h</a>&quot;</code><br />
</div>
<p><a href="dbc__database_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDbcDatabase.html">DbcDatabase</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parsed DBC content stored in a simple internal form. <a href="structDbcDatabase.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__database_8h_source.html">dbc_database.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_database.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_database.h</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__database_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_database.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef DBC_DATABASE_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define DBC_DATABASE_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &quot;<a class="code" href="frame__info_8h.html">frame_info.h</a>&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"></span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">/**</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * @brief Parsed DBC content stored in a simple internal form.</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> */</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="structDbcDatabase.html"> 22</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> {</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"> 23</a></span> std::vector&lt;FrameInfo&gt; <a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>; <span class="comment">/**&lt; All frames found in the DBC file. */</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span>};</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> </div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="preprocessor">#endif </span><span class="comment">/* DBC_DATABASE_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aframe__info_8h_html"><div class="ttname"><a href="frame__info_8h.html">frame_info.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="astructDbcDatabase_html_a2cade5d0234ee816132127542f8c612b"><div class="ttname"><a href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">DbcDatabase::frames</a></div><div class="ttdeci">std::vector&lt; FrameInfo &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00023">dbc_database.h:23</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decode_builder.cpp 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_decode_builder.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="dbc__decode__builder_8h_source.html">dbc_decode_builder.h</a>&quot;</code><br />
</div>
<p><a href="dbc__decode__builder_8cpp_source.html">Go to the source code of this file.</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__decode__builder_8cpp_source.html">dbc_decode_builder.cpp</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,170 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decode_builder.cpp Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_decode_builder.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__decode__builder_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_decode_builder.cpp</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__decode__builder_8h.html">dbc_decode_builder.h</a>&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"> 14</a></span><a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> <a class="code hl_function" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">DbcDecodeBuilder::Build</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;source)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> <a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> result;</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordflow">for</span> (std::size_t frameIndex = 0U; frameIndex &lt; source.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>.size(); ++frameIndex) {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">const</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> &amp;sourceFrame = source.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>[frameIndex];</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <a class="code hl_struct" href="structDecodeFrame.html">DecodeFrame</a> targetFrame;</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">name</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">name</a>;</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">canId</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a>;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">isExtended</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a>;</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">dlc</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">dlc</a>;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">pgn</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">pgn</a>;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">hasPgn</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">hasPgn</a>;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">transmitter</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">transmitter</a>;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">comment</a> = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">comment</a>;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordflow">for</span> (std::size_t signalIndex = 0U; signalIndex &lt; sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>.size(); ++signalIndex) {</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">const</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> &amp;sourceSignal = sourceFrame.<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>[signalIndex];</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_struct" href="structDecodeSignal.html">DecodeSignal</a> targetSignal;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> </div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">name</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">name</a>;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">startBit</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">startBit</a>;</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">length</a>;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">byteOrder</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">isLittleEndian</a> ? <a class="code hl_enumvalue" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">ByteOrder::Intel</a> : <a class="code hl_enumvalue" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31">ByteOrder::Motorola</a>;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">valueType</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">isSigned</a> ? <a class="code hl_enumvalue" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">ValueType::Signed</a> : <a class="code hl_enumvalue" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a">ValueType::Unsigned</a>;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">factor</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">factor</a>;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">offset</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">offset</a>;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">minimum</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">minimum</a>;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">maximum</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">maximum</a>;</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">unit</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">unit</a>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">receivers</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">receivers</a>;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> targetSignal.<a class="code hl_variable" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">comment</a> = sourceSignal.<a class="code hl_variable" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">comment</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">signals</a>.push_back (targetSignal);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> result.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>.push_back (targetFrame);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> result.<a class="code hl_variable" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">frameIndexByKey</a>[<a class="code hl_struct" href="structFrameKey.html">FrameKey</a> (targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">canId</a>, targetFrame.<a class="code hl_variable" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">isExtended</a>)] =</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> result.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>.size() - 1U;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span>}</div>
<div class="ttc" id="aclassDbcDecodeBuilder_html_a2bc6386dfb5e58976c42e22c19ec471b"><div class="ttname"><a href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">DbcDecodeBuilder::Build</a></div><div class="ttdeci">DecodeDatabase Build(const DbcDatabase &amp;source) const</div><div class="ttdoc">Build runtime decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decode__builder_8cpp_source.html#l00014">dbc_decode_builder.cpp:14</a></div></div>
<div class="ttc" id="adbc__decode__builder_8h_html"><div class="ttname"><a href="dbc__decode__builder_8h.html">dbc_decode_builder.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="adecode__database_8h_html_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"><div class="ttname"><a href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31">ByteOrder::Motorola</a></div><div class="ttdeci">@ Motorola</div></div>
<div class="ttc" id="adecode__database_8h_html_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"><div class="ttname"><a href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">ByteOrder::Intel</a></div><div class="ttdeci">@ Intel</div></div>
<div class="ttc" id="adecode__database_8h_html_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"><div class="ttname"><a href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">ValueType::Signed</a></div><div class="ttdeci">@ Signed</div></div>
<div class="ttc" id="adecode__database_8h_html_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"><div class="ttname"><a href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a">ValueType::Unsigned</a></div><div class="ttdeci">@ Unsigned</div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="astructDbcDatabase_html_a2cade5d0234ee816132127542f8c612b"><div class="ttname"><a href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">DbcDatabase::frames</a></div><div class="ttdeci">std::vector&lt; FrameInfo &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00023">dbc_database.h:23</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html"><div class="ttname"><a href="structDecodeDatabase.html">DecodeDatabase</a></div><div class="ttdoc">Runtime decode database with fast lookup by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00132">decode_database.h:132</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html_a2bd4ddfc2602c1de4e12a373bfc93072"><div class="ttname"><a href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">DecodeDatabase::frames</a></div><div class="ttdeci">std::vector&lt; DecodeFrame &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00133">decode_database.h:133</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html_ae4fd1351008bb0dce337821a849100c5"><div class="ttname"><a href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">DecodeDatabase::frameIndexByKey</a></div><div class="ttdeci">std::unordered_map&lt; FrameKey, std::size_t, FrameKeyHasher &gt; frameIndexByKey</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00134">decode_database.h:134</a></div></div>
<div class="ttc" id="astructDecodeFrame_html"><div class="ttname"><a href="structDecodeFrame.html">DecodeFrame</a></div><div class="ttdoc">Runtime-ready frame definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00072">decode_database.h:72</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a1d3c54055c0cbceb73adf551f7067f23"><div class="ttname"><a href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">DecodeFrame::pgn</a></div><div class="ttdeci">std::uint32_t pgn</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00077">decode_database.h:77</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a2551102670c4a540fced4c71da0b369d"><div class="ttname"><a href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">DecodeFrame::hasPgn</a></div><div class="ttdeci">bool hasPgn</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00078">decode_database.h:78</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a25819ef907a32391af5c9f7cae9cdb22"><div class="ttname"><a href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">DecodeFrame::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00080">decode_database.h:80</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a372afd9e74f1ae33f85cb4acfd3e2036"><div class="ttname"><a href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">DecodeFrame::signals</a></div><div class="ttdeci">std::vector&lt; DecodeSignal &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00081">decode_database.h:81</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a3ee2348d781f8f15aaf87e8dcf57ec41"><div class="ttname"><a href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">DecodeFrame::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00075">decode_database.h:75</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a51111ac13988be372d5673d12cf3e060"><div class="ttname"><a href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">DecodeFrame::dlc</a></div><div class="ttdeci">std::uint8_t dlc</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00076">decode_database.h:76</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a52e10215388db7df8b541b9d9909edcf"><div class="ttname"><a href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">DecodeFrame::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00074">decode_database.h:74</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_aa0a7f8fd5bfde2148dfd0d838328f579"><div class="ttname"><a href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">DecodeFrame::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00073">decode_database.h:73</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_ad78241dc40c793aabb8495b6989b81a9"><div class="ttname"><a href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">DecodeFrame::transmitter</a></div><div class="ttdeci">std::string transmitter</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00079">decode_database.h:79</a></div></div>
<div class="ttc" id="astructDecodeSignal_html"><div class="ttname"><a href="structDecodeSignal.html">DecodeSignal</a></div><div class="ttdoc">Runtime-ready signal definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00039">decode_database.h:39</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a0fb84e19a0ab3bd50b6f65c1075ebc25"><div class="ttname"><a href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">DecodeSignal::minimum</a></div><div class="ttdeci">double minimum</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00047">decode_database.h:47</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a38eed9ca7581423fd8bfbedcffc12092"><div class="ttname"><a href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">DecodeSignal::unit</a></div><div class="ttdeci">std::string unit</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00049">decode_database.h:49</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a428c39913a366a8476dd291061354391"><div class="ttname"><a href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">DecodeSignal::factor</a></div><div class="ttdeci">double factor</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00045">decode_database.h:45</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a4a6ba87142a9badbf0ca830e9e709cb7"><div class="ttname"><a href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">DecodeSignal::maximum</a></div><div class="ttdeci">double maximum</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00048">decode_database.h:48</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a58cf5844f2272a23dcb9687d912e4780"><div class="ttname"><a href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">DecodeSignal::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00040">decode_database.h:40</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a92db637af4e224a0ae70173050dc3f74"><div class="ttname"><a href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">DecodeSignal::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00046">decode_database.h:46</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a9d37638129263b8902ba5be59baf39a8"><div class="ttname"><a href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">DecodeSignal::valueType</a></div><div class="ttdeci">ValueType valueType</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00044">decode_database.h:44</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_aaf5d7527ddf65b6355c2b4f3626df22d"><div class="ttname"><a href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">DecodeSignal::startBit</a></div><div class="ttdeci">std::uint32_t startBit</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00041">decode_database.h:41</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_abdbae62a64d2df716bf60c6b67b30eaa"><div class="ttname"><a href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">DecodeSignal::receivers</a></div><div class="ttdeci">std::vector&lt; std::string &gt; receivers</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00050">decode_database.h:50</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_abdc4c4bb4a67a6d61d6ca81e8a52833d"><div class="ttname"><a href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">DecodeSignal::byteOrder</a></div><div class="ttdeci">ByteOrder byteOrder</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00043">decode_database.h:43</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_acd4ef5ee30421d117b5756854302debb"><div class="ttname"><a href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">DecodeSignal::length</a></div><div class="ttdeci">std::uint32_t length</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00042">decode_database.h:42</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_ae28c905d4a2bc86419c2a8361bfea473"><div class="ttname"><a href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">DecodeSignal::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00051">decode_database.h:51</a></div></div>
<div class="ttc" id="astructFrameInfo_html"><div class="ttname"><a href="structFrameInfo.html">FrameInfo</a></div><div class="ttdoc">Describes one CAN frame from a DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00024">frame_info.h:24</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a34b726afaad2ac5c697fdb2ac070cdaf"><div class="ttname"><a href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">FrameInfo::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00027">frame_info.h:27</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a4737a5420213ad4304724e39f3a4e55d"><div class="ttname"><a href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">FrameInfo::hasPgn</a></div><div class="ttdeci">bool hasPgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00029">frame_info.h:29</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a92749ec3798d4211a505860fb389a9e8"><div class="ttname"><a href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">FrameInfo::transmitter</a></div><div class="ttdeci">std::string transmitter</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00031">frame_info.h:31</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a942937027f1af06536f98cc23b2bf6ce"><div class="ttname"><a href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">FrameInfo::signals</a></div><div class="ttdeci">std::vector&lt; SignalInfo &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00033">frame_info.h:33</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aa2b198ea0f55e560c123d35e7b3ecab9"><div class="ttname"><a href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">FrameInfo::dlc</a></div><div class="ttdeci">std::uint8_t dlc</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00030">frame_info.h:30</a></div></div>
<div class="ttc" id="astructFrameInfo_html_abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><div class="ttname"><a href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">FrameInfo::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00025">frame_info.h:25</a></div></div>
<div class="ttc" id="astructFrameInfo_html_ace75121294f9d89b762080ab5643293c"><div class="ttname"><a href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">FrameInfo::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00032">frame_info.h:32</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aee518b33f1000bf0b7f6e4a87474c943"><div class="ttname"><a href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">FrameInfo::pgn</a></div><div class="ttdeci">std::uint32_t pgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00028">frame_info.h:28</a></div></div>
<div class="ttc" id="astructFrameInfo_html_af470b0742c05bfbffc31c51a68f5c05e"><div class="ttname"><a href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">FrameInfo::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00026">frame_info.h:26</a></div></div>
<div class="ttc" id="astructFrameKey_html"><div class="ttname"><a href="structFrameKey.html">FrameKey</a></div><div class="ttdoc">Key for fast frame lookup.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00099">decode_database.h:99</a></div></div>
<div class="ttc" id="astructSignalInfo_html"><div class="ttname"><a href="structSignalInfo.html">SignalInfo</a></div><div class="ttdoc">Describes one signal inside a DBC frame.</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00022">signal_info.h:22</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1008b5201f71848177217bd52fb84baa"><div class="ttname"><a href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">SignalInfo::length</a></div><div class="ttdeci">std::uint32_t length</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00025">signal_info.h:25</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1f214f03e94ef5794de2d3367bfcbd01"><div class="ttname"><a href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">SignalInfo::unit</a></div><div class="ttdeci">std::string unit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00032">signal_info.h:32</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a2c95562fd0b29327a7fd7b1e6feee7f3"><div class="ttname"><a href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">SignalInfo::receivers</a></div><div class="ttdeci">std::vector&lt; std::string &gt; receivers</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00033">signal_info.h:33</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a379e422a00cad56f896cacf60455b088"><div class="ttname"><a href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">SignalInfo::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00023">signal_info.h:23</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a52a52b320eef92fbcb4626307f9a498f"><div class="ttname"><a href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">SignalInfo::isSigned</a></div><div class="ttdeci">bool isSigned</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00027">signal_info.h:27</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ab7d0769f47aa540656b22e4e49db517e"><div class="ttname"><a href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">SignalInfo::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00029">signal_info.h:29</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ac99ba7563a5dad01e39c4257216953f5"><div class="ttname"><a href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">SignalInfo::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00034">signal_info.h:34</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ace290724f9801521609aedaa946d61f1"><div class="ttname"><a href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">SignalInfo::startBit</a></div><div class="ttdeci">std::uint32_t startBit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00024">signal_info.h:24</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ada7bf94fbeaa26bd08c73982b5af255b"><div class="ttname"><a href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">SignalInfo::minimum</a></div><div class="ttdeci">double minimum</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00030">signal_info.h:30</a></div></div>
<div class="ttc" id="astructSignalInfo_html_adf1c4331b9eabced0d7fdda40ff0eb52"><div class="ttname"><a href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">SignalInfo::maximum</a></div><div class="ttdeci">double maximum</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00031">signal_info.h:31</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ae4f78d99a2750aa564d7eba860171499"><div class="ttname"><a href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">SignalInfo::factor</a></div><div class="ttdeci">double factor</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00028">signal_info.h:28</a></div></div>
<div class="ttc" id="astructSignalInfo_html_af363b1563fb4c7cc8973f9a80c06846c"><div class="ttname"><a href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">SignalInfo::isLittleEndian</a></div><div class="ttdeci">bool isLittleEndian</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00026">signal_info.h:26</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,77 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decode_builder.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle"><div class="title">dbc_decode_builder.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="dbc__database_8h_source.html">dbc_database.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="decode__database_8h_source.html">decode_database.h</a>&quot;</code><br />
</div>
<p><a href="dbc__decode__builder_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts parsed DBC data into runtime decode database. <a href="classDbcDecodeBuilder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__decode__builder_8h_source.html">dbc_decode_builder.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,93 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decode_builder.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_decode_builder.h</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__decode__builder_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_decode_builder.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef DBC_DECODE_BUILDER_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define DBC_DECODE_BUILDER_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__database_8h.html">dbc_database.h</a>&quot;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &quot;<a class="code" href="decode__database_8h.html">decode_database.h</a>&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment"></span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">/**</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"> * @brief Converts parsed DBC data into runtime decode database.</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> */</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"><a class="line" href="classDbcDecodeBuilder.html"> 21</a></span><span class="keyword">class </span><a class="code hl_class" href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a> {</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> /**</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * @brief Build runtime decode database.</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * @param source Parsed DBC database.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> * @return Runtime-ready decode database.</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> */</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> <a class="code hl_function" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">Build</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;source) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>};</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="preprocessor">#endif </span><span class="comment">/* DBC_DECODE_BUILDER_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclassDbcDecodeBuilder_html"><div class="ttname"><a href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a></div><div class="ttdoc">Converts parsed DBC data into runtime decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decode__builder_8h_source.html#l00021">dbc_decode_builder.h:21</a></div></div>
<div class="ttc" id="aclassDbcDecodeBuilder_html_a2bc6386dfb5e58976c42e22c19ec471b"><div class="ttname"><a href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">DbcDecodeBuilder::Build</a></div><div class="ttdeci">DecodeDatabase Build(const DbcDatabase &amp;source) const</div><div class="ttdoc">Build runtime decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decode__builder_8cpp_source.html#l00014">dbc_decode_builder.cpp:14</a></div></div>
<div class="ttc" id="adbc__database_8h_html"><div class="ttname"><a href="dbc__database_8h.html">dbc_database.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="adecode__database_8h_html"><div class="ttname"><a href="decode__database_8h.html">decode_database.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html"><div class="ttname"><a href="structDecodeDatabase.html">DecodeDatabase</a></div><div class="ttdoc">Runtime decode database with fast lookup by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00132">decode_database.h:132</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decoder.cpp 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_decoder.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>&quot;</code><br />
</div>
<p><a href="dbc__decoder_8cpp_source.html">Go to the source code of this file.</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__decoder_8cpp_source.html">dbc_decoder.cpp</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,248 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decoder.cpp Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_decoder.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__decoder_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_decoder.cpp</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__decoder_8h.html">dbc_decoder.h</a>&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"> 14</a></span><span class="keyword">const</span> <a class="code hl_struct" href="structDecodeFrame.html">DecodeFrame</a> *<a class="code hl_function" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">DbcDecoder::FindFrame</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;database,</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> std::uint32_t canId,</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keywordtype">bool</span> isExtended)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keyword">const</span> <a class="code hl_struct" href="structFrameKey.html">FrameKey</a> key (canId, isExtended);</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">const</span> std::unordered_map&lt;FrameKey, std::size_t, FrameKeyHasher&gt;::const_iterator it =</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> database.<a class="code hl_variable" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">frameIndexByKey</a>.find (key);</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordflow">if</span> (it == database.<a class="code hl_variable" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">frameIndexByKey</a>.end())</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> </div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">const</span> std::size_t index = it-&gt;second;</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordflow">if</span> (index &gt;= database.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>.size())</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">return</span> &amp;database.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>[index];</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span>}</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"> 31</a></span><a class="code hl_struct" href="structDecodedFrameValue.html">DecodedFrameValue</a> <a class="code hl_function" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">DbcDecoder::Decode</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;database,</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keyword">const</span> <a class="code hl_struct" href="structRawCanFrame.html">RawCanFrame</a> &amp;frame)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_struct" href="structDecodedFrameValue.html">DecodedFrameValue</a> result;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodeFrame.html">DecodeFrame</a> *definition = <a class="code hl_function" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">FindFrame</a> (database, frame.<a class="code hl_variable" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">canId</a>, frame.<a class="code hl_variable" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">isExtended</a>);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">if</span> (definition == <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> result.<a class="code hl_variable" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">definition</a> = definition;</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> result.<a class="code hl_variable" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">valid</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> </div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">for</span> (std::size_t signalIndex = 0U; signalIndex &lt; definition-&gt;<a class="code hl_variable" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">signals</a>.size(); ++signalIndex) {</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodeSignal.html">DecodeSignal</a> &amp;signal = definition-&gt;<a class="code hl_variable" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">signals</a>[signalIndex];</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_struct" href="structDecodedSignalValue.html">DecodedSignalValue</a> decoded;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> std::uint64_t unsignedValue = 0U;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> </div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> decoded.<a class="code hl_variable" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a> = &amp;signal;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> </div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">ExtractUnsigned</a> (frame.<a class="code hl_variable" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">data</a>, signal, unsignedValue)) {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> decoded.<a class="code hl_variable" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">valid</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> result.<a class="code hl_variable" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a>.push_back (decoded);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> </div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">if</span> (signal.<a class="code hl_variable" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">valueType</a> == <a class="code hl_enumvalue" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">ValueType::Signed</a>)</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> decoded.<a class="code hl_variable" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a> = <a class="code hl_function" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">SignExtend</a> (unsignedValue, signal.<a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a>);</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> decoded.<a class="code hl_variable" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a> = <span class="keyword">static_cast&lt;</span>std::int64_t<span class="keyword">&gt;</span> (unsignedValue);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> decoded.<a class="code hl_variable" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">physicalValue</a> =</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> (<span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span> (decoded.<a class="code hl_variable" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a>) * signal.<a class="code hl_variable" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">factor</a>) + signal.<a class="code hl_variable" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">offset</a>;</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> decoded.<a class="code hl_variable" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">valid</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> </div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> result.<a class="code hl_variable" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a>.push_back (decoded);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> }</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">return</span> result;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span>}</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> </div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"> 70</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">DbcDecoder::ExtractUnsigned</a> (<span class="keyword">const</span> std::vector&lt;std::uint8_t&gt; &amp;data,</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodeSignal.html">DecodeSignal</a> &amp;signal,</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> std::uint64_t &amp;value) {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span> ((signal.<a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a> == 0U) || (signal.<a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a> &gt; 64U))</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">if</span> (signal.<a class="code hl_variable" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">byteOrder</a> == <a class="code hl_enumvalue" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">ByteOrder::Intel</a>)</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">ExtractIntel</a> (data, signal.<a class="code hl_variable" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">startBit</a>, signal.<a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a>, value);</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> <a class="code hl_function" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">ExtractMotorola</a> (data, signal.<a class="code hl_variable" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">startBit</a>, signal.<a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a>, value);</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span>}</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> </div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"> 82</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">DbcDecoder::ExtractIntel</a> (<span class="keyword">const</span> std::vector&lt;std::uint8_t&gt; &amp;data,</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> std::uint32_t startBit,</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> std::uint32_t length,</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> std::uint64_t &amp;value) {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> value = 0U;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">for</span> (std::uint32_t bitIndex = 0U; bitIndex &lt; length; ++bitIndex) {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="keyword">const</span> std::uint32_t absoluteBit = startBit + bitIndex;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">const</span> std::uint32_t byteIndex = absoluteBit / 8U;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">const</span> std::uint32_t bitInByte = absoluteBit % 8U;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> </div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keywordflow">if</span> (byteIndex &gt;= data.size())</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keyword">const</span> std::uint64_t bitValue =</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> (<span class="keyword">static_cast&lt;</span>std::uint64_t<span class="keyword">&gt;</span> ((data[byteIndex] &gt;&gt; bitInByte) &amp; 0x01U) &lt;&lt; bitIndex);</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> </div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> value |= bitValue;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> }</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span>}</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"> 105</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">DbcDecoder::ExtractMotorola</a> (<span class="keyword">const</span> std::vector&lt;std::uint8_t&gt; &amp;data,</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> std::uint32_t startBit,</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> std::uint32_t length,</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> std::uint64_t &amp;value) {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="comment">/*</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="comment"> * DBC Motorola bit numbering:</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="comment"> * - startBit points to the most significant bit of the signal</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"> * - inside a byte, bit numbering goes 7..0</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment"> * - crossing byte boundary moves to the next byte, bit 7</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment"> */</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> value = 0U;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> std::int32_t currentBit = <span class="keyword">static_cast&lt;</span>std::int32_t<span class="keyword">&gt;</span> (startBit);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">for</span> (std::uint32_t bitIndex = 0U; bitIndex &lt; length; ++bitIndex) {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (currentBit &lt; 0)</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">const</span> std::uint32_t absoluteBit = <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span> (currentBit);</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keyword">const</span> std::uint32_t byteIndex = absoluteBit / 8U;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keyword">const</span> std::uint32_t bitFromMsb = absoluteBit % 8U;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> std::uint32_t bitInByte = 7U - bitFromMsb;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">if</span> (byteIndex &gt;= data.size())</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> value &lt;&lt;= 1U;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> value |= <span class="keyword">static_cast&lt;</span>std::uint64_t<span class="keyword">&gt;</span> ((data[byteIndex] &gt;&gt; bitInByte) &amp; 0x01U);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">if</span> ((absoluteBit % 8U) == 7U)</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> currentBit = <span class="keyword">static_cast&lt;</span>std::int32_t<span class="keyword">&gt;</span> ((byteIndex + 1U) * 8U);</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> --currentBit;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> }</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> </div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span>}</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"><a class="line" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"> 144</a></span>std::int64_t <a class="code hl_function" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">DbcDecoder::SignExtend</a> (std::uint64_t value, std::uint32_t bitLength) {</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="keywordflow">if</span> ((bitLength == 0U) || (bitLength &gt;= 64U))</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>std::int64_t<span class="keyword">&gt;</span> (value);</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <span class="keyword">const</span> std::uint64_t signMask = (<span class="keyword">static_cast&lt;</span>std::uint64_t<span class="keyword">&gt;</span> (1U) &lt;&lt; (bitLength - 1U));</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keyword">const</span> std::uint64_t valueMask = (<span class="keyword">static_cast&lt;</span>std::uint64_t<span class="keyword">&gt;</span> (1U) &lt;&lt; bitLength) - 1U;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> value &amp;= valueMask;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> <span class="keywordflow">if</span> ((value &amp; signMask) == 0U)</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>std::int64_t<span class="keyword">&gt;</span> (value);</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span>std::int64_t<span class="keyword">&gt;</span> (value | (~valueMask));</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span>}</div>
<div class="ttc" id="aclassDbcDecoder_html_a2a8a99b1107543be6fd1b3f891130bf5"><div class="ttname"><a href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">DbcDecoder::ExtractUnsigned</a></div><div class="ttdeci">static bool ExtractUnsigned(const std::vector&lt; std::uint8_t &gt; &amp;data, const DecodeSignal &amp;signal, std::uint64_t &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00070">dbc_decoder.cpp:70</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_a345951ffe5d943a70d3a1ea1f39e74f7"><div class="ttname"><a href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">DbcDecoder::Decode</a></div><div class="ttdeci">DecodedFrameValue Decode(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const</div><div class="ttdoc">Decode one raw CAN frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00031">dbc_decoder.cpp:31</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_a41e89e343338088d27e46773fa52df42"><div class="ttname"><a href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">DbcDecoder::SignExtend</a></div><div class="ttdeci">static std::int64_t SignExtend(std::uint64_t value, std::uint32_t bitLength)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00144">dbc_decoder.cpp:144</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_ab2cfb2fb711c95d3a29365546b89f3da"><div class="ttname"><a href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">DbcDecoder::FindFrame</a></div><div class="ttdeci">const DecodeFrame * FindFrame(const DecodeDatabase &amp;database, std::uint32_t canId, bool isExtended) const</div><div class="ttdoc">Find frame definition by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00014">dbc_decoder.cpp:14</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_aba130165c1a73bb4cd3a0454f415d872"><div class="ttname"><a href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">DbcDecoder::ExtractIntel</a></div><div class="ttdeci">static bool ExtractIntel(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00082">dbc_decoder.cpp:82</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_aede690734148c3d538105d5a2f7ee0a9"><div class="ttname"><a href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">DbcDecoder::ExtractMotorola</a></div><div class="ttdeci">static bool ExtractMotorola(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00105">dbc_decoder.cpp:105</a></div></div>
<div class="ttc" id="adbc__decoder_8h_html"><div class="ttname"><a href="dbc__decoder_8h.html">dbc_decoder.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="adecode__database_8h_html_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"><div class="ttname"><a href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">ByteOrder::Intel</a></div><div class="ttdeci">@ Intel</div></div>
<div class="ttc" id="adecode__database_8h_html_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"><div class="ttname"><a href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">ValueType::Signed</a></div><div class="ttdeci">@ Signed</div></div>
<div class="ttc" id="astructDecodeDatabase_html"><div class="ttname"><a href="structDecodeDatabase.html">DecodeDatabase</a></div><div class="ttdoc">Runtime decode database with fast lookup by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00132">decode_database.h:132</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html_a2bd4ddfc2602c1de4e12a373bfc93072"><div class="ttname"><a href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">DecodeDatabase::frames</a></div><div class="ttdeci">std::vector&lt; DecodeFrame &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00133">decode_database.h:133</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html_ae4fd1351008bb0dce337821a849100c5"><div class="ttname"><a href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">DecodeDatabase::frameIndexByKey</a></div><div class="ttdeci">std::unordered_map&lt; FrameKey, std::size_t, FrameKeyHasher &gt; frameIndexByKey</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00134">decode_database.h:134</a></div></div>
<div class="ttc" id="astructDecodeFrame_html"><div class="ttname"><a href="structDecodeFrame.html">DecodeFrame</a></div><div class="ttdoc">Runtime-ready frame definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00072">decode_database.h:72</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a372afd9e74f1ae33f85cb4acfd3e2036"><div class="ttname"><a href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">DecodeFrame::signals</a></div><div class="ttdeci">std::vector&lt; DecodeSignal &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00081">decode_database.h:81</a></div></div>
<div class="ttc" id="astructDecodeSignal_html"><div class="ttname"><a href="structDecodeSignal.html">DecodeSignal</a></div><div class="ttdoc">Runtime-ready signal definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00039">decode_database.h:39</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a428c39913a366a8476dd291061354391"><div class="ttname"><a href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">DecodeSignal::factor</a></div><div class="ttdeci">double factor</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00045">decode_database.h:45</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a92db637af4e224a0ae70173050dc3f74"><div class="ttname"><a href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">DecodeSignal::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00046">decode_database.h:46</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a9d37638129263b8902ba5be59baf39a8"><div class="ttname"><a href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">DecodeSignal::valueType</a></div><div class="ttdeci">ValueType valueType</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00044">decode_database.h:44</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_aaf5d7527ddf65b6355c2b4f3626df22d"><div class="ttname"><a href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">DecodeSignal::startBit</a></div><div class="ttdeci">std::uint32_t startBit</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00041">decode_database.h:41</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_abdc4c4bb4a67a6d61d6ca81e8a52833d"><div class="ttname"><a href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">DecodeSignal::byteOrder</a></div><div class="ttdeci">ByteOrder byteOrder</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00043">decode_database.h:43</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_acd4ef5ee30421d117b5756854302debb"><div class="ttname"><a href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">DecodeSignal::length</a></div><div class="ttdeci">std::uint32_t length</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00042">decode_database.h:42</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html"><div class="ttname"><a href="structDecodedFrameValue.html">DecodedFrameValue</a></div><div class="ttdoc">Fully decoded frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00055">dbc_decoder.h:55</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a4f51c31110dba1f73a763c596372beb0"><div class="ttname"><a href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">DecodedFrameValue::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00058">dbc_decoder.h:58</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a60dda1cc352d2c8087f0bdbc81dd266c"><div class="ttname"><a href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">DecodedFrameValue::definition</a></div><div class="ttdeci">const DecodeFrame * definition</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00056">dbc_decoder.h:56</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a8440e0e5d7953102095b029f522022d3"><div class="ttname"><a href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">DecodedFrameValue::signals</a></div><div class="ttdeci">std::vector&lt; DecodedSignalValue &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00057">dbc_decoder.h:57</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html"><div class="ttname"><a href="structDecodedSignalValue.html">DecodedSignalValue</a></div><div class="ttdoc">One decoded signal value.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00038">dbc_decoder.h:38</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_a5138b825940e34689f7b3891627ee9ec"><div class="ttname"><a href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">DecodedSignalValue::rawValue</a></div><div class="ttdeci">std::int64_t rawValue</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00040">dbc_decoder.h:40</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_a6847d05b3cb00d5e0f6c611968f57978"><div class="ttname"><a href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">DecodedSignalValue::physicalValue</a></div><div class="ttdeci">double physicalValue</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00041">dbc_decoder.h:41</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_aac0ed361af545cde48d0e6f41a859686"><div class="ttname"><a href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">DecodedSignalValue::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00042">dbc_decoder.h:42</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_acadc3b3bb21dd6b0412d342c7e6b20d7"><div class="ttname"><a href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">DecodedSignalValue::definition</a></div><div class="ttdeci">const DecodeSignal * definition</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00039">dbc_decoder.h:39</a></div></div>
<div class="ttc" id="astructFrameKey_html"><div class="ttname"><a href="structFrameKey.html">FrameKey</a></div><div class="ttdoc">Key for fast frame lookup.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00099">decode_database.h:99</a></div></div>
<div class="ttc" id="astructRawCanFrame_html"><div class="ttname"><a href="structRawCanFrame.html">RawCanFrame</a></div><div class="ttdoc">Raw CAN frame used for runtime or trace decoding.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00023">dbc_decoder.h:23</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a0acb487612104c99c9907344c035df83"><div class="ttname"><a href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">RawCanFrame::data</a></div><div class="ttdeci">std::vector&lt; std::uint8_t &gt; data</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00026">dbc_decoder.h:26</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><div class="ttname"><a href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">RawCanFrame::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00024">dbc_decoder.h:24</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a462193d275adc1dba8bd18ffa0e36bb7"><div class="ttname"><a href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">RawCanFrame::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00025">dbc_decoder.h:25</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decoder.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle"><div class="title">dbc_decoder.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;vector&gt;</code><br />
<code>#include &lt;cstdint&gt;</code><br />
<code>#include &quot;<a class="el" href="decode__database_8h_source.html">decode_database.h</a>&quot;</code><br />
</div>
<p><a href="dbc__decoder_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRawCanFrame.html">RawCanFrame</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raw CAN frame used for runtime or trace decoding. <a href="structRawCanFrame.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">One decoded signal value. <a href="structDecodedSignalValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fully decoded frame. <a href="structDecodedFrameValue.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcDecoder.html">DbcDecoder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime CAN decoder using prebuilt decode database. <a href="classDbcDecoder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,193 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_decoder.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_decoder.h</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__decoder_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_decoder.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef DBC_DECODER_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define DBC_DECODER_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;<a class="code" href="decode__database_8h.html">decode_database.h</a>&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"></span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">/**</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * @brief Raw CAN frame used for runtime or trace decoding.</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> */</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="structRawCanFrame.html"> 23</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structRawCanFrame.html">RawCanFrame</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"> 24</a></span> std::uint32_t <a class="code hl_variable" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">canId</a>; <span class="comment">/**&lt; Normalized CAN ID. */</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"> 25</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">isExtended</a>; <span class="comment">/**&lt; true for extended frame. */</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"> 26</a></span> std::vector&lt;std::uint8_t&gt; <a class="code hl_variable" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">data</a>; <span class="comment">/**&lt; Payload bytes. */</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"> 28</a></span> <a class="code hl_function" href="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7">RawCanFrame</a>()</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> : <a class="code hl_variable" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">canId</a> (0U)</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> , <a class="code hl_variable" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">isExtended</a> (false)</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> , <a class="code hl_variable" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">data</a>() {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> }</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span>};</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"></span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment">/**</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment"> * @brief One decoded signal value.</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"> */</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"><a class="line" href="structDecodedSignalValue.html"> 38</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structDecodedSignalValue.html">DecodedSignalValue</a> {</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"> 39</a></span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodeSignal.html">DecodeSignal</a> *<a class="code hl_variable" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a>; <span class="comment">/**&lt; Signal definition. */</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"> 40</a></span> std::int64_t <a class="code hl_variable" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a>; <span class="comment">/**&lt; Extracted raw integer value. */</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"> 41</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">physicalValue</a>; <span class="comment">/**&lt; Converted physical value. */</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"> 42</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">valid</a>; <span class="comment">/**&lt; true if decoding succeeded. */</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"> 44</a></span> <a class="code hl_function" href="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf">DecodedSignalValue</a>()</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> : <a class="code hl_variable" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a> (nullptr)</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> , <a class="code hl_variable" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a> (0)</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> , <a class="code hl_variable" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">physicalValue</a> (0.0)</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> , <a class="code hl_variable" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">valid</a> (false) {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> }</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>};</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span><span class="comment"></span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="comment">/**</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span><span class="comment"> * @brief Fully decoded frame.</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span><span class="comment"> */</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"><a class="line" href="structDecodedFrameValue.html"> 55</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structDecodedFrameValue.html">DecodedFrameValue</a> {</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"><a class="line" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"> 56</a></span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodeFrame.html">DecodeFrame</a> *<a class="code hl_variable" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">definition</a>; <span class="comment">/**&lt; Frame definition. */</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"><a class="line" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"> 57</a></span> std::vector&lt;DecodedSignalValue&gt; <a class="code hl_variable" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a>; <span class="comment">/**&lt; Decoded signal values. */</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"><a class="line" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"> 58</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">valid</a>; <span class="comment">/**&lt; true if frame was matched. */</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"><a class="line" href="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"> 60</a></span> <a class="code hl_function" href="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b">DecodedFrameValue</a>()</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> : <a class="code hl_variable" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">definition</a> (nullptr)</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> , <a class="code hl_variable" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a>()</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> , <a class="code hl_variable" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">valid</a> (false) {</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span>};</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"></span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment">/**</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment"> * @brief Runtime CAN decoder using prebuilt decode database.</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment"> */</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="classDbcDecoder.html"> 70</a></span><span class="keyword">class </span><a class="code hl_class" href="classDbcDecoder.html">DbcDecoder</a> {</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="comment"> /**</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> * @brief Find frame definition by CAN ID.</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"> * @param database Runtime decode database.</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="comment"> * @param canId Normalized CAN ID.</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="comment"> * @param isExtended true for extended frame.</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="comment"> * @return Pointer to frame definition or nullptr.</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="comment"> */</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodeFrame.html">DecodeFrame</a> *<a class="code hl_function" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">FindFrame</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;database,</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> std::uint32_t canId,</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordtype">bool</span> isExtended) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment"></span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span><span class="comment"> /**</span></div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span><span class="comment"> * @brief Decode one raw CAN frame.</span></div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span><span class="comment"> * @param database Runtime decode database.</span></div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span><span class="comment"> * @param frame Raw CAN frame.</span></div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span><span class="comment"> * @return Decoded frame value.</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"> */</span></div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_struct" href="structDecodedFrameValue.html">DecodedFrameValue</a> <a class="code hl_function" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">Decode</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> &amp;database,</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">const</span> <a class="code hl_struct" href="structRawCanFrame.html">RawCanFrame</a> &amp;frame) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">ExtractUnsigned</a> (<span class="keyword">const</span> std::vector&lt;std::uint8_t&gt; &amp;data,</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodeSignal.html">DecodeSignal</a> &amp;signal,</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> std::uint64_t &amp;value);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">ExtractIntel</a> (<span class="keyword">const</span> std::vector&lt;std::uint8_t&gt; &amp;data,</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> std::uint32_t startBit,</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> std::uint32_t length,</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> std::uint64_t &amp;value);</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> </div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">ExtractMotorola</a> (<span class="keyword">const</span> std::vector&lt;std::uint8_t&gt; &amp;data,</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> std::uint32_t startBit,</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> std::uint32_t length,</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> std::uint64_t &amp;value);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keyword">static</span> std::int64_t <a class="code hl_function" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">SignExtend</a> (std::uint64_t value, std::uint32_t bitLength);</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span>};</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor">#endif </span><span class="comment">/* DBC_DECODER_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclassDbcDecoder_html"><div class="ttname"><a href="classDbcDecoder.html">DbcDecoder</a></div><div class="ttdoc">Runtime CAN decoder using prebuilt decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00070">dbc_decoder.h:70</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_a2a8a99b1107543be6fd1b3f891130bf5"><div class="ttname"><a href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">DbcDecoder::ExtractUnsigned</a></div><div class="ttdeci">static bool ExtractUnsigned(const std::vector&lt; std::uint8_t &gt; &amp;data, const DecodeSignal &amp;signal, std::uint64_t &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00070">dbc_decoder.cpp:70</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_a345951ffe5d943a70d3a1ea1f39e74f7"><div class="ttname"><a href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">DbcDecoder::Decode</a></div><div class="ttdeci">DecodedFrameValue Decode(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const</div><div class="ttdoc">Decode one raw CAN frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00031">dbc_decoder.cpp:31</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_a41e89e343338088d27e46773fa52df42"><div class="ttname"><a href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">DbcDecoder::SignExtend</a></div><div class="ttdeci">static std::int64_t SignExtend(std::uint64_t value, std::uint32_t bitLength)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00144">dbc_decoder.cpp:144</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_ab2cfb2fb711c95d3a29365546b89f3da"><div class="ttname"><a href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">DbcDecoder::FindFrame</a></div><div class="ttdeci">const DecodeFrame * FindFrame(const DecodeDatabase &amp;database, std::uint32_t canId, bool isExtended) const</div><div class="ttdoc">Find frame definition by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00014">dbc_decoder.cpp:14</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_aba130165c1a73bb4cd3a0454f415d872"><div class="ttname"><a href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">DbcDecoder::ExtractIntel</a></div><div class="ttdeci">static bool ExtractIntel(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00082">dbc_decoder.cpp:82</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_aede690734148c3d538105d5a2f7ee0a9"><div class="ttname"><a href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">DbcDecoder::ExtractMotorola</a></div><div class="ttdeci">static bool ExtractMotorola(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00105">dbc_decoder.cpp:105</a></div></div>
<div class="ttc" id="adecode__database_8h_html"><div class="ttname"><a href="decode__database_8h.html">decode_database.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="astructDecodeDatabase_html"><div class="ttname"><a href="structDecodeDatabase.html">DecodeDatabase</a></div><div class="ttdoc">Runtime decode database with fast lookup by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00132">decode_database.h:132</a></div></div>
<div class="ttc" id="astructDecodeFrame_html"><div class="ttname"><a href="structDecodeFrame.html">DecodeFrame</a></div><div class="ttdoc">Runtime-ready frame definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00072">decode_database.h:72</a></div></div>
<div class="ttc" id="astructDecodeSignal_html"><div class="ttname"><a href="structDecodeSignal.html">DecodeSignal</a></div><div class="ttdoc">Runtime-ready signal definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00039">decode_database.h:39</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html"><div class="ttname"><a href="structDecodedFrameValue.html">DecodedFrameValue</a></div><div class="ttdoc">Fully decoded frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00055">dbc_decoder.h:55</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a19f754bb84e67e6ae71ea93b9ae6382b"><div class="ttname"><a href="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b">DecodedFrameValue::DecodedFrameValue</a></div><div class="ttdeci">DecodedFrameValue()</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00060">dbc_decoder.h:60</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a4f51c31110dba1f73a763c596372beb0"><div class="ttname"><a href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">DecodedFrameValue::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00058">dbc_decoder.h:58</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a60dda1cc352d2c8087f0bdbc81dd266c"><div class="ttname"><a href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">DecodedFrameValue::definition</a></div><div class="ttdeci">const DecodeFrame * definition</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00056">dbc_decoder.h:56</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a8440e0e5d7953102095b029f522022d3"><div class="ttname"><a href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">DecodedFrameValue::signals</a></div><div class="ttdeci">std::vector&lt; DecodedSignalValue &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00057">dbc_decoder.h:57</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html"><div class="ttname"><a href="structDecodedSignalValue.html">DecodedSignalValue</a></div><div class="ttdoc">One decoded signal value.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00038">dbc_decoder.h:38</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_a1481b122a7ce5a618012b1133c6adedf"><div class="ttname"><a href="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf">DecodedSignalValue::DecodedSignalValue</a></div><div class="ttdeci">DecodedSignalValue()</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00044">dbc_decoder.h:44</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_a5138b825940e34689f7b3891627ee9ec"><div class="ttname"><a href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">DecodedSignalValue::rawValue</a></div><div class="ttdeci">std::int64_t rawValue</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00040">dbc_decoder.h:40</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_a6847d05b3cb00d5e0f6c611968f57978"><div class="ttname"><a href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">DecodedSignalValue::physicalValue</a></div><div class="ttdeci">double physicalValue</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00041">dbc_decoder.h:41</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_aac0ed361af545cde48d0e6f41a859686"><div class="ttname"><a href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">DecodedSignalValue::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00042">dbc_decoder.h:42</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_acadc3b3bb21dd6b0412d342c7e6b20d7"><div class="ttname"><a href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">DecodedSignalValue::definition</a></div><div class="ttdeci">const DecodeSignal * definition</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00039">dbc_decoder.h:39</a></div></div>
<div class="ttc" id="astructRawCanFrame_html"><div class="ttname"><a href="structRawCanFrame.html">RawCanFrame</a></div><div class="ttdoc">Raw CAN frame used for runtime or trace decoding.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00023">dbc_decoder.h:23</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a0acb487612104c99c9907344c035df83"><div class="ttname"><a href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">RawCanFrame::data</a></div><div class="ttdeci">std::vector&lt; std::uint8_t &gt; data</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00026">dbc_decoder.h:26</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a17d18b39bed45e69f4e17ae2838f07f7"><div class="ttname"><a href="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7">RawCanFrame::RawCanFrame</a></div><div class="ttdeci">RawCanFrame()</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00028">dbc_decoder.h:28</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><div class="ttname"><a href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">RawCanFrame::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00024">dbc_decoder.h:24</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a462193d275adc1dba8bd18ffa0e36bb7"><div class="ttname"><a href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">RawCanFrame::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00025">dbc_decoder.h:25</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,86 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_parser.cpp 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">dbc_parser.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="dbc__parser_8h_source.html">dbc_parser.h</a>&quot;</code><br />
<code>#include &lt;fstream&gt;</code><br />
<code>#include &lt;sstream&gt;</code><br />
<code>#include &lt;stdexcept&gt;</code><br />
<code>#include &lt;cctype&gt;</code><br />
</div>
<p><a href="dbc__parser_8cpp_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 id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceanonymous__namespace_02dbc__parser_8cpp_03"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html">anonymous_namespace{dbc_parser.cpp}</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5850f07ce5f4e5c4f3bf385ebcfcebbb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">anonymous_namespace{dbc_parser.cpp}::TrimText</a> (const std::string &amp;text)</td></tr>
<tr class="memdesc:a5850f07ce5f4e5c4f3bf385ebcfcebbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove leading and trailing spaces. <a href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">More...</a><br /></td></tr>
<tr class="separator:a5850f07ce5f4e5c4f3bf385ebcfcebbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,452 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_parser.cpp Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_parser.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__parser_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_parser.cpp</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__parser_8h.html">dbc_parser.h</a>&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;fstream&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;sstream&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;stdexcept&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;cctype&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"><a class="line" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html"> 19</a></span><span class="keyword">namespace </span>{<span class="comment"></span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> /**</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * @brief Remove leading and trailing spaces.</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * @param text Input text.</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> * @return Trimmed text.</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> */</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"> 25</a></span> std::string <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (<span class="keyword">const</span> std::string &amp;text) {</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> std::string::size_type begin = 0U;</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordflow">while</span> ((begin &lt; text.size()) &amp;&amp;</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> std::isspace (<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span><span class="keyword">&gt;</span> (text[begin])))</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> ++begin;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> std::string::size_type end = text.size();</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">while</span> ((end &gt; begin) &amp;&amp;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> std::isspace (<span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">char</span><span class="keyword">&gt;</span> (text[end - 1U])))</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> --end;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">return</span> text.substr (begin, end - begin);</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> }</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span>}</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="classDbcParser.html#aef72826942c9095d653fafa435855e56"> 40</a></span><a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> <a class="code hl_function" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">DbcParser::ParseFile</a> (<span class="keyword">const</span> std::string &amp;filePath)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> std::ifstream input (filePath.c_str());</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (!input.is_open())</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Failed to open DBC file: &quot;</span> + filePath);</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> database;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> *currentFrame = <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> std::string line;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">while</span> (std::getline (input, line)) {</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> line = <a class="code hl_function" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">Trim</a> (line);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">if</span> (line.empty())</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> </div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">IsFrameLine</a> (line)) {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> frame = <a class="code hl_function" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">ParseFrameLine</a> (line);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>.push_back (frame);</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> currentFrame = &amp;database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>.back();</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">IsSignalLine</a> (line)) {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (currentFrame == <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Signal found before any frame definition.&quot;</span>);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> signal = <a class="code hl_function" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">ParseSignalLine</a> (line);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> currentFrame-&gt;<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>.push_back (signal);</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">IsCommentLine</a> (line))</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <a class="code hl_function" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">ParseCommentLine</a> (line, database);</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> }</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> </div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span> database;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span>}</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"> 71</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">DbcParser::IsFrameLine</a> (<span class="keyword">const</span> std::string &amp;line) {</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">return</span> (line.size() &gt;= 4U) &amp;&amp; (line.compare (0U, 4U, <span class="stringliteral">&quot;BO_ &quot;</span>) == 0);</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>}</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"> 75</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">DbcParser::IsSignalLine</a> (<span class="keyword">const</span> std::string &amp;line) {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span> (line.size() &gt;= 4U) &amp;&amp; (line.compare (0U, 4U, <span class="stringliteral">&quot;SG_ &quot;</span>) == 0);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span>}</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> </div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"> 79</a></span><span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">DbcParser::IsCommentLine</a> (<span class="keyword">const</span> std::string &amp;line) {</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">return</span> (line.size() &gt;= 4U) &amp;&amp; (line.compare (0U, 4U, <span class="stringliteral">&quot;CM_ &quot;</span>) == 0);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span>}</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"> 83</a></span>std::string <a class="code hl_function" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">DbcParser::Trim</a> (<span class="keyword">const</span> std::string &amp;text) {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">return</span> <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (text);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span>}</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"> 87</a></span>std::vector&lt;std::string&gt; <a class="code hl_function" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">DbcParser::SplitReceivers</a> (<span class="keyword">const</span> std::string &amp;text) {</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> std::vector&lt;std::string&gt; receivers;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> std::string token;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> std::istringstream stream (text);</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> </div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">while</span> (std::getline (stream, token, <span class="charliteral">&#39;,&#39;</span>)) {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> token = <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (token);</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">if</span> (!token.empty())</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> receivers.push_back (token);</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> }</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> </div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">return</span> receivers;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span>}</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> </div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"> 101</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">DbcParser::NormalizeCanId</a> (std::uint32_t rawCanId,</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> std::uint32_t &amp;normalizedCanId,</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">bool</span> &amp;isExtended) {</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="comment">/*</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment"> * DBC commonly stores extended identifiers with bit 31 set.</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="comment"> * Example:</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> * raw id = 0x80000000 | actual_29_bit_id</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"> */</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span> ((rawCanId &amp; 0x80000000U) != 0U) {</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> isExtended = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> normalizedCanId = (rawCanId &amp; 0x1FFFFFFFU);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> isExtended = (rawCanId &gt; 0x7FFU);</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> normalizedCanId = rawCanId;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>}</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"><a class="line" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"> 118</a></span>std::uint32_t <a class="code hl_function" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">DbcParser::TryExtractPgn</a> (std::uint32_t canId, <span class="keywordtype">bool</span> isExtended, <span class="keywordtype">bool</span> &amp;hasPgn) {</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> hasPgn = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <span class="keywordflow">if</span> (!isExtended)</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">return</span> 0U;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> </div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keywordflow">if</span> ((canId &amp; 0x1FFFFFFFU) != canId)</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> 0U;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> </div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keyword">const</span> std::uint32_t pf = (canId &gt;&gt; 16U) &amp; 0xFFU;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keyword">const</span> std::uint32_t ps = (canId &gt;&gt; 8U) &amp; 0xFFU;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keyword">const</span> std::uint32_t dp = (canId &gt;&gt; 24U) &amp; 0x01U;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> std::uint32_t pgn = 0U;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keywordflow">if</span> (pf &lt; 240U)</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> pgn = (dp &lt;&lt; 16U) | (pf &lt;&lt; 8U);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">else</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> pgn = (dp &lt;&lt; 16U) | (pf &lt;&lt; 8U) | ps;</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> </div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> hasPgn = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">return</span> pgn;</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span>}</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"><a class="line" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"> 142</a></span><a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> <a class="code hl_function" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">DbcParser::ParseFrameLine</a> (<span class="keyword">const</span> std::string &amp;line) {</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="comment">/*</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="comment"> * Example:</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="comment"> * BO_ 256 EngineData: 8 EEC1</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="comment"> */</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> </div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> std::istringstream stream (line);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> std::string token;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> frame;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> std::uint32_t rawCanId = 0U;</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> stream &gt;&gt; token;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> <span class="keywordflow">if</span> (token != <span class="stringliteral">&quot;BO_&quot;</span>)</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Invalid frame line: &quot;</span> + line);</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> stream &gt;&gt; rawCanId;</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <a class="code hl_function" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">NormalizeCanId</a> (rawCanId, frame.<a class="code hl_variable" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a>, frame.<a class="code hl_variable" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a>);</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> stream &gt;&gt; token;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <span class="keywordflow">if</span> (token.empty())</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Missing frame name: &quot;</span> + line);</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">if</span> (token[token.size() - 1U] == <span class="charliteral">&#39;:&#39;</span>)</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> token.erase (token.size() - 1U, 1U);</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span> frame.<a class="code hl_variable" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">name</a> = token;</div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno"> 169</span> {</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno"> 170</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> dlcValue = 0U;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno"> 171</span> stream &gt;&gt; dlcValue;</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno"> 172</span> frame.<a class="code hl_variable" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">dlc</a> = <span class="keyword">static_cast&lt;</span>std::uint8_t<span class="keyword">&gt;</span> (dlcValue);</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> }</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> </div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> stream &gt;&gt; frame.<a class="code hl_variable" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">transmitter</a>;</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> frame.<a class="code hl_variable" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">pgn</a> = <a class="code hl_function" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">TryExtractPgn</a> (frame.<a class="code hl_variable" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a>, frame.<a class="code hl_variable" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a>, frame.<a class="code hl_variable" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">hasPgn</a>);</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> </div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <span class="keywordflow">return</span> frame;</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span>}</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"><a class="line" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"> 181</a></span><a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> <a class="code hl_function" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">DbcParser::ParseSignalLine</a> (<span class="keyword">const</span> std::string &amp;line) {</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <span class="comment">/*</span></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="comment"> * Example:</span></div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="comment"> * SG_ EngineSpeed : 0|16@1+ (0.125,0) [0|8000] &quot;rpm&quot; ECU1,ECU2</span></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="comment"> */</span></div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> </div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> signal;</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> </div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> std::string work = <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (line);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordflow">if</span> (work.compare (0U, 4U, <span class="stringliteral">&quot;SG_ &quot;</span>) != 0)</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Invalid signal line: &quot;</span> + line);</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> </div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> work.erase (0U, 4U);</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> </div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> <span class="keyword">const</span> std::string::size_type colonPos = work.find (<span class="charliteral">&#39;:&#39;</span>);</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <span class="keywordflow">if</span> (colonPos == std::string::npos)</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Signal line missing &#39;:&#39; : &quot;</span> + line);</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> signal.<a class="code hl_variable" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">name</a> = <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (work.substr (0U, colonPos));</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span> std::string rest = <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (work.substr (colonPos + 1U));</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span> </div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span> <span class="keyword">const</span> std::string::size_type pipePos = rest.find (<span class="charliteral">&#39;|&#39;</span>);</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <span class="keyword">const</span> std::string::size_type atPos = rest.find (<span class="charliteral">&#39;@&#39;</span>);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> <span class="keyword">const</span> std::string::size_type signPos = rest.find_first_of (<span class="stringliteral">&quot;+-&quot;</span>, atPos);</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> <span class="keyword">const</span> std::string::size_type factorBegin = rest.find (<span class="charliteral">&#39;(&#39;</span>);</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keyword">const</span> std::string::size_type factorComma = rest.find (<span class="charliteral">&#39;,&#39;</span>, factorBegin);</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> <span class="keyword">const</span> std::string::size_type factorEnd = rest.find (<span class="charliteral">&#39;)&#39;</span>, factorComma);</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="keyword">const</span> std::string::size_type rangeBegin = rest.find (<span class="charliteral">&#39;[&#39;</span>);</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"> 209</span> <span class="keyword">const</span> std::string::size_type rangeSep = rest.find (<span class="charliteral">&#39;|&#39;</span>, rangeBegin);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> <span class="keyword">const</span> std::string::size_type rangeEnd = rest.find (<span class="charliteral">&#39;]&#39;</span>, rangeSep);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <span class="keyword">const</span> std::string::size_type unitBegin = rest.find (<span class="charliteral">&#39;&quot;&#39;</span>, rangeEnd);</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> <span class="keyword">const</span> std::string::size_type unitEnd = rest.find (<span class="charliteral">&#39;&quot;&#39;</span>, unitBegin + 1U);</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="keywordflow">if</span> ((pipePos == std::string::npos) ||</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> (atPos == std::string::npos) ||</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> (signPos == std::string::npos) ||</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> (factorBegin == std::string::npos) ||</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> (factorComma == std::string::npos) ||</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> (factorEnd == std::string::npos) ||</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> (rangeBegin == std::string::npos) ||</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> (rangeSep == std::string::npos) ||</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> (rangeEnd == std::string::npos) ||</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> (unitBegin == std::string::npos) ||</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> (unitEnd == std::string::npos))</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Unsupported signal syntax: &quot;</span> + line);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> signal.<a class="code hl_variable" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">startBit</a> = <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span> (</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> std::stoul (<a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (rest.substr (0U, pipePos)))</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> );</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> </div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> signal.<a class="code hl_variable" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">length</a> = <span class="keyword">static_cast&lt;</span>std::uint32_t<span class="keyword">&gt;</span> (</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> std::stoul (<a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (rest.substr (pipePos + 1U, atPos - pipePos - 1U)))</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> );</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> </div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> {</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> <span class="keywordflow">if</span> ((atPos + 1U) &gt;= rest.size())</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <span class="keywordflow">throw</span> std::runtime_error (<span class="stringliteral">&quot;Invalid endianness in signal: &quot;</span> + line);</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span> </div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> <span class="keyword">const</span> <span class="keywordtype">char</span> endianChar = rest[atPos + 1U];</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"> 240</span> signal.<a class="code hl_variable" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">isLittleEndian</a> = (endianChar == <span class="charliteral">&#39;1&#39;</span>);</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"> 241</span> }</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"> 242</span> </div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> {</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keyword">const</span> <span class="keywordtype">char</span> signChar = rest[signPos];</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> signal.<a class="code hl_variable" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">isSigned</a> = (signChar == <span class="charliteral">&#39;-&#39;</span>);</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> }</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> </div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> signal.<a class="code hl_variable" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">factor</a> = std::stod (</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (rest.substr (factorBegin + 1U, factorComma - factorBegin - 1U))</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> );</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> </div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> signal.<a class="code hl_variable" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">offset</a> = std::stod (</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (rest.substr (factorComma + 1U, factorEnd - factorComma - 1U))</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> );</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> signal.<a class="code hl_variable" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">minimum</a> = std::stod (</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (rest.substr (rangeBegin + 1U, rangeSep - rangeBegin - 1U))</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> );</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> </div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> signal.<a class="code hl_variable" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">maximum</a> = std::stod (</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (rest.substr (rangeSep + 1U, rangeEnd - rangeSep - 1U))</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> );</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> signal.<a class="code hl_variable" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">unit</a> = rest.substr (unitBegin + 1U, unitEnd - unitBegin - 1U);</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> {</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> <span class="keyword">const</span> std::string receiversText = <a class="code hl_function" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (rest.substr (unitEnd + 1U));</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> signal.<a class="code hl_variable" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">receivers</a> = <a class="code hl_function" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">SplitReceivers</a> (receiversText);</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> }</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <span class="keywordflow">return</span> signal;</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span>}</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> </div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"> 274</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">DbcParser::ParseCommentLine</a> (<span class="keyword">const</span> std::string &amp;line, <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;database) {</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> <span class="comment">/*</span></div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span><span class="comment"> * Examples:</span></div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span><span class="comment"> * CM_ BO_ 256 &quot;Frame comment&quot;;</span></div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span><span class="comment"> * CM_ SG_ 256 EngineSpeed &quot;Signal comment&quot;;</span></div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span><span class="comment"> */</span></div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> </div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> std::istringstream stream (line);</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> std::string token;</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> stream &gt;&gt; token;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span> </div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> <span class="keywordflow">if</span> (token != <span class="stringliteral">&quot;CM_&quot;</span>)</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"> 287</span> </div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> stream &gt;&gt; token;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> </div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"> 290</span> <span class="keywordflow">if</span> (token == <span class="stringliteral">&quot;BO_&quot;</span>) {</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> std::uint32_t rawCanId = 0U;</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> std::uint32_t canId = 0U;</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="keywordtype">bool</span> isExtended = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> </div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> stream &gt;&gt; rawCanId;</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <a class="code hl_function" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">NormalizeCanId</a> (rawCanId, canId, isExtended);</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"> 297</span> </div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> <span class="keyword">const</span> std::string::size_type quoteBegin = line.find (<span class="charliteral">&#39;&quot;&#39;</span>);</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">const</span> std::string::size_type quoteEnd = line.rfind (<span class="charliteral">&#39;&quot;&#39;</span>);</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> </div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="keywordflow">if</span> ((quoteBegin == std::string::npos) ||</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"> 302</span> (quoteEnd == std::string::npos) ||</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> (quoteEnd &lt;= quoteBegin))</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> </div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> *frame = <a class="code hl_function" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">FindFrameById</a> (database, canId, isExtended);</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span> <span class="keywordflow">if</span> (frame != <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"> 308</span> frame-&gt;<a class="code hl_variable" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">comment</a> = line.substr (quoteBegin + 1U, quoteEnd - quoteBegin - 1U);</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (token == <span class="stringliteral">&quot;SG_&quot;</span>) {</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> std::uint32_t rawCanId = 0U;</div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"> 311</span> std::uint32_t canId = 0U;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"> 312</span> <span class="keywordtype">bool</span> isExtended = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"> 313</span> std::string signalName;</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"> 314</span> </div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"> 315</span> stream &gt;&gt; rawCanId;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> stream &gt;&gt; signalName;</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <a class="code hl_function" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">NormalizeCanId</a> (rawCanId, canId, isExtended);</div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"> 319</span> </div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"> 320</span> <span class="keyword">const</span> std::string::size_type quoteBegin = line.find (<span class="charliteral">&#39;&quot;&#39;</span>);</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"> 321</span> <span class="keyword">const</span> std::string::size_type quoteEnd = line.rfind (<span class="charliteral">&#39;&quot;&#39;</span>);</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"> 322</span> </div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"> 323</span> <span class="keywordflow">if</span> ((quoteBegin == std::string::npos) ||</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"> 324</span> (quoteEnd == std::string::npos) ||</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> (quoteEnd &lt;= quoteBegin))</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> </div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"> 328</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> *frame = <a class="code hl_function" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">FindFrameById</a> (database, canId, isExtended);</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> <span class="keywordflow">if</span> (frame != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"> 330</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> *signal = <a class="code hl_function" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">FindSignalByName</a> (*frame, signalName);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> <span class="keywordflow">if</span> (signal != <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"> 332</span> signal-&gt;<a class="code hl_variable" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">comment</a> = line.substr (quoteBegin + 1U, quoteEnd - quoteBegin - 1U);</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"> 333</span> }</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> }</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span>}</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> </div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"><a class="line" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"> 337</a></span><a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> *<a class="code hl_function" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">DbcParser::FindFrameById</a> (<a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;database,</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"> 338</span> std::uint32_t canId,</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"> 339</span> <span class="keywordtype">bool</span> isExtended) {</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"> 340</span> <span class="keywordflow">for</span> (std::size_t index = 0U; index &lt; database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>.size(); ++index) {</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> <span class="keywordflow">if</span> ((database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>[index].canId == canId) &amp;&amp;</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> (database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>[index].isExtended == isExtended))</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> <span class="keywordflow">return</span> &amp;database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>[index];</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> }</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> </div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span>}</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"><a class="line" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"> 349</a></span><a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> *<a class="code hl_function" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">DbcParser::FindSignalByName</a> (<a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> &amp;frame, <span class="keyword">const</span> std::string &amp;signalName) {</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"> 350</span> <span class="keywordflow">for</span> (std::size_t index = 0U; index &lt; frame.<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>.size(); ++index) {</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"> 351</span> <span class="keywordflow">if</span> (frame.<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>[index].name == signalName)</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"> 352</span> <span class="keywordflow">return</span> &amp;frame.<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>[index];</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> }</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> </div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span>}</div>
<div class="ttc" id="aclassDbcParser_html_a0c1cc3c58f33473bf426a77b7a25c529"><div class="ttname"><a href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">DbcParser::SplitReceivers</a></div><div class="ttdeci">static std::vector&lt; std::string &gt; SplitReceivers(const std::string &amp;text)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00087">dbc_parser.cpp:87</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a1ae77c4c356af3d7b01a30044366f02b"><div class="ttname"><a href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">DbcParser::Trim</a></div><div class="ttdeci">static std::string Trim(const std::string &amp;text)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00083">dbc_parser.cpp:83</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a4cbce88d08b1f72903ecf1bce41de5d2"><div class="ttname"><a href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">DbcParser::ParseSignalLine</a></div><div class="ttdeci">static SignalInfo ParseSignalLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00181">dbc_parser.cpp:181</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a6d73bb1885e59aecd8202e93a7cd392a"><div class="ttname"><a href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">DbcParser::ParseFrameLine</a></div><div class="ttdeci">static FrameInfo ParseFrameLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00142">dbc_parser.cpp:142</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a8a7e8fc517e40beab87a8a1dbad2b324"><div class="ttname"><a href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">DbcParser::TryExtractPgn</a></div><div class="ttdeci">static std::uint32_t TryExtractPgn(std::uint32_t canId, bool isExtended, bool &amp;hasPgn)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00118">dbc_parser.cpp:118</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a94d140d9442e4989b5b2ea7662c2debf"><div class="ttname"><a href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">DbcParser::NormalizeCanId</a></div><div class="ttdeci">static void NormalizeCanId(std::uint32_t rawCanId, std::uint32_t &amp;normalizedCanId, bool &amp;isExtended)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00101">dbc_parser.cpp:101</a></div></div>
<div class="ttc" id="aclassDbcParser_html_aa662b34694fd8b3edd757f36cb064c5c"><div class="ttname"><a href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">DbcParser::ParseCommentLine</a></div><div class="ttdeci">static void ParseCommentLine(const std::string &amp;line, DbcDatabase &amp;database)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00274">dbc_parser.cpp:274</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ab1fee32cb845573ce10949b4bec721f9"><div class="ttname"><a href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">DbcParser::FindFrameById</a></div><div class="ttdeci">static FrameInfo * FindFrameById(DbcDatabase &amp;database, std::uint32_t canId, bool isExtended)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00337">dbc_parser.cpp:337</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ab7b95be4433c56cc855bedb08b96a71a"><div class="ttname"><a href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">DbcParser::FindSignalByName</a></div><div class="ttdeci">static SignalInfo * FindSignalByName(FrameInfo &amp;frame, const std::string &amp;signalName)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00349">dbc_parser.cpp:349</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ace3d3432a55707bc286a994aa205fed1"><div class="ttname"><a href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">DbcParser::IsSignalLine</a></div><div class="ttdeci">static bool IsSignalLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00075">dbc_parser.cpp:75</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ada086584d371c08dd93b75fb7965f13b"><div class="ttname"><a href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">DbcParser::IsFrameLine</a></div><div class="ttdeci">static bool IsFrameLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00071">dbc_parser.cpp:71</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ae3488a0a6c64dc95e4ed289e77579feb"><div class="ttname"><a href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">DbcParser::IsCommentLine</a></div><div class="ttdeci">static bool IsCommentLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00079">dbc_parser.cpp:79</a></div></div>
<div class="ttc" id="aclassDbcParser_html_aef72826942c9095d653fafa435855e56"><div class="ttname"><a href="classDbcParser.html#aef72826942c9095d653fafa435855e56">DbcParser::ParseFile</a></div><div class="ttdeci">DbcDatabase ParseFile(const std::string &amp;filePath) const</div><div class="ttdoc">Parse DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00040">dbc_parser.cpp:40</a></div></div>
<div class="ttc" id="adbc__parser_8h_html"><div class="ttname"><a href="dbc__parser_8h.html">dbc_parser.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="anamespaceanonymous__namespace_02dbc__parser_8cpp_03_html_a5850f07ce5f4e5c4f3bf385ebcfcebbb"><div class="ttname"><a href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">anonymous_namespace{dbc_parser.cpp}::TrimText</a></div><div class="ttdeci">std::string TrimText(const std::string &amp;text)</div><div class="ttdoc">Remove leading and trailing spaces.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00025">dbc_parser.cpp:25</a></div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="astructDbcDatabase_html_a2cade5d0234ee816132127542f8c612b"><div class="ttname"><a href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">DbcDatabase::frames</a></div><div class="ttdeci">std::vector&lt; FrameInfo &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00023">dbc_database.h:23</a></div></div>
<div class="ttc" id="astructFrameInfo_html"><div class="ttname"><a href="structFrameInfo.html">FrameInfo</a></div><div class="ttdoc">Describes one CAN frame from a DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00024">frame_info.h:24</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a34b726afaad2ac5c697fdb2ac070cdaf"><div class="ttname"><a href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">FrameInfo::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00027">frame_info.h:27</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a4737a5420213ad4304724e39f3a4e55d"><div class="ttname"><a href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">FrameInfo::hasPgn</a></div><div class="ttdeci">bool hasPgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00029">frame_info.h:29</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a92749ec3798d4211a505860fb389a9e8"><div class="ttname"><a href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">FrameInfo::transmitter</a></div><div class="ttdeci">std::string transmitter</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00031">frame_info.h:31</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a942937027f1af06536f98cc23b2bf6ce"><div class="ttname"><a href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">FrameInfo::signals</a></div><div class="ttdeci">std::vector&lt; SignalInfo &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00033">frame_info.h:33</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aa2b198ea0f55e560c123d35e7b3ecab9"><div class="ttname"><a href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">FrameInfo::dlc</a></div><div class="ttdeci">std::uint8_t dlc</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00030">frame_info.h:30</a></div></div>
<div class="ttc" id="astructFrameInfo_html_abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><div class="ttname"><a href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">FrameInfo::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00025">frame_info.h:25</a></div></div>
<div class="ttc" id="astructFrameInfo_html_ace75121294f9d89b762080ab5643293c"><div class="ttname"><a href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">FrameInfo::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00032">frame_info.h:32</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aee518b33f1000bf0b7f6e4a87474c943"><div class="ttname"><a href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">FrameInfo::pgn</a></div><div class="ttdeci">std::uint32_t pgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00028">frame_info.h:28</a></div></div>
<div class="ttc" id="astructFrameInfo_html_af470b0742c05bfbffc31c51a68f5c05e"><div class="ttname"><a href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">FrameInfo::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00026">frame_info.h:26</a></div></div>
<div class="ttc" id="astructSignalInfo_html"><div class="ttname"><a href="structSignalInfo.html">SignalInfo</a></div><div class="ttdoc">Describes one signal inside a DBC frame.</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00022">signal_info.h:22</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1008b5201f71848177217bd52fb84baa"><div class="ttname"><a href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">SignalInfo::length</a></div><div class="ttdeci">std::uint32_t length</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00025">signal_info.h:25</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1f214f03e94ef5794de2d3367bfcbd01"><div class="ttname"><a href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">SignalInfo::unit</a></div><div class="ttdeci">std::string unit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00032">signal_info.h:32</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a2c95562fd0b29327a7fd7b1e6feee7f3"><div class="ttname"><a href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">SignalInfo::receivers</a></div><div class="ttdeci">std::vector&lt; std::string &gt; receivers</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00033">signal_info.h:33</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a379e422a00cad56f896cacf60455b088"><div class="ttname"><a href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">SignalInfo::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00023">signal_info.h:23</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a52a52b320eef92fbcb4626307f9a498f"><div class="ttname"><a href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">SignalInfo::isSigned</a></div><div class="ttdeci">bool isSigned</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00027">signal_info.h:27</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ab7d0769f47aa540656b22e4e49db517e"><div class="ttname"><a href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">SignalInfo::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00029">signal_info.h:29</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ac99ba7563a5dad01e39c4257216953f5"><div class="ttname"><a href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">SignalInfo::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00034">signal_info.h:34</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ace290724f9801521609aedaa946d61f1"><div class="ttname"><a href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">SignalInfo::startBit</a></div><div class="ttdeci">std::uint32_t startBit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00024">signal_info.h:24</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ada7bf94fbeaa26bd08c73982b5af255b"><div class="ttname"><a href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">SignalInfo::minimum</a></div><div class="ttdeci">double minimum</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00030">signal_info.h:30</a></div></div>
<div class="ttc" id="astructSignalInfo_html_adf1c4331b9eabced0d7fdda40ff0eb52"><div class="ttname"><a href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">SignalInfo::maximum</a></div><div class="ttdeci">double maximum</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00031">signal_info.h:31</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ae4f78d99a2750aa564d7eba860171499"><div class="ttname"><a href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">SignalInfo::factor</a></div><div class="ttdeci">double factor</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00028">signal_info.h:28</a></div></div>
<div class="ttc" id="astructSignalInfo_html_af363b1563fb4c7cc8973f9a80c06846c"><div class="ttname"><a href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">SignalInfo::isLittleEndian</a></div><div class="ttdeci">bool isLittleEndian</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00026">signal_info.h:26</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,79 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_parser.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle"><div class="title">dbc_parser.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;cstdint&gt;</code><br />
<code>#include &quot;<a class="el" href="dbc__database_8h_source.html">dbc_database.h</a>&quot;</code><br />
</div>
<p><a href="dbc__parser_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcParser.html">DbcParser</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimal DBC parser. <a href="classDbcParser.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__parser_8h_source.html">dbc_parser.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,143 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_parser.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_parser.h</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__parser_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_parser.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef DBC_PARSER_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define DBC_PARSER_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__database_8h.html">dbc_database.h</a>&quot;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"></span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">/**</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * @brief Minimal DBC parser.</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> *</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> * Supports:</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> * - BO_</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> * - SG_</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> * - CM_ BO_</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> * - CM_ SG_</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> *</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> * Ignores:</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment"> * - attributes</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="comment"> * - multiplexing</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="comment"> * - value tables</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="comment"> */</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="classDbcParser.html"> 35</a></span><span class="keyword">class </span><a class="code hl_class" href="classDbcParser.html">DbcParser</a> {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"> /**</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> * @brief Parse DBC file.</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span><span class="comment"> * @param filePath Path to input file.</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="comment"> * @return Parsed database.</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span><span class="comment"> * @throws std::runtime_error on file or parse errors.</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span><span class="comment"> */</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> <a class="code hl_function" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">ParseFile</a> (<span class="keyword">const</span> std::string &amp;filePath) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keyword">private</span>:</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">IsFrameLine</a> (<span class="keyword">const</span> std::string &amp;line);</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">IsSignalLine</a> (<span class="keyword">const</span> std::string &amp;line);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">IsCommentLine</a> (<span class="keyword">const</span> std::string &amp;line);</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keyword">static</span> std::string <a class="code hl_function" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">Trim</a> (<span class="keyword">const</span> std::string &amp;text);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keyword">static</span> std::vector&lt;std::string&gt; <a class="code hl_function" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">SplitReceivers</a> (<span class="keyword">const</span> std::string &amp;text);</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keyword">static</span> std::uint32_t <a class="code hl_function" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">TryExtractPgn</a> (std::uint32_t canId, <span class="keywordtype">bool</span> isExtended, <span class="keywordtype">bool</span> &amp;hasPgn);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">NormalizeCanId</a> (std::uint32_t rawCanId,</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> std::uint32_t &amp;normalizedCanId,</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordtype">bool</span> &amp;isExtended);</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keyword">static</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> <a class="code hl_function" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">ParseFrameLine</a> (<span class="keyword">const</span> std::string &amp;line);</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keyword">static</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> <a class="code hl_function" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">ParseSignalLine</a> (<span class="keyword">const</span> std::string &amp;line);</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> </div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">ParseCommentLine</a> (<span class="keyword">const</span> std::string &amp;line, <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;database);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keyword">static</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> *<a class="code hl_function" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">FindFrameById</a> (<a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;database,</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> std::uint32_t canId,</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">bool</span> isExtended);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keyword">static</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> *<a class="code hl_function" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">FindSignalByName</a> (<a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> &amp;frame, <span class="keyword">const</span> std::string &amp;signalName);</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>};</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor">#endif </span><span class="comment">/* DBC_PARSER_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclassDbcParser_html"><div class="ttname"><a href="classDbcParser.html">DbcParser</a></div><div class="ttdoc">Minimal DBC parser.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8h_source.html#l00035">dbc_parser.h:35</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a0c1cc3c58f33473bf426a77b7a25c529"><div class="ttname"><a href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">DbcParser::SplitReceivers</a></div><div class="ttdeci">static std::vector&lt; std::string &gt; SplitReceivers(const std::string &amp;text)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00087">dbc_parser.cpp:87</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a1ae77c4c356af3d7b01a30044366f02b"><div class="ttname"><a href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">DbcParser::Trim</a></div><div class="ttdeci">static std::string Trim(const std::string &amp;text)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00083">dbc_parser.cpp:83</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a4cbce88d08b1f72903ecf1bce41de5d2"><div class="ttname"><a href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">DbcParser::ParseSignalLine</a></div><div class="ttdeci">static SignalInfo ParseSignalLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00181">dbc_parser.cpp:181</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a6d73bb1885e59aecd8202e93a7cd392a"><div class="ttname"><a href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">DbcParser::ParseFrameLine</a></div><div class="ttdeci">static FrameInfo ParseFrameLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00142">dbc_parser.cpp:142</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a8a7e8fc517e40beab87a8a1dbad2b324"><div class="ttname"><a href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">DbcParser::TryExtractPgn</a></div><div class="ttdeci">static std::uint32_t TryExtractPgn(std::uint32_t canId, bool isExtended, bool &amp;hasPgn)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00118">dbc_parser.cpp:118</a></div></div>
<div class="ttc" id="aclassDbcParser_html_a94d140d9442e4989b5b2ea7662c2debf"><div class="ttname"><a href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">DbcParser::NormalizeCanId</a></div><div class="ttdeci">static void NormalizeCanId(std::uint32_t rawCanId, std::uint32_t &amp;normalizedCanId, bool &amp;isExtended)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00101">dbc_parser.cpp:101</a></div></div>
<div class="ttc" id="aclassDbcParser_html_aa662b34694fd8b3edd757f36cb064c5c"><div class="ttname"><a href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">DbcParser::ParseCommentLine</a></div><div class="ttdeci">static void ParseCommentLine(const std::string &amp;line, DbcDatabase &amp;database)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00274">dbc_parser.cpp:274</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ab1fee32cb845573ce10949b4bec721f9"><div class="ttname"><a href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">DbcParser::FindFrameById</a></div><div class="ttdeci">static FrameInfo * FindFrameById(DbcDatabase &amp;database, std::uint32_t canId, bool isExtended)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00337">dbc_parser.cpp:337</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ab7b95be4433c56cc855bedb08b96a71a"><div class="ttname"><a href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">DbcParser::FindSignalByName</a></div><div class="ttdeci">static SignalInfo * FindSignalByName(FrameInfo &amp;frame, const std::string &amp;signalName)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00349">dbc_parser.cpp:349</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ace3d3432a55707bc286a994aa205fed1"><div class="ttname"><a href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">DbcParser::IsSignalLine</a></div><div class="ttdeci">static bool IsSignalLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00075">dbc_parser.cpp:75</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ada086584d371c08dd93b75fb7965f13b"><div class="ttname"><a href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">DbcParser::IsFrameLine</a></div><div class="ttdeci">static bool IsFrameLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00071">dbc_parser.cpp:71</a></div></div>
<div class="ttc" id="aclassDbcParser_html_ae3488a0a6c64dc95e4ed289e77579feb"><div class="ttname"><a href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">DbcParser::IsCommentLine</a></div><div class="ttdeci">static bool IsCommentLine(const std::string &amp;line)</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00079">dbc_parser.cpp:79</a></div></div>
<div class="ttc" id="aclassDbcParser_html_aef72826942c9095d653fafa435855e56"><div class="ttname"><a href="classDbcParser.html#aef72826942c9095d653fafa435855e56">DbcParser::ParseFile</a></div><div class="ttdeci">DbcDatabase ParseFile(const std::string &amp;filePath) const</div><div class="ttdoc">Parse DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00040">dbc_parser.cpp:40</a></div></div>
<div class="ttc" id="adbc__database_8h_html"><div class="ttname"><a href="dbc__database_8h.html">dbc_database.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="astructFrameInfo_html"><div class="ttname"><a href="structFrameInfo.html">FrameInfo</a></div><div class="ttdoc">Describes one CAN frame from a DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00024">frame_info.h:24</a></div></div>
<div class="ttc" id="astructSignalInfo_html"><div class="ttname"><a href="structSignalInfo.html">SignalInfo</a></div><div class="ttdoc">Describes one signal inside a DBC frame.</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00022">signal_info.h:22</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,67 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_tree_builder.cpp 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_tree_builder.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="dbc__tree__builder_8h_source.html">dbc_tree_builder.h</a>&quot;</code><br />
</div>
<p><a href="dbc__tree__builder_8cpp_source.html">Go to the source code of this file.</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__tree__builder_8cpp_source.html">dbc_tree_builder.cpp</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,95 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_tree_builder.cpp Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_tree_builder.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__tree__builder_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_tree_builder.cpp</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__tree__builder_8h.html">dbc_tree_builder.h</a>&quot;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> </div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"><a class="line" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"> 14</a></span>std::unique_ptr&lt;TreeNode&gt; <a class="code hl_function" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">DbcTreeBuilder::Build</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;database)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> std::unique_ptr&lt;TreeNode&gt; root (<span class="keyword">new</span> <a class="code hl_class" href="classTreeNode.html">TreeNode</a>());</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordflow">for</span> (std::size_t frameIndex = 0U; frameIndex &lt; database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>.size(); ++frameIndex) {</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keyword">const</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> &amp;frame = database.<a class="code hl_variable" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a>[frameIndex];</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> std::unique_ptr&lt;TreeNode&gt; frameNode (<span class="keyword">new</span> <a class="code hl_class" href="classTreeNode.html">TreeNode</a> (frame));</div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordflow">for</span> (std::size_t signalIndex = 0U; signalIndex &lt; frame.<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>.size(); ++signalIndex) {</div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keyword">const</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> &amp;signal = frame.<a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>[signalIndex];</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> std::unique_ptr&lt;TreeNode&gt; signalNode (<span class="keyword">new</span> <a class="code hl_class" href="classTreeNode.html">TreeNode</a> (signal));</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> frameNode-&gt;AddChild (std::move (signalNode));</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> }</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> root-&gt;AddChild (std::move (frameNode));</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> }</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordflow">return</span> root;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>}</div>
<div class="ttc" id="aclassDbcTreeBuilder_html_a7e57d067d831b14b383947fd125edd4b"><div class="ttname"><a href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">DbcTreeBuilder::Build</a></div><div class="ttdeci">std::unique_ptr&lt; TreeNode &gt; Build(const DbcDatabase &amp;database) const</div><div class="ttdoc">Build tree representation of parsed DBC data.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__tree__builder_8cpp_source.html#l00014">dbc_tree_builder.cpp:14</a></div></div>
<div class="ttc" id="aclassTreeNode_html"><div class="ttname"><a href="classTreeNode.html">TreeNode</a></div><div class="ttdoc">Tree node for later use in model/view or other hierarchy consumers.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8h_source.html#l00035">tree_node.h:35</a></div></div>
<div class="ttc" id="adbc__tree__builder_8h_html"><div class="ttname"><a href="dbc__tree__builder_8h.html">dbc_tree_builder.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="astructDbcDatabase_html_a2cade5d0234ee816132127542f8c612b"><div class="ttname"><a href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">DbcDatabase::frames</a></div><div class="ttdeci">std::vector&lt; FrameInfo &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00023">dbc_database.h:23</a></div></div>
<div class="ttc" id="astructFrameInfo_html"><div class="ttname"><a href="structFrameInfo.html">FrameInfo</a></div><div class="ttdoc">Describes one CAN frame from a DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00024">frame_info.h:24</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a942937027f1af06536f98cc23b2bf6ce"><div class="ttname"><a href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">FrameInfo::signals</a></div><div class="ttdeci">std::vector&lt; SignalInfo &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00033">frame_info.h:33</a></div></div>
<div class="ttc" id="astructSignalInfo_html"><div class="ttname"><a href="structSignalInfo.html">SignalInfo</a></div><div class="ttdoc">Describes one signal inside a DBC frame.</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00022">signal_info.h:22</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_tree_builder.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle"><div class="title">dbc_tree_builder.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;memory&gt;</code><br />
<code>#include &quot;<a class="el" href="dbc__database_8h_source.html">dbc_database.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tree__node_8h_source.html">tree_node.h</a>&quot;</code><br />
</div>
<p><a href="dbc__tree__builder_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classDbcTreeBuilder.html">DbcTreeBuilder</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds a simple tree from parsed DBC database. <a href="classDbcTreeBuilder.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="dbc__tree__builder_8h_source.html">dbc_tree_builder.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: dbc_tree_builder.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">dbc_tree_builder.h</div></div>
</div><!--header-->
<div class="contents">
<a href="dbc__tree__builder_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file dbc_tree_builder.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef DBC_TREE_BUILDER_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define DBC_TREE_BUILDER_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__database_8h.html">dbc_database.h</a>&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;<a class="code" href="tree__node_8h.html">tree_node.h</a>&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"></span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">/**</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * @brief Builds a simple tree from parsed DBC database.</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> */</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="classDbcTreeBuilder.html"> 23</a></span><span class="keyword">class </span><a class="code hl_class" href="classDbcTreeBuilder.html">DbcTreeBuilder</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keyword">public</span>:<span class="comment"></span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> /**</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment"> * @brief Build tree representation of parsed DBC data.</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"> * @param database Parsed database.</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment"> * @return Root node of the tree.</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> */</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> std::unique_ptr&lt;TreeNode&gt; <a class="code hl_function" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">Build</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> &amp;database) <span class="keyword">const</span>;</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span>};</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> </div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#endif </span><span class="comment">/* DBC_TREE_BUILDER_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aclassDbcTreeBuilder_html"><div class="ttname"><a href="classDbcTreeBuilder.html">DbcTreeBuilder</a></div><div class="ttdoc">Builds a simple tree from parsed DBC database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__tree__builder_8h_source.html#l00023">dbc_tree_builder.h:23</a></div></div>
<div class="ttc" id="aclassDbcTreeBuilder_html_a7e57d067d831b14b383947fd125edd4b"><div class="ttname"><a href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">DbcTreeBuilder::Build</a></div><div class="ttdeci">std::unique_ptr&lt; TreeNode &gt; Build(const DbcDatabase &amp;database) const</div><div class="ttdoc">Build tree representation of parsed DBC data.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__tree__builder_8cpp_source.html#l00014">dbc_tree_builder.cpp:14</a></div></div>
<div class="ttc" id="adbc__database_8h_html"><div class="ttname"><a href="dbc__database_8h.html">dbc_database.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="atree__node_8h_html"><div class="ttname"><a href="tree__node_8h.html">tree_node.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,166 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: decode_database.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle"><div class="title">decode_database.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;unordered_map&gt;</code><br />
<code>#include &lt;cstdint&gt;</code><br />
</div>
<p><a href="decode__database_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime-ready signal definition. <a href="structDecodeSignal.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime-ready frame definition. <a href="structDecodeFrame.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKey.html">FrameKey</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Key for fast frame lookup. <a href="structFrameKey.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKeyHasher.html">FrameKeyHasher</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Hasher for frame key. <a href="structFrameKeyHasher.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeDatabase.html">DecodeDatabase</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Runtime decode database with fast lookup by CAN ID. <a href="structDecodeDatabase.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:aaeb92d42f5a6e27b8ba19f18d69d142b"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> { <a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">Intel</a>
, <a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31">Motorola</a>
}</td></tr>
<tr class="memdesc:aaeb92d42f5a6e27b8ba19f18d69d142b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal byte order used for runtime decoding. <a href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">More...</a><br /></td></tr>
<tr class="separator:aaeb92d42f5a6e27b8ba19f18d69d142b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9971b6ef33e02ba2c75d19c1d2518a1"><td class="memItemLeft" align="right" valign="top">enum class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a> { <a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a">Unsigned</a>
, <a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">Signed</a>
}</td></tr>
<tr class="memdesc:ad9971b6ef33e02ba2c75d19c1d2518a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal numeric type. <a href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">More...</a><br /></td></tr>
<tr class="separator:ad9971b6ef33e02ba2c75d19c1d2518a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="aaeb92d42f5a6e27b8ba19f18d69d142b" name="aaeb92d42f5a6e27b8ba19f18d69d142b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaeb92d42f5a6e27b8ba19f18d69d142b">&#9670;&nbsp;</a></span>ByteOrder</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Signal byte order used for runtime decoding. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5" name="aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"></a>Intel&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31" name="aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"></a>Motorola&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00023">23</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div>
</div>
<a id="ad9971b6ef33e02ba2c75d19c1d2518a1" name="ad9971b6ef33e02ba2c75d19c1d2518a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9971b6ef33e02ba2c75d19c1d2518a1">&#9670;&nbsp;</a></span>ValueType</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum class <a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Signal numeric type. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a" name="ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"></a>Unsigned&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379" name="ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"></a>Signed&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00031">31</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,235 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: decode_database.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">decode_database.h</div></div>
</div><!--header-->
<div class="contents">
<a href="decode__database_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file decode_database.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef DECODE_DATABASE_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define DECODE_DATABASE_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;unordered_map&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment"></span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">/**</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> * @brief Signal byte order used for runtime decoding.</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> */</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b"> 23</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <a class="code hl_enumvalue" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">Intel</a>,</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_enumvalue" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31">Motorola</a></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span>};</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span><span class="comment"></span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="comment">/**</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="comment"> * @brief Signal numeric type.</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span><span class="comment"> */</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1"> 31</a></span><span class="keyword">enum class</span> <a class="code hl_enumeration" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a> {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_enumvalue" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a">Unsigned</a>,</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_enumvalue" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">Signed</a></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span>};</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="comment"></span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="comment">/**</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="comment"> * @brief Runtime-ready signal definition.</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="comment"> */</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"><a class="line" href="structDecodeSignal.html"> 39</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structDecodeSignal.html">DecodeSignal</a> {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"> 40</a></span> std::string <a class="code hl_variable" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">name</a>; <span class="comment">/**&lt; Signal name. */</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"> 41</a></span> std::uint32_t <a class="code hl_variable" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">startBit</a>; <span class="comment">/**&lt; DBC start bit. */</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"> 42</a></span> std::uint32_t <a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a>; <span class="comment">/**&lt; Signal length in bits. */</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"> 43</a></span> <a class="code hl_enumeration" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> <a class="code hl_variable" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">byteOrder</a>; <span class="comment">/**&lt; Intel or Motorola. */</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"> 44</a></span> <a class="code hl_enumeration" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a> <a class="code hl_variable" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">valueType</a>; <span class="comment">/**&lt; Signed or unsigned. */</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391"> 45</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">factor</a>; <span class="comment">/**&lt; Scaling factor. */</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"> 46</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">offset</a>; <span class="comment">/**&lt; Physical offset. */</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"> 47</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">minimum</a>; <span class="comment">/**&lt; Minimum physical value. */</span></div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"> 48</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">maximum</a>; <span class="comment">/**&lt; Maximum physical value. */</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"> 49</a></span> std::string <a class="code hl_variable" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">unit</a>; <span class="comment">/**&lt; Physical unit. */</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"> 50</a></span> std::vector&lt;std::string&gt; <a class="code hl_variable" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">receivers</a>; <span class="comment">/**&lt; Receivers. */</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"> 51</a></span> std::string <a class="code hl_variable" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">comment</a>; <span class="comment">/**&lt; Comment. */</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> </div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"><a class="line" href="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"> 53</a></span> <a class="code hl_function" href="structDecodeSignal.html#a93fd97267e2614979440261628e493f5">DecodeSignal</a>()</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> : <a class="code hl_variable" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">name</a>()</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> , <a class="code hl_variable" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">startBit</a> (0U)</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> , <a class="code hl_variable" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a> (0U)</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> , <a class="code hl_variable" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">byteOrder</a> (<a class="code hl_enumeration" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a>::<a class="code hl_enumvalue" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">Intel</a>)</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> , <a class="code hl_variable" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">valueType</a> (<a class="code hl_enumeration" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a>::<a class="code hl_enumvalue" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a">Unsigned</a>)</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> , <a class="code hl_variable" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">factor</a> (1.0)</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> , <a class="code hl_variable" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">offset</a> (0.0)</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> , <a class="code hl_variable" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">minimum</a> (0.0)</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> , <a class="code hl_variable" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">maximum</a> (0.0)</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> , <a class="code hl_variable" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">unit</a>()</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> , <a class="code hl_variable" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">receivers</a>()</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> , <a class="code hl_variable" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">comment</a>() {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> }</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>};</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment"></span> </div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment">/**</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment"> * @brief Runtime-ready frame definition.</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"> */</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="structDecodeFrame.html"> 72</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structDecodeFrame.html">DecodeFrame</a> {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"> 73</a></span> std::string <a class="code hl_variable" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">name</a>; <span class="comment">/**&lt; Frame name. */</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"> 74</a></span> std::uint32_t <a class="code hl_variable" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">canId</a>; <span class="comment">/**&lt; Normalized CAN ID. */</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"> 75</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">isExtended</a>; <span class="comment">/**&lt; true for extended frame. */</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"> 76</a></span> std::uint8_t <a class="code hl_variable" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">dlc</a>; <span class="comment">/**&lt; Payload length. */</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"> 77</a></span> std::uint32_t <a class="code hl_variable" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">pgn</a>; <span class="comment">/**&lt; PGN if available. */</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"> 78</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">hasPgn</a>; <span class="comment">/**&lt; true if PGN is valid. */</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"> 79</a></span> std::string <a class="code hl_variable" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">transmitter</a>; <span class="comment">/**&lt; Transmitter ECU. */</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"> 80</a></span> std::string <a class="code hl_variable" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">comment</a>; <span class="comment">/**&lt; Frame comment. */</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"> 81</a></span> std::vector&lt;DecodeSignal&gt; <a class="code hl_variable" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">signals</a>; <span class="comment">/**&lt; Signal definitions. */</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"> 83</a></span> <a class="code hl_function" href="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4">DecodeFrame</a>()</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> : <a class="code hl_variable" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">name</a>()</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> , <a class="code hl_variable" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">canId</a> (0U)</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> , <a class="code hl_variable" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">isExtended</a> (false)</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> , <a class="code hl_variable" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">dlc</a> (0U)</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> , <a class="code hl_variable" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">pgn</a> (0U)</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> , <a class="code hl_variable" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">hasPgn</a> (false)</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> , <a class="code hl_variable" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">transmitter</a>()</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> , <a class="code hl_variable" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">comment</a>()</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> , <a class="code hl_variable" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">signals</a>() {</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>};</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"></span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment">/**</span></div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment"> * @brief Key for fast frame lookup.</span></div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span><span class="comment"> */</span></div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="structFrameKey.html"> 99</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structFrameKey.html">FrameKey</a> {</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"> 100</a></span> std::uint32_t <a class="code hl_variable" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a>;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"> 101</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a>;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"> 103</a></span> <a class="code hl_function" href="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14">FrameKey</a>()</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> : <a class="code hl_variable" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a> (0U)</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> , <a class="code hl_variable" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a> (false) {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> }</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"><a class="line" href="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"> 108</a></span> <a class="code hl_function" href="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670">FrameKey</a> (std::uint32_t <span class="keywordtype">id</span>, <span class="keywordtype">bool</span> extended)</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> : <a class="code hl_variable" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a> (id)</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> , <a class="code hl_variable" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a> (extended) {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> }</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"><a class="line" href="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"> 113</a></span> <span class="keywordtype">bool</span> <a class="code hl_function" href="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f">operator== </a>(<span class="keyword">const</span> <a class="code hl_struct" href="structFrameKey.html">FrameKey</a> &amp;other)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a> == other.<a class="code hl_variable" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a>) &amp;&amp; (<a class="code hl_variable" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a> == other.<a class="code hl_variable" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a>);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span>};</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment"></span> </div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment">/**</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment"> * @brief Hasher for frame key.</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment"> */</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"><a class="line" href="structFrameKeyHasher.html"> 121</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structFrameKeyHasher.html">FrameKeyHasher</a> {</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"><a class="line" href="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"> 122</a></span> std::size_t <a class="code hl_function" href="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f">operator() </a>(<span class="keyword">const</span> <a class="code hl_struct" href="structFrameKey.html">FrameKey</a> &amp;key)<span class="keyword"> const </span>{</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keyword">const</span> std::size_t a = <span class="keyword">static_cast&lt;</span>std::size_t<span class="keyword">&gt;</span> (key.<a class="code hl_variable" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a>);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <span class="keyword">const</span> std::size_t b = key.<a class="code hl_variable" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a> ? 1U : 0U;</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <span class="keywordflow">return</span> (a * 1315423911U) ^ b;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> }</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span>};</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment"></span> </div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment">/**</span></div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span><span class="comment"> * @brief Runtime decode database with fast lookup by CAN ID.</span></div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span><span class="comment"> */</span></div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"><a class="line" href="structDecodeDatabase.html"> 132</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> {</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"><a class="line" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"> 133</a></span> std::vector&lt;DecodeFrame&gt; <a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"><a class="line" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"> 134</a></span> std::unordered_map&lt;FrameKey, std::size_t, FrameKeyHasher&gt; <a class="code hl_variable" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">frameIndexByKey</a>;</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span>};</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span><span class="preprocessor">#endif </span><span class="comment">/* DECODE_DATABASE_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="adecode__database_8h_html_aaeb92d42f5a6e27b8ba19f18d69d142b"><div class="ttname"><a href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a></div><div class="ttdeci">ByteOrder</div><div class="ttdoc">Signal byte order used for runtime decoding.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00023">decode_database.h:23</a></div></div>
<div class="ttc" id="adecode__database_8h_html_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"><div class="ttname"><a href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31">ByteOrder::Motorola</a></div><div class="ttdeci">@ Motorola</div></div>
<div class="ttc" id="adecode__database_8h_html_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"><div class="ttname"><a href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5">ByteOrder::Intel</a></div><div class="ttdeci">@ Intel</div></div>
<div class="ttc" id="adecode__database_8h_html_ad9971b6ef33e02ba2c75d19c1d2518a1"><div class="ttname"><a href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a></div><div class="ttdeci">ValueType</div><div class="ttdoc">Signal numeric type.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00031">decode_database.h:31</a></div></div>
<div class="ttc" id="adecode__database_8h_html_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"><div class="ttname"><a href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379">ValueType::Signed</a></div><div class="ttdeci">@ Signed</div></div>
<div class="ttc" id="adecode__database_8h_html_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"><div class="ttname"><a href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a">ValueType::Unsigned</a></div><div class="ttdeci">@ Unsigned</div></div>
<div class="ttc" id="astructDecodeDatabase_html"><div class="ttname"><a href="structDecodeDatabase.html">DecodeDatabase</a></div><div class="ttdoc">Runtime decode database with fast lookup by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00132">decode_database.h:132</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html_a2bd4ddfc2602c1de4e12a373bfc93072"><div class="ttname"><a href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">DecodeDatabase::frames</a></div><div class="ttdeci">std::vector&lt; DecodeFrame &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00133">decode_database.h:133</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html_ae4fd1351008bb0dce337821a849100c5"><div class="ttname"><a href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">DecodeDatabase::frameIndexByKey</a></div><div class="ttdeci">std::unordered_map&lt; FrameKey, std::size_t, FrameKeyHasher &gt; frameIndexByKey</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00134">decode_database.h:134</a></div></div>
<div class="ttc" id="astructDecodeFrame_html"><div class="ttname"><a href="structDecodeFrame.html">DecodeFrame</a></div><div class="ttdoc">Runtime-ready frame definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00072">decode_database.h:72</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a1d3c54055c0cbceb73adf551f7067f23"><div class="ttname"><a href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">DecodeFrame::pgn</a></div><div class="ttdeci">std::uint32_t pgn</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00077">decode_database.h:77</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a2551102670c4a540fced4c71da0b369d"><div class="ttname"><a href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">DecodeFrame::hasPgn</a></div><div class="ttdeci">bool hasPgn</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00078">decode_database.h:78</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a25819ef907a32391af5c9f7cae9cdb22"><div class="ttname"><a href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">DecodeFrame::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00080">decode_database.h:80</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a372afd9e74f1ae33f85cb4acfd3e2036"><div class="ttname"><a href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">DecodeFrame::signals</a></div><div class="ttdeci">std::vector&lt; DecodeSignal &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00081">decode_database.h:81</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a3ee2348d781f8f15aaf87e8dcf57ec41"><div class="ttname"><a href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">DecodeFrame::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00075">decode_database.h:75</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a51111ac13988be372d5673d12cf3e060"><div class="ttname"><a href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">DecodeFrame::dlc</a></div><div class="ttdeci">std::uint8_t dlc</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00076">decode_database.h:76</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_a52e10215388db7df8b541b9d9909edcf"><div class="ttname"><a href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">DecodeFrame::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00074">decode_database.h:74</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_aa0a7f8fd5bfde2148dfd0d838328f579"><div class="ttname"><a href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">DecodeFrame::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00073">decode_database.h:73</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_ad78241dc40c793aabb8495b6989b81a9"><div class="ttname"><a href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">DecodeFrame::transmitter</a></div><div class="ttdeci">std::string transmitter</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00079">decode_database.h:79</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_ae6ae88ee29bcaff936e7c7b2380f96b4"><div class="ttname"><a href="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4">DecodeFrame::DecodeFrame</a></div><div class="ttdeci">DecodeFrame()</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00083">decode_database.h:83</a></div></div>
<div class="ttc" id="astructDecodeSignal_html"><div class="ttname"><a href="structDecodeSignal.html">DecodeSignal</a></div><div class="ttdoc">Runtime-ready signal definition.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00039">decode_database.h:39</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a0fb84e19a0ab3bd50b6f65c1075ebc25"><div class="ttname"><a href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">DecodeSignal::minimum</a></div><div class="ttdeci">double minimum</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00047">decode_database.h:47</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a38eed9ca7581423fd8bfbedcffc12092"><div class="ttname"><a href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">DecodeSignal::unit</a></div><div class="ttdeci">std::string unit</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00049">decode_database.h:49</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a428c39913a366a8476dd291061354391"><div class="ttname"><a href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">DecodeSignal::factor</a></div><div class="ttdeci">double factor</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00045">decode_database.h:45</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a4a6ba87142a9badbf0ca830e9e709cb7"><div class="ttname"><a href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">DecodeSignal::maximum</a></div><div class="ttdeci">double maximum</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00048">decode_database.h:48</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a58cf5844f2272a23dcb9687d912e4780"><div class="ttname"><a href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">DecodeSignal::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00040">decode_database.h:40</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a92db637af4e224a0ae70173050dc3f74"><div class="ttname"><a href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">DecodeSignal::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00046">decode_database.h:46</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a93fd97267e2614979440261628e493f5"><div class="ttname"><a href="structDecodeSignal.html#a93fd97267e2614979440261628e493f5">DecodeSignal::DecodeSignal</a></div><div class="ttdeci">DecodeSignal()</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00053">decode_database.h:53</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a9d37638129263b8902ba5be59baf39a8"><div class="ttname"><a href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">DecodeSignal::valueType</a></div><div class="ttdeci">ValueType valueType</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00044">decode_database.h:44</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_aaf5d7527ddf65b6355c2b4f3626df22d"><div class="ttname"><a href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">DecodeSignal::startBit</a></div><div class="ttdeci">std::uint32_t startBit</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00041">decode_database.h:41</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_abdbae62a64d2df716bf60c6b67b30eaa"><div class="ttname"><a href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">DecodeSignal::receivers</a></div><div class="ttdeci">std::vector&lt; std::string &gt; receivers</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00050">decode_database.h:50</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_abdc4c4bb4a67a6d61d6ca81e8a52833d"><div class="ttname"><a href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">DecodeSignal::byteOrder</a></div><div class="ttdeci">ByteOrder byteOrder</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00043">decode_database.h:43</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_acd4ef5ee30421d117b5756854302debb"><div class="ttname"><a href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">DecodeSignal::length</a></div><div class="ttdeci">std::uint32_t length</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00042">decode_database.h:42</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_ae28c905d4a2bc86419c2a8361bfea473"><div class="ttname"><a href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">DecodeSignal::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00051">decode_database.h:51</a></div></div>
<div class="ttc" id="astructFrameKeyHasher_html"><div class="ttname"><a href="structFrameKeyHasher.html">FrameKeyHasher</a></div><div class="ttdoc">Hasher for frame key.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00121">decode_database.h:121</a></div></div>
<div class="ttc" id="astructFrameKeyHasher_html_a1612ce56b513790e3ed4c06ec7d28b9f"><div class="ttname"><a href="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f">FrameKeyHasher::operator()</a></div><div class="ttdeci">std::size_t operator()(const FrameKey &amp;key) const</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00122">decode_database.h:122</a></div></div>
<div class="ttc" id="astructFrameKey_html"><div class="ttname"><a href="structFrameKey.html">FrameKey</a></div><div class="ttdoc">Key for fast frame lookup.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00099">decode_database.h:99</a></div></div>
<div class="ttc" id="astructFrameKey_html_a022917652b4d3c2f2dfcc5a13ab7caa4"><div class="ttname"><a href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">FrameKey::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00100">decode_database.h:100</a></div></div>
<div class="ttc" id="astructFrameKey_html_a0e9aad56b251cdf802d45a9c19050b14"><div class="ttname"><a href="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14">FrameKey::FrameKey</a></div><div class="ttdeci">FrameKey()</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00103">decode_database.h:103</a></div></div>
<div class="ttc" id="astructFrameKey_html_a33bde405c7ea53000d54b3dd6e058670"><div class="ttname"><a href="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670">FrameKey::FrameKey</a></div><div class="ttdeci">FrameKey(std::uint32_t id, bool extended)</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00108">decode_database.h:108</a></div></div>
<div class="ttc" id="astructFrameKey_html_aa3179b709d02ef70cf0e736f040a2145"><div class="ttname"><a href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">FrameKey::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00101">decode_database.h:101</a></div></div>
<div class="ttc" id="astructFrameKey_html_aaaec9f914e127787247fcda5e183b01f"><div class="ttname"><a href="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f">FrameKey::operator==</a></div><div class="ttdeci">bool operator==(const FrameKey &amp;other) const</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00113">decode_database.h:113</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

BIN
docs/html/doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

1841
docs/html/doxygen.css Normal file

File diff suppressed because it is too large Load Diff

26
docs/html/doxygen.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 15 KiB

128
docs/html/dynsections.js Normal file
View File

@@ -0,0 +1,128 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
/* @license-end */
$(document).ready(function() {
$('.code,.codeRef').each(function() {
$(this).data('powertip',$('#a'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
$.fn.powerTip.smartPlacementLists.s = [ 's', 'n', 'ne', 'se' ];
$(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
});
});

75
docs/html/files.html Normal file
View File

@@ -0,0 +1,75 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: File List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">File List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__database_8h_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__database_8h.html" target="_self">dbc_database.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__decode__builder_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__decode__builder_8cpp.html" target="_self">dbc_decode_builder.cpp</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__decode__builder_8h_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__decode__builder_8h.html" target="_self">dbc_decode_builder.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__decoder_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__decoder_8cpp.html" target="_self">dbc_decoder.cpp</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__decoder_8h_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__decoder_8h.html" target="_self">dbc_decoder.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__parser_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__parser_8cpp.html" target="_self">dbc_parser.cpp</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__parser_8h_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__parser_8h.html" target="_self">dbc_parser.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__tree__builder_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__tree__builder_8cpp.html" target="_self">dbc_tree_builder.cpp</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="dbc__tree__builder_8h_source.html"><span class="icondoc"></span></a><a class="el" href="dbc__tree__builder_8h.html" target="_self">dbc_tree_builder.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="decode__database_8h_source.html"><span class="icondoc"></span></a><a class="el" href="decode__database_8h.html" target="_self">decode_database.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="frame__info_8h_source.html"><span class="icondoc"></span></a><a class="el" href="frame__info_8h.html" target="_self">frame_info.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="main_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="main_8cpp.html" target="_self">main.cpp</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="signal__info_8h_source.html"><span class="icondoc"></span></a><a class="el" href="signal__info_8h.html" target="_self">signal_info.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="tree__node_8cpp_source.html"><span class="icondoc"></span></a><a class="el" href="tree__node_8cpp.html" target="_self">tree_node.cpp</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="tree__node_8h_source.html"><span class="icondoc"></span></a><a class="el" href="tree__node_8h.html" target="_self">tree_node.h</a></td><td class="desc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

BIN
docs/html/folderclosed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

BIN
docs/html/folderopen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

View File

@@ -0,0 +1,79 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: frame_info.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle"><div class="title">frame_info.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;cstdint&gt;</code><br />
<code>#include &quot;<a class="el" href="signal__info_8h_source.html">signal_info.h</a>&quot;</code><br />
</div>
<p><a href="frame__info_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html">FrameInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes one CAN frame from a DBC file. <a href="structFrameInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,116 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: frame_info.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">frame_info.h</div></div>
</div><!--header-->
<div class="contents">
<a href="frame__info_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file frame_info.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef FRAME_INFO_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define FRAME_INFO_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &quot;<a class="code" href="signal__info_8h.html">signal_info.h</a>&quot;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"></span> </div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">/**</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> * @brief Describes one CAN frame from a DBC file.</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> */</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="structFrameInfo.html"> 24</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"> 25</a></span> std::string <a class="code hl_variable" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">name</a>; <span class="comment">/**&lt; Frame name. */</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"> 26</a></span> std::uint32_t <a class="code hl_variable" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a>; <span class="comment">/**&lt; Normalized CAN identifier. */</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"> 27</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a>; <span class="comment">/**&lt; true for extended frame. */</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"> 28</a></span> std::uint32_t <a class="code hl_variable" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">pgn</a>; <span class="comment">/**&lt; J1939 PGN if applicable. */</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"> 29</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">hasPgn</a>; <span class="comment">/**&lt; true if PGN was derived. */</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"> 30</a></span> std::uint8_t <a class="code hl_variable" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">dlc</a>; <span class="comment">/**&lt; Frame payload length. */</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"> 31</a></span> std::string <a class="code hl_variable" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">transmitter</a>; <span class="comment">/**&lt; Transmitter ECU name. */</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"> 32</a></span> std::string <a class="code hl_variable" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">comment</a>; <span class="comment">/**&lt; Optional frame comment. */</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"> 33</a></span> std::vector&lt;SignalInfo&gt; <a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>; <span class="comment">/**&lt; Signals contained in the frame. */</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"><a class="line" href="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"> 35</a></span> <a class="code hl_function" href="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61">FrameInfo</a>()</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> : <a class="code hl_variable" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">name</a>()</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> , <a class="code hl_variable" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a> (0U)</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> , <a class="code hl_variable" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a> (false)</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> , <a class="code hl_variable" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">pgn</a> (0U)</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> , <a class="code hl_variable" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">hasPgn</a> (false)</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> , <a class="code hl_variable" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">dlc</a> (0U)</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> , <a class="code hl_variable" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">transmitter</a>()</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> , <a class="code hl_variable" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">comment</a>()</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> , <a class="code hl_variable" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a>() {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> }</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span>};</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span><span class="preprocessor">#endif </span><span class="comment">/* FRAME_INFO_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="asignal__info_8h_html"><div class="ttname"><a href="signal__info_8h.html">signal_info.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="astructFrameInfo_html"><div class="ttname"><a href="structFrameInfo.html">FrameInfo</a></div><div class="ttdoc">Describes one CAN frame from a DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00024">frame_info.h:24</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a34b726afaad2ac5c697fdb2ac070cdaf"><div class="ttname"><a href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">FrameInfo::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00027">frame_info.h:27</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a4737a5420213ad4304724e39f3a4e55d"><div class="ttname"><a href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">FrameInfo::hasPgn</a></div><div class="ttdeci">bool hasPgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00029">frame_info.h:29</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a7f2d192b7969f7b60479a48e1f7eba61"><div class="ttname"><a href="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61">FrameInfo::FrameInfo</a></div><div class="ttdeci">FrameInfo()</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00035">frame_info.h:35</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a92749ec3798d4211a505860fb389a9e8"><div class="ttname"><a href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">FrameInfo::transmitter</a></div><div class="ttdeci">std::string transmitter</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00031">frame_info.h:31</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a942937027f1af06536f98cc23b2bf6ce"><div class="ttname"><a href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">FrameInfo::signals</a></div><div class="ttdeci">std::vector&lt; SignalInfo &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00033">frame_info.h:33</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aa2b198ea0f55e560c123d35e7b3ecab9"><div class="ttname"><a href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">FrameInfo::dlc</a></div><div class="ttdeci">std::uint8_t dlc</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00030">frame_info.h:30</a></div></div>
<div class="ttc" id="astructFrameInfo_html_abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><div class="ttname"><a href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">FrameInfo::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00025">frame_info.h:25</a></div></div>
<div class="ttc" id="astructFrameInfo_html_ace75121294f9d89b762080ab5643293c"><div class="ttname"><a href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">FrameInfo::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00032">frame_info.h:32</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aee518b33f1000bf0b7f6e4a87474c943"><div class="ttname"><a href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">FrameInfo::pgn</a></div><div class="ttdeci">std::uint32_t pgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00028">frame_info.h:28</a></div></div>
<div class="ttc" id="astructFrameInfo_html_af470b0742c05bfbffc31c51a68f5c05e"><div class="ttname"><a href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">FrameInfo::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00026">frame_info.h:26</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

238
docs/html/functions.html Normal file
View File

@@ -0,0 +1,238 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Class Members</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li><a href="#index_v"><span>v</span></a></li>
<li class="current"><a href="#index__7E"><span>~</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>AddChild()&#160;:&#160;<a class="el" href="classTreeNode.html#a6161f2ebb92184eab4215d121870e788">TreeNode</a></li>
</ul>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>Build()&#160;:&#160;<a class="el" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">DbcDecodeBuilder</a>, <a class="el" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">DbcTreeBuilder</a></li>
<li>byteOrder&#160;:&#160;<a class="el" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">DecodeSignal</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>canId&#160;:&#160;<a class="el" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">FrameInfo</a>, <a class="el" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">FrameKey</a>, <a class="el" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">RawCanFrame</a></li>
<li>comment&#160;:&#160;<a class="el" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">DecodeFrame</a>, <a class="el" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">DecodeSignal</a>, <a class="el" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">FrameInfo</a>, <a class="el" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">SignalInfo</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>data&#160;:&#160;<a class="el" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">RawCanFrame</a></li>
<li>Decode()&#160;:&#160;<a class="el" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">DbcDecoder</a></li>
<li>DecodedFrameValue()&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b">DecodedFrameValue</a></li>
<li>DecodedSignalValue()&#160;:&#160;<a class="el" href="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf">DecodedSignalValue</a></li>
<li>DecodeFrame()&#160;:&#160;<a class="el" href="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4">DecodeFrame</a></li>
<li>DecodeSignal()&#160;:&#160;<a class="el" href="structDecodeSignal.html#a93fd97267e2614979440261628e493f5">DecodeSignal</a></li>
<li>definition&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">DecodedFrameValue</a>, <a class="el" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">DecodedSignalValue</a></li>
<li>dlc&#160;:&#160;<a class="el" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">FrameInfo</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ExtractIntel()&#160;:&#160;<a class="el" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">DbcDecoder</a></li>
<li>ExtractMotorola()&#160;:&#160;<a class="el" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">DbcDecoder</a></li>
<li>ExtractUnsigned()&#160;:&#160;<a class="el" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">DbcDecoder</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>factor&#160;:&#160;<a class="el" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">SignalInfo</a></li>
<li>FindFrame()&#160;:&#160;<a class="el" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">DbcDecoder</a></li>
<li>FindFrameById()&#160;:&#160;<a class="el" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">DbcParser</a></li>
<li>FindSignalByName()&#160;:&#160;<a class="el" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">DbcParser</a></li>
<li>frameIndexByKey&#160;:&#160;<a class="el" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">DecodeDatabase</a></li>
<li>FrameInfo()&#160;:&#160;<a class="el" href="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61">FrameInfo</a></li>
<li>FrameKey()&#160;:&#160;<a class="el" href="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14">FrameKey</a></li>
<li>frames&#160;:&#160;<a class="el" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">DbcDatabase</a>, <a class="el" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">DecodeDatabase</a></li>
</ul>
<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GetChild()&#160;:&#160;<a class="el" href="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6">TreeNode</a></li>
<li>GetChildCount()&#160;:&#160;<a class="el" href="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea">TreeNode</a></li>
<li>GetFrame()&#160;:&#160;<a class="el" href="classTreeNode.html#afc503b40004764163605d6dbdb4ef811">TreeNode</a></li>
<li>GetName()&#160;:&#160;<a class="el" href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">TreeNode</a></li>
<li>GetSignal()&#160;:&#160;<a class="el" href="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1">TreeNode</a></li>
<li>GetType()&#160;:&#160;<a class="el" href="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9">TreeNode</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>hasPgn&#160;:&#160;<a class="el" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">FrameInfo</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>IsCommentLine()&#160;:&#160;<a class="el" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">DbcParser</a></li>
<li>isExtended&#160;:&#160;<a class="el" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">FrameInfo</a>, <a class="el" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">FrameKey</a>, <a class="el" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">RawCanFrame</a></li>
<li>IsFrameLine()&#160;:&#160;<a class="el" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">DbcParser</a></li>
<li>isLittleEndian&#160;:&#160;<a class="el" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">SignalInfo</a></li>
<li>IsSignalLine()&#160;:&#160;<a class="el" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">DbcParser</a></li>
<li>isSigned&#160;:&#160;<a class="el" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">SignalInfo</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>length&#160;:&#160;<a class="el" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">SignalInfo</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>m_children&#160;:&#160;<a class="el" href="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351">TreeNode</a></li>
<li>m_frame&#160;:&#160;<a class="el" href="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2">TreeNode</a></li>
<li>m_name&#160;:&#160;<a class="el" href="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8">TreeNode</a></li>
<li>m_signal&#160;:&#160;<a class="el" href="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386">TreeNode</a></li>
<li>m_type&#160;:&#160;<a class="el" href="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224">TreeNode</a></li>
<li>maximum&#160;:&#160;<a class="el" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">SignalInfo</a></li>
<li>minimum&#160;:&#160;<a class="el" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">SignalInfo</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>name&#160;:&#160;<a class="el" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">DecodeFrame</a>, <a class="el" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">DecodeSignal</a>, <a class="el" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">FrameInfo</a>, <a class="el" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">SignalInfo</a></li>
<li>NormalizeCanId()&#160;:&#160;<a class="el" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">DbcParser</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>offset&#160;:&#160;<a class="el" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">SignalInfo</a></li>
<li>operator()()&#160;:&#160;<a class="el" href="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f">FrameKeyHasher</a></li>
<li>operator=()&#160;:&#160;<a class="el" href="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa">TreeNode</a></li>
<li>operator==()&#160;:&#160;<a class="el" href="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f">FrameKey</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>ParseCommentLine()&#160;:&#160;<a class="el" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">DbcParser</a></li>
<li>ParseFile()&#160;:&#160;<a class="el" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">DbcParser</a></li>
<li>ParseFrameLine()&#160;:&#160;<a class="el" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">DbcParser</a></li>
<li>ParseSignalLine()&#160;:&#160;<a class="el" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">DbcParser</a></li>
<li>pgn&#160;:&#160;<a class="el" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">FrameInfo</a></li>
<li>physicalValue&#160;:&#160;<a class="el" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">DecodedSignalValue</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RawCanFrame()&#160;:&#160;<a class="el" href="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7">RawCanFrame</a></li>
<li>rawValue&#160;:&#160;<a class="el" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">DecodedSignalValue</a></li>
<li>receivers&#160;:&#160;<a class="el" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">SignalInfo</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SignalInfo()&#160;:&#160;<a class="el" href="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e">SignalInfo</a></li>
<li>signals&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">DecodedFrameValue</a>, <a class="el" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">FrameInfo</a></li>
<li>SignExtend()&#160;:&#160;<a class="el" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">DbcDecoder</a></li>
<li>SplitReceivers()&#160;:&#160;<a class="el" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">DbcParser</a></li>
<li>startBit&#160;:&#160;<a class="el" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">SignalInfo</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>transmitter&#160;:&#160;<a class="el" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">FrameInfo</a></li>
<li>TreeNode()&#160;:&#160;<a class="el" href="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d">TreeNode</a></li>
<li>Trim()&#160;:&#160;<a class="el" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">DbcParser</a></li>
<li>TryExtractPgn()&#160;:&#160;<a class="el" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">DbcParser</a></li>
</ul>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>unit&#160;:&#160;<a class="el" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">SignalInfo</a></li>
</ul>
<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
<li>valid&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">DecodedFrameValue</a>, <a class="el" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">DecodedSignalValue</a></li>
<li>valueType&#160;:&#160;<a class="el" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">DecodeSignal</a></li>
</ul>
<h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul>
<li>~TreeNode()&#160;:&#160;<a class="el" href="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570">TreeNode</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,175 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Class Members - Functions</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_func.html"><span>Functions</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_a"><span>a</span></a></li>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li class="current"><a href="#index__7E"><span>~</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
&#160;
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>AddChild()&#160;:&#160;<a class="el" href="classTreeNode.html#a6161f2ebb92184eab4215d121870e788">TreeNode</a></li>
</ul>
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>Build()&#160;:&#160;<a class="el" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">DbcDecodeBuilder</a>, <a class="el" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">DbcTreeBuilder</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>Decode()&#160;:&#160;<a class="el" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">DbcDecoder</a></li>
<li>DecodedFrameValue()&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b">DecodedFrameValue</a></li>
<li>DecodedSignalValue()&#160;:&#160;<a class="el" href="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf">DecodedSignalValue</a></li>
<li>DecodeFrame()&#160;:&#160;<a class="el" href="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4">DecodeFrame</a></li>
<li>DecodeSignal()&#160;:&#160;<a class="el" href="structDecodeSignal.html#a93fd97267e2614979440261628e493f5">DecodeSignal</a></li>
</ul>
<h3><a id="index_e" name="index_e"></a>- e -</h3><ul>
<li>ExtractIntel()&#160;:&#160;<a class="el" href="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872">DbcDecoder</a></li>
<li>ExtractMotorola()&#160;:&#160;<a class="el" href="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9">DbcDecoder</a></li>
<li>ExtractUnsigned()&#160;:&#160;<a class="el" href="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5">DbcDecoder</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>FindFrame()&#160;:&#160;<a class="el" href="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da">DbcDecoder</a></li>
<li>FindFrameById()&#160;:&#160;<a class="el" href="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9">DbcParser</a></li>
<li>FindSignalByName()&#160;:&#160;<a class="el" href="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a">DbcParser</a></li>
<li>FrameInfo()&#160;:&#160;<a class="el" href="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61">FrameInfo</a></li>
<li>FrameKey()&#160;:&#160;<a class="el" href="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14">FrameKey</a></li>
</ul>
<h3><a id="index_g" name="index_g"></a>- g -</h3><ul>
<li>GetChild()&#160;:&#160;<a class="el" href="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6">TreeNode</a></li>
<li>GetChildCount()&#160;:&#160;<a class="el" href="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea">TreeNode</a></li>
<li>GetFrame()&#160;:&#160;<a class="el" href="classTreeNode.html#afc503b40004764163605d6dbdb4ef811">TreeNode</a></li>
<li>GetName()&#160;:&#160;<a class="el" href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">TreeNode</a></li>
<li>GetSignal()&#160;:&#160;<a class="el" href="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1">TreeNode</a></li>
<li>GetType()&#160;:&#160;<a class="el" href="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9">TreeNode</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>IsCommentLine()&#160;:&#160;<a class="el" href="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb">DbcParser</a></li>
<li>IsFrameLine()&#160;:&#160;<a class="el" href="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b">DbcParser</a></li>
<li>IsSignalLine()&#160;:&#160;<a class="el" href="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1">DbcParser</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>NormalizeCanId()&#160;:&#160;<a class="el" href="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf">DbcParser</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>operator()()&#160;:&#160;<a class="el" href="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f">FrameKeyHasher</a></li>
<li>operator=()&#160;:&#160;<a class="el" href="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa">TreeNode</a></li>
<li>operator==()&#160;:&#160;<a class="el" href="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f">FrameKey</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>ParseCommentLine()&#160;:&#160;<a class="el" href="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c">DbcParser</a></li>
<li>ParseFile()&#160;:&#160;<a class="el" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">DbcParser</a></li>
<li>ParseFrameLine()&#160;:&#160;<a class="el" href="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a">DbcParser</a></li>
<li>ParseSignalLine()&#160;:&#160;<a class="el" href="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2">DbcParser</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>RawCanFrame()&#160;:&#160;<a class="el" href="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7">RawCanFrame</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>SignalInfo()&#160;:&#160;<a class="el" href="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e">SignalInfo</a></li>
<li>SignExtend()&#160;:&#160;<a class="el" href="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42">DbcDecoder</a></li>
<li>SplitReceivers()&#160;:&#160;<a class="el" href="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529">DbcParser</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>TreeNode()&#160;:&#160;<a class="el" href="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d">TreeNode</a></li>
<li>Trim()&#160;:&#160;<a class="el" href="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b">DbcParser</a></li>
<li>TryExtractPgn()&#160;:&#160;<a class="el" href="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324">DbcParser</a></li>
</ul>
<h3><a id="index__7E" name="index__7E"></a>- ~ -</h3><ul>
<li>~TreeNode()&#160;:&#160;<a class="el" href="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570">TreeNode</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,178 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Class Members - Variables</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_func.html"><span>Functions</span></a></li>
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
<div id="navrow4" class="tabs3">
<ul class="tablist">
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_f"><span>f</span></a></li>
<li><a href="#index_h"><span>h</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_m"><span>m</span></a></li>
<li><a href="#index_n"><span>n</span></a></li>
<li><a href="#index_o"><span>o</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_t"><span>t</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
<li class="current"><a href="#index_v"><span>v</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
&#160;
<h3><a id="index_b" name="index_b"></a>- b -</h3><ul>
<li>byteOrder&#160;:&#160;<a class="el" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">DecodeSignal</a></li>
</ul>
<h3><a id="index_c" name="index_c"></a>- c -</h3><ul>
<li>canId&#160;:&#160;<a class="el" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">FrameInfo</a>, <a class="el" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">FrameKey</a>, <a class="el" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">RawCanFrame</a></li>
<li>comment&#160;:&#160;<a class="el" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">DecodeFrame</a>, <a class="el" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">DecodeSignal</a>, <a class="el" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">FrameInfo</a>, <a class="el" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">SignalInfo</a></li>
</ul>
<h3><a id="index_d" name="index_d"></a>- d -</h3><ul>
<li>data&#160;:&#160;<a class="el" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">RawCanFrame</a></li>
<li>definition&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">DecodedFrameValue</a>, <a class="el" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">DecodedSignalValue</a></li>
<li>dlc&#160;:&#160;<a class="el" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">FrameInfo</a></li>
</ul>
<h3><a id="index_f" name="index_f"></a>- f -</h3><ul>
<li>factor&#160;:&#160;<a class="el" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">SignalInfo</a></li>
<li>frameIndexByKey&#160;:&#160;<a class="el" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">DecodeDatabase</a></li>
<li>frames&#160;:&#160;<a class="el" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">DbcDatabase</a>, <a class="el" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">DecodeDatabase</a></li>
</ul>
<h3><a id="index_h" name="index_h"></a>- h -</h3><ul>
<li>hasPgn&#160;:&#160;<a class="el" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">FrameInfo</a></li>
</ul>
<h3><a id="index_i" name="index_i"></a>- i -</h3><ul>
<li>isExtended&#160;:&#160;<a class="el" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">FrameInfo</a>, <a class="el" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">FrameKey</a>, <a class="el" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">RawCanFrame</a></li>
<li>isLittleEndian&#160;:&#160;<a class="el" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">SignalInfo</a></li>
<li>isSigned&#160;:&#160;<a class="el" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">SignalInfo</a></li>
</ul>
<h3><a id="index_l" name="index_l"></a>- l -</h3><ul>
<li>length&#160;:&#160;<a class="el" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">SignalInfo</a></li>
</ul>
<h3><a id="index_m" name="index_m"></a>- m -</h3><ul>
<li>m_children&#160;:&#160;<a class="el" href="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351">TreeNode</a></li>
<li>m_frame&#160;:&#160;<a class="el" href="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2">TreeNode</a></li>
<li>m_name&#160;:&#160;<a class="el" href="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8">TreeNode</a></li>
<li>m_signal&#160;:&#160;<a class="el" href="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386">TreeNode</a></li>
<li>m_type&#160;:&#160;<a class="el" href="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224">TreeNode</a></li>
<li>maximum&#160;:&#160;<a class="el" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">SignalInfo</a></li>
<li>minimum&#160;:&#160;<a class="el" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">SignalInfo</a></li>
</ul>
<h3><a id="index_n" name="index_n"></a>- n -</h3><ul>
<li>name&#160;:&#160;<a class="el" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">DecodeFrame</a>, <a class="el" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">DecodeSignal</a>, <a class="el" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">FrameInfo</a>, <a class="el" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">SignalInfo</a></li>
</ul>
<h3><a id="index_o" name="index_o"></a>- o -</h3><ul>
<li>offset&#160;:&#160;<a class="el" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">SignalInfo</a></li>
</ul>
<h3><a id="index_p" name="index_p"></a>- p -</h3><ul>
<li>pgn&#160;:&#160;<a class="el" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">FrameInfo</a></li>
<li>physicalValue&#160;:&#160;<a class="el" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">DecodedSignalValue</a></li>
</ul>
<h3><a id="index_r" name="index_r"></a>- r -</h3><ul>
<li>rawValue&#160;:&#160;<a class="el" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">DecodedSignalValue</a></li>
<li>receivers&#160;:&#160;<a class="el" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">SignalInfo</a></li>
</ul>
<h3><a id="index_s" name="index_s"></a>- s -</h3><ul>
<li>signals&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">DecodedFrameValue</a>, <a class="el" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">FrameInfo</a></li>
<li>startBit&#160;:&#160;<a class="el" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">SignalInfo</a></li>
</ul>
<h3><a id="index_t" name="index_t"></a>- t -</h3><ul>
<li>transmitter&#160;:&#160;<a class="el" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">DecodeFrame</a>, <a class="el" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">FrameInfo</a></li>
</ul>
<h3><a id="index_u" name="index_u"></a>- u -</h3><ul>
<li>unit&#160;:&#160;<a class="el" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">DecodeSignal</a>, <a class="el" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">SignalInfo</a></li>
</ul>
<h3><a id="index_v" name="index_v"></a>- v -</h3><ul>
<li>valid&#160;:&#160;<a class="el" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">DecodedFrameValue</a>, <a class="el" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">DecodedSignalValue</a></li>
<li>valueType&#160;:&#160;<a class="el" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">DecodeSignal</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

68
docs/html/globals.html Normal file
View File

@@ -0,0 +1,68 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: File Members</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
<div class="textblock">Here is a list of all file members with links to the files they belong to:</div><ul>
<li>ByteOrder&#160;:&#160;<a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">decode_database.h</a></li>
<li>main()&#160;:&#160;<a class="el" href="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main.cpp</a></li>
<li>NodeType&#160;:&#160;<a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16">tree_node.h</a></li>
<li>PrintDecodedFrame()&#160;:&#160;<a class="el" href="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f">main.cpp</a></li>
<li>PrintTree()&#160;:&#160;<a class="el" href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a">main.cpp</a></li>
<li>ValueType&#160;:&#160;<a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">decode_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: File Members</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
&#160;<ul>
<li>ByteOrder&#160;:&#160;<a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">decode_database.h</a></li>
<li>NodeType&#160;:&#160;<a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16">tree_node.h</a></li>
<li>ValueType&#160;:&#160;<a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">decode_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: File Members</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li class="current"><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="globals.html"><span>All</span></a></li>
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
&#160;<ul>
<li>main()&#160;:&#160;<a class="el" href="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main.cpp</a></li>
<li>PrintDecodedFrame()&#160;:&#160;<a class="el" href="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f">main.cpp</a></li>
<li>PrintTree()&#160;:&#160;<a class="el" href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a">main.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

496
docs/html/index.hhc Normal file
View File

@@ -0,0 +1,496 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML><HEAD></HEAD><BODY>
<OBJECT type="text/site properties">
<param name="FrameName" value="right">
</OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DBC Parser and Runtime Decode Module Documentation"><param name="Local" value="md_README.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Overview"><param name="Local" value="md_README.html#autotoc_md1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="High-Level Architecture"><param name="Local" value="md_README.html#autotoc_md3"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="1. Parse and UI path"><param name="Local" value="md_README.html#autotoc_md4"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="2. Runtime decode path"><param name="Local" value="md_README.html#autotoc_md5"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Why the Runtime Decode Layer Exists"><param name="Local" value="md_README.html#autotoc_md7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Module Layout"><param name="Local" value="md_README.html#autotoc_md9"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Parsed DBC structures"><param name="Local" value="md_README.html#autotoc_md10"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="UI tree structures"><param name="Local" value="md_README.html#autotoc_md11"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Runtime decode structures"><param name="Local" value="md_README.html#autotoc_md12"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Runtime decoder"><param name="Local" value="md_README.html#autotoc_md13"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Parser"><param name="Local" value="md_README.html#autotoc_md14"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Demo"><param name="Local" value="md_README.html#autotoc_md15"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Parsed Data Structures"><param name="Local" value="md_README.html#autotoc_md17"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;SignalInfo&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md18"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;FrameInfo&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md20"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;DbcDatabase&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md22"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="UI Tree Layer"><param name="Local" value="md_README.html#autotoc_md24"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;TreeNode&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md25"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Runtime Decode Layer"><param name="Local" value="md_README.html#autotoc_md27"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Purpose"><param name="Local" value="md_README.html#autotoc_md28"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;ByteOrder&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md30"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;ValueType&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md32"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;DecodeSignal&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md34"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;DecodeFrame&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md36"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;FrameKey&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md38"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;DecodeDatabase&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md40"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Decoder Layer"><param name="Local" value="md_README.html#autotoc_md42"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;RawCanFrame&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md43"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;DecodedSignalValue&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md45"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;DecodedFrameValue&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md47"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="&lt;tt&gt;DbcDecoder&lt;/tt&gt;"><param name="Local" value="md_README.html#autotoc_md49"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Parser Support"><param name="Local" value="md_README.html#autotoc_md51"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Supported DBC Syntax"><param name="Local" value="md_README.html#autotoc_md53"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Frame definition"><param name="Local" value="md_README.html#autotoc_md54"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Signal definition"><param name="Local" value="md_README.html#autotoc_md56"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Comments"><param name="Local" value="md_README.html#autotoc_md58"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="CAN ID Normalization"><param name="Local" value="md_README.html#autotoc_md60"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="PGN Extraction"><param name="Local" value="md_README.html#autotoc_md62"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Decode Flow"><param name="Local" value="md_README.html#autotoc_md64"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Intel and Motorola Extraction"><param name="Local" value="md_README.html#autotoc_md66"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Example Usage"><param name="Local" value="md_README.html#autotoc_md68"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Parse DBC"><param name="Local" value="md_README.html#autotoc_md69"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Build UI tree"><param name="Local" value="md_README.html#autotoc_md70"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Build runtime decode database"><param name="Local" value="md_README.html#autotoc_md71"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Decode a raw frame"><param name="Local" value="md_README.html#autotoc_md72"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Unified Decode Strategy"><param name="Local" value="md_README.html#autotoc_md74"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="live path"><param name="Local" value="md_README.html#autotoc_md75"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="trace path"><param name="Local" value="md_README.html#autotoc_md76"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Intended Use in FrameTap"><param name="Local" value="md_README.html#autotoc_md78"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Why the Tree Is Not Enough"><param name="Local" value="md_README.html#autotoc_md80"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Why No Abstract Factory Is Used"><param name="Local" value="md_README.html#autotoc_md82"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Current Limitations"><param name="Local" value="md_README.html#autotoc_md84"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Recommended Next Steps"><param name="Local" value="md_README.html#autotoc_md86"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Stage 1 - already implemented"><param name="Local" value="md_README.html#autotoc_md87"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Stage 2"><param name="Local" value="md_README.html#autotoc_md88"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Stage 3"><param name="Local" value="md_README.html#autotoc_md89"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Stage 4"><param name="Local" value="md_README.html#autotoc_md90"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Build Integration"><param name="Local" value="md_README.html#autotoc_md92"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Summary"><param name="Local" value="md_README.html#autotoc_md94"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Parsed representation"><param name="Local" value="md_README.html#autotoc_md95"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Runtime decode representation"><param name="Local" value="md_README.html#autotoc_md96"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Namespaces"><param name="Local" value="namespaces.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Namespace List"><param name="Local" value="namespaces.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="anonymous_namespace{dbc_parser.cpp}"><param name="Local" value="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TrimText"><param name="Local" value="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Namespace Members"><param name="Local" value="namespacemembers.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="All"><param name="Local" value="namespacemembers.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Functions"><param name="Local" value="namespacemembers_func.html"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Classes"><param name="Local" value="annotated.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Class List"><param name="Local" value="annotated.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcDatabase"><param name="Local" value="structDbcDatabase.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="frames"><param name="Local" value="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcDecodeBuilder"><param name="Local" value="classDbcDecodeBuilder.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Build"><param name="Local" value="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcDecoder"><param name="Local" value="classDbcDecoder.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Decode"><param name="Local" value="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ExtractIntel"><param name="Local" value="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ExtractMotorola"><param name="Local" value="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ExtractUnsigned"><param name="Local" value="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FindFrame"><param name="Local" value="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SignExtend"><param name="Local" value="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcParser"><param name="Local" value="classDbcParser.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FindFrameById"><param name="Local" value="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FindSignalByName"><param name="Local" value="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="IsCommentLine"><param name="Local" value="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="IsFrameLine"><param name="Local" value="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="IsSignalLine"><param name="Local" value="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="NormalizeCanId"><param name="Local" value="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseCommentLine"><param name="Local" value="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseFile"><param name="Local" value="classDbcParser.html#aef72826942c9095d653fafa435855e56"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseFrameLine"><param name="Local" value="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseSignalLine"><param name="Local" value="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SplitReceivers"><param name="Local" value="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Trim"><param name="Local" value="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TryExtractPgn"><param name="Local" value="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcTreeBuilder"><param name="Local" value="classDbcTreeBuilder.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Build"><param name="Local" value="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeDatabase"><param name="Local" value="structDecodeDatabase.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="frameIndexByKey"><param name="Local" value="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="frames"><param name="Local" value="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedFrameValue"><param name="Local" value="structDecodedFrameValue.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedFrameValue"><param name="Local" value="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="definition"><param name="Local" value="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="signals"><param name="Local" value="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="valid"><param name="Local" value="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedSignalValue"><param name="Local" value="structDecodedSignalValue.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedSignalValue"><param name="Local" value="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="definition"><param name="Local" value="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="physicalValue"><param name="Local" value="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="rawValue"><param name="Local" value="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="valid"><param name="Local" value="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeFrame"><param name="Local" value="structDecodeFrame.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeFrame"><param name="Local" value="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dlc"><param name="Local" value="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="hasPgn"><param name="Local" value="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="pgn"><param name="Local" value="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="signals"><param name="Local" value="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="transmitter"><param name="Local" value="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeSignal"><param name="Local" value="structDecodeSignal.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeSignal"><param name="Local" value="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="byteOrder"><param name="Local" value="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="factor"><param name="Local" value="structDecodeSignal.html#a428c39913a366a8476dd291061354391"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="length"><param name="Local" value="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="maximum"><param name="Local" value="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="minimum"><param name="Local" value="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="offset"><param name="Local" value="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="receivers"><param name="Local" value="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="startBit"><param name="Local" value="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="unit"><param name="Local" value="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="valueType"><param name="Local" value="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameInfo"><param name="Local" value="structFrameInfo.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameInfo"><param name="Local" value="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dlc"><param name="Local" value="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="hasPgn"><param name="Local" value="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="pgn"><param name="Local" value="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="signals"><param name="Local" value="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="transmitter"><param name="Local" value="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKey"><param name="Local" value="structFrameKey.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKey"><param name="Local" value="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKey"><param name="Local" value="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator=="><param name="Local" value="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKeyHasher"><param name="Local" value="structFrameKeyHasher.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator()"><param name="Local" value="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="RawCanFrame"><param name="Local" value="structRawCanFrame.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="RawCanFrame"><param name="Local" value="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="data"><param name="Local" value="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SignalInfo"><param name="Local" value="structSignalInfo.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SignalInfo"><param name="Local" value="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="factor"><param name="Local" value="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isLittleEndian"><param name="Local" value="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isSigned"><param name="Local" value="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="length"><param name="Local" value="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="maximum"><param name="Local" value="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="minimum"><param name="Local" value="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="offset"><param name="Local" value="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="receivers"><param name="Local" value="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="startBit"><param name="Local" value="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="unit"><param name="Local" value="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="~TreeNode"><param name="Local" value="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="AddChild"><param name="Local" value="classTreeNode.html#a6161f2ebb92184eab4215d121870e788"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetChild"><param name="Local" value="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetChild"><param name="Local" value="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetChildCount"><param name="Local" value="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetFrame"><param name="Local" value="classTreeNode.html#afc503b40004764163605d6dbdb4ef811"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetName"><param name="Local" value="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetSignal"><param name="Local" value="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetType"><param name="Local" value="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_children"><param name="Local" value="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_frame"><param name="Local" value="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_name"><param name="Local" value="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_signal"><param name="Local" value="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_type"><param name="Local" value="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Class Index"><param name="Local" value="classes.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Class Members"><param name="Local" value="functions.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="All"><param name="Local" value="functions.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Functions"><param name="Local" value="functions_func.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Variables"><param name="Local" value="functions_vars.html"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Files"><param name="Local" value="files.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="File List"><param name="Local" value="files.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_database.h"><param name="Local" value="dbc__database_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcDatabase"><param name="Local" value="structDbcDatabase.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="frames"><param name="Local" value="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_decode_builder.cpp"><param name="Local" value="dbc__decode__builder_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_decode_builder.h"><param name="Local" value="dbc__decode__builder_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcDecodeBuilder"><param name="Local" value="classDbcDecodeBuilder.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Build"><param name="Local" value="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_decoder.cpp"><param name="Local" value="dbc__decoder_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_decoder.h"><param name="Local" value="dbc__decoder_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="RawCanFrame"><param name="Local" value="structRawCanFrame.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="RawCanFrame"><param name="Local" value="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="data"><param name="Local" value="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedSignalValue"><param name="Local" value="structDecodedSignalValue.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedSignalValue"><param name="Local" value="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="definition"><param name="Local" value="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="physicalValue"><param name="Local" value="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="rawValue"><param name="Local" value="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="valid"><param name="Local" value="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedFrameValue"><param name="Local" value="structDecodedFrameValue.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodedFrameValue"><param name="Local" value="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="definition"><param name="Local" value="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="signals"><param name="Local" value="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="valid"><param name="Local" value="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcDecoder"><param name="Local" value="classDbcDecoder.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Decode"><param name="Local" value="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ExtractIntel"><param name="Local" value="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ExtractMotorola"><param name="Local" value="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ExtractUnsigned"><param name="Local" value="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FindFrame"><param name="Local" value="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SignExtend"><param name="Local" value="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_parser.cpp"><param name="Local" value="dbc__parser_8cpp.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TrimText"><param name="Local" value="dbc__parser_8cpp.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_parser.h"><param name="Local" value="dbc__parser_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcParser"><param name="Local" value="classDbcParser.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FindFrameById"><param name="Local" value="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FindSignalByName"><param name="Local" value="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="IsCommentLine"><param name="Local" value="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="IsFrameLine"><param name="Local" value="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="IsSignalLine"><param name="Local" value="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="NormalizeCanId"><param name="Local" value="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseCommentLine"><param name="Local" value="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseFile"><param name="Local" value="classDbcParser.html#aef72826942c9095d653fafa435855e56"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseFrameLine"><param name="Local" value="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ParseSignalLine"><param name="Local" value="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SplitReceivers"><param name="Local" value="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Trim"><param name="Local" value="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TryExtractPgn"><param name="Local" value="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_tree_builder.cpp"><param name="Local" value="dbc__tree__builder_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dbc_tree_builder.h"><param name="Local" value="dbc__tree__builder_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DbcTreeBuilder"><param name="Local" value="classDbcTreeBuilder.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Build"><param name="Local" value="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="decode_database.h"><param name="Local" value="decode__database_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeSignal"><param name="Local" value="structDecodeSignal.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeSignal"><param name="Local" value="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="byteOrder"><param name="Local" value="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="factor"><param name="Local" value="structDecodeSignal.html#a428c39913a366a8476dd291061354391"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="length"><param name="Local" value="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="maximum"><param name="Local" value="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="minimum"><param name="Local" value="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="offset"><param name="Local" value="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="receivers"><param name="Local" value="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="startBit"><param name="Local" value="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="unit"><param name="Local" value="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="valueType"><param name="Local" value="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeFrame"><param name="Local" value="structDecodeFrame.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeFrame"><param name="Local" value="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dlc"><param name="Local" value="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="hasPgn"><param name="Local" value="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="pgn"><param name="Local" value="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="signals"><param name="Local" value="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="transmitter"><param name="Local" value="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKey"><param name="Local" value="structFrameKey.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKey"><param name="Local" value="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKey"><param name="Local" value="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator=="><param name="Local" value="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameKeyHasher"><param name="Local" value="structFrameKeyHasher.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator()"><param name="Local" value="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="DecodeDatabase"><param name="Local" value="structDecodeDatabase.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="frameIndexByKey"><param name="Local" value="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="frames"><param name="Local" value="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ByteOrder"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Intel"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Motorola"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="ValueType"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Unsigned"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Signed"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="frame_info.h"><param name="Local" value="frame__info_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameInfo"><param name="Local" value="structFrameInfo.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="FrameInfo"><param name="Local" value="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="canId"><param name="Local" value="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="dlc"><param name="Local" value="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="hasPgn"><param name="Local" value="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isExtended"><param name="Local" value="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="pgn"><param name="Local" value="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="signals"><param name="Local" value="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="transmitter"><param name="Local" value="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="main.cpp"><param name="Local" value="main_8cpp.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="main"><param name="Local" value="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="PrintDecodedFrame"><param name="Local" value="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="PrintTree"><param name="Local" value="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="signal_info.h"><param name="Local" value="signal__info_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SignalInfo"><param name="Local" value="structSignalInfo.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="SignalInfo"><param name="Local" value="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="comment"><param name="Local" value="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="factor"><param name="Local" value="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isLittleEndian"><param name="Local" value="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="isSigned"><param name="Local" value="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="length"><param name="Local" value="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="maximum"><param name="Local" value="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="minimum"><param name="Local" value="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="name"><param name="Local" value="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="offset"><param name="Local" value="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="receivers"><param name="Local" value="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="startBit"><param name="Local" value="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="unit"><param name="Local" value="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="tree_node.cpp"><param name="Local" value="tree__node_8cpp.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="tree_node.h"><param name="Local" value="tree__node_8h.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="~TreeNode"><param name="Local" value="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="TreeNode"><param name="Local" value="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="AddChild"><param name="Local" value="classTreeNode.html#a6161f2ebb92184eab4215d121870e788"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetChild"><param name="Local" value="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetChild"><param name="Local" value="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetChildCount"><param name="Local" value="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetFrame"><param name="Local" value="classTreeNode.html#afc503b40004764163605d6dbdb4ef811"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetName"><param name="Local" value="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetSignal"><param name="Local" value="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="GetType"><param name="Local" value="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="operator="><param name="Local" value="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_children"><param name="Local" value="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_frame"><param name="Local" value="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_name"><param name="Local" value="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_signal"><param name="Local" value="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="m_type"><param name="Local" value="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224"><param name="ImageNumber" value="11"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="NodeType"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Root"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Frame"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Signal"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="File Members"><param name="Local" value="globals.html"><param name="ImageNumber" value="1"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Name" value="All"><param name="Local" value="globals.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Functions"><param name="Local" value="globals_func.html"><param name="ImageNumber" value="11"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Name" value="Enumerations"><param name="Local" value="globals_enum.html"><param name="ImageNumber" value="11"></OBJECT>
</UL>
</UL>
</UL>
</BODY>
</HTML>

794
docs/html/index.hhk Normal file
View File

@@ -0,0 +1,794 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<HTML><HEAD></HEAD><BODY>
<OBJECT type="text/site properties">
<param name="FrameName" value="right">
</OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a6161f2ebb92184eab4215d121870e788"><param name="Name" value="AddChild(std::unique_ptr&lt; TreeNode &gt; child)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"><param name="Name" value="Build(const DbcDatabase &amp;database) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"><param name="Name" value="Build(const DbcDatabase &amp;source) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b"><param name="Name" value="ByteOrder"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="md_README.html"><param name="Name" value="DBC Parser and Runtime Decode Module Documentation"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDbcDatabase.html"><param name="Name" value="DbcDatabase"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDbcDatabase.html"><param name="Name" value="DbcDatabase"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"><param name="Name" value="frames"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecodeBuilder.html"><param name="Name" value="DbcDecodeBuilder"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecodeBuilder.html"><param name="Name" value="DbcDecodeBuilder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"><param name="Name" value="Build(const DbcDatabase &amp;source) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html"><param name="Name" value="DbcDecoder"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html"><param name="Name" value="DbcDecoder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"><param name="Name" value="Decode(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html"><param name="Name" value="DbcDecoder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"><param name="Name" value="ExtractIntel(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html"><param name="Name" value="DbcDecoder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"><param name="Name" value="ExtractMotorola(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html"><param name="Name" value="DbcDecoder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"><param name="Name" value="ExtractUnsigned(const std::vector&lt; std::uint8_t &gt; &amp;data, const DecodeSignal &amp;signal, std::uint64_t &amp;value)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html"><param name="Name" value="DbcDecoder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"><param name="Name" value="FindFrame(const DecodeDatabase &amp;database, std::uint32_t canId, bool isExtended) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html"><param name="Name" value="DbcDecoder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"><param name="Name" value="SignExtend(std::uint64_t value, std::uint32_t bitLength)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"><param name="Name" value="FindFrameById(DbcDatabase &amp;database, std::uint32_t canId, bool isExtended)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"><param name="Name" value="FindSignalByName(FrameInfo &amp;frame, const std::string &amp;signalName)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"><param name="Name" value="IsCommentLine(const std::string &amp;line)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"><param name="Name" value="IsFrameLine(const std::string &amp;line)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"><param name="Name" value="IsSignalLine(const std::string &amp;line)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"><param name="Name" value="NormalizeCanId(std::uint32_t rawCanId, std::uint32_t &amp;normalizedCanId, bool &amp;isExtended)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"><param name="Name" value="ParseCommentLine(const std::string &amp;line, DbcDatabase &amp;database)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#aef72826942c9095d653fafa435855e56"><param name="Name" value="ParseFile(const std::string &amp;filePath) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"><param name="Name" value="ParseFrameLine(const std::string &amp;line)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"><param name="Name" value="ParseSignalLine(const std::string &amp;line)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"><param name="Name" value="SplitReceivers(const std::string &amp;text)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"><param name="Name" value="Trim(const std::string &amp;text)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html"><param name="Name" value="DbcParser"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"><param name="Name" value="TryExtractPgn(std::uint32_t canId, bool isExtended, bool &amp;hasPgn)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcTreeBuilder.html"><param name="Name" value="DbcTreeBuilder"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcTreeBuilder.html"><param name="Name" value="DbcTreeBuilder"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"><param name="Name" value="Build(const DbcDatabase &amp;database) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"><param name="Name" value="Decode(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html"><param name="Name" value="DecodeDatabase"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html"><param name="Name" value="DecodeDatabase"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"><param name="Name" value="frameIndexByKey"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html"><param name="Name" value="DecodeDatabase"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"><param name="Name" value="frames"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"><param name="Name" value="DecodeFrame()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"><param name="Name" value="DecodeFrame()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"><param name="Name" value="canId"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"><param name="Name" value="comment"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"><param name="Name" value="dlc"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"><param name="Name" value="hasPgn"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"><param name="Name" value="isExtended"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"><param name="Name" value="name"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"><param name="Name" value="pgn"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"><param name="Name" value="signals"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html"><param name="Name" value="DecodeFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"><param name="Name" value="transmitter"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"><param name="Name" value="DecodeSignal()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"><param name="Name" value="DecodeSignal()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"><param name="Name" value="byteOrder"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"><param name="Name" value="comment"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a428c39913a366a8476dd291061354391"><param name="Name" value="factor"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"><param name="Name" value="length"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"><param name="Name" value="maximum"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"><param name="Name" value="minimum"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"><param name="Name" value="name"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"><param name="Name" value="offset"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"><param name="Name" value="receivers"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"><param name="Name" value="startBit"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"><param name="Name" value="unit"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html"><param name="Name" value="DecodeSignal"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"><param name="Name" value="valueType"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html"><param name="Name" value="DecodedFrameValue"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"><param name="Name" value="DecodedFrameValue()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html"><param name="Name" value="DecodedFrameValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"><param name="Name" value="DecodedFrameValue()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html"><param name="Name" value="DecodedFrameValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"><param name="Name" value="definition"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html"><param name="Name" value="DecodedFrameValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"><param name="Name" value="signals"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html"><param name="Name" value="DecodedFrameValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"><param name="Name" value="valid"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html"><param name="Name" value="DecodedSignalValue"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"><param name="Name" value="DecodedSignalValue()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html"><param name="Name" value="DecodedSignalValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"><param name="Name" value="DecodedSignalValue()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html"><param name="Name" value="DecodedSignalValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"><param name="Name" value="definition"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html"><param name="Name" value="DecodedSignalValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"><param name="Name" value="physicalValue"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html"><param name="Name" value="DecodedSignalValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"><param name="Name" value="rawValue"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html"><param name="Name" value="DecodedSignalValue"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"><param name="Name" value="valid"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"><param name="Name" value="ExtractIntel(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"><param name="Name" value="ExtractMotorola(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"><param name="Name" value="ExtractUnsigned(const std::vector&lt; std::uint8_t &gt; &amp;data, const DecodeSignal &amp;signal, std::uint64_t &amp;value)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"><param name="Name" value="FindFrame(const DecodeDatabase &amp;database, std::uint32_t canId, bool isExtended) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"><param name="Name" value="FindFrameById(DbcDatabase &amp;database, std::uint32_t canId, bool isExtended)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"><param name="Name" value="FindSignalByName(FrameInfo &amp;frame, const std::string &amp;signalName)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a"><param name="Name" value="Frame"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"><param name="Name" value="FrameInfo()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"><param name="Name" value="FrameInfo()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"><param name="Name" value="canId"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"><param name="Name" value="comment"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"><param name="Name" value="dlc"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"><param name="Name" value="hasPgn"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"><param name="Name" value="isExtended"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><param name="Name" value="name"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"><param name="Name" value="pgn"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"><param name="Name" value="signals"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html"><param name="Name" value="FrameInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"><param name="Name" value="transmitter"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html"><param name="Name" value="FrameKey"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"><param name="Name" value="FrameKey()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"><param name="Name" value="FrameKey(std::uint32_t id, bool extended)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html"><param name="Name" value="FrameKey"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"><param name="Name" value="FrameKey()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html"><param name="Name" value="FrameKey"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"><param name="Name" value="FrameKey(std::uint32_t id, bool extended)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html"><param name="Name" value="FrameKey"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"><param name="Name" value="canId"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html"><param name="Name" value="FrameKey"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"><param name="Name" value="isExtended"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html"><param name="Name" value="FrameKey"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"><param name="Name" value="operator==(const FrameKey &amp;other) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKeyHasher.html"><param name="Name" value="FrameKeyHasher"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKeyHasher.html"><param name="Name" value="FrameKeyHasher"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"><param name="Name" value="operator()(const FrameKey &amp;key) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6"><param name="Name" value="GetChild(std::size_t index) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f"><param name="Name" value="GetChild(std::size_t index)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea"><param name="Name" value="GetChildCount() const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#afc503b40004764163605d6dbdb4ef811"><param name="Name" value="GetFrame() const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18"><param name="Name" value="GetName() const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1"><param name="Name" value="GetSignal() const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9"><param name="Name" value="GetType() const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"><param name="Name" value="Intel"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"><param name="Name" value="IsCommentLine(const std::string &amp;line)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"><param name="Name" value="IsFrameLine(const std::string &amp;line)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"><param name="Name" value="IsSignalLine(const std::string &amp;line)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"><param name="Name" value="Motorola"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16"><param name="Name" value="NodeType"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"><param name="Name" value="NormalizeCanId(std::uint32_t rawCanId, std::uint32_t &amp;normalizedCanId, bool &amp;isExtended)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"><param name="Name" value="ParseCommentLine(const std::string &amp;line, DbcDatabase &amp;database)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#aef72826942c9095d653fafa435855e56"><param name="Name" value="ParseFile(const std::string &amp;filePath) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"><param name="Name" value="ParseFrameLine(const std::string &amp;line)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"><param name="Name" value="ParseSignalLine(const std::string &amp;line)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f"><param name="Name" value="PrintDecodedFrame(const DecodedFrameValue &amp;decoded)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a"><param name="Name" value="PrintTree(const TreeNode *node, int indent)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html"><param name="Name" value="RawCanFrame"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"><param name="Name" value="RawCanFrame()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html"><param name="Name" value="RawCanFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"><param name="Name" value="RawCanFrame()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html"><param name="Name" value="RawCanFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><param name="Name" value="canId"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html"><param name="Name" value="RawCanFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"><param name="Name" value="data"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html"><param name="Name" value="RawCanFrame"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"><param name="Name" value="isExtended"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad"><param name="Name" value="Root"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"><param name="Name" value="SignExtend(std::uint64_t value, std::uint32_t bitLength)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398"><param name="Name" value="Signal"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"><param name="Name" value="SignalInfo()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"><param name="Name" value="SignalInfo()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"><param name="Name" value="comment"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"><param name="Name" value="factor"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"><param name="Name" value="isLittleEndian"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"><param name="Name" value="isSigned"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"><param name="Name" value="length"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"><param name="Name" value="maximum"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"><param name="Name" value="minimum"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"><param name="Name" value="name"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"><param name="Name" value="offset"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"><param name="Name" value="receivers"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"><param name="Name" value="startBit"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html"><param name="Name" value="SignalInfo"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"><param name="Name" value="unit"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"><param name="Name" value="Signed"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"><param name="Name" value="SplitReceivers(const std::string &amp;text)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d"><param name="Name" value="TreeNode()"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1"><param name="Name" value="TreeNode(TreeNode &amp;&amp;)=default"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc"><param name="Name" value="TreeNode(const FrameInfo &amp;frame)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae"><param name="Name" value="TreeNode(const SignalInfo &amp;signal)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff"><param name="Name" value="TreeNode(const TreeNode &amp;)=delete"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a6161f2ebb92184eab4215d121870e788"><param name="Name" value="AddChild(std::unique_ptr&lt; TreeNode &gt; child)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f"><param name="Name" value="GetChild(std::size_t index)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6"><param name="Name" value="GetChild(std::size_t index) const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea"><param name="Name" value="GetChildCount() const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#afc503b40004764163605d6dbdb4ef811"><param name="Name" value="GetFrame() const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18"><param name="Name" value="GetName() const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1"><param name="Name" value="GetSignal() const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9"><param name="Name" value="GetType() const"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d"><param name="Name" value="TreeNode()"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1"><param name="Name" value="TreeNode(TreeNode &amp;&amp;)=default"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc"><param name="Name" value="TreeNode(const FrameInfo &amp;frame)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae"><param name="Name" value="TreeNode(const SignalInfo &amp;signal)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff"><param name="Name" value="TreeNode(const TreeNode &amp;)=delete"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351"><param name="Name" value="m_children"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2"><param name="Name" value="m_frame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8"><param name="Name" value="m_name"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386"><param name="Name" value="m_signal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224"><param name="Name" value="m_type"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95"><param name="Name" value="operator=(TreeNode &amp;&amp;)=default"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa"><param name="Name" value="operator=(const TreeNode &amp;)=delete"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html"><param name="Name" value="TreeNode"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570"><param name="Name" value="~TreeNode()=default"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"><param name="Name" value="Trim(const std::string &amp;text)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"><param name="Name" value="TrimText(const std::string &amp;text)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"><param name="Name" value="TryExtractPgn(std::uint32_t canId, bool isExtended, bool &amp;hasPgn)"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"><param name="Name" value="Unsigned"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1"><param name="Name" value="ValueType"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html"><param name="Name" value="anonymous_namespace{dbc_parser.cpp}"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html"><param name="Name" value="anonymous_namespace{dbc_parser.cpp}"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"><param name="Name" value="TrimText(const std::string &amp;text)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"><param name="Name" value="byteOrder"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"><param name="Name" value="canId"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"><param name="Name" value="canId"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"><param name="Name" value="canId"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"><param name="Name" value="FrameKey"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><param name="Name" value="canId"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><param name="Name" value="RawCanFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"><param name="Name" value="comment"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"><param name="Name" value="comment"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"><param name="Name" value="comment"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"><param name="Name" value="comment"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"><param name="Name" value="data"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html"><param name="Name" value="decode_database.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b"><param name="Name" value="ByteOrder"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html"><param name="Name" value="decode_database.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"><param name="Name" value="Intel"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html"><param name="Name" value="decode_database.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"><param name="Name" value="Motorola"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html"><param name="Name" value="decode_database.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"><param name="Name" value="Signed"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html"><param name="Name" value="decode_database.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"><param name="Name" value="Unsigned"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html"><param name="Name" value="decode_database.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1"><param name="Name" value="ValueType"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"><param name="Name" value="definition"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"><param name="Name" value="DecodedFrameValue"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"><param name="Name" value="definition"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"><param name="Name" value="DecodedSignalValue"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"><param name="Name" value="dlc"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"><param name="Name" value="dlc"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a428c39913a366a8476dd291061354391"><param name="Name" value="factor"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a428c39913a366a8476dd291061354391"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"><param name="Name" value="factor"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"><param name="Name" value="frameIndexByKey"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"><param name="Name" value="frames"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"><param name="Name" value="DbcDatabase"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"><param name="Name" value="frames"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"><param name="Name" value="DecodeDatabase"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"><param name="Name" value="hasPgn"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"><param name="Name" value="hasPgn"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"><param name="Name" value="isExtended"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"><param name="Name" value="isExtended"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"><param name="Name" value="isExtended"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"><param name="Name" value="FrameKey"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"><param name="Name" value="isExtended"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"><param name="Name" value="RawCanFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"><param name="Name" value="isLittleEndian"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"><param name="Name" value="isSigned"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"><param name="Name" value="length"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"><param name="Name" value="length"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351"><param name="Name" value="m_children"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2"><param name="Name" value="m_frame"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8"><param name="Name" value="m_name"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386"><param name="Name" value="m_signal"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224"><param name="Name" value="m_type"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97"><param name="Name" value="main(int argc, char *argv[])"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html"><param name="Name" value="main.cpp"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f"><param name="Name" value="PrintDecodedFrame(const DecodedFrameValue &amp;decoded)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html"><param name="Name" value="main.cpp"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a"><param name="Name" value="PrintTree(const TreeNode *node, int indent)"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html"><param name="Name" value="main.cpp"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97"><param name="Name" value="main(int argc, char *argv[])"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"><param name="Name" value="maximum"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"><param name="Name" value="maximum"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"><param name="Name" value="minimum"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"><param name="Name" value="minimum"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"><param name="Name" value="name"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"><param name="Name" value="name"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><param name="Name" value="name"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"><param name="Name" value="name"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"><param name="Name" value="offset"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"><param name="Name" value="offset"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"><param name="Name" value="operator()(const FrameKey &amp;key) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95"><param name="Name" value="operator=(TreeNode &amp;&amp;)=default"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa"><param name="Name" value="operator=(const TreeNode &amp;)=delete"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"><param name="Name" value="operator==(const FrameKey &amp;other) const"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"><param name="Name" value="pgn"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"><param name="Name" value="pgn"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"><param name="Name" value="physicalValue"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"><param name="Name" value="rawValue"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"><param name="Name" value="receivers"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"><param name="Name" value="receivers"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"><param name="Name" value="signals"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"><param name="Name" value="signals"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"><param name="Name" value="DecodedFrameValue"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"><param name="Name" value="signals"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"><param name="Name" value="startBit"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"><param name="Name" value="startBit"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"><param name="Name" value="transmitter"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"><param name="Name" value="DecodeFrame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"><param name="Name" value="transmitter"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"><param name="Name" value="FrameInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html"><param name="Name" value="tree_node.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a"><param name="Name" value="Frame"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html"><param name="Name" value="tree_node.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16"><param name="Name" value="NodeType"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html"><param name="Name" value="tree_node.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad"><param name="Name" value="Root"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html"><param name="Name" value="tree_node.h"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398"><param name="Name" value="Signal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"><param name="Name" value="unit"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"><param name="Name" value="DecodeSignal"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"><param name="Name" value="unit"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"><param name="Name" value="SignalInfo"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"><param name="Name" value="valid"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"><param name="Name" value="DecodedFrameValue"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"><param name="Name" value="valid"></OBJECT>
<UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"><param name="Name" value="DecodedSignalValue"></OBJECT>
</UL>
<LI><OBJECT type="text/sitemap"><param name="Local" value="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"><param name="Name" value="valueType"></OBJECT>
<LI><OBJECT type="text/sitemap"><param name="Local" value="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570"><param name="Name" value="~TreeNode()=default"></OBJECT>
</UL>
</BODY>
</HTML>

116
docs/html/index.hhp Normal file
View File

@@ -0,0 +1,116 @@
[OPTIONS]
Compiled file=dbc.chm
Compatibility=1.1
Full-text search=Yes
Contents file=index.hhc
Default Window=main
Default topic=index.html
Index file=index.hhk
Language=0x409 English (United States)
Title=DBC framework
[WINDOWS]
main="DBC framework","index.hhc","index.hhk","index.html","index.html",,,,,0x23520,,0x10387e,,,,,,,,0
[FILES]
README_8md.html
annotated.html
classDbcDecodeBuilder-members.html
classDbcDecodeBuilder.html
classDbcDecoder-members.html
classDbcDecoder.html
classDbcParser-members.html
classDbcParser.html
classDbcTreeBuilder-members.html
classDbcTreeBuilder.html
classTreeNode-members.html
classTreeNode.html
classes.html
dbc__database_8h.html
dbc__database_8h_source.html
dbc__decode__builder_8cpp.html
dbc__decode__builder_8cpp_source.html
dbc__decode__builder_8h.html
dbc__decode__builder_8h_source.html
dbc__decoder_8cpp.html
dbc__decoder_8cpp_source.html
dbc__decoder_8h.html
dbc__decoder_8h_source.html
dbc__parser_8cpp.html
dbc__parser_8cpp_source.html
dbc__parser_8h.html
dbc__parser_8h_source.html
dbc__tree__builder_8cpp.html
dbc__tree__builder_8cpp_source.html
dbc__tree__builder_8h.html
dbc__tree__builder_8h_source.html
decode__database_8h.html
decode__database_8h_source.html
files.html
frame__info_8h.html
frame__info_8h_source.html
functions.html
functions_func.html
functions_vars.html
globals.html
globals_enum.html
globals_func.html
index.html
main_8cpp.html
main_8cpp_source.html
md_README.html
namespaceanonymous__namespace_02dbc__parser_8cpp_03.html
namespacemembers.html
namespacemembers_func.html
namespaces.html
pages.html
signal__info_8h.html
signal__info_8h_source.html
structDbcDatabase-members.html
structDbcDatabase.html
structDecodeDatabase-members.html
structDecodeDatabase.html
structDecodeFrame-members.html
structDecodeFrame.html
structDecodeSignal-members.html
structDecodeSignal.html
structDecodedFrameValue-members.html
structDecodedFrameValue.html
structDecodedSignalValue-members.html
structDecodedSignalValue.html
structFrameInfo-members.html
structFrameInfo.html
structFrameKey-members.html
structFrameKey.html
structFrameKeyHasher-members.html
structFrameKeyHasher.html
structRawCanFrame-members.html
structRawCanFrame.html
structSignalInfo-members.html
structSignalInfo.html
tree__node_8cpp.html
tree__node_8cpp_source.html
tree__node_8h.html
tree__node_8h_source.html
bc_s.png
bdwn.png
closed.png
doc.png
doxygen.svg
folderclosed.png
folderopen.png
nav_f.png
nav_g.png
nav_h.png
open.png
splitbar.png
sync_off.png
sync_on.png
tab_a.png
tab_b.png
tab_h.png
tab_s.png
doxygen.css
dynsections.js
jquery.js
tabs.css

50
docs/html/index.html Normal file
View File

@@ -0,0 +1,50 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Main Page</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li class="current"><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DBC framework Documentation</div></div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

691
docs/html/index.qhp Normal file
View File

@@ -0,0 +1,691 @@
<?xml version="1.0" encoding="UTF-8"?>
<QtHelpProject version="1.0">
<namespace>org.doxygen.Project</namespace>
<virtualFolder>doc</virtualFolder>
<filterSection>
<filterAttribute>doxygen</filterAttribute>
<toc>
<section title="DBC framework" ref="index.html">
<section title="DBC Parser and Runtime Decode Module Documentation" ref="md_README.html">
<section title="Overview" ref="md_README.html#autotoc_md1"/>
<section title="High-Level Architecture" ref="md_README.html#autotoc_md3">
<section title="1. Parse and UI path" ref="md_README.html#autotoc_md4"/>
<section title="2. Runtime decode path" ref="md_README.html#autotoc_md5"/>
</section>
<section title="Why the Runtime Decode Layer Exists" ref="md_README.html#autotoc_md7"/>
<section title="Module Layout" ref="md_README.html#autotoc_md9">
<section title="Parsed DBC structures" ref="md_README.html#autotoc_md10"/>
<section title="UI tree structures" ref="md_README.html#autotoc_md11"/>
<section title="Runtime decode structures" ref="md_README.html#autotoc_md12"/>
<section title="Runtime decoder" ref="md_README.html#autotoc_md13"/>
<section title="Parser" ref="md_README.html#autotoc_md14"/>
<section title="Demo" ref="md_README.html#autotoc_md15"/>
</section>
<section title="Parsed Data Structures" ref="md_README.html#autotoc_md17"/>
<section title="&lt;tt&gt;SignalInfo&lt;/tt&gt;" ref="md_README.html#autotoc_md18"/>
<section title="&lt;tt&gt;FrameInfo&lt;/tt&gt;" ref="md_README.html#autotoc_md20"/>
<section title="&lt;tt&gt;DbcDatabase&lt;/tt&gt;" ref="md_README.html#autotoc_md22"/>
<section title="UI Tree Layer" ref="md_README.html#autotoc_md24"/>
<section title="&lt;tt&gt;TreeNode&lt;/tt&gt;" ref="md_README.html#autotoc_md25"/>
<section title="Runtime Decode Layer" ref="md_README.html#autotoc_md27"/>
<section title="Purpose" ref="md_README.html#autotoc_md28"/>
<section title="&lt;tt&gt;ByteOrder&lt;/tt&gt;" ref="md_README.html#autotoc_md30"/>
<section title="&lt;tt&gt;ValueType&lt;/tt&gt;" ref="md_README.html#autotoc_md32"/>
<section title="&lt;tt&gt;DecodeSignal&lt;/tt&gt;" ref="md_README.html#autotoc_md34"/>
<section title="&lt;tt&gt;DecodeFrame&lt;/tt&gt;" ref="md_README.html#autotoc_md36"/>
<section title="&lt;tt&gt;FrameKey&lt;/tt&gt;" ref="md_README.html#autotoc_md38"/>
<section title="&lt;tt&gt;DecodeDatabase&lt;/tt&gt;" ref="md_README.html#autotoc_md40"/>
<section title="Decoder Layer" ref="md_README.html#autotoc_md42"/>
<section title="&lt;tt&gt;RawCanFrame&lt;/tt&gt;" ref="md_README.html#autotoc_md43"/>
<section title="&lt;tt&gt;DecodedSignalValue&lt;/tt&gt;" ref="md_README.html#autotoc_md45"/>
<section title="&lt;tt&gt;DecodedFrameValue&lt;/tt&gt;" ref="md_README.html#autotoc_md47"/>
<section title="&lt;tt&gt;DbcDecoder&lt;/tt&gt;" ref="md_README.html#autotoc_md49"/>
<section title="Parser Support" ref="md_README.html#autotoc_md51"/>
<section title="Supported DBC Syntax" ref="md_README.html#autotoc_md53"/>
<section title="Frame definition" ref="md_README.html#autotoc_md54"/>
<section title="Signal definition" ref="md_README.html#autotoc_md56"/>
<section title="Comments" ref="md_README.html#autotoc_md58"/>
<section title="CAN ID Normalization" ref="md_README.html#autotoc_md60"/>
<section title="PGN Extraction" ref="md_README.html#autotoc_md62"/>
<section title="Decode Flow" ref="md_README.html#autotoc_md64"/>
<section title="Intel and Motorola Extraction" ref="md_README.html#autotoc_md66"/>
<section title="Example Usage" ref="md_README.html#autotoc_md68"/>
<section title="Parse DBC" ref="md_README.html#autotoc_md69"/>
<section title="Build UI tree" ref="md_README.html#autotoc_md70"/>
<section title="Build runtime decode database" ref="md_README.html#autotoc_md71"/>
<section title="Decode a raw frame" ref="md_README.html#autotoc_md72"/>
<section title="Unified Decode Strategy" ref="md_README.html#autotoc_md74">
<section title="live path" ref="md_README.html#autotoc_md75"/>
<section title="trace path" ref="md_README.html#autotoc_md76"/>
</section>
<section title="Intended Use in FrameTap" ref="md_README.html#autotoc_md78"/>
<section title="Why the Tree Is Not Enough" ref="md_README.html#autotoc_md80"/>
<section title="Why No Abstract Factory Is Used" ref="md_README.html#autotoc_md82"/>
<section title="Current Limitations" ref="md_README.html#autotoc_md84"/>
<section title="Recommended Next Steps" ref="md_README.html#autotoc_md86">
<section title="Stage 1 - already implemented" ref="md_README.html#autotoc_md87"/>
<section title="Stage 2" ref="md_README.html#autotoc_md88"/>
<section title="Stage 3" ref="md_README.html#autotoc_md89"/>
<section title="Stage 4" ref="md_README.html#autotoc_md90"/>
</section>
<section title="Build Integration" ref="md_README.html#autotoc_md92"/>
<section title="Summary" ref="md_README.html#autotoc_md94">
<section title="Parsed representation" ref="md_README.html#autotoc_md95"/>
<section title="Runtime decode representation" ref="md_README.html#autotoc_md96"/>
</section>
</section>
<section title="Namespaces" ref="namespaces.html">
<section title="Namespace List" ref="namespaces.html">
<section title="anonymous_namespace{dbc_parser.cpp}" ref="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html">
<section title="TrimText" ref="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"/>
</section>
</section>
<section title="Namespace Members" ref="namespacemembers.html">
<section title="All" ref="namespacemembers.html"/>
<section title="Functions" ref="namespacemembers_func.html"/>
</section>
</section>
<section title="Classes" ref="annotated.html">
<section title="Class List" ref="annotated.html">
<section title="DbcDatabase" ref="structDbcDatabase.html">
<section title="frames" ref="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"/>
</section>
<section title="DbcDecodeBuilder" ref="classDbcDecodeBuilder.html">
<section title="Build" ref="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"/>
</section>
<section title="DbcDecoder" ref="classDbcDecoder.html">
<section title="Decode" ref="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"/>
<section title="ExtractIntel" ref="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"/>
<section title="ExtractMotorola" ref="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"/>
<section title="ExtractUnsigned" ref="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"/>
<section title="FindFrame" ref="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"/>
<section title="SignExtend" ref="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"/>
</section>
<section title="DbcParser" ref="classDbcParser.html">
<section title="FindFrameById" ref="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"/>
<section title="FindSignalByName" ref="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"/>
<section title="IsCommentLine" ref="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"/>
<section title="IsFrameLine" ref="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"/>
<section title="IsSignalLine" ref="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"/>
<section title="NormalizeCanId" ref="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"/>
<section title="ParseCommentLine" ref="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"/>
<section title="ParseFile" ref="classDbcParser.html#aef72826942c9095d653fafa435855e56"/>
<section title="ParseFrameLine" ref="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"/>
<section title="ParseSignalLine" ref="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"/>
<section title="SplitReceivers" ref="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"/>
<section title="Trim" ref="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"/>
<section title="TryExtractPgn" ref="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"/>
</section>
<section title="DbcTreeBuilder" ref="classDbcTreeBuilder.html">
<section title="Build" ref="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"/>
</section>
<section title="DecodeDatabase" ref="structDecodeDatabase.html">
<section title="frameIndexByKey" ref="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"/>
<section title="frames" ref="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"/>
</section>
<section title="DecodedFrameValue" ref="structDecodedFrameValue.html">
<section title="DecodedFrameValue" ref="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"/>
<section title="definition" ref="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"/>
<section title="signals" ref="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"/>
<section title="valid" ref="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"/>
</section>
<section title="DecodedSignalValue" ref="structDecodedSignalValue.html">
<section title="DecodedSignalValue" ref="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"/>
<section title="definition" ref="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"/>
<section title="physicalValue" ref="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"/>
<section title="rawValue" ref="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"/>
<section title="valid" ref="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"/>
</section>
<section title="DecodeFrame" ref="structDecodeFrame.html">
<section title="DecodeFrame" ref="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"/>
<section title="canId" ref="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"/>
<section title="comment" ref="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"/>
<section title="dlc" ref="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"/>
<section title="hasPgn" ref="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"/>
<section title="isExtended" ref="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"/>
<section title="name" ref="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"/>
<section title="pgn" ref="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"/>
<section title="signals" ref="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"/>
<section title="transmitter" ref="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"/>
</section>
<section title="DecodeSignal" ref="structDecodeSignal.html">
<section title="DecodeSignal" ref="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"/>
<section title="byteOrder" ref="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"/>
<section title="comment" ref="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"/>
<section title="factor" ref="structDecodeSignal.html#a428c39913a366a8476dd291061354391"/>
<section title="length" ref="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"/>
<section title="maximum" ref="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"/>
<section title="minimum" ref="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"/>
<section title="name" ref="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"/>
<section title="offset" ref="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"/>
<section title="receivers" ref="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"/>
<section title="startBit" ref="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"/>
<section title="unit" ref="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"/>
<section title="valueType" ref="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"/>
</section>
<section title="FrameInfo" ref="structFrameInfo.html">
<section title="FrameInfo" ref="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"/>
<section title="canId" ref="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"/>
<section title="comment" ref="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"/>
<section title="dlc" ref="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"/>
<section title="hasPgn" ref="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"/>
<section title="isExtended" ref="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"/>
<section title="name" ref="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"/>
<section title="pgn" ref="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"/>
<section title="signals" ref="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"/>
<section title="transmitter" ref="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"/>
</section>
<section title="FrameKey" ref="structFrameKey.html">
<section title="FrameKey" ref="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"/>
<section title="FrameKey" ref="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"/>
<section title="operator==" ref="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"/>
<section title="canId" ref="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"/>
<section title="isExtended" ref="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"/>
</section>
<section title="FrameKeyHasher" ref="structFrameKeyHasher.html">
<section title="operator()" ref="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"/>
</section>
<section title="RawCanFrame" ref="structRawCanFrame.html">
<section title="RawCanFrame" ref="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"/>
<section title="canId" ref="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"/>
<section title="data" ref="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"/>
<section title="isExtended" ref="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"/>
</section>
<section title="SignalInfo" ref="structSignalInfo.html">
<section title="SignalInfo" ref="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"/>
<section title="comment" ref="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"/>
<section title="factor" ref="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"/>
<section title="isLittleEndian" ref="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"/>
<section title="isSigned" ref="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"/>
<section title="length" ref="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"/>
<section title="maximum" ref="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"/>
<section title="minimum" ref="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"/>
<section title="name" ref="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"/>
<section title="offset" ref="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"/>
<section title="receivers" ref="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"/>
<section title="startBit" ref="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"/>
<section title="unit" ref="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"/>
</section>
<section title="TreeNode" ref="classTreeNode.html">
<section title="TreeNode" ref="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d"/>
<section title="TreeNode" ref="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc"/>
<section title="TreeNode" ref="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae"/>
<section title="~TreeNode" ref="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570"/>
<section title="TreeNode" ref="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff"/>
<section title="TreeNode" ref="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1"/>
<section title="AddChild" ref="classTreeNode.html#a6161f2ebb92184eab4215d121870e788"/>
<section title="GetChild" ref="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f"/>
<section title="GetChild" ref="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6"/>
<section title="GetChildCount" ref="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea"/>
<section title="GetFrame" ref="classTreeNode.html#afc503b40004764163605d6dbdb4ef811"/>
<section title="GetName" ref="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18"/>
<section title="GetSignal" ref="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1"/>
<section title="GetType" ref="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9"/>
<section title="operator=" ref="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa"/>
<section title="operator=" ref="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95"/>
<section title="m_children" ref="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351"/>
<section title="m_frame" ref="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2"/>
<section title="m_name" ref="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8"/>
<section title="m_signal" ref="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386"/>
<section title="m_type" ref="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224"/>
</section>
</section>
<section title="Class Index" ref="classes.html"/>
<section title="Class Members" ref="functions.html">
<section title="All" ref="functions.html"/>
<section title="Functions" ref="functions_func.html"/>
<section title="Variables" ref="functions_vars.html"/>
</section>
</section>
<section title="Files" ref="files.html">
<section title="File List" ref="files.html">
<section title="dbc_database.h" ref="dbc__database_8h.html">
<section title="DbcDatabase" ref="structDbcDatabase.html">
<section title="frames" ref="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"/>
</section>
</section>
<section title="dbc_decode_builder.cpp" ref="dbc__decode__builder_8cpp.html"/>
<section title="dbc_decode_builder.h" ref="dbc__decode__builder_8h.html">
<section title="DbcDecodeBuilder" ref="classDbcDecodeBuilder.html">
<section title="Build" ref="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"/>
</section>
</section>
<section title="dbc_decoder.cpp" ref="dbc__decoder_8cpp.html"/>
<section title="dbc_decoder.h" ref="dbc__decoder_8h.html">
<section title="RawCanFrame" ref="structRawCanFrame.html">
<section title="RawCanFrame" ref="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"/>
<section title="canId" ref="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"/>
<section title="data" ref="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"/>
<section title="isExtended" ref="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"/>
</section>
<section title="DecodedSignalValue" ref="structDecodedSignalValue.html">
<section title="DecodedSignalValue" ref="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"/>
<section title="definition" ref="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"/>
<section title="physicalValue" ref="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"/>
<section title="rawValue" ref="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"/>
<section title="valid" ref="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"/>
</section>
<section title="DecodedFrameValue" ref="structDecodedFrameValue.html">
<section title="DecodedFrameValue" ref="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"/>
<section title="definition" ref="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"/>
<section title="signals" ref="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"/>
<section title="valid" ref="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"/>
</section>
<section title="DbcDecoder" ref="classDbcDecoder.html">
<section title="Decode" ref="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"/>
<section title="ExtractIntel" ref="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"/>
<section title="ExtractMotorola" ref="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"/>
<section title="ExtractUnsigned" ref="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"/>
<section title="FindFrame" ref="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"/>
<section title="SignExtend" ref="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"/>
</section>
</section>
<section title="dbc_parser.cpp" ref="dbc__parser_8cpp.html">
<section title="TrimText" ref="dbc__parser_8cpp.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"/>
</section>
<section title="dbc_parser.h" ref="dbc__parser_8h.html">
<section title="DbcParser" ref="classDbcParser.html">
<section title="FindFrameById" ref="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"/>
<section title="FindSignalByName" ref="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"/>
<section title="IsCommentLine" ref="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"/>
<section title="IsFrameLine" ref="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"/>
<section title="IsSignalLine" ref="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"/>
<section title="NormalizeCanId" ref="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"/>
<section title="ParseCommentLine" ref="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"/>
<section title="ParseFile" ref="classDbcParser.html#aef72826942c9095d653fafa435855e56"/>
<section title="ParseFrameLine" ref="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"/>
<section title="ParseSignalLine" ref="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"/>
<section title="SplitReceivers" ref="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"/>
<section title="Trim" ref="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"/>
<section title="TryExtractPgn" ref="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"/>
</section>
</section>
<section title="dbc_tree_builder.cpp" ref="dbc__tree__builder_8cpp.html"/>
<section title="dbc_tree_builder.h" ref="dbc__tree__builder_8h.html">
<section title="DbcTreeBuilder" ref="classDbcTreeBuilder.html">
<section title="Build" ref="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"/>
</section>
</section>
<section title="decode_database.h" ref="decode__database_8h.html">
<section title="DecodeSignal" ref="structDecodeSignal.html">
<section title="DecodeSignal" ref="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"/>
<section title="byteOrder" ref="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"/>
<section title="comment" ref="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"/>
<section title="factor" ref="structDecodeSignal.html#a428c39913a366a8476dd291061354391"/>
<section title="length" ref="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"/>
<section title="maximum" ref="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"/>
<section title="minimum" ref="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"/>
<section title="name" ref="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"/>
<section title="offset" ref="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"/>
<section title="receivers" ref="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"/>
<section title="startBit" ref="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"/>
<section title="unit" ref="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"/>
<section title="valueType" ref="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"/>
</section>
<section title="DecodeFrame" ref="structDecodeFrame.html">
<section title="DecodeFrame" ref="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"/>
<section title="canId" ref="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"/>
<section title="comment" ref="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"/>
<section title="dlc" ref="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"/>
<section title="hasPgn" ref="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"/>
<section title="isExtended" ref="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"/>
<section title="name" ref="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"/>
<section title="pgn" ref="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"/>
<section title="signals" ref="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"/>
<section title="transmitter" ref="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"/>
</section>
<section title="FrameKey" ref="structFrameKey.html">
<section title="FrameKey" ref="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"/>
<section title="FrameKey" ref="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"/>
<section title="operator==" ref="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"/>
<section title="canId" ref="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"/>
<section title="isExtended" ref="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"/>
</section>
<section title="FrameKeyHasher" ref="structFrameKeyHasher.html">
<section title="operator()" ref="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"/>
</section>
<section title="DecodeDatabase" ref="structDecodeDatabase.html">
<section title="frameIndexByKey" ref="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"/>
<section title="frames" ref="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"/>
</section>
<section title="ByteOrder" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">
<section title="Intel" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"/>
<section title="Motorola" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"/>
</section>
<section title="ValueType" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">
<section title="Unsigned" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"/>
<section title="Signed" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"/>
</section>
</section>
<section title="frame_info.h" ref="frame__info_8h.html">
<section title="FrameInfo" ref="structFrameInfo.html">
<section title="FrameInfo" ref="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"/>
<section title="canId" ref="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"/>
<section title="comment" ref="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"/>
<section title="dlc" ref="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"/>
<section title="hasPgn" ref="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"/>
<section title="isExtended" ref="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"/>
<section title="name" ref="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"/>
<section title="pgn" ref="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"/>
<section title="signals" ref="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"/>
<section title="transmitter" ref="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"/>
</section>
</section>
<section title="main.cpp" ref="main_8cpp.html">
<section title="main" ref="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97"/>
<section title="PrintDecodedFrame" ref="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f"/>
<section title="PrintTree" ref="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a"/>
</section>
<section title="signal_info.h" ref="signal__info_8h.html">
<section title="SignalInfo" ref="structSignalInfo.html">
<section title="SignalInfo" ref="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"/>
<section title="comment" ref="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"/>
<section title="factor" ref="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"/>
<section title="isLittleEndian" ref="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"/>
<section title="isSigned" ref="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"/>
<section title="length" ref="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"/>
<section title="maximum" ref="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"/>
<section title="minimum" ref="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"/>
<section title="name" ref="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"/>
<section title="offset" ref="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"/>
<section title="receivers" ref="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"/>
<section title="startBit" ref="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"/>
<section title="unit" ref="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"/>
</section>
</section>
<section title="tree_node.cpp" ref="tree__node_8cpp.html"/>
<section title="tree_node.h" ref="tree__node_8h.html">
<section title="TreeNode" ref="classTreeNode.html">
<section title="TreeNode" ref="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d"/>
<section title="TreeNode" ref="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc"/>
<section title="TreeNode" ref="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae"/>
<section title="~TreeNode" ref="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570"/>
<section title="TreeNode" ref="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff"/>
<section title="TreeNode" ref="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1"/>
<section title="AddChild" ref="classTreeNode.html#a6161f2ebb92184eab4215d121870e788"/>
<section title="GetChild" ref="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f"/>
<section title="GetChild" ref="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6"/>
<section title="GetChildCount" ref="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea"/>
<section title="GetFrame" ref="classTreeNode.html#afc503b40004764163605d6dbdb4ef811"/>
<section title="GetName" ref="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18"/>
<section title="GetSignal" ref="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1"/>
<section title="GetType" ref="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9"/>
<section title="operator=" ref="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa"/>
<section title="operator=" ref="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95"/>
<section title="m_children" ref="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351"/>
<section title="m_frame" ref="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2"/>
<section title="m_name" ref="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8"/>
<section title="m_signal" ref="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386"/>
<section title="m_type" ref="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224"/>
</section>
<section title="NodeType" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16">
<section title="Root" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad"/>
<section title="Frame" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a"/>
<section title="Signal" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398"/>
</section>
</section>
</section>
<section title="File Members" ref="globals.html">
<section title="All" ref="globals.html"/>
<section title="Functions" ref="globals_func.html"/>
<section title="Enumerations" ref="globals_enum.html"/>
</section>
</section>
</section>
</toc>
<keywords>
<keyword name="DbcDatabase" id="DbcDatabase_" ref="structDbcDatabase.html"/>
<keyword name="DbcDecodeBuilder" id="DbcDecodeBuilder_" ref="classDbcDecodeBuilder.html"/>
<keyword name="DbcDecoder" id="DbcDecoder_" ref="classDbcDecoder.html"/>
<keyword name="DbcParser" id="DbcParser_" ref="classDbcParser.html"/>
<keyword name="DbcTreeBuilder" id="DbcTreeBuilder_" ref="classDbcTreeBuilder.html"/>
<keyword name="DecodeDatabase" id="DecodeDatabase_" ref="structDecodeDatabase.html"/>
<keyword name="DecodedFrameValue" id="DecodedFrameValue_" ref="structDecodedFrameValue.html"/>
<keyword name="DecodedSignalValue" id="DecodedSignalValue_" ref="structDecodedSignalValue.html"/>
<keyword name="DecodeFrame" id="DecodeFrame_" ref="structDecodeFrame.html"/>
<keyword name="DecodeSignal" id="DecodeSignal_" ref="structDecodeSignal.html"/>
<keyword name="FrameInfo" id="FrameInfo_" ref="structFrameInfo.html"/>
<keyword name="FrameKey" id="FrameKey_" ref="structFrameKey.html"/>
<keyword name="FrameKeyHasher" id="FrameKeyHasher_" ref="structFrameKeyHasher.html"/>
<keyword name="RawCanFrame" id="RawCanFrame_" ref="structRawCanFrame.html"/>
<keyword name="SignalInfo" id="SignalInfo_" ref="structSignalInfo.html"/>
<keyword name="TreeNode" id="TreeNode_" ref="classTreeNode.html"/>
<keyword name="anonymous_namespace{dbc_parser.cpp}" id="anonymous_namespace{dbc_parser.cpp}_" ref="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html"/>
<keyword name="DBC Parser and Runtime Decode Module Documentation" id="DBC Parser and Runtime Decode Module Documentation_" ref="md_README.html"/>
<keyword name="AddChild(std::unique_ptr&lt; TreeNode &gt; child)" id="TreeNode::AddChild_a6161f2ebb92184eab4215d121870e788" ref="classTreeNode.html#a6161f2ebb92184eab4215d121870e788"/>
<keyword name="Build(const DbcDatabase &amp;source) const" id="DbcDecodeBuilder::Build_a2bc6386dfb5e58976c42e22c19ec471b" ref="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b"/>
<keyword name="Build(const DbcDatabase &amp;database) const" id="DbcTreeBuilder::Build_a7e57d067d831b14b383947fd125edd4b" ref="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b"/>
<keyword name="byteOrder" id="DecodeSignal::byteOrder_abdc4c4bb4a67a6d61d6ca81e8a52833d" ref="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d"/>
<keyword name="canId" id="RawCanFrame::canId_a2d0e7fa0e3d5c20bbed55ed8f7888ff4" ref="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4"/>
<keyword name="canId" id="DecodeFrame::canId_a52e10215388db7df8b541b9d9909edcf" ref="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf"/>
<keyword name="canId" id="FrameKey::canId_a022917652b4d3c2f2dfcc5a13ab7caa4" ref="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4"/>
<keyword name="canId" id="FrameInfo::canId_af470b0742c05bfbffc31c51a68f5c05e" ref="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e"/>
<keyword name="comment" id="DecodeSignal::comment_ae28c905d4a2bc86419c2a8361bfea473" ref="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473"/>
<keyword name="comment" id="DecodeFrame::comment_a25819ef907a32391af5c9f7cae9cdb22" ref="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22"/>
<keyword name="comment" id="FrameInfo::comment_ace75121294f9d89b762080ab5643293c" ref="structFrameInfo.html#ace75121294f9d89b762080ab5643293c"/>
<keyword name="comment" id="SignalInfo::comment_ac99ba7563a5dad01e39c4257216953f5" ref="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"/>
<keyword name="data" id="RawCanFrame::data_a0acb487612104c99c9907344c035df83" ref="structRawCanFrame.html#a0acb487612104c99c9907344c035df83"/>
<keyword name="Decode(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const" id="DbcDecoder::Decode_a345951ffe5d943a70d3a1ea1f39e74f7" ref="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7"/>
<keyword name="DecodedFrameValue()" id="DecodedFrameValue::DecodedFrameValue_a19f754bb84e67e6ae71ea93b9ae6382b" ref="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b"/>
<keyword name="DecodedSignalValue()" id="DecodedSignalValue::DecodedSignalValue_a1481b122a7ce5a618012b1133c6adedf" ref="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf"/>
<keyword name="DecodeFrame()" id="DecodeFrame::DecodeFrame_ae6ae88ee29bcaff936e7c7b2380f96b4" ref="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4"/>
<keyword name="DecodeSignal()" id="DecodeSignal::DecodeSignal_a93fd97267e2614979440261628e493f5" ref="structDecodeSignal.html#a93fd97267e2614979440261628e493f5"/>
<keyword name="definition" id="DecodedSignalValue::definition_acadc3b3bb21dd6b0412d342c7e6b20d7" ref="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7"/>
<keyword name="definition" id="DecodedFrameValue::definition_a60dda1cc352d2c8087f0bdbc81dd266c" ref="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c"/>
<keyword name="dlc" id="DecodeFrame::dlc_a51111ac13988be372d5673d12cf3e060" ref="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060"/>
<keyword name="dlc" id="FrameInfo::dlc_aa2b198ea0f55e560c123d35e7b3ecab9" ref="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9"/>
<keyword name="ExtractIntel(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)" id="DbcDecoder::ExtractIntel_aba130165c1a73bb4cd3a0454f415d872" ref="classDbcDecoder.html#aba130165c1a73bb4cd3a0454f415d872"/>
<keyword name="ExtractMotorola(const std::vector&lt; std::uint8_t &gt; &amp;data, std::uint32_t startBit, std::uint32_t length, std::uint64_t &amp;value)" id="DbcDecoder::ExtractMotorola_aede690734148c3d538105d5a2f7ee0a9" ref="classDbcDecoder.html#aede690734148c3d538105d5a2f7ee0a9"/>
<keyword name="ExtractUnsigned(const std::vector&lt; std::uint8_t &gt; &amp;data, const DecodeSignal &amp;signal, std::uint64_t &amp;value)" id="DbcDecoder::ExtractUnsigned_a2a8a99b1107543be6fd1b3f891130bf5" ref="classDbcDecoder.html#a2a8a99b1107543be6fd1b3f891130bf5"/>
<keyword name="factor" id="DecodeSignal::factor_a428c39913a366a8476dd291061354391" ref="structDecodeSignal.html#a428c39913a366a8476dd291061354391"/>
<keyword name="factor" id="SignalInfo::factor_ae4f78d99a2750aa564d7eba860171499" ref="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"/>
<keyword name="FindFrame(const DecodeDatabase &amp;database, std::uint32_t canId, bool isExtended) const" id="DbcDecoder::FindFrame_ab2cfb2fb711c95d3a29365546b89f3da" ref="classDbcDecoder.html#ab2cfb2fb711c95d3a29365546b89f3da"/>
<keyword name="FindFrameById(DbcDatabase &amp;database, std::uint32_t canId, bool isExtended)" id="DbcParser::FindFrameById_ab1fee32cb845573ce10949b4bec721f9" ref="classDbcParser.html#ab1fee32cb845573ce10949b4bec721f9"/>
<keyword name="FindSignalByName(FrameInfo &amp;frame, const std::string &amp;signalName)" id="DbcParser::FindSignalByName_ab7b95be4433c56cc855bedb08b96a71a" ref="classDbcParser.html#ab7b95be4433c56cc855bedb08b96a71a"/>
<keyword name="frameIndexByKey" id="DecodeDatabase::frameIndexByKey_ae4fd1351008bb0dce337821a849100c5" ref="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5"/>
<keyword name="FrameInfo()" id="FrameInfo::FrameInfo_a7f2d192b7969f7b60479a48e1f7eba61" ref="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61"/>
<keyword name="FrameKey()" id="FrameKey::FrameKey_a0e9aad56b251cdf802d45a9c19050b14" ref="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14"/>
<keyword name="FrameKey(std::uint32_t id, bool extended)" id="FrameKey::FrameKey_a33bde405c7ea53000d54b3dd6e058670" ref="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670"/>
<keyword name="frames" id="DbcDatabase::frames_a2cade5d0234ee816132127542f8c612b" ref="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b"/>
<keyword name="frames" id="DecodeDatabase::frames_a2bd4ddfc2602c1de4e12a373bfc93072" ref="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072"/>
<keyword name="GetChild(std::size_t index) const" id="TreeNode::GetChild_a4727ff801a2d1b9323c5ae50a35457a6" ref="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6"/>
<keyword name="GetChild(std::size_t index)" id="TreeNode::GetChild_a81047bd7d2a4cc96b9ef5e20d0d63b5f" ref="classTreeNode.html#a81047bd7d2a4cc96b9ef5e20d0d63b5f"/>
<keyword name="GetChildCount() const" id="TreeNode::GetChildCount_abdd82460187dca8d3e5d66f5d5c529ea" ref="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea"/>
<keyword name="GetFrame() const" id="TreeNode::GetFrame_afc503b40004764163605d6dbdb4ef811" ref="classTreeNode.html#afc503b40004764163605d6dbdb4ef811"/>
<keyword name="GetName() const" id="TreeNode::GetName_aaac5b8d9dc9e5ae1f367d1adbcf20e18" ref="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18"/>
<keyword name="GetSignal() const" id="TreeNode::GetSignal_a226518612d0d00b5988a2c44fc21d3f1" ref="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1"/>
<keyword name="GetType() const" id="TreeNode::GetType_afa2f4b0aafa12d3d41ed00df8e0250c9" ref="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9"/>
<keyword name="hasPgn" id="DecodeFrame::hasPgn_a2551102670c4a540fced4c71da0b369d" ref="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d"/>
<keyword name="hasPgn" id="FrameInfo::hasPgn_a4737a5420213ad4304724e39f3a4e55d" ref="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d"/>
<keyword name="IsCommentLine(const std::string &amp;line)" id="DbcParser::IsCommentLine_ae3488a0a6c64dc95e4ed289e77579feb" ref="classDbcParser.html#ae3488a0a6c64dc95e4ed289e77579feb"/>
<keyword name="isExtended" id="RawCanFrame::isExtended_a462193d275adc1dba8bd18ffa0e36bb7" ref="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7"/>
<keyword name="isExtended" id="DecodeFrame::isExtended_a3ee2348d781f8f15aaf87e8dcf57ec41" ref="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41"/>
<keyword name="isExtended" id="FrameKey::isExtended_aa3179b709d02ef70cf0e736f040a2145" ref="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145"/>
<keyword name="isExtended" id="FrameInfo::isExtended_a34b726afaad2ac5c697fdb2ac070cdaf" ref="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf"/>
<keyword name="IsFrameLine(const std::string &amp;line)" id="DbcParser::IsFrameLine_ada086584d371c08dd93b75fb7965f13b" ref="classDbcParser.html#ada086584d371c08dd93b75fb7965f13b"/>
<keyword name="isLittleEndian" id="SignalInfo::isLittleEndian_af363b1563fb4c7cc8973f9a80c06846c" ref="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"/>
<keyword name="IsSignalLine(const std::string &amp;line)" id="DbcParser::IsSignalLine_ace3d3432a55707bc286a994aa205fed1" ref="classDbcParser.html#ace3d3432a55707bc286a994aa205fed1"/>
<keyword name="isSigned" id="SignalInfo::isSigned_a52a52b320eef92fbcb4626307f9a498f" ref="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"/>
<keyword name="length" id="DecodeSignal::length_acd4ef5ee30421d117b5756854302debb" ref="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb"/>
<keyword name="length" id="SignalInfo::length_a1008b5201f71848177217bd52fb84baa" ref="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"/>
<keyword name="m_children" id="TreeNode::m_children_a1bd61f40df6d36e61021063e3816a351" ref="classTreeNode.html#a1bd61f40df6d36e61021063e3816a351"/>
<keyword name="m_frame" id="TreeNode::m_frame_a77ee6aa80774d67ba442a66b45c798c2" ref="classTreeNode.html#a77ee6aa80774d67ba442a66b45c798c2"/>
<keyword name="m_name" id="TreeNode::m_name_ac0ddcb8370e6b51e2d3de6b8211a47f8" ref="classTreeNode.html#ac0ddcb8370e6b51e2d3de6b8211a47f8"/>
<keyword name="m_signal" id="TreeNode::m_signal_ae658355007bc9303f7bfae3bb3ec8386" ref="classTreeNode.html#ae658355007bc9303f7bfae3bb3ec8386"/>
<keyword name="m_type" id="TreeNode::m_type_a04bccab9e60a6a78777cd7dfec52d224" ref="classTreeNode.html#a04bccab9e60a6a78777cd7dfec52d224"/>
<keyword name="maximum" id="DecodeSignal::maximum_a4a6ba87142a9badbf0ca830e9e709cb7" ref="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7"/>
<keyword name="maximum" id="SignalInfo::maximum_adf1c4331b9eabced0d7fdda40ff0eb52" ref="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"/>
<keyword name="minimum" id="DecodeSignal::minimum_a0fb84e19a0ab3bd50b6f65c1075ebc25" ref="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25"/>
<keyword name="minimum" id="SignalInfo::minimum_ada7bf94fbeaa26bd08c73982b5af255b" ref="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"/>
<keyword name="name" id="DecodeSignal::name_a58cf5844f2272a23dcb9687d912e4780" ref="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780"/>
<keyword name="name" id="DecodeFrame::name_aa0a7f8fd5bfde2148dfd0d838328f579" ref="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579"/>
<keyword name="name" id="FrameInfo::name_abb53a7f93ed7abc0ea1ae4a8ccafcdcb" ref="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb"/>
<keyword name="name" id="SignalInfo::name_a379e422a00cad56f896cacf60455b088" ref="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"/>
<keyword name="NormalizeCanId(std::uint32_t rawCanId, std::uint32_t &amp;normalizedCanId, bool &amp;isExtended)" id="DbcParser::NormalizeCanId_a94d140d9442e4989b5b2ea7662c2debf" ref="classDbcParser.html#a94d140d9442e4989b5b2ea7662c2debf"/>
<keyword name="offset" id="DecodeSignal::offset_a92db637af4e224a0ae70173050dc3f74" ref="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74"/>
<keyword name="offset" id="SignalInfo::offset_ab7d0769f47aa540656b22e4e49db517e" ref="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"/>
<keyword name="operator()(const FrameKey &amp;key) const" id="FrameKeyHasher::operator()_a1612ce56b513790e3ed4c06ec7d28b9f" ref="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f"/>
<keyword name="operator=(const TreeNode &amp;)=delete" id="TreeNode::operator=_ad6ce97dcf532b452d520452b6d000daa" ref="classTreeNode.html#ad6ce97dcf532b452d520452b6d000daa"/>
<keyword name="operator=(TreeNode &amp;&amp;)=default" id="TreeNode::operator=_a88fbcbec9c64d888b19c5edb95059a95" ref="classTreeNode.html#a88fbcbec9c64d888b19c5edb95059a95"/>
<keyword name="operator==(const FrameKey &amp;other) const" id="FrameKey::operator==_aaaec9f914e127787247fcda5e183b01f" ref="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f"/>
<keyword name="ParseCommentLine(const std::string &amp;line, DbcDatabase &amp;database)" id="DbcParser::ParseCommentLine_aa662b34694fd8b3edd757f36cb064c5c" ref="classDbcParser.html#aa662b34694fd8b3edd757f36cb064c5c"/>
<keyword name="ParseFile(const std::string &amp;filePath) const" id="DbcParser::ParseFile_aef72826942c9095d653fafa435855e56" ref="classDbcParser.html#aef72826942c9095d653fafa435855e56"/>
<keyword name="ParseFrameLine(const std::string &amp;line)" id="DbcParser::ParseFrameLine_a6d73bb1885e59aecd8202e93a7cd392a" ref="classDbcParser.html#a6d73bb1885e59aecd8202e93a7cd392a"/>
<keyword name="ParseSignalLine(const std::string &amp;line)" id="DbcParser::ParseSignalLine_a4cbce88d08b1f72903ecf1bce41de5d2" ref="classDbcParser.html#a4cbce88d08b1f72903ecf1bce41de5d2"/>
<keyword name="pgn" id="DecodeFrame::pgn_a1d3c54055c0cbceb73adf551f7067f23" ref="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23"/>
<keyword name="pgn" id="FrameInfo::pgn_aee518b33f1000bf0b7f6e4a87474c943" ref="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943"/>
<keyword name="physicalValue" id="DecodedSignalValue::physicalValue_a6847d05b3cb00d5e0f6c611968f57978" ref="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978"/>
<keyword name="RawCanFrame()" id="RawCanFrame::RawCanFrame_a17d18b39bed45e69f4e17ae2838f07f7" ref="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7"/>
<keyword name="rawValue" id="DecodedSignalValue::rawValue_a5138b825940e34689f7b3891627ee9ec" ref="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec"/>
<keyword name="receivers" id="DecodeSignal::receivers_abdbae62a64d2df716bf60c6b67b30eaa" ref="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa"/>
<keyword name="receivers" id="SignalInfo::receivers_a2c95562fd0b29327a7fd7b1e6feee7f3" ref="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"/>
<keyword name="SignalInfo()" id="SignalInfo::SignalInfo_aa2d2cd238118015258e271dce92a971e" ref="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"/>
<keyword name="signals" id="DecodedFrameValue::signals_a8440e0e5d7953102095b029f522022d3" ref="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3"/>
<keyword name="signals" id="DecodeFrame::signals_a372afd9e74f1ae33f85cb4acfd3e2036" ref="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036"/>
<keyword name="signals" id="FrameInfo::signals_a942937027f1af06536f98cc23b2bf6ce" ref="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce"/>
<keyword name="SignExtend(std::uint64_t value, std::uint32_t bitLength)" id="DbcDecoder::SignExtend_a41e89e343338088d27e46773fa52df42" ref="classDbcDecoder.html#a41e89e343338088d27e46773fa52df42"/>
<keyword name="SplitReceivers(const std::string &amp;text)" id="DbcParser::SplitReceivers_a0c1cc3c58f33473bf426a77b7a25c529" ref="classDbcParser.html#a0c1cc3c58f33473bf426a77b7a25c529"/>
<keyword name="startBit" id="DecodeSignal::startBit_aaf5d7527ddf65b6355c2b4f3626df22d" ref="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d"/>
<keyword name="startBit" id="SignalInfo::startBit_ace290724f9801521609aedaa946d61f1" ref="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"/>
<keyword name="transmitter" id="DecodeFrame::transmitter_ad78241dc40c793aabb8495b6989b81a9" ref="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9"/>
<keyword name="transmitter" id="FrameInfo::transmitter_a92749ec3798d4211a505860fb389a9e8" ref="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8"/>
<keyword name="TreeNode()" id="TreeNode::TreeNode_a984a98d5ccf7ef1f5a18094c6821f35d" ref="classTreeNode.html#a984a98d5ccf7ef1f5a18094c6821f35d"/>
<keyword name="TreeNode(const FrameInfo &amp;frame)" id="TreeNode::TreeNode_a8e38dd591d8801d7ee3a7dbad90c67fc" ref="classTreeNode.html#a8e38dd591d8801d7ee3a7dbad90c67fc"/>
<keyword name="TreeNode(const SignalInfo &amp;signal)" id="TreeNode::TreeNode_ab9f00f5253d56461bb2d420fd639c5ae" ref="classTreeNode.html#ab9f00f5253d56461bb2d420fd639c5ae"/>
<keyword name="TreeNode(const TreeNode &amp;)=delete" id="TreeNode::TreeNode_a4d3054a033accf3e38ea132002fc35ff" ref="classTreeNode.html#a4d3054a033accf3e38ea132002fc35ff"/>
<keyword name="TreeNode(TreeNode &amp;&amp;)=default" id="TreeNode::TreeNode_a35724af755b5d0c43de40a723ef81ec1" ref="classTreeNode.html#a35724af755b5d0c43de40a723ef81ec1"/>
<keyword name="Trim(const std::string &amp;text)" id="DbcParser::Trim_a1ae77c4c356af3d7b01a30044366f02b" ref="classDbcParser.html#a1ae77c4c356af3d7b01a30044366f02b"/>
<keyword name="TryExtractPgn(std::uint32_t canId, bool isExtended, bool &amp;hasPgn)" id="DbcParser::TryExtractPgn_a8a7e8fc517e40beab87a8a1dbad2b324" ref="classDbcParser.html#a8a7e8fc517e40beab87a8a1dbad2b324"/>
<keyword name="unit" id="DecodeSignal::unit_a38eed9ca7581423fd8bfbedcffc12092" ref="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092"/>
<keyword name="unit" id="SignalInfo::unit_a1f214f03e94ef5794de2d3367bfcbd01" ref="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"/>
<keyword name="valid" id="DecodedSignalValue::valid_aac0ed361af545cde48d0e6f41a859686" ref="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686"/>
<keyword name="valid" id="DecodedFrameValue::valid_a4f51c31110dba1f73a763c596372beb0" ref="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0"/>
<keyword name="valueType" id="DecodeSignal::valueType_a9d37638129263b8902ba5be59baf39a8" ref="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8"/>
<keyword name="~TreeNode()=default" id="TreeNode::~TreeNode_a89eb1eb0e25fccaa83c780b85f95b570" ref="classTreeNode.html#a89eb1eb0e25fccaa83c780b85f95b570"/>
<keyword name="ByteOrder" id="decode_database.h::ByteOrder_aaeb92d42f5a6e27b8ba19f18d69d142b" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b"/>
<keyword name="Intel" id="decode_database.h::Intel_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"/>
<keyword name="Motorola" id="decode_database.h::Motorola_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"/>
<keyword name="Frame" id="tree_node.h::Frame_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a"/>
<keyword name="Intel" id="decode_database.h::Intel_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5"/>
<keyword name="main(int argc, char *argv[])" id="main.cpp::main_a0ddf1224851353fc92bfbff6f499fa97" ref="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97"/>
<keyword name="Motorola" id="decode_database.h::Motorola_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31" ref="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31"/>
<keyword name="NodeType" id="tree_node.h::NodeType_acac9cbaeea226ed297804c012dc12b16" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16"/>
<keyword name="Root" id="tree_node.h::Root_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad"/>
<keyword name="Frame" id="tree_node.h::Frame_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a"/>
<keyword name="Signal" id="tree_node.h::Signal_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398"/>
<keyword name="PrintDecodedFrame(const DecodedFrameValue &amp;decoded)" id="main.cpp::PrintDecodedFrame_a26dbbea5b56e3fbc451b68f217d5063f" ref="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f"/>
<keyword name="PrintTree(const TreeNode *node, int indent)" id="main.cpp::PrintTree_a57aefef9cfd52a8190df002e12808e0a" ref="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a"/>
<keyword name="Root" id="tree_node.h::Root_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad"/>
<keyword name="Signal" id="tree_node.h::Signal_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398" ref="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398"/>
<keyword name="Signed" id="decode_database.h::Signed_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"/>
<keyword name="TrimText(const std::string &amp;text)" id="anonymous_namespace{dbc_parser.cpp}::TrimText_a5850f07ce5f4e5c4f3bf385ebcfcebbb" ref="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb"/>
<keyword name="Unsigned" id="decode_database.h::Unsigned_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"/>
<keyword name="ValueType" id="decode_database.h::ValueType_ad9971b6ef33e02ba2c75d19c1d2518a1" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1"/>
<keyword name="Unsigned" id="decode_database.h::Unsigned_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a"/>
<keyword name="Signed" id="decode_database.h::Signed_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379" ref="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379"/>
</keywords>
<files>
<file>README_8md.html</file>
<file>annotated.html</file>
<file>bc_s.png</file>
<file>bdwn.png</file>
<file>classDbcDecodeBuilder-members.html</file>
<file>classDbcDecodeBuilder.html</file>
<file>classDbcDecoder-members.html</file>
<file>classDbcDecoder.html</file>
<file>classDbcParser-members.html</file>
<file>classDbcParser.html</file>
<file>classDbcTreeBuilder-members.html</file>
<file>classDbcTreeBuilder.html</file>
<file>classTreeNode-members.html</file>
<file>classTreeNode.html</file>
<file>classes.html</file>
<file>closed.png</file>
<file>dbc__database_8h.html</file>
<file>dbc__database_8h_source.html</file>
<file>dbc__decode__builder_8cpp.html</file>
<file>dbc__decode__builder_8cpp_source.html</file>
<file>dbc__decode__builder_8h.html</file>
<file>dbc__decode__builder_8h_source.html</file>
<file>dbc__decoder_8cpp.html</file>
<file>dbc__decoder_8cpp_source.html</file>
<file>dbc__decoder_8h.html</file>
<file>dbc__decoder_8h_source.html</file>
<file>dbc__parser_8cpp.html</file>
<file>dbc__parser_8cpp_source.html</file>
<file>dbc__parser_8h.html</file>
<file>dbc__parser_8h_source.html</file>
<file>dbc__tree__builder_8cpp.html</file>
<file>dbc__tree__builder_8cpp_source.html</file>
<file>dbc__tree__builder_8h.html</file>
<file>dbc__tree__builder_8h_source.html</file>
<file>decode__database_8h.html</file>
<file>decode__database_8h_source.html</file>
<file>doc.png</file>
<file>doxygen.css</file>
<file>doxygen.svg</file>
<file>dynsections.js</file>
<file>files.html</file>
<file>folderclosed.png</file>
<file>folderopen.png</file>
<file>frame__info_8h.html</file>
<file>frame__info_8h_source.html</file>
<file>functions.html</file>
<file>functions_func.html</file>
<file>functions_vars.html</file>
<file>globals.html</file>
<file>globals_enum.html</file>
<file>globals_func.html</file>
<file>index.html</file>
<file>jquery.js</file>
<file>main_8cpp.html</file>
<file>main_8cpp_source.html</file>
<file>md_README.html</file>
<file>namespaceanonymous__namespace_02dbc__parser_8cpp_03.html</file>
<file>namespacemembers.html</file>
<file>namespacemembers_func.html</file>
<file>namespaces.html</file>
<file>nav_f.png</file>
<file>nav_g.png</file>
<file>nav_h.png</file>
<file>open.png</file>
<file>pages.html</file>
<file>signal__info_8h.html</file>
<file>signal__info_8h_source.html</file>
<file>splitbar.png</file>
<file>structDbcDatabase-members.html</file>
<file>structDbcDatabase.html</file>
<file>structDecodeDatabase-members.html</file>
<file>structDecodeDatabase.html</file>
<file>structDecodeFrame-members.html</file>
<file>structDecodeFrame.html</file>
<file>structDecodeSignal-members.html</file>
<file>structDecodeSignal.html</file>
<file>structDecodedFrameValue-members.html</file>
<file>structDecodedFrameValue.html</file>
<file>structDecodedSignalValue-members.html</file>
<file>structDecodedSignalValue.html</file>
<file>structFrameInfo-members.html</file>
<file>structFrameInfo.html</file>
<file>structFrameKey-members.html</file>
<file>structFrameKey.html</file>
<file>structFrameKeyHasher-members.html</file>
<file>structFrameKeyHasher.html</file>
<file>structRawCanFrame-members.html</file>
<file>structRawCanFrame.html</file>
<file>structSignalInfo-members.html</file>
<file>structSignalInfo.html</file>
<file>sync_off.png</file>
<file>sync_on.png</file>
<file>tab_a.png</file>
<file>tab_b.png</file>
<file>tab_h.png</file>
<file>tab_s.png</file>
<file>tabs.css</file>
<file>tree__node_8cpp.html</file>
<file>tree__node_8cpp_source.html</file>
<file>tree__node_8h.html</file>
<file>tree__node_8h_source.html</file>
</files>
</filterSection>
</QtHelpProject>

35
docs/html/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

194
docs/html/main_8cpp.html Normal file
View File

@@ -0,0 +1,194 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: main.cpp 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">main.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;iomanip&gt;</code><br />
<code>#include &lt;memory&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;cstddef&gt;</code><br />
<code>#include &quot;<a class="el" href="dbc__parser_8h_source.html">dbc_parser.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="dbc__tree__builder_8h_source.html">dbc_tree_builder.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="dbc__decode__builder_8h_source.html">dbc_decode_builder.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>&quot;</code><br />
</div>
<p><a href="main_8cpp_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 id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a57aefef9cfd52a8190df002e12808e0a"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a">PrintTree</a> (const <a class="el" href="classTreeNode.html">TreeNode</a> *node, int indent)</td></tr>
<tr class="separator:a57aefef9cfd52a8190df002e12808e0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26dbbea5b56e3fbc451b68f217d5063f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f">PrintDecodedFrame</a> (const <a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a> &amp;decoded)</td></tr>
<tr class="separator:a26dbbea5b56e3fbc451b68f217d5063f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>argv</em>[]&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="main_8cpp_source.html#l00097">97</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__tree__builder_8cpp_source.html#l00014">DbcTreeBuilder::Build()</a>, <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__decoder_8h_source.html#l00024">RawCanFrame::canId</a>, <a class="el" href="dbc__decoder_8h_source.html#l00026">RawCanFrame::data</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, <a class="el" href="decode__database_8h_source.html#l00133">DecodeDatabase::frames</a>, <a class="el" href="dbc__decoder_8h_source.html#l00025">RawCanFrame::isExtended</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00040">DbcParser::ParseFile()</a>, <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="a26dbbea5b56e3fbc451b68f217d5063f" name="a26dbbea5b56e3fbc451b68f217d5063f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26dbbea5b56e3fbc451b68f217d5063f">&#9670;&nbsp;</a></span>PrintDecodedFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void PrintDecodedFrame </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a> &amp;&#160;</td>
<td class="paramname"><em>decoded</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 class="definition">Definition at line <a class="el" href="main_8cpp_source.html#l00075">75</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>
<p class="reference">References <a class="el" href="dbc__decoder_8h_source.html#l00039">DecodedSignalValue::definition</a>, <a class="el" href="dbc__decoder_8h_source.html#l00056">DecodedFrameValue::definition</a>, <a class="el" href="decode__database_8h_source.html#l00040">DecodeSignal::name</a>, <a class="el" href="decode__database_8h_source.html#l00073">DecodeFrame::name</a>, <a class="el" href="dbc__decoder_8h_source.html#l00041">DecodedSignalValue::physicalValue</a>, <a class="el" href="dbc__decoder_8h_source.html#l00040">DecodedSignalValue::rawValue</a>, <a class="el" href="dbc__decoder_8h_source.html#l00057">DecodedFrameValue::signals</a>, <a class="el" href="decode__database_8h_source.html#l00049">DecodeSignal::unit</a>, <a class="el" href="dbc__decoder_8h_source.html#l00042">DecodedSignalValue::valid</a>, and <a class="el" href="dbc__decoder_8h_source.html#l00058">DecodedFrameValue::valid</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<a id="a57aefef9cfd52a8190df002e12808e0a" name="a57aefef9cfd52a8190df002e12808e0a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57aefef9cfd52a8190df002e12808e0a">&#9670;&nbsp;</a></span>PrintTree()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void PrintTree </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="classTreeNode.html">TreeNode</a> *&#160;</td>
<td class="paramname"><em>node</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>indent</em>&#160;</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 class="definition">Definition at line <a class="el" href="main_8cpp_source.html#l00023">23</a> of file <a class="el" href="main_8cpp_source.html">main.cpp</a>.</p>
<p class="reference">References <a class="el" href="frame__info_8h_source.html#l00026">FrameInfo::canId</a>, <a class="el" href="frame__info_8h_source.html#l00030">FrameInfo::dlc</a>, <a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a">Frame</a>, <a class="el" href="tree__node_8cpp_source.html#l00047">TreeNode::GetChild()</a>, <a class="el" href="tree__node_8cpp_source.html#l00043">TreeNode::GetChildCount()</a>, <a class="el" href="tree__node_8cpp_source.html#l00069">TreeNode::GetFrame()</a>, <a class="el" href="tree__node_8cpp_source.html#l00065">TreeNode::GetName()</a>, <a class="el" href="tree__node_8cpp_source.html#l00073">TreeNode::GetSignal()</a>, <a class="el" href="tree__node_8cpp_source.html#l00061">TreeNode::GetType()</a>, <a class="el" href="frame__info_8h_source.html#l00029">FrameInfo::hasPgn</a>, <a class="el" href="frame__info_8h_source.html#l00027">FrameInfo::isExtended</a>, <a class="el" href="signal__info_8h_source.html#l00025">SignalInfo::length</a>, <a class="el" href="frame__info_8h_source.html#l00028">FrameInfo::pgn</a>, <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>, <a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad">Root</a>, <a class="el" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398">Signal</a>, <a class="el" href="signal__info_8h_source.html#l00024">SignalInfo::startBit</a>, and <a class="el" href="signal__info_8h_source.html#l00032">SignalInfo::unit</a>.</p>
<p class="reference">Referenced by <a class="el" href="main_8cpp_source.html#l00097">main()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,246 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: main.cpp Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">main.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="main_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file main.cpp</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#include &lt;iomanip&gt;</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;memory&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;cstddef&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> </div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__parser_8h.html">dbc_parser.h</a>&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__tree__builder_8h.html">dbc_tree_builder.h</a>&quot;</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__decode__builder_8h.html">dbc_decode_builder.h</a>&quot;</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="preprocessor">#include &quot;<a class="code" href="dbc__decoder_8h.html">dbc_decoder.h</a>&quot;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a"> 23</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a">PrintTree</a> (<span class="keyword">const</span> <a class="code hl_class" href="classTreeNode.html">TreeNode</a> *node, <span class="keywordtype">int</span> indent) {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordflow">if</span> (node == <span class="keyword">nullptr</span>)</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; indent; ++i)</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> std::cout &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordflow">switch</span> (node-&gt;<a class="code hl_function" href="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9">GetType</a>()) {</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad">NodeType::Root</a>:</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> std::cout &lt;&lt; <span class="stringliteral">&quot;[root] &quot;</span> &lt;&lt; node-&gt;<a class="code hl_function" href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">GetName</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a">NodeType::Frame</a>: {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keyword">const</span> <a class="code hl_struct" href="structFrameInfo.html">FrameInfo</a> *frame = node-&gt;<a class="code hl_function" href="classTreeNode.html#afc503b40004764163605d6dbdb4ef811">GetFrame</a>();</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> std::cout &lt;&lt; <span class="stringliteral">&quot;[frame] &quot;</span> &lt;&lt; node-&gt;<a class="code hl_function" href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">GetName</a>();</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> </div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">if</span> (frame != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> std::cout &lt;&lt; <span class="stringliteral">&quot; id=0x&quot;</span> &lt;&lt; std::hex &lt;&lt; frame-&gt;<a class="code hl_variable" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a> &lt;&lt; std::dec</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> &lt;&lt; <span class="stringliteral">&quot; ext=&quot;</span> &lt;&lt; (frame-&gt;<a class="code hl_variable" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a> ? <span class="stringliteral">&quot;yes&quot;</span> : <span class="stringliteral">&quot;no&quot;</span>)</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> &lt;&lt; <span class="stringliteral">&quot; dlc=&quot;</span> &lt;&lt; <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span> <span class="keywordtype">int</span><span class="keyword">&gt;</span> (frame-&gt;<a class="code hl_variable" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">dlc</a>);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">if</span> (frame-&gt;<a class="code hl_variable" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">hasPgn</a>)</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> std::cout &lt;&lt; <span class="stringliteral">&quot; pgn=&quot;</span> &lt;&lt; frame-&gt;<a class="code hl_variable" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">pgn</a>;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> }</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> std::cout &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> }</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">case</span> <a class="code hl_enumvalue" href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398">NodeType::Signal</a>: {</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keyword">const</span> <a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> *signal = node-&gt;<a class="code hl_function" href="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1">GetSignal</a>();</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> std::cout &lt;&lt; <span class="stringliteral">&quot;[signal] &quot;</span> &lt;&lt; node-&gt;<a class="code hl_function" href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">GetName</a>();</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> </div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="keywordflow">if</span> (signal != <span class="keyword">nullptr</span>) {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> std::cout &lt;&lt; <span class="stringliteral">&quot; start=&quot;</span> &lt;&lt; signal-&gt;<a class="code hl_variable" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">startBit</a></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> &lt;&lt; <span class="stringliteral">&quot; len=&quot;</span> &lt;&lt; signal-&gt;<a class="code hl_variable" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">length</a></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> &lt;&lt; <span class="stringliteral">&quot; unit=&quot;</span> &lt;&lt; signal-&gt;<a class="code hl_variable" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">unit</a>;</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> }</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> std::cout &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> std::cout &lt;&lt; <span class="stringliteral">&quot;[unknown]\n&quot;</span>;</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> }</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">for</span> (std::size_t i = 0U; i &lt; node-&gt;<a class="code hl_function" href="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea">GetChildCount</a>(); ++i)</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_function" href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a">PrintTree</a> (node-&gt;<a class="code hl_function" href="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6">GetChild</a> (i), indent + 1);</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>}</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> </div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f"> 75</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f">PrintDecodedFrame</a> (<span class="keyword">const</span> <a class="code hl_struct" href="structDecodedFrameValue.html">DecodedFrameValue</a> &amp;decoded) {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">if</span> (!decoded.<a class="code hl_variable" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">valid</a> || (decoded.<a class="code hl_variable" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">definition</a> == <span class="keyword">nullptr</span>)) {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> std::cout &lt;&lt; <span class="stringliteral">&quot;No frame definition found.\n&quot;</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> </div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Decoded frame: &quot;</span> &lt;&lt; decoded.<a class="code hl_variable" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">definition</a>-&gt;<a class="code hl_variable" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">name</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> </div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">for</span> (std::size_t index = 0U; index &lt; decoded.<a class="code hl_variable" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a>.size(); ++index) {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keyword">const</span> <a class="code hl_struct" href="structDecodedSignalValue.html">DecodedSignalValue</a> &amp;signal = decoded.<a class="code hl_variable" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a>[index];</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">if</span> ((signal.<a class="code hl_variable" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a> == <span class="keyword">nullptr</span>) || !signal.<a class="code hl_variable" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">valid</a>)</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> </div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> std::cout &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; signal.<a class="code hl_variable" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a>-&gt;<a class="code hl_variable" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">name</a></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> &lt;&lt; <span class="stringliteral">&quot; raw=&quot;</span> &lt;&lt; signal.<a class="code hl_variable" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> &lt;&lt; <span class="stringliteral">&quot; physical=&quot;</span> &lt;&lt; signal.<a class="code hl_variable" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">physicalValue</a></div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; signal.<a class="code hl_variable" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a>-&gt;<a class="code hl_variable" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">unit</a></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>}</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> </div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97"> 97</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> *argv[]) {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">if</span> (argc &lt; 2) {</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> std::cerr &lt;&lt; <span class="stringliteral">&quot;Usage: dbc_demo &lt;file.dbc&gt;\n&quot;</span>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">return</span> 1;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> }</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordflow">try</span> {</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <a class="code hl_class" href="classDbcParser.html">DbcParser</a> parser;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> database = parser.<a class="code hl_function" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">ParseFile</a> (argv[1]);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <a class="code hl_class" href="classDbcTreeBuilder.html">DbcTreeBuilder</a> treeBuilder;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> std::unique_ptr&lt;TreeNode&gt; root = treeBuilder.<a class="code hl_function" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">Build</a> (database);</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> std::cout &lt;&lt; <span class="stringliteral">&quot;=== Parsed tree ===\n&quot;</span>;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_function" href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a">PrintTree</a> (root.get(), 0);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> </div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <a class="code hl_class" href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a> decodeBuilder;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> decodeDatabase = decodeBuilder.<a class="code hl_function" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">Build</a> (database);</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="comment">/*</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment"> * Example raw frame.</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment"> * Replace with live CAN frame or trace record later.</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment"> */</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_struct" href="structRawCanFrame.html">RawCanFrame</a> rawFrame;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> rawFrame.<a class="code hl_variable" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">canId</a> = decodeDatabase.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>.empty() ? 0U : decodeDatabase.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>[0].canId;</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> rawFrame.<a class="code hl_variable" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">isExtended</a> = decodeDatabase.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>.empty() ? false : decodeDatabase.<a class="code hl_variable" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a>[0].isExtended;</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> rawFrame.<a class="code hl_variable" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">data</a>.resize (8U, 0U);</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> </div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_class" href="classDbcDecoder.html">DbcDecoder</a> decoder;</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_struct" href="structDecodedFrameValue.html">DecodedFrameValue</a> decoded = decoder.<a class="code hl_function" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">Decode</a> (decodeDatabase, rawFrame);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> std::cout &lt;&lt; <span class="stringliteral">&quot;\n=== Decoded frame ===\n&quot;</span>;</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_function" href="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f">PrintDecodedFrame</a> (decoded);</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> } <span class="keywordflow">catch</span> (<span class="keyword">const</span> std::exception &amp;ex) {</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> std::cerr &lt;&lt; <span class="stringliteral">&quot;Error: &quot;</span> &lt;&lt; ex.what() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> 2;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> }</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span>}</div>
<div class="ttc" id="aclassDbcDecodeBuilder_html"><div class="ttname"><a href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a></div><div class="ttdoc">Converts parsed DBC data into runtime decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decode__builder_8h_source.html#l00021">dbc_decode_builder.h:21</a></div></div>
<div class="ttc" id="aclassDbcDecodeBuilder_html_a2bc6386dfb5e58976c42e22c19ec471b"><div class="ttname"><a href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">DbcDecodeBuilder::Build</a></div><div class="ttdeci">DecodeDatabase Build(const DbcDatabase &amp;source) const</div><div class="ttdoc">Build runtime decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decode__builder_8cpp_source.html#l00014">dbc_decode_builder.cpp:14</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html"><div class="ttname"><a href="classDbcDecoder.html">DbcDecoder</a></div><div class="ttdoc">Runtime CAN decoder using prebuilt decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00070">dbc_decoder.h:70</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_a345951ffe5d943a70d3a1ea1f39e74f7"><div class="ttname"><a href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">DbcDecoder::Decode</a></div><div class="ttdeci">DecodedFrameValue Decode(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const</div><div class="ttdoc">Decode one raw CAN frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00031">dbc_decoder.cpp:31</a></div></div>
<div class="ttc" id="aclassDbcParser_html"><div class="ttname"><a href="classDbcParser.html">DbcParser</a></div><div class="ttdoc">Minimal DBC parser.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8h_source.html#l00035">dbc_parser.h:35</a></div></div>
<div class="ttc" id="aclassDbcParser_html_aef72826942c9095d653fafa435855e56"><div class="ttname"><a href="classDbcParser.html#aef72826942c9095d653fafa435855e56">DbcParser::ParseFile</a></div><div class="ttdeci">DbcDatabase ParseFile(const std::string &amp;filePath) const</div><div class="ttdoc">Parse DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00040">dbc_parser.cpp:40</a></div></div>
<div class="ttc" id="aclassDbcTreeBuilder_html"><div class="ttname"><a href="classDbcTreeBuilder.html">DbcTreeBuilder</a></div><div class="ttdoc">Builds a simple tree from parsed DBC database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__tree__builder_8h_source.html#l00023">dbc_tree_builder.h:23</a></div></div>
<div class="ttc" id="aclassDbcTreeBuilder_html_a7e57d067d831b14b383947fd125edd4b"><div class="ttname"><a href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">DbcTreeBuilder::Build</a></div><div class="ttdeci">std::unique_ptr&lt; TreeNode &gt; Build(const DbcDatabase &amp;database) const</div><div class="ttdoc">Build tree representation of parsed DBC data.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__tree__builder_8cpp_source.html#l00014">dbc_tree_builder.cpp:14</a></div></div>
<div class="ttc" id="aclassTreeNode_html"><div class="ttname"><a href="classTreeNode.html">TreeNode</a></div><div class="ttdoc">Tree node for later use in model/view or other hierarchy consumers.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8h_source.html#l00035">tree_node.h:35</a></div></div>
<div class="ttc" id="aclassTreeNode_html_a226518612d0d00b5988a2c44fc21d3f1"><div class="ttname"><a href="classTreeNode.html#a226518612d0d00b5988a2c44fc21d3f1">TreeNode::GetSignal</a></div><div class="ttdeci">const SignalInfo * GetSignal() const</div><div class="ttdoc">Get signal payload if node is signal.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8cpp_source.html#l00073">tree_node.cpp:73</a></div></div>
<div class="ttc" id="aclassTreeNode_html_a4727ff801a2d1b9323c5ae50a35457a6"><div class="ttname"><a href="classTreeNode.html#a4727ff801a2d1b9323c5ae50a35457a6">TreeNode::GetChild</a></div><div class="ttdeci">const TreeNode * GetChild(std::size_t index) const</div><div class="ttdoc">Get child by index.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8cpp_source.html#l00047">tree_node.cpp:47</a></div></div>
<div class="ttc" id="aclassTreeNode_html_aaac5b8d9dc9e5ae1f367d1adbcf20e18"><div class="ttname"><a href="classTreeNode.html#aaac5b8d9dc9e5ae1f367d1adbcf20e18">TreeNode::GetName</a></div><div class="ttdeci">const std::string &amp; GetName() const</div><div class="ttdoc">Get display name.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8cpp_source.html#l00065">tree_node.cpp:65</a></div></div>
<div class="ttc" id="aclassTreeNode_html_abdd82460187dca8d3e5d66f5d5c529ea"><div class="ttname"><a href="classTreeNode.html#abdd82460187dca8d3e5d66f5d5c529ea">TreeNode::GetChildCount</a></div><div class="ttdeci">std::size_t GetChildCount() const</div><div class="ttdoc">Get child count.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8cpp_source.html#l00043">tree_node.cpp:43</a></div></div>
<div class="ttc" id="aclassTreeNode_html_afa2f4b0aafa12d3d41ed00df8e0250c9"><div class="ttname"><a href="classTreeNode.html#afa2f4b0aafa12d3d41ed00df8e0250c9">TreeNode::GetType</a></div><div class="ttdeci">NodeType GetType() const</div><div class="ttdoc">Get node type.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8cpp_source.html#l00061">tree_node.cpp:61</a></div></div>
<div class="ttc" id="aclassTreeNode_html_afc503b40004764163605d6dbdb4ef811"><div class="ttname"><a href="classTreeNode.html#afc503b40004764163605d6dbdb4ef811">TreeNode::GetFrame</a></div><div class="ttdeci">const FrameInfo * GetFrame() const</div><div class="ttdoc">Get frame payload if node is frame.</div><div class="ttdef"><b>Definition:</b> <a href="tree__node_8cpp_source.html#l00069">tree_node.cpp:69</a></div></div>
<div class="ttc" id="adbc__decode__builder_8h_html"><div class="ttname"><a href="dbc__decode__builder_8h.html">dbc_decode_builder.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="adbc__decoder_8h_html"><div class="ttname"><a href="dbc__decoder_8h.html">dbc_decoder.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="adbc__parser_8h_html"><div class="ttname"><a href="dbc__parser_8h.html">dbc_parser.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="adbc__tree__builder_8h_html"><div class="ttname"><a href="dbc__tree__builder_8h.html">dbc_tree_builder.h</a></div><div class="ttdoc">Created: 2026-03-13 Author: Deeaitch (Dim. Himro)</div></div>
<div class="ttc" id="amain_8cpp_html_a0ddf1224851353fc92bfbff6f499fa97"><div class="ttname"><a href="main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a></div><div class="ttdeci">int main(int argc, char *argv[])</div><div class="ttdef"><b>Definition:</b> <a href="main_8cpp_source.html#l00097">main.cpp:97</a></div></div>
<div class="ttc" id="amain_8cpp_html_a26dbbea5b56e3fbc451b68f217d5063f"><div class="ttname"><a href="main_8cpp.html#a26dbbea5b56e3fbc451b68f217d5063f">PrintDecodedFrame</a></div><div class="ttdeci">static void PrintDecodedFrame(const DecodedFrameValue &amp;decoded)</div><div class="ttdef"><b>Definition:</b> <a href="main_8cpp_source.html#l00075">main.cpp:75</a></div></div>
<div class="ttc" id="amain_8cpp_html_a57aefef9cfd52a8190df002e12808e0a"><div class="ttname"><a href="main_8cpp.html#a57aefef9cfd52a8190df002e12808e0a">PrintTree</a></div><div class="ttdeci">static void PrintTree(const TreeNode *node, int indent)</div><div class="ttdef"><b>Definition:</b> <a href="main_8cpp_source.html#l00023">main.cpp:23</a></div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html"><div class="ttname"><a href="structDecodeDatabase.html">DecodeDatabase</a></div><div class="ttdoc">Runtime decode database with fast lookup by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00132">decode_database.h:132</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html_a2bd4ddfc2602c1de4e12a373bfc93072"><div class="ttname"><a href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">DecodeDatabase::frames</a></div><div class="ttdeci">std::vector&lt; DecodeFrame &gt; frames</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00133">decode_database.h:133</a></div></div>
<div class="ttc" id="astructDecodeFrame_html_aa0a7f8fd5bfde2148dfd0d838328f579"><div class="ttname"><a href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">DecodeFrame::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00073">decode_database.h:73</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a38eed9ca7581423fd8bfbedcffc12092"><div class="ttname"><a href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">DecodeSignal::unit</a></div><div class="ttdeci">std::string unit</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00049">decode_database.h:49</a></div></div>
<div class="ttc" id="astructDecodeSignal_html_a58cf5844f2272a23dcb9687d912e4780"><div class="ttname"><a href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">DecodeSignal::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00040">decode_database.h:40</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html"><div class="ttname"><a href="structDecodedFrameValue.html">DecodedFrameValue</a></div><div class="ttdoc">Fully decoded frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00055">dbc_decoder.h:55</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a4f51c31110dba1f73a763c596372beb0"><div class="ttname"><a href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">DecodedFrameValue::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00058">dbc_decoder.h:58</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a60dda1cc352d2c8087f0bdbc81dd266c"><div class="ttname"><a href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">DecodedFrameValue::definition</a></div><div class="ttdeci">const DecodeFrame * definition</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00056">dbc_decoder.h:56</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html_a8440e0e5d7953102095b029f522022d3"><div class="ttname"><a href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">DecodedFrameValue::signals</a></div><div class="ttdeci">std::vector&lt; DecodedSignalValue &gt; signals</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00057">dbc_decoder.h:57</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html"><div class="ttname"><a href="structDecodedSignalValue.html">DecodedSignalValue</a></div><div class="ttdoc">One decoded signal value.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00038">dbc_decoder.h:38</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_a5138b825940e34689f7b3891627ee9ec"><div class="ttname"><a href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">DecodedSignalValue::rawValue</a></div><div class="ttdeci">std::int64_t rawValue</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00040">dbc_decoder.h:40</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_a6847d05b3cb00d5e0f6c611968f57978"><div class="ttname"><a href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">DecodedSignalValue::physicalValue</a></div><div class="ttdeci">double physicalValue</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00041">dbc_decoder.h:41</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_aac0ed361af545cde48d0e6f41a859686"><div class="ttname"><a href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">DecodedSignalValue::valid</a></div><div class="ttdeci">bool valid</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00042">dbc_decoder.h:42</a></div></div>
<div class="ttc" id="astructDecodedSignalValue_html_acadc3b3bb21dd6b0412d342c7e6b20d7"><div class="ttname"><a href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">DecodedSignalValue::definition</a></div><div class="ttdeci">const DecodeSignal * definition</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00039">dbc_decoder.h:39</a></div></div>
<div class="ttc" id="astructFrameInfo_html"><div class="ttname"><a href="structFrameInfo.html">FrameInfo</a></div><div class="ttdoc">Describes one CAN frame from a DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00024">frame_info.h:24</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a34b726afaad2ac5c697fdb2ac070cdaf"><div class="ttname"><a href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">FrameInfo::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00027">frame_info.h:27</a></div></div>
<div class="ttc" id="astructFrameInfo_html_a4737a5420213ad4304724e39f3a4e55d"><div class="ttname"><a href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">FrameInfo::hasPgn</a></div><div class="ttdeci">bool hasPgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00029">frame_info.h:29</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aa2b198ea0f55e560c123d35e7b3ecab9"><div class="ttname"><a href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">FrameInfo::dlc</a></div><div class="ttdeci">std::uint8_t dlc</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00030">frame_info.h:30</a></div></div>
<div class="ttc" id="astructFrameInfo_html_aee518b33f1000bf0b7f6e4a87474c943"><div class="ttname"><a href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">FrameInfo::pgn</a></div><div class="ttdeci">std::uint32_t pgn</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00028">frame_info.h:28</a></div></div>
<div class="ttc" id="astructFrameInfo_html_af470b0742c05bfbffc31c51a68f5c05e"><div class="ttname"><a href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">FrameInfo::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="frame__info_8h_source.html#l00026">frame_info.h:26</a></div></div>
<div class="ttc" id="astructRawCanFrame_html"><div class="ttname"><a href="structRawCanFrame.html">RawCanFrame</a></div><div class="ttdoc">Raw CAN frame used for runtime or trace decoding.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00023">dbc_decoder.h:23</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a0acb487612104c99c9907344c035df83"><div class="ttname"><a href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">RawCanFrame::data</a></div><div class="ttdeci">std::vector&lt; std::uint8_t &gt; data</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00026">dbc_decoder.h:26</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><div class="ttname"><a href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">RawCanFrame::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00024">dbc_decoder.h:24</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a462193d275adc1dba8bd18ffa0e36bb7"><div class="ttname"><a href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">RawCanFrame::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00025">dbc_decoder.h:25</a></div></div>
<div class="ttc" id="astructSignalInfo_html"><div class="ttname"><a href="structSignalInfo.html">SignalInfo</a></div><div class="ttdoc">Describes one signal inside a DBC frame.</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00022">signal_info.h:22</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1008b5201f71848177217bd52fb84baa"><div class="ttname"><a href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">SignalInfo::length</a></div><div class="ttdeci">std::uint32_t length</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00025">signal_info.h:25</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1f214f03e94ef5794de2d3367bfcbd01"><div class="ttname"><a href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">SignalInfo::unit</a></div><div class="ttdeci">std::string unit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00032">signal_info.h:32</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ace290724f9801521609aedaa946d61f1"><div class="ttname"><a href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">SignalInfo::startBit</a></div><div class="ttdeci">std::uint32_t startBit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00024">signal_info.h:24</a></div></div>
<div class="ttc" id="atree__node_8h_html_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398"><div class="ttname"><a href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398">NodeType::Signal</a></div><div class="ttdeci">@ Signal</div></div>
<div class="ttc" id="atree__node_8h_html_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a"><div class="ttname"><a href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a">NodeType::Frame</a></div><div class="ttdeci">@ Frame</div></div>
<div class="ttc" id="atree__node_8h_html_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad"><div class="ttname"><a href="tree__node_8h.html#acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad">NodeType::Root</a></div><div class="ttdeci">@ Root</div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

740
docs/html/md_README.html Normal file
View File

@@ -0,0 +1,740 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DBC Parser and Runtime Decode Module Documentation</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div><div class="header">
<div class="headertitle"><div class="title">DBC Parser and Runtime Decode Module Documentation </div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="autotoc_md1"></a>
Overview</h1>
<p >This module provides a minimal but extensible DBC parser and runtime decode foundation for the <b>FrameTap</b> project.</p>
<p >Its purpose is to:</p>
<ul>
<li>parse DBC files</li>
<li>store parsed frame and signal metadata</li>
<li>build a tree for future UI integration</li>
<li>build a runtime-ready decode database</li>
<li>decode live CAN frames</li>
<li>decode CAN trace records using the same decoder</li>
</ul>
<p >The implementation follows a simple and practical design:</p>
<ul>
<li>parser logic is separated from UI logic</li>
<li>runtime decode structures are separated from tree structures</li>
<li>Qt is not required at the parser or decoder level</li>
<li>the same decode engine can be reused for live traffic and trace replay</li>
</ul>
<p >This is <b>not a full production-grade DBC implementation yet</b>, but it is a strong architectural base.</p>
<hr />
<h1><a class="anchor" id="autotoc_md3"></a>
High-Level Architecture</h1>
<p >The module is divided into two main paths.</p>
<h2><a class="anchor" id="autotoc_md4"></a>
1. Parse and UI path</h2>
<p >Used for:</p>
<ul>
<li>browsing frames and signals</li>
<li>later integration with Qt <code>Model/View</code></li>
<li>displaying metadata</li>
</ul>
<p >Pipeline:</p>
<div class="fragment"><div class="line">DBC file</div>
<div class="line"></div>
<div class="line">DbcParser</div>
<div class="line"></div>
<div class="line">DbcDatabase</div>
<div class="line"></div>
<div class="line">DbcTreeBuilder</div>
<div class="line"></div>
<div class="line">TreeNode hierarchy</div>
<div class="line"></div>
<div class="line">future Qt UI</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md5"></a>
2. Runtime decode path</h2>
<p >Used for:</p>
<ul>
<li>live CAN decoding</li>
<li>CAN trace decoding</li>
<li>fast lookup by CAN ID</li>
</ul>
<p >Pipeline:</p>
<div class="fragment"><div class="line">DBC file</div>
<div class="line"></div>
<div class="line">DbcParser</div>
<div class="line"></div>
<div class="line">DbcDatabase</div>
<div class="line"></div>
<div class="line">DbcDecodeBuilder</div>
<div class="line"></div>
<div class="line">DecodeDatabase</div>
<div class="line"></div>
<div class="line">DbcDecoder</div>
<div class="line"></div>
<div class="line">Decoded values</div>
</div><!-- fragment --><p >This separation is intentional.</p>
<p >The tree is useful for UI, but it is <b>not</b> the main data structure for runtime decoding.</p>
<hr />
<h1><a class="anchor" id="autotoc_md7"></a>
Why the Runtime Decode Layer Exists</h1>
<p >A tree structure is convenient for browsing, but a runtime decoder needs something different:</p>
<ul>
<li>fast lookup by CAN ID</li>
<li>direct access to signal decode definitions</li>
<li>minimal overhead during repeated decoding</li>
<li>the same logic for live frames and trace frames</li>
</ul>
<p >Because of that, the design uses a dedicated runtime-ready structure:</p>
<ul>
<li><code><a class="el" href="structDecodeDatabase.html" title="Runtime decode database with fast lookup by CAN ID.">DecodeDatabase</a></code></li>
<li><code><a class="el" href="structDecodeFrame.html" title="Runtime-ready frame definition.">DecodeFrame</a></code></li>
<li><code><a class="el" href="structDecodeSignal.html" title="Runtime-ready signal definition.">DecodeSignal</a></code></li>
</ul>
<p >This avoids forcing UI-oriented structures into a decode role they were not meant for.</p>
<hr />
<h1><a class="anchor" id="autotoc_md9"></a>
Module Layout</h1>
<h2><a class="anchor" id="autotoc_md10"></a>
Parsed DBC structures</h2>
<p >Files:</p>
<ul>
<li><code><a class="el" href="signal__info_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">signal_info.h</a></code></li>
<li><code><a class="el" href="frame__info_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">frame_info.h</a></code></li>
<li><code><a class="el" href="dbc__database_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_database.h</a></code></li>
</ul>
<p >These store a readable representation of the parsed DBC file.</p>
<h2><a class="anchor" id="autotoc_md11"></a>
UI tree structures</h2>
<p >Files:</p>
<ul>
<li><code><a class="el" href="tree__node_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">tree_node.h</a></code></li>
<li><code><a class="el" href="tree__node_8cpp.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">tree_node.cpp</a></code></li>
<li><code><a class="el" href="dbc__tree__builder_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_tree_builder.h</a></code></li>
<li><code><a class="el" href="dbc__tree__builder_8cpp.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_tree_builder.cpp</a></code></li>
</ul>
<p >These convert parsed DBC content into a tree hierarchy suitable for UI and model/view usage later.</p>
<h2><a class="anchor" id="autotoc_md12"></a>
Runtime decode structures</h2>
<p >Files:</p>
<ul>
<li><code><a class="el" href="decode__database_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">decode_database.h</a></code></li>
<li><code><a class="el" href="dbc__decode__builder_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_decode_builder.h</a></code></li>
<li><code><a class="el" href="dbc__decode__builder_8cpp.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_decode_builder.cpp</a></code></li>
</ul>
<p >These convert parsed DBC content into a structure optimized for decoding.</p>
<h2><a class="anchor" id="autotoc_md13"></a>
Runtime decoder</h2>
<p >Files:</p>
<ul>
<li><code><a class="el" href="dbc__decoder_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_decoder.h</a></code></li>
<li><code><a class="el" href="dbc__decoder_8cpp.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_decoder.cpp</a></code></li>
</ul>
<p >These perform actual decoding of raw CAN frames using <code><a class="el" href="structDecodeDatabase.html" title="Runtime decode database with fast lookup by CAN ID.">DecodeDatabase</a></code>.</p>
<h2><a class="anchor" id="autotoc_md14"></a>
Parser</h2>
<p >Files:</p>
<ul>
<li><code><a class="el" href="dbc__parser_8h.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_parser.h</a></code></li>
<li><code><a class="el" href="dbc__parser_8cpp.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">dbc_parser.cpp</a></code></li>
</ul>
<p >These parse the DBC file itself.</p>
<h2><a class="anchor" id="autotoc_md15"></a>
Demo</h2>
<p >File:</p>
<ul>
<li><code><a class="el" href="main_8cpp.html" title="Created: 2026-03-13 Author: Deeaitch (Dim. Himro)">main.cpp</a></code></li>
</ul>
<p >Used as a small integration example.</p>
<hr />
<h1><a class="anchor" id="autotoc_md17"></a>
Parsed Data Structures</h1>
<h1><a class="anchor" id="autotoc_md18"></a>
&lt;tt&gt;SignalInfo&lt;/tt&gt;</h1>
<p >Represents one signal as parsed from the DBC file.</p>
<p >Fields:</p>
<ul>
<li><code>name</code></li>
<li><code>startBit</code></li>
<li><code>length</code></li>
<li><code>isLittleEndian</code></li>
<li><code>isSigned</code></li>
<li><code>factor</code></li>
<li><code>offset</code></li>
<li><code>minimum</code></li>
<li><code>maximum</code></li>
<li><code>unit</code></li>
<li><code>receivers</code></li>
<li><code>comment</code></li>
</ul>
<p >Notes:</p>
<ul>
<li><code>receivers</code> is a list because a signal may have more than one receiver ECU</li>
<li><code>factor</code> and <code>offset</code> define physical conversion</li>
<li>this structure is close to DBC content and easy to inspect</li>
</ul>
<p >Physical value rule:</p>
<div class="fragment"><div class="line">physical = raw * factor + offset</div>
</div><!-- fragment --><hr />
<h1><a class="anchor" id="autotoc_md20"></a>
&lt;tt&gt;FrameInfo&lt;/tt&gt;</h1>
<p >Represents one frame as parsed from the DBC file.</p>
<p >Fields:</p>
<ul>
<li><code>name</code></li>
<li><code>canId</code></li>
<li><code>isExtended</code></li>
<li><code>pgn</code></li>
<li><code>hasPgn</code></li>
<li><code>dlc</code></li>
<li><code>transmitter</code></li>
<li><code>comment</code></li>
<li><code>signals</code></li>
</ul>
<p >Notes:</p>
<ul>
<li><code>signals</code> is a list of <code><a class="el" href="structSignalInfo.html" title="Describes one signal inside a DBC frame.">SignalInfo</a></code></li>
<li><code>isExtended</code> is determined during CAN ID normalization</li>
<li><code>pgn</code> is derived using simplified J1939 logic when applicable</li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md22"></a>
&lt;tt&gt;DbcDatabase&lt;/tt&gt;</h1>
<p >Top-level parsed DBC container.</p>
<p >Conceptually:</p>
<div class="fragment"><div class="line">DbcDatabase</div>
<div class="line"> └── vector&lt;FrameInfo&gt;</div>
</div><!-- fragment --><p >This is the central structure produced by <code><a class="el" href="classDbcParser.html" title="Minimal DBC parser.">DbcParser</a></code>.</p>
<hr />
<h1><a class="anchor" id="autotoc_md24"></a>
UI Tree Layer</h1>
<h1><a class="anchor" id="autotoc_md25"></a>
&lt;tt&gt;TreeNode&lt;/tt&gt;</h1>
<p >The UI tree contains three node types:</p>
<ul>
<li><code>Root</code></li>
<li><code>Frame</code></li>
<li><code>Signal</code></li>
</ul>
<p >Example hierarchy:</p>
<div class="fragment"><div class="line">dbc</div>
<div class="line"> ├── EngineData</div>
<div class="line"> │ ├── EngineSpeed</div>
<div class="line"> │ ├── OilTemp</div>
<div class="line"> │ └── CoolantTemp</div>
<div class="line"> └── VehicleData</div>
<div class="line"> ├── VehicleSpeed</div>
<div class="line"> └── Odometer</div>
</div><!-- fragment --><p >Each node stores either:</p>
<ul>
<li><code><a class="el" href="structFrameInfo.html" title="Describes one CAN frame from a DBC file.">FrameInfo</a></code></li>
<li><code><a class="el" href="structSignalInfo.html" title="Describes one signal inside a DBC frame.">SignalInfo</a></code></li>
</ul>
<p >The tree is intended for browsing and later Qt model integration.</p>
<p >It is <b>not</b> the primary runtime decode structure.</p>
<hr />
<h1><a class="anchor" id="autotoc_md27"></a>
Runtime Decode Layer</h1>
<h1><a class="anchor" id="autotoc_md28"></a>
Purpose</h1>
<p >The decode layer exists so that decoding can be fast and independent from UI concerns.</p>
<p >Instead of searching a tree, the decoder uses a prepared database with direct lookup.</p>
<hr />
<h1><a class="anchor" id="autotoc_md30"></a>
&lt;tt&gt;ByteOrder&lt;/tt&gt;</h1>
<p >Runtime byte order enum:</p>
<ul>
<li><code>Intel</code></li>
<li><code>Motorola</code></li>
</ul>
<p >This is better for decode code than passing around raw DBC characters.</p>
<hr />
<h1><a class="anchor" id="autotoc_md32"></a>
&lt;tt&gt;ValueType&lt;/tt&gt;</h1>
<p >Numeric type enum:</p>
<ul>
<li><code>Unsigned</code></li>
<li><code>Signed</code></li>
</ul>
<p >This is clearer than combining multiple boolean flags during runtime logic.</p>
<hr />
<h1><a class="anchor" id="autotoc_md34"></a>
&lt;tt&gt;DecodeSignal&lt;/tt&gt;</h1>
<p >Represents one runtime-ready signal definition.</p>
<p >Fields:</p>
<ul>
<li><code>name</code></li>
<li><code>startBit</code></li>
<li><code>length</code></li>
<li><code>byteOrder</code></li>
<li><code>valueType</code></li>
<li><code>factor</code></li>
<li><code>offset</code></li>
<li><code>minimum</code></li>
<li><code>maximum</code></li>
<li><code>unit</code></li>
<li><code>receivers</code></li>
<li><code>comment</code></li>
</ul>
<p >This structure contains all information required for extracting and converting a signal value from raw frame data.</p>
<hr />
<h1><a class="anchor" id="autotoc_md36"></a>
&lt;tt&gt;DecodeFrame&lt;/tt&gt;</h1>
<p >Represents one runtime-ready frame definition.</p>
<p >Fields:</p>
<ul>
<li><code>name</code></li>
<li><code>canId</code></li>
<li><code>isExtended</code></li>
<li><code>dlc</code></li>
<li><code>pgn</code></li>
<li><code>hasPgn</code></li>
<li><code>transmitter</code></li>
<li><code>comment</code></li>
<li><code>signals</code></li>
</ul>
<p >This structure is used directly by the decoder.</p>
<hr />
<h1><a class="anchor" id="autotoc_md38"></a>
&lt;tt&gt;FrameKey&lt;/tt&gt;</h1>
<p >Fast lookup key for runtime frame matching.</p>
<p >Fields:</p>
<ul>
<li><code>canId</code></li>
<li><code>isExtended</code></li>
</ul>
<p >This matters because the same numeric identifier must not be confused between standard and extended frames.</p>
<hr />
<h1><a class="anchor" id="autotoc_md40"></a>
&lt;tt&gt;DecodeDatabase&lt;/tt&gt;</h1>
<p >Top-level runtime decode container.</p>
<p >Fields:</p>
<ul>
<li><code>frames</code></li>
<li><code>frameIndexByKey</code></li>
</ul>
<p >Conceptually:</p>
<div class="fragment"><div class="line">DecodeDatabase</div>
<div class="line"> ├── vector&lt;DecodeFrame&gt;</div>
<div class="line"> └── unordered_map&lt;FrameKey, index&gt;</div>
</div><!-- fragment --><p >This gives the decoder fast access to a frame definition using CAN ID and frame type.</p>
<hr />
<h1><a class="anchor" id="autotoc_md42"></a>
Decoder Layer</h1>
<h1><a class="anchor" id="autotoc_md43"></a>
&lt;tt&gt;RawCanFrame&lt;/tt&gt;</h1>
<p >Represents a raw CAN frame to decode.</p>
<p >Fields:</p>
<ul>
<li><code>canId</code></li>
<li><code>isExtended</code></li>
<li><code>data</code></li>
</ul>
<p >This same structure can be used for:</p>
<ul>
<li>live CAN bus input</li>
<li>replayed trace records</li>
<li>unit tests</li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md45"></a>
&lt;tt&gt;DecodedSignalValue&lt;/tt&gt;</h1>
<p >Represents one decoded signal result.</p>
<p >Fields:</p>
<ul>
<li><code>definition</code></li>
<li><code>rawValue</code></li>
<li><code>physicalValue</code></li>
<li><code>valid</code></li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md47"></a>
&lt;tt&gt;DecodedFrameValue&lt;/tt&gt;</h1>
<p >Represents one decoded frame result.</p>
<p >Fields:</p>
<ul>
<li><code>definition</code></li>
<li><code>signals</code></li>
<li><code>valid</code></li>
</ul>
<p >This is the decoder output for one raw frame.</p>
<hr />
<h1><a class="anchor" id="autotoc_md49"></a>
&lt;tt&gt;DbcDecoder&lt;/tt&gt;</h1>
<p >Main runtime decoder class.</p>
<p >Responsibilities:</p>
<ul>
<li>find a frame definition by CAN ID</li>
<li>decode all signals in a frame</li>
<li>extract raw values</li>
<li>sign-extend signed values</li>
<li>convert raw values into physical values</li>
</ul>
<p >Main methods:</p>
<ul>
<li><code>FindFrame(...)</code></li>
<li><code>Decode(...)</code></li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md51"></a>
Parser Support</h1>
<p >The current parser supports the following DBC elements:</p>
<ul>
<li><code>BO_</code></li>
<li><code>SG_</code></li>
<li><code>CM_ BO_</code></li>
<li><code>CM_ SG_</code></li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md53"></a>
Supported DBC Syntax</h1>
<h1><a class="anchor" id="autotoc_md54"></a>
Frame definition</h1>
<p >Example:</p>
<div class="fragment"><div class="line">BO_ 256 EngineData: 8 EEC1</div>
</div><!-- fragment --><p >Parsed fields:</p>
<ul>
<li>frame CAN ID</li>
<li>frame name</li>
<li>DLC</li>
<li>transmitter ECU</li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md56"></a>
Signal definition</h1>
<p >Example:</p>
<div class="fragment"><div class="line">SG_ EngineSpeed : 0|16@1+ (0.125,0) [0|8000] &quot;rpm&quot; ECU1,ECU2</div>
</div><!-- fragment --><p >Parsed fields:</p>
<ul>
<li>signal name</li>
<li>start bit</li>
<li>signal length</li>
<li>byte order</li>
<li>signedness</li>
<li>factor</li>
<li>offset</li>
<li>minimum</li>
<li>maximum</li>
<li>unit</li>
<li>receivers</li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md58"></a>
Comments</h1>
<p >Frame comment example:</p>
<div class="fragment"><div class="line">CM_ BO_ 256 &quot;Engine data frame&quot;;</div>
</div><!-- fragment --><p >Signal comment example:</p>
<div class="fragment"><div class="line">CM_ SG_ 256 EngineSpeed &quot;Actual engine speed&quot;;</div>
</div><!-- fragment --><p >Stored in:</p>
<ul>
<li><code><a class="el" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">FrameInfo::comment</a></code></li>
<li><code><a class="el" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">SignalInfo::comment</a></code></li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md60"></a>
CAN ID Normalization</h1>
<p >The parser normalizes frame identifiers.</p>
<p >Common DBC behavior:</p>
<ul>
<li>extended identifiers may be stored with bit 31 set</li>
<li>the actual 29-bit identifier must be extracted from that value</li>
</ul>
<p >The parser therefore stores:</p>
<ul>
<li>normalized <code>canId</code></li>
<li>separate <code>isExtended</code> flag</li>
</ul>
<p >This is important both for correct lookup and for future interoperability with live CAN APIs.</p>
<hr />
<h1><a class="anchor" id="autotoc_md62"></a>
PGN Extraction</h1>
<p >PGN is derived only when the frame is treated as extended.</p>
<p >The current logic is simplified J1939 extraction:</p>
<ul>
<li><code>pf</code></li>
<li><code>ps</code></li>
<li><code>dp</code></li>
</ul>
<p >This is enough for a practical start but should not be treated as full J1939 validation.</p>
<hr />
<h1><a class="anchor" id="autotoc_md64"></a>
Decode Flow</h1>
<p >Typical runtime decode flow:</p>
<div class="fragment"><div class="line">RawCanFrame</div>
<div class="line"></div>
<div class="line">Find frame in DecodeDatabase</div>
<div class="line"></div>
<div class="line">For each signal:</div>
<div class="line"> extract raw bits</div>
<div class="line"> apply sign extension if needed</div>
<div class="line"> convert to physical value</div>
<div class="line"></div>
<div class="line">DecodedFrameValue</div>
</div><!-- fragment --><hr />
<h1><a class="anchor" id="autotoc_md66"></a>
Intel and Motorola Extraction</h1>
<p >The decoder currently has separate extraction paths:</p>
<ul>
<li><code>ExtractIntel(...)</code></li>
<li><code>ExtractMotorola(...)</code></li>
</ul>
<p >This is important because byte order is not just metadata once decoding starts.</p>
<p >Intel and Motorola require different bit extraction logic.</p>
<p >This is one of the main reasons why the runtime decode layer should be explicit and prepared in advance.</p>
<hr />
<h1><a class="anchor" id="autotoc_md68"></a>
Example Usage</h1>
<h1><a class="anchor" id="autotoc_md69"></a>
Parse DBC</h1>
<div class="fragment"><div class="line"><a class="code hl_class" href="classDbcParser.html">DbcParser</a> parser;</div>
<div class="line"><a class="code hl_struct" href="structDbcDatabase.html">DbcDatabase</a> database = parser.<a class="code hl_function" href="classDbcParser.html#aef72826942c9095d653fafa435855e56">ParseFile</a>(<span class="stringliteral">&quot;example.dbc&quot;</span>);</div>
<div class="ttc" id="aclassDbcParser_html"><div class="ttname"><a href="classDbcParser.html">DbcParser</a></div><div class="ttdoc">Minimal DBC parser.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8h_source.html#l00035">dbc_parser.h:35</a></div></div>
<div class="ttc" id="aclassDbcParser_html_aef72826942c9095d653fafa435855e56"><div class="ttname"><a href="classDbcParser.html#aef72826942c9095d653fafa435855e56">DbcParser::ParseFile</a></div><div class="ttdeci">DbcDatabase ParseFile(const std::string &amp;filePath) const</div><div class="ttdoc">Parse DBC file.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__parser_8cpp_source.html#l00040">dbc_parser.cpp:40</a></div></div>
<div class="ttc" id="astructDbcDatabase_html"><div class="ttname"><a href="structDbcDatabase.html">DbcDatabase</a></div><div class="ttdoc">Parsed DBC content stored in a simple internal form.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__database_8h_source.html#l00022">dbc_database.h:22</a></div></div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md70"></a>
Build UI tree</h1>
<div class="fragment"><div class="line"><a class="code hl_class" href="classDbcTreeBuilder.html">DbcTreeBuilder</a> treeBuilder;</div>
<div class="line">std::unique_ptr&lt;TreeNode&gt; root = treeBuilder.<a class="code hl_function" href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">Build</a>(database);</div>
<div class="ttc" id="aclassDbcTreeBuilder_html"><div class="ttname"><a href="classDbcTreeBuilder.html">DbcTreeBuilder</a></div><div class="ttdoc">Builds a simple tree from parsed DBC database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__tree__builder_8h_source.html#l00023">dbc_tree_builder.h:23</a></div></div>
<div class="ttc" id="aclassDbcTreeBuilder_html_a7e57d067d831b14b383947fd125edd4b"><div class="ttname"><a href="classDbcTreeBuilder.html#a7e57d067d831b14b383947fd125edd4b">DbcTreeBuilder::Build</a></div><div class="ttdeci">std::unique_ptr&lt; TreeNode &gt; Build(const DbcDatabase &amp;database) const</div><div class="ttdoc">Build tree representation of parsed DBC data.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__tree__builder_8cpp_source.html#l00014">dbc_tree_builder.cpp:14</a></div></div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md71"></a>
Build runtime decode database</h1>
<div class="fragment"><div class="line"><a class="code hl_class" href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a> decodeBuilder;</div>
<div class="line"><a class="code hl_struct" href="structDecodeDatabase.html">DecodeDatabase</a> decodeDatabase = decodeBuilder.<a class="code hl_function" href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">Build</a>(database);</div>
<div class="ttc" id="aclassDbcDecodeBuilder_html"><div class="ttname"><a href="classDbcDecodeBuilder.html">DbcDecodeBuilder</a></div><div class="ttdoc">Converts parsed DBC data into runtime decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decode__builder_8h_source.html#l00021">dbc_decode_builder.h:21</a></div></div>
<div class="ttc" id="aclassDbcDecodeBuilder_html_a2bc6386dfb5e58976c42e22c19ec471b"><div class="ttname"><a href="classDbcDecodeBuilder.html#a2bc6386dfb5e58976c42e22c19ec471b">DbcDecodeBuilder::Build</a></div><div class="ttdeci">DecodeDatabase Build(const DbcDatabase &amp;source) const</div><div class="ttdoc">Build runtime decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decode__builder_8cpp_source.html#l00014">dbc_decode_builder.cpp:14</a></div></div>
<div class="ttc" id="astructDecodeDatabase_html"><div class="ttname"><a href="structDecodeDatabase.html">DecodeDatabase</a></div><div class="ttdoc">Runtime decode database with fast lookup by CAN ID.</div><div class="ttdef"><b>Definition:</b> <a href="decode__database_8h_source.html#l00132">decode_database.h:132</a></div></div>
</div><!-- fragment --><h1><a class="anchor" id="autotoc_md72"></a>
Decode a raw frame</h1>
<div class="fragment"><div class="line"><a class="code hl_struct" href="structRawCanFrame.html">RawCanFrame</a> rawFrame;</div>
<div class="line">rawFrame.<a class="code hl_variable" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">canId</a> = 0x123;</div>
<div class="line">rawFrame.<a class="code hl_variable" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">isExtended</a> = <span class="keyword">false</span>;</div>
<div class="line">rawFrame.<a class="code hl_variable" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">data</a> = {0x01, 0x02, 0x03, 0x04};</div>
<div class="line"> </div>
<div class="line"><a class="code hl_class" href="classDbcDecoder.html">DbcDecoder</a> decoder;</div>
<div class="line"><a class="code hl_struct" href="structDecodedFrameValue.html">DecodedFrameValue</a> decoded = decoder.<a class="code hl_function" href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">Decode</a>(decodeDatabase, rawFrame);</div>
<div class="ttc" id="aclassDbcDecoder_html"><div class="ttname"><a href="classDbcDecoder.html">DbcDecoder</a></div><div class="ttdoc">Runtime CAN decoder using prebuilt decode database.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00070">dbc_decoder.h:70</a></div></div>
<div class="ttc" id="aclassDbcDecoder_html_a345951ffe5d943a70d3a1ea1f39e74f7"><div class="ttname"><a href="classDbcDecoder.html#a345951ffe5d943a70d3a1ea1f39e74f7">DbcDecoder::Decode</a></div><div class="ttdeci">DecodedFrameValue Decode(const DecodeDatabase &amp;database, const RawCanFrame &amp;frame) const</div><div class="ttdoc">Decode one raw CAN frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8cpp_source.html#l00031">dbc_decoder.cpp:31</a></div></div>
<div class="ttc" id="astructDecodedFrameValue_html"><div class="ttname"><a href="structDecodedFrameValue.html">DecodedFrameValue</a></div><div class="ttdoc">Fully decoded frame.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00055">dbc_decoder.h:55</a></div></div>
<div class="ttc" id="astructRawCanFrame_html"><div class="ttname"><a href="structRawCanFrame.html">RawCanFrame</a></div><div class="ttdoc">Raw CAN frame used for runtime or trace decoding.</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00023">dbc_decoder.h:23</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a0acb487612104c99c9907344c035df83"><div class="ttname"><a href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">RawCanFrame::data</a></div><div class="ttdeci">std::vector&lt; std::uint8_t &gt; data</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00026">dbc_decoder.h:26</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><div class="ttname"><a href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">RawCanFrame::canId</a></div><div class="ttdeci">std::uint32_t canId</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00024">dbc_decoder.h:24</a></div></div>
<div class="ttc" id="astructRawCanFrame_html_a462193d275adc1dba8bd18ffa0e36bb7"><div class="ttname"><a href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">RawCanFrame::isExtended</a></div><div class="ttdeci">bool isExtended</div><div class="ttdef"><b>Definition:</b> <a href="dbc__decoder_8h_source.html#l00025">dbc_decoder.h:25</a></div></div>
</div><!-- fragment --><hr />
<h1><a class="anchor" id="autotoc_md74"></a>
Unified Decode Strategy</h1>
<p >A key design goal is that the same decoder should work for both:</p>
<ul>
<li>live CAN frames</li>
<li>trace replay frames</li>
</ul>
<p >That means this architecture supports:</p>
<h2><a class="anchor" id="autotoc_md75"></a>
live path</h2>
<div class="fragment"><div class="line">live CAN input</div>
<div class="line"></div>
<div class="line">RawCanFrame</div>
<div class="line"></div>
<div class="line">DbcDecoder</div>
<div class="line"></div>
<div class="line">decoded signal values</div>
</div><!-- fragment --><h2><a class="anchor" id="autotoc_md76"></a>
trace path</h2>
<div class="fragment"><div class="line">trace reader</div>
<div class="line"></div>
<div class="line">RawCanFrame</div>
<div class="line"></div>
<div class="line">DbcDecoder</div>
<div class="line"></div>
<div class="line">decoded signal values</div>
</div><!-- fragment --><p >This avoids duplicating decode logic in two separate parts of the application.</p>
<hr />
<h1><a class="anchor" id="autotoc_md78"></a>
Intended Use in FrameTap</h1>
<p >This module is meant to support at least the following FrameTap workflows:</p>
<ul>
<li>load a DBC file</li>
<li>browse frames and signals</li>
<li>search signals</li>
<li>drag a signal into a plot later</li>
<li>decode live CAN traffic</li>
<li>decode recorded traces</li>
<li>convert raw values into physical values</li>
<li>show metadata like units, comments, transmitter, receivers, and PGN</li>
</ul>
<p >Example combined workflow:</p>
<div class="fragment"><div class="line">Load DBC</div>
<div class="line"></div>
<div class="line">Parse into DbcDatabase</div>
<div class="line"></div>
<div class="line">Build UI tree</div>
<div class="line"></div>
<div class="line">Build DecodeDatabase</div>
<div class="line"></div>
<div class="line">Use same decode engine for:</div>
<div class="line"> - live frames</div>
<div class="line"> - trace replay</div>
</div><!-- fragment --><hr />
<h1><a class="anchor" id="autotoc_md80"></a>
Why the Tree Is Not Enough</h1>
<p >The tree exists for browsing.</p>
<p >However, runtime decode should not rely on tree traversal because that would introduce unnecessary coupling and inefficiency.</p>
<p >A runtime decoder needs:</p>
<ul>
<li>fast key-based access</li>
<li>minimal interpretation at decode time</li>
<li>direct signal definitions already prepared</li>
</ul>
<p >That is why <code><a class="el" href="structDecodeDatabase.html" title="Runtime decode database with fast lookup by CAN ID.">DecodeDatabase</a></code> is a separate layer.</p>
<hr />
<h1><a class="anchor" id="autotoc_md82"></a>
Why No Abstract Factory Is Used</h1>
<p >At the current stage, abstract factory is intentionally avoided.</p>
<p >The current design is already clean:</p>
<div class="fragment"><div class="line">parser → parsed database → decode database</div>
<div class="line"> ↘ tree builder → UI tree</div>
</div><!-- fragment --><p >Introducing factory layers now would increase complexity without solving an immediate problem.</p>
<p >If later the project requires multiple output representations or multiple build strategies, that can be added then.</p>
<hr />
<h1><a class="anchor" id="autotoc_md84"></a>
Current Limitations</h1>
<p >This is still a minimal implementation.</p>
<p >Not supported yet:</p>
<ul>
<li>multiplexed signals</li>
<li><code>VAL_</code> tables</li>
<li><code>BA_</code> attributes</li>
<li><code>BA_DEF_</code> definitions</li>
<li>advanced comment handling</li>
<li>full DBC grammar coverage</li>
<li>full J1939 validation</li>
<li>extensive edge-case handling for unusual DBC formatting</li>
</ul>
<p >Motorola extraction is implemented, but it should still be verified carefully against real-world DBC files and expected values.</p>
<hr />
<h1><a class="anchor" id="autotoc_md86"></a>
Recommended Next Steps</h1>
<p >A practical development order would be:</p>
<h2><a class="anchor" id="autotoc_md87"></a>
Stage 1 - already implemented</h2>
<ul>
<li><code>BO_</code></li>
<li><code>SG_</code></li>
<li><code>CM_</code></li>
<li>normalized CAN ID</li>
<li><code>isExtended</code></li>
<li>transmitter</li>
<li>receivers</li>
<li>comments</li>
<li>tree representation</li>
<li>runtime decode database</li>
<li>runtime decoder</li>
</ul>
<h2><a class="anchor" id="autotoc_md88"></a>
Stage 2</h2>
<p >Recommended additions:</p>
<ul>
<li>parent pointer in <code><a class="el" href="classTreeNode.html" title="Tree node for later use in model/view or other hierarchy consumers.">TreeNode</a></code></li>
<li>Qt model adapter</li>
<li><code>VAL_</code> support for enum-style signals</li>
<li>better display strings for UI</li>
<li>selective decoding of only chosen signals</li>
</ul>
<h2><a class="anchor" id="autotoc_md89"></a>
Stage 3</h2>
<p >Recommended additions:</p>
<ul>
<li>multiplexing support</li>
<li>attribute parsing</li>
<li>richer J1939 support</li>
<li>CSV export of decoded traces</li>
<li>optimized filtering and signal selection</li>
</ul>
<h2><a class="anchor" id="autotoc_md90"></a>
Stage 4</h2>
<p >Advanced functionality:</p>
<ul>
<li>live plot integration</li>
<li>signal subscriptions</li>
<li>per-signal trace decode pipelines</li>
<li>decoder-assisted export formats</li>
</ul>
<hr />
<h1><a class="anchor" id="autotoc_md92"></a>
Build Integration</h1>
<p >The module does not depend on any specific build system.</p>
<p >It can be integrated with:</p>
<ul>
<li>CMake</li>
<li>qmake</li>
<li>Makefile</li>
</ul>
<p >Just add the source files to the project.</p>
<hr />
<h1><a class="anchor" id="autotoc_md94"></a>
Summary</h1>
<p >This module is now split into two intentionally separate layers:</p>
<h2><a class="anchor" id="autotoc_md95"></a>
Parsed representation</h2>
<p >Used for:</p>
<ul>
<li>storing parsed DBC content</li>
<li>browsing</li>
<li>UI tree generation</li>
</ul>
<h2><a class="anchor" id="autotoc_md96"></a>
Runtime decode representation</h2>
<p >Used for:</p>
<ul>
<li>fast frame lookup</li>
<li>live CAN decode</li>
<li>trace decode</li>
<li>physical value conversion</li>
</ul>
<p >That separation is the main architectural improvement.</p>
<p >In short, the system now looks like this:</p>
<div class="fragment"><div class="line">DBC parser → DbcDatabase → DecodeDatabase → DbcDecoder</div>
<div class="line"> ↘ TreeNode → future UI</div>
</div><!-- fragment --><p >This gives FrameTap a much better foundation for real use, because both browsing and decoding are supported without forcing one representation to do the other's job. </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

95
docs/html/menudata.js Normal file
View File

@@ -0,0 +1,95 @@
/*
@licstart The following is the entire license notice for the JavaScript code in this file.
The MIT License (MIT)
Copyright (C) 1997-2020 by Dimitri van Heesch
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
and associated documentation files (the "Software"), to deal in the Software without restriction,
including without limitation the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@licend The above is the entire license notice for the JavaScript code in this file
*/
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Related Pages",url:"pages.html"},
{text:"Namespaces",url:"namespaces.html",children:[
{text:"Namespace List",url:"namespaces.html"},
{text:"Namespace Members",url:"namespacemembers.html",children:[
{text:"All",url:"namespacemembers.html"},
{text:"Functions",url:"namespacemembers_func.html"}]}]},
{text:"Classes",url:"annotated.html",children:[
{text:"Class List",url:"annotated.html"},
{text:"Class Index",url:"classes.html"},
{text:"Class Members",url:"functions.html",children:[
{text:"All",url:"functions.html",children:[
{text:"a",url:"functions.html#index_a"},
{text:"b",url:"functions.html#index_b"},
{text:"c",url:"functions.html#index_c"},
{text:"d",url:"functions.html#index_d"},
{text:"e",url:"functions.html#index_e"},
{text:"f",url:"functions.html#index_f"},
{text:"g",url:"functions.html#index_g"},
{text:"h",url:"functions.html#index_h"},
{text:"i",url:"functions.html#index_i"},
{text:"l",url:"functions.html#index_l"},
{text:"m",url:"functions.html#index_m"},
{text:"n",url:"functions.html#index_n"},
{text:"o",url:"functions.html#index_o"},
{text:"p",url:"functions.html#index_p"},
{text:"r",url:"functions.html#index_r"},
{text:"s",url:"functions.html#index_s"},
{text:"t",url:"functions.html#index_t"},
{text:"u",url:"functions.html#index_u"},
{text:"v",url:"functions.html#index_v"},
{text:"~",url:"functions.html#index__7E"}]},
{text:"Functions",url:"functions_func.html",children:[
{text:"a",url:"functions_func.html#index_a"},
{text:"b",url:"functions_func.html#index_b"},
{text:"d",url:"functions_func.html#index_d"},
{text:"e",url:"functions_func.html#index_e"},
{text:"f",url:"functions_func.html#index_f"},
{text:"g",url:"functions_func.html#index_g"},
{text:"i",url:"functions_func.html#index_i"},
{text:"n",url:"functions_func.html#index_n"},
{text:"o",url:"functions_func.html#index_o"},
{text:"p",url:"functions_func.html#index_p"},
{text:"r",url:"functions_func.html#index_r"},
{text:"s",url:"functions_func.html#index_s"},
{text:"t",url:"functions_func.html#index_t"},
{text:"~",url:"functions_func.html#index__7E"}]},
{text:"Variables",url:"functions_vars.html",children:[
{text:"b",url:"functions_vars.html#index_b"},
{text:"c",url:"functions_vars.html#index_c"},
{text:"d",url:"functions_vars.html#index_d"},
{text:"f",url:"functions_vars.html#index_f"},
{text:"h",url:"functions_vars.html#index_h"},
{text:"i",url:"functions_vars.html#index_i"},
{text:"l",url:"functions_vars.html#index_l"},
{text:"m",url:"functions_vars.html#index_m"},
{text:"n",url:"functions_vars.html#index_n"},
{text:"o",url:"functions_vars.html#index_o"},
{text:"p",url:"functions_vars.html#index_p"},
{text:"r",url:"functions_vars.html#index_r"},
{text:"s",url:"functions_vars.html#index_s"},
{text:"t",url:"functions_vars.html#index_t"},
{text:"u",url:"functions_vars.html#index_u"},
{text:"v",url:"functions_vars.html#index_v"}]}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"File Members",url:"globals.html",children:[
{text:"All",url:"globals.html"},
{text:"Functions",url:"globals_func.html"},
{text:"Enumerations",url:"globals_enum.html"}]}]}]}

View File

@@ -0,0 +1,97 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: anonymous_namespace{dbc_parser.cpp} Namespace 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">anonymous_namespace{dbc_parser.cpp} Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a5850f07ce5f4e5c4f3bf385ebcfcebbb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">TrimText</a> (const std::string &amp;text)</td></tr>
<tr class="memdesc:a5850f07ce5f4e5c4f3bf385ebcfcebbb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove leading and trailing spaces. <a href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">More...</a><br /></td></tr>
<tr class="separator:a5850f07ce5f4e5c4f3bf385ebcfcebbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a5850f07ce5f4e5c4f3bf385ebcfcebbb" name="a5850f07ce5f4e5c4f3bf385ebcfcebbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5850f07ce5f4e5c4f3bf385ebcfcebbb">&#9670;&nbsp;</a></span>TrimText()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string anonymous_namespace{dbc_parser.cpp}::TrimText </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>text</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Remove leading and trailing spaces. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">text</td><td>Input text. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Trimmed text. </dd></dl>
<p class="definition">Definition at line <a class="el" href="dbc__parser_8cpp_source.html#l00025">25</a> of file <a class="el" href="dbc__parser_8cpp_source.html">dbc_parser.cpp</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00087">DbcParser::SplitReceivers()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00083">DbcParser::Trim()</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Namespace Members</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li class="current"><a href="namespacemembers.html"><span>All</span></a></li>
<li><a href="namespacemembers_func.html"><span>Functions</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
<div class="textblock">Here is a list of all namespace members with links to the namespace documentation for each member:</div><ul>
<li>TrimText()&#160;:&#160;<a class="el" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">anonymous_namespace{dbc_parser.cpp}</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Namespace Members</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li class="current"><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
<div id="navrow3" class="tabs2">
<ul class="tablist">
<li><a href="namespacemembers.html"><span>All</span></a></li>
<li class="current"><a href="namespacemembers_func.html"><span>Functions</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="contents">
&#160;<ul>
<li>TrimText()&#160;:&#160;<a class="el" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html#a5850f07ce5f4e5c4f3bf385ebcfcebbb">anonymous_namespace{dbc_parser.cpp}</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

61
docs/html/namespaces.html Normal file
View File

@@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Namespace List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="namespaces.html"><span>Namespace&#160;List</span></a></li>
<li><a href="namespacemembers.html"><span>Namespace&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">Namespace List</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all namespaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespaceanonymous__namespace_02dbc__parser_8cpp_03.html" target="_self">anonymous_namespace{dbc_parser.cpp}</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

BIN
docs/html/nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
docs/html/nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
docs/html/nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
docs/html/open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

55
docs/html/pages.html Normal file
View File

@@ -0,0 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Related Pages</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">Related Pages</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all related documentation pages:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a class="el" href="md_README.html" target="_self">DBC Parser and Runtime Decode Module Documentation</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: signal_info.h 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle"><div class="title">signal_info.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Created: 2026-03-13 Author: Deeaitch (Dim. Himro)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;string&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
<code>#include &lt;cstdint&gt;</code><br />
</div>
<p><a href="signal__info_8h_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 id="nested-classes" name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html">SignalInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes one signal inside a DBC frame. <a href="structSignalInfo.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Created: 2026-03-13 Author: Deeaitch (Dim. Himro) </p>
<p >Licensed under the MIT License. See LICENSE file in the project root for full license text. </p>
<p class="definition">Definition in file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,122 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: signal_info.h Source File</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>File&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">signal_info.h</div></div>
</div><!--header-->
<div class="contents">
<a href="signal__info_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/**</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment"> * @file signal_info.h</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment"> * @brief</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment"> * Created: 2026-03-13</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment"> * Author: Deeaitch (Dim. Himro)</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> *</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> * Licensed under the MIT License.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * See LICENSE file in the project root for full license text.</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> */</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#ifndef SIGNAL_INFO_H</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#define SIGNAL_INFO_H</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> </div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &lt;cstdint&gt;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment"></span> </div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">/**</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment"> * @brief Describes one signal inside a DBC frame.</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment"> */</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"><a class="line" href="structSignalInfo.html"> 22</a></span><span class="keyword">struct </span><a class="code hl_struct" href="structSignalInfo.html">SignalInfo</a> {</div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"><a class="line" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088"> 23</a></span> std::string <a class="code hl_variable" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">name</a>; <span class="comment">/**&lt; Signal name. */</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"><a class="line" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1"> 24</a></span> std::uint32_t <a class="code hl_variable" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">startBit</a>; <span class="comment">/**&lt; Start bit in DBC notation. */</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"><a class="line" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa"> 25</a></span> std::uint32_t <a class="code hl_variable" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">length</a>; <span class="comment">/**&lt; Signal length in bits. */</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"><a class="line" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c"> 26</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">isLittleEndian</a>; <span class="comment">/**&lt; true for Intel, false for Motorola. */</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"><a class="line" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f"> 27</a></span> <span class="keywordtype">bool</span> <a class="code hl_variable" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">isSigned</a>; <span class="comment">/**&lt; true if signal is signed. */</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499"> 28</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">factor</a>; <span class="comment">/**&lt; Scaling factor. */</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"><a class="line" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e"> 29</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">offset</a>; <span class="comment">/**&lt; Physical offset. */</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"><a class="line" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b"> 30</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">minimum</a>; <span class="comment">/**&lt; Minimum physical value. */</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"><a class="line" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52"> 31</a></span> <span class="keywordtype">double</span> <a class="code hl_variable" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">maximum</a>; <span class="comment">/**&lt; Maximum physical value. */</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"><a class="line" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01"> 32</a></span> std::string <a class="code hl_variable" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">unit</a>; <span class="comment">/**&lt; Physical unit. */</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"><a class="line" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3"> 33</a></span> std::vector&lt;std::string&gt; <a class="code hl_variable" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">receivers</a>; <span class="comment">/**&lt; Signal receivers. */</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"><a class="line" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5"> 34</a></span> std::string <a class="code hl_variable" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">comment</a>; <span class="comment">/**&lt; Optional signal comment. */</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> </div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"><a class="line" href="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e"> 36</a></span> <a class="code hl_function" href="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e">SignalInfo</a>()</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> : <a class="code hl_variable" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">name</a>()</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> , <a class="code hl_variable" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">startBit</a> (0U)</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> , <a class="code hl_variable" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">length</a> (0U)</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> , <a class="code hl_variable" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">isLittleEndian</a> (true)</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> , <a class="code hl_variable" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">isSigned</a> (false)</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> , <a class="code hl_variable" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">factor</a> (1.0)</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> , <a class="code hl_variable" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">offset</a> (0.0)</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> , <a class="code hl_variable" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">minimum</a> (0.0)</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> , <a class="code hl_variable" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">maximum</a> (0.0)</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> , <a class="code hl_variable" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">unit</a>()</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> , <a class="code hl_variable" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">receivers</a>()</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> , <a class="code hl_variable" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">comment</a>() {</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> }</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span>};</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span><span class="preprocessor">#endif </span><span class="comment">/* SIGNAL_INFO_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="astructSignalInfo_html"><div class="ttname"><a href="structSignalInfo.html">SignalInfo</a></div><div class="ttdoc">Describes one signal inside a DBC frame.</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00022">signal_info.h:22</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1008b5201f71848177217bd52fb84baa"><div class="ttname"><a href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">SignalInfo::length</a></div><div class="ttdeci">std::uint32_t length</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00025">signal_info.h:25</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a1f214f03e94ef5794de2d3367bfcbd01"><div class="ttname"><a href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">SignalInfo::unit</a></div><div class="ttdeci">std::string unit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00032">signal_info.h:32</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a2c95562fd0b29327a7fd7b1e6feee7f3"><div class="ttname"><a href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">SignalInfo::receivers</a></div><div class="ttdeci">std::vector&lt; std::string &gt; receivers</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00033">signal_info.h:33</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a379e422a00cad56f896cacf60455b088"><div class="ttname"><a href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">SignalInfo::name</a></div><div class="ttdeci">std::string name</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00023">signal_info.h:23</a></div></div>
<div class="ttc" id="astructSignalInfo_html_a52a52b320eef92fbcb4626307f9a498f"><div class="ttname"><a href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">SignalInfo::isSigned</a></div><div class="ttdeci">bool isSigned</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00027">signal_info.h:27</a></div></div>
<div class="ttc" id="astructSignalInfo_html_aa2d2cd238118015258e271dce92a971e"><div class="ttname"><a href="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e">SignalInfo::SignalInfo</a></div><div class="ttdeci">SignalInfo()</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00036">signal_info.h:36</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ab7d0769f47aa540656b22e4e49db517e"><div class="ttname"><a href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">SignalInfo::offset</a></div><div class="ttdeci">double offset</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00029">signal_info.h:29</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ac99ba7563a5dad01e39c4257216953f5"><div class="ttname"><a href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">SignalInfo::comment</a></div><div class="ttdeci">std::string comment</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00034">signal_info.h:34</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ace290724f9801521609aedaa946d61f1"><div class="ttname"><a href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">SignalInfo::startBit</a></div><div class="ttdeci">std::uint32_t startBit</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00024">signal_info.h:24</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ada7bf94fbeaa26bd08c73982b5af255b"><div class="ttname"><a href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">SignalInfo::minimum</a></div><div class="ttdeci">double minimum</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00030">signal_info.h:30</a></div></div>
<div class="ttc" id="astructSignalInfo_html_adf1c4331b9eabced0d7fdda40ff0eb52"><div class="ttname"><a href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">SignalInfo::maximum</a></div><div class="ttdeci">double maximum</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00031">signal_info.h:31</a></div></div>
<div class="ttc" id="astructSignalInfo_html_ae4f78d99a2750aa564d7eba860171499"><div class="ttname"><a href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">SignalInfo::factor</a></div><div class="ttdeci">double factor</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00028">signal_info.h:28</a></div></div>
<div class="ttc" id="astructSignalInfo_html_af363b1563fb4c7cc8973f9a80c06846c"><div class="ttname"><a href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">SignalInfo::isLittleEndian</a></div><div class="ttdeci">bool isLittleEndian</div><div class="ttdef"><b>Definition:</b> <a href="signal__info_8h_source.html#l00026">signal_info.h:26</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

BIN
docs/html/splitbar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

View File

@@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DbcDatabase Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structDbcDatabase.html">DbcDatabase</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a></td><td class="entry"><a class="el" href="structDbcDatabase.html">DbcDatabase</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,98 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DbcDatabase Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structDbcDatabase-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DbcDatabase Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Parsed DBC content stored in a simple internal form.
<a href="structDbcDatabase.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__database_8h_source.html">dbc_database.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a2cade5d0234ee816132127542f8c612b"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structFrameInfo.html">FrameInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDbcDatabase.html#a2cade5d0234ee816132127542f8c612b">frames</a></td></tr>
<tr class="separator:a2cade5d0234ee816132127542f8c612b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Parsed DBC content stored in a simple internal form. </p>
<p class="definition">Definition at line <a class="el" href="dbc__database_8h_source.html#l00022">22</a> of file <a class="el" href="dbc__database_8h_source.html">dbc_database.h</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a2cade5d0234ee816132127542f8c612b" name="a2cade5d0234ee816132127542f8c612b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cade5d0234ee816132127542f8c612b">&#9670;&nbsp;</a></span>frames</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="structFrameInfo.html">FrameInfo</a>&gt; DbcDatabase::frames</td>
</tr>
</table>
</div><div class="memdoc">
<p >All frames found in the DBC file. </p>
<p class="definition">Definition at line <a class="el" href="dbc__database_8h_source.html#l00023">23</a> of file <a class="el" href="dbc__database_8h_source.html">dbc_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__tree__builder_8cpp_source.html#l00014">DbcTreeBuilder::Build()</a>, <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00337">DbcParser::FindFrameById()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00040">DbcParser::ParseFile()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="dbc__database_8h_source.html">dbc_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,62 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DecodeDatabase Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structDecodeDatabase.html">DecodeDatabase</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">frameIndexByKey</a></td><td class="entry"><a class="el" href="structDecodeDatabase.html">DecodeDatabase</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a></td><td class="entry"><a class="el" href="structDecodeDatabase.html">DecodeDatabase</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DecodeDatabase Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structDecodeDatabase-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DecodeDatabase Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Runtime decode database with fast lookup by CAN ID.
<a href="structDecodeDatabase.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="decode__database_8h_source.html">decode_database.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a2bd4ddfc2602c1de4e12a373bfc93072"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structDecodeFrame.html">DecodeFrame</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeDatabase.html#a2bd4ddfc2602c1de4e12a373bfc93072">frames</a></td></tr>
<tr class="separator:a2bd4ddfc2602c1de4e12a373bfc93072"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4fd1351008bb0dce337821a849100c5"><td class="memItemLeft" align="right" valign="top">std::unordered_map&lt; <a class="el" href="structFrameKey.html">FrameKey</a>, std::size_t, <a class="el" href="structFrameKeyHasher.html">FrameKeyHasher</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeDatabase.html#ae4fd1351008bb0dce337821a849100c5">frameIndexByKey</a></td></tr>
<tr class="separator:ae4fd1351008bb0dce337821a849100c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Runtime decode database with fast lookup by CAN ID. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00132">132</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="ae4fd1351008bb0dce337821a849100c5" name="ae4fd1351008bb0dce337821a849100c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4fd1351008bb0dce337821a849100c5">&#9670;&nbsp;</a></span>frameIndexByKey</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::unordered_map&lt;<a class="el" href="structFrameKey.html">FrameKey</a>, std::size_t, <a class="el" href="structFrameKeyHasher.html">FrameKeyHasher</a>&gt; DecodeDatabase::frameIndexByKey</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00134">134</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00014">DbcDecoder::FindFrame()</a>.</p>
</div>
</div>
<a id="a2bd4ddfc2602c1de4e12a373bfc93072" name="a2bd4ddfc2602c1de4e12a373bfc93072"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bd4ddfc2602c1de4e12a373bfc93072">&#9670;&nbsp;</a></span>frames</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="structDecodeFrame.html">DecodeFrame</a>&gt; DecodeDatabase::frames</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00133">133</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00014">DbcDecoder::FindFrame()</a>, and <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="decode__database_8h_source.html">decode_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,70 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DecodeFrame Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structDecodeFrame.html">DecodeFrame</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">canId</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">comment</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4">DecodeFrame</a>()</td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">dlc</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">hasPgn</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">isExtended</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">name</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">pgn</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">signals</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">transmitter</a></td><td class="entry"><a class="el" href="structDecodeFrame.html">DecodeFrame</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,300 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DecodeFrame Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structDecodeFrame-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DecodeFrame Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Runtime-ready frame definition.
<a href="structDecodeFrame.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="decode__database_8h_source.html">decode_database.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae6ae88ee29bcaff936e7c7b2380f96b4"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#ae6ae88ee29bcaff936e7c7b2380f96b4">DecodeFrame</a> ()</td></tr>
<tr class="separator:ae6ae88ee29bcaff936e7c7b2380f96b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa0a7f8fd5bfde2148dfd0d838328f579"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#aa0a7f8fd5bfde2148dfd0d838328f579">name</a></td></tr>
<tr class="separator:aa0a7f8fd5bfde2148dfd0d838328f579"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52e10215388db7df8b541b9d9909edcf"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#a52e10215388db7df8b541b9d9909edcf">canId</a></td></tr>
<tr class="separator:a52e10215388db7df8b541b9d9909edcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ee2348d781f8f15aaf87e8dcf57ec41"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#a3ee2348d781f8f15aaf87e8dcf57ec41">isExtended</a></td></tr>
<tr class="separator:a3ee2348d781f8f15aaf87e8dcf57ec41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51111ac13988be372d5673d12cf3e060"><td class="memItemLeft" align="right" valign="top">std::uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#a51111ac13988be372d5673d12cf3e060">dlc</a></td></tr>
<tr class="separator:a51111ac13988be372d5673d12cf3e060"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d3c54055c0cbceb73adf551f7067f23"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#a1d3c54055c0cbceb73adf551f7067f23">pgn</a></td></tr>
<tr class="separator:a1d3c54055c0cbceb73adf551f7067f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2551102670c4a540fced4c71da0b369d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#a2551102670c4a540fced4c71da0b369d">hasPgn</a></td></tr>
<tr class="separator:a2551102670c4a540fced4c71da0b369d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad78241dc40c793aabb8495b6989b81a9"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#ad78241dc40c793aabb8495b6989b81a9">transmitter</a></td></tr>
<tr class="separator:ad78241dc40c793aabb8495b6989b81a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25819ef907a32391af5c9f7cae9cdb22"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#a25819ef907a32391af5c9f7cae9cdb22">comment</a></td></tr>
<tr class="separator:a25819ef907a32391af5c9f7cae9cdb22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a372afd9e74f1ae33f85cb4acfd3e2036"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structDecodeSignal.html">DecodeSignal</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeFrame.html#a372afd9e74f1ae33f85cb4acfd3e2036">signals</a></td></tr>
<tr class="separator:a372afd9e74f1ae33f85cb4acfd3e2036"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Runtime-ready frame definition. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00072">72</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ae6ae88ee29bcaff936e7c7b2380f96b4" name="ae6ae88ee29bcaff936e7c7b2380f96b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6ae88ee29bcaff936e7c7b2380f96b4">&#9670;&nbsp;</a></span>DecodeFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">DecodeFrame::DecodeFrame </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00083">83</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a52e10215388db7df8b541b9d9909edcf" name="a52e10215388db7df8b541b9d9909edcf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52e10215388db7df8b541b9d9909edcf">&#9670;&nbsp;</a></span>canId</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t DecodeFrame::canId</td>
</tr>
</table>
</div><div class="memdoc">
<p >Normalized CAN ID. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00074">74</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a25819ef907a32391af5c9f7cae9cdb22" name="a25819ef907a32391af5c9f7cae9cdb22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a25819ef907a32391af5c9f7cae9cdb22">&#9670;&nbsp;</a></span>comment</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string DecodeFrame::comment</td>
</tr>
</table>
</div><div class="memdoc">
<p >Frame comment. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00080">80</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a51111ac13988be372d5673d12cf3e060" name="a51111ac13988be372d5673d12cf3e060"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51111ac13988be372d5673d12cf3e060">&#9670;&nbsp;</a></span>dlc</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint8_t DecodeFrame::dlc</td>
</tr>
</table>
</div><div class="memdoc">
<p >Payload length. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00076">76</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a2551102670c4a540fced4c71da0b369d" name="a2551102670c4a540fced4c71da0b369d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2551102670c4a540fced4c71da0b369d">&#9670;&nbsp;</a></span>hasPgn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool DecodeFrame::hasPgn</td>
</tr>
</table>
</div><div class="memdoc">
<p >true if PGN is valid. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00078">78</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a3ee2348d781f8f15aaf87e8dcf57ec41" name="a3ee2348d781f8f15aaf87e8dcf57ec41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ee2348d781f8f15aaf87e8dcf57ec41">&#9670;&nbsp;</a></span>isExtended</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool DecodeFrame::isExtended</td>
</tr>
</table>
</div><div class="memdoc">
<p >true for extended frame. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00075">75</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="aa0a7f8fd5bfde2148dfd0d838328f579" name="aa0a7f8fd5bfde2148dfd0d838328f579"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0a7f8fd5bfde2148dfd0d838328f579">&#9670;&nbsp;</a></span>name</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string DecodeFrame::name</td>
</tr>
</table>
</div><div class="memdoc">
<p >Frame name. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00073">73</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="a1d3c54055c0cbceb73adf551f7067f23" name="a1d3c54055c0cbceb73adf551f7067f23"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d3c54055c0cbceb73adf551f7067f23">&#9670;&nbsp;</a></span>pgn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t DecodeFrame::pgn</td>
</tr>
</table>
</div><div class="memdoc">
<p >PGN if available. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00077">77</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a372afd9e74f1ae33f85cb4acfd3e2036" name="a372afd9e74f1ae33f85cb4acfd3e2036"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a372afd9e74f1ae33f85cb4acfd3e2036">&#9670;&nbsp;</a></span>signals</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="structDecodeSignal.html">DecodeSignal</a>&gt; DecodeFrame::signals</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signal definitions. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00081">81</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>.</p>
</div>
</div>
<a id="ad78241dc40c793aabb8495b6989b81a9" name="ad78241dc40c793aabb8495b6989b81a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad78241dc40c793aabb8495b6989b81a9">&#9670;&nbsp;</a></span>transmitter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string DecodeFrame::transmitter</td>
</tr>
</table>
</div><div class="memdoc">
<p >Transmitter ECU. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00079">79</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="decode__database_8h_source.html">decode_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,73 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DecodeSignal Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structDecodeSignal.html">DecodeSignal</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">byteOrder</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">comment</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeSignal.html#a93fd97267e2614979440261628e493f5">DecodeSignal</a>()</td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">factor</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">maximum</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">minimum</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">name</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">offset</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">receivers</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">startBit</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">unit</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">valueType</a></td><td class="entry"><a class="el" href="structDecodeSignal.html">DecodeSignal</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,363 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DecodeSignal Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structDecodeSignal-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DecodeSignal Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Runtime-ready signal definition.
<a href="structDecodeSignal.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="decode__database_8h_source.html">decode_database.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a93fd97267e2614979440261628e493f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a93fd97267e2614979440261628e493f5">DecodeSignal</a> ()</td></tr>
<tr class="separator:a93fd97267e2614979440261628e493f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a58cf5844f2272a23dcb9687d912e4780"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a58cf5844f2272a23dcb9687d912e4780">name</a></td></tr>
<tr class="separator:a58cf5844f2272a23dcb9687d912e4780"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf5d7527ddf65b6355c2b4f3626df22d"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#aaf5d7527ddf65b6355c2b4f3626df22d">startBit</a></td></tr>
<tr class="separator:aaf5d7527ddf65b6355c2b4f3626df22d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd4ef5ee30421d117b5756854302debb"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#acd4ef5ee30421d117b5756854302debb">length</a></td></tr>
<tr class="separator:acd4ef5ee30421d117b5756854302debb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdc4c4bb4a67a6d61d6ca81e8a52833d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#abdc4c4bb4a67a6d61d6ca81e8a52833d">byteOrder</a></td></tr>
<tr class="separator:abdc4c4bb4a67a6d61d6ca81e8a52833d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d37638129263b8902ba5be59baf39a8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a9d37638129263b8902ba5be59baf39a8">valueType</a></td></tr>
<tr class="separator:a9d37638129263b8902ba5be59baf39a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a428c39913a366a8476dd291061354391"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a428c39913a366a8476dd291061354391">factor</a></td></tr>
<tr class="separator:a428c39913a366a8476dd291061354391"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92db637af4e224a0ae70173050dc3f74"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a92db637af4e224a0ae70173050dc3f74">offset</a></td></tr>
<tr class="separator:a92db637af4e224a0ae70173050dc3f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fb84e19a0ab3bd50b6f65c1075ebc25"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a0fb84e19a0ab3bd50b6f65c1075ebc25">minimum</a></td></tr>
<tr class="separator:a0fb84e19a0ab3bd50b6f65c1075ebc25"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a6ba87142a9badbf0ca830e9e709cb7"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a4a6ba87142a9badbf0ca830e9e709cb7">maximum</a></td></tr>
<tr class="separator:a4a6ba87142a9badbf0ca830e9e709cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38eed9ca7581423fd8bfbedcffc12092"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#a38eed9ca7581423fd8bfbedcffc12092">unit</a></td></tr>
<tr class="separator:a38eed9ca7581423fd8bfbedcffc12092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdbae62a64d2df716bf60c6b67b30eaa"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#abdbae62a64d2df716bf60c6b67b30eaa">receivers</a></td></tr>
<tr class="separator:abdbae62a64d2df716bf60c6b67b30eaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae28c905d4a2bc86419c2a8361bfea473"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodeSignal.html#ae28c905d4a2bc86419c2a8361bfea473">comment</a></td></tr>
<tr class="separator:ae28c905d4a2bc86419c2a8361bfea473"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Runtime-ready signal definition. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00039">39</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a93fd97267e2614979440261628e493f5" name="a93fd97267e2614979440261628e493f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93fd97267e2614979440261628e493f5">&#9670;&nbsp;</a></span>DecodeSignal()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">DecodeSignal::DecodeSignal </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00053">53</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="abdc4c4bb4a67a6d61d6ca81e8a52833d" name="abdc4c4bb4a67a6d61d6ca81e8a52833d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdc4c4bb4a67a6d61d6ca81e8a52833d">&#9670;&nbsp;</a></span>byteOrder</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="decode__database_8h.html#aaeb92d42f5a6e27b8ba19f18d69d142b">ByteOrder</a> DecodeSignal::byteOrder</td>
</tr>
</table>
</div><div class="memdoc">
<p >Intel or Motorola. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00043">43</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00070">DbcDecoder::ExtractUnsigned()</a>.</p>
</div>
</div>
<a id="ae28c905d4a2bc86419c2a8361bfea473" name="ae28c905d4a2bc86419c2a8361bfea473"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae28c905d4a2bc86419c2a8361bfea473">&#9670;&nbsp;</a></span>comment</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string DecodeSignal::comment</td>
</tr>
</table>
</div><div class="memdoc">
<p >Comment. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00051">51</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a428c39913a366a8476dd291061354391" name="a428c39913a366a8476dd291061354391"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a428c39913a366a8476dd291061354391">&#9670;&nbsp;</a></span>factor</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double DecodeSignal::factor</td>
</tr>
</table>
</div><div class="memdoc">
<p >Scaling factor. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00045">45</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>.</p>
</div>
</div>
<a id="acd4ef5ee30421d117b5756854302debb" name="acd4ef5ee30421d117b5756854302debb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd4ef5ee30421d117b5756854302debb">&#9670;&nbsp;</a></span>length</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t DecodeSignal::length</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signal length in bits. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00042">42</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00070">DbcDecoder::ExtractUnsigned()</a>.</p>
</div>
</div>
<a id="a4a6ba87142a9badbf0ca830e9e709cb7" name="a4a6ba87142a9badbf0ca830e9e709cb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a6ba87142a9badbf0ca830e9e709cb7">&#9670;&nbsp;</a></span>maximum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double DecodeSignal::maximum</td>
</tr>
</table>
</div><div class="memdoc">
<p >Maximum physical value. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00048">48</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a0fb84e19a0ab3bd50b6f65c1075ebc25" name="a0fb84e19a0ab3bd50b6f65c1075ebc25"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fb84e19a0ab3bd50b6f65c1075ebc25">&#9670;&nbsp;</a></span>minimum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double DecodeSignal::minimum</td>
</tr>
</table>
</div><div class="memdoc">
<p >Minimum physical value. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00047">47</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="a58cf5844f2272a23dcb9687d912e4780" name="a58cf5844f2272a23dcb9687d912e4780"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a58cf5844f2272a23dcb9687d912e4780">&#9670;&nbsp;</a></span>name</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string DecodeSignal::name</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signal name. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00040">40</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="a92db637af4e224a0ae70173050dc3f74" name="a92db637af4e224a0ae70173050dc3f74"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92db637af4e224a0ae70173050dc3f74">&#9670;&nbsp;</a></span>offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double DecodeSignal::offset</td>
</tr>
</table>
</div><div class="memdoc">
<p >Physical offset. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00046">46</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>.</p>
</div>
</div>
<a id="abdbae62a64d2df716bf60c6b67b30eaa" name="abdbae62a64d2df716bf60c6b67b30eaa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdbae62a64d2df716bf60c6b67b30eaa">&#9670;&nbsp;</a></span>receivers</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::string&gt; DecodeSignal::receivers</td>
</tr>
</table>
</div><div class="memdoc">
<p >Receivers. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00050">50</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>.</p>
</div>
</div>
<a id="aaf5d7527ddf65b6355c2b4f3626df22d" name="aaf5d7527ddf65b6355c2b4f3626df22d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf5d7527ddf65b6355c2b4f3626df22d">&#9670;&nbsp;</a></span>startBit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t DecodeSignal::startBit</td>
</tr>
</table>
</div><div class="memdoc">
<p >DBC start bit. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00041">41</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00070">DbcDecoder::ExtractUnsigned()</a>.</p>
</div>
</div>
<a id="a38eed9ca7581423fd8bfbedcffc12092" name="a38eed9ca7581423fd8bfbedcffc12092"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38eed9ca7581423fd8bfbedcffc12092">&#9670;&nbsp;</a></span>unit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string DecodeSignal::unit</td>
</tr>
</table>
</div><div class="memdoc">
<p >Physical unit. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00049">49</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="a9d37638129263b8902ba5be59baf39a8" name="a9d37638129263b8902ba5be59baf39a8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d37638129263b8902ba5be59baf39a8">&#9670;&nbsp;</a></span>valueType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="decode__database_8h.html#ad9971b6ef33e02ba2c75d19c1d2518a1">ValueType</a> DecodeSignal::valueType</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signed or unsigned. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00044">44</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="decode__database_8h_source.html">decode_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DecodedFrameValue Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b">DecodedFrameValue</a>()</td><td class="entry"><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">definition</a></td><td class="entry"><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a></td><td class="entry"><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">valid</a></td><td class="entry"><a class="el" href="structDecodedFrameValue.html">DecodedFrameValue</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,174 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DecodedFrameValue Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structDecodedFrameValue-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DecodedFrameValue Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Fully decoded frame.
<a href="structDecodedFrameValue.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a19f754bb84e67e6ae71ea93b9ae6382b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedFrameValue.html#a19f754bb84e67e6ae71ea93b9ae6382b">DecodedFrameValue</a> ()</td></tr>
<tr class="separator:a19f754bb84e67e6ae71ea93b9ae6382b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a60dda1cc352d2c8087f0bdbc81dd266c"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structDecodeFrame.html">DecodeFrame</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedFrameValue.html#a60dda1cc352d2c8087f0bdbc81dd266c">definition</a></td></tr>
<tr class="separator:a60dda1cc352d2c8087f0bdbc81dd266c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8440e0e5d7953102095b029f522022d3"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedFrameValue.html#a8440e0e5d7953102095b029f522022d3">signals</a></td></tr>
<tr class="separator:a8440e0e5d7953102095b029f522022d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f51c31110dba1f73a763c596372beb0"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedFrameValue.html#a4f51c31110dba1f73a763c596372beb0">valid</a></td></tr>
<tr class="separator:a4f51c31110dba1f73a763c596372beb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Fully decoded frame. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00055">55</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a19f754bb84e67e6ae71ea93b9ae6382b" name="a19f754bb84e67e6ae71ea93b9ae6382b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19f754bb84e67e6ae71ea93b9ae6382b">&#9670;&nbsp;</a></span>DecodedFrameValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">DecodedFrameValue::DecodedFrameValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00060">60</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a60dda1cc352d2c8087f0bdbc81dd266c" name="a60dda1cc352d2c8087f0bdbc81dd266c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60dda1cc352d2c8087f0bdbc81dd266c">&#9670;&nbsp;</a></span>definition</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structDecodeFrame.html">DecodeFrame</a>* DecodedFrameValue::definition</td>
</tr>
</table>
</div><div class="memdoc">
<p >Frame definition. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00056">56</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="a8440e0e5d7953102095b029f522022d3" name="a8440e0e5d7953102095b029f522022d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8440e0e5d7953102095b029f522022d3">&#9670;&nbsp;</a></span>signals</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a>&gt; DecodedFrameValue::signals</td>
</tr>
</table>
</div><div class="memdoc">
<p >Decoded signal values. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00057">57</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="a4f51c31110dba1f73a763c596372beb0" name="a4f51c31110dba1f73a763c596372beb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f51c31110dba1f73a763c596372beb0">&#9670;&nbsp;</a></span>valid</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool DecodedFrameValue::valid</td>
</tr>
</table>
</div><div class="memdoc">
<p >true if frame was matched. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00058">58</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">DecodedSignalValue Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf">DecodedSignalValue</a>()</td><td class="entry"><a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a></td><td class="entry"><a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">physicalValue</a></td><td class="entry"><a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a></td><td class="entry"><a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">valid</a></td><td class="entry"><a class="el" href="structDecodedSignalValue.html">DecodedSignalValue</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,195 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: DecodedSignalValue Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structDecodedSignalValue-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">DecodedSignalValue Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>One decoded signal value.
<a href="structDecodedSignalValue.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1481b122a7ce5a618012b1133c6adedf"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedSignalValue.html#a1481b122a7ce5a618012b1133c6adedf">DecodedSignalValue</a> ()</td></tr>
<tr class="separator:a1481b122a7ce5a618012b1133c6adedf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:acadc3b3bb21dd6b0412d342c7e6b20d7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structDecodeSignal.html">DecodeSignal</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedSignalValue.html#acadc3b3bb21dd6b0412d342c7e6b20d7">definition</a></td></tr>
<tr class="separator:acadc3b3bb21dd6b0412d342c7e6b20d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5138b825940e34689f7b3891627ee9ec"><td class="memItemLeft" align="right" valign="top">std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedSignalValue.html#a5138b825940e34689f7b3891627ee9ec">rawValue</a></td></tr>
<tr class="separator:a5138b825940e34689f7b3891627ee9ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6847d05b3cb00d5e0f6c611968f57978"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedSignalValue.html#a6847d05b3cb00d5e0f6c611968f57978">physicalValue</a></td></tr>
<tr class="separator:a6847d05b3cb00d5e0f6c611968f57978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac0ed361af545cde48d0e6f41a859686"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structDecodedSignalValue.html#aac0ed361af545cde48d0e6f41a859686">valid</a></td></tr>
<tr class="separator:aac0ed361af545cde48d0e6f41a859686"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >One decoded signal value. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00038">38</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a1481b122a7ce5a618012b1133c6adedf" name="a1481b122a7ce5a618012b1133c6adedf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1481b122a7ce5a618012b1133c6adedf">&#9670;&nbsp;</a></span>DecodedSignalValue()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">DecodedSignalValue::DecodedSignalValue </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00044">44</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="acadc3b3bb21dd6b0412d342c7e6b20d7" name="acadc3b3bb21dd6b0412d342c7e6b20d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acadc3b3bb21dd6b0412d342c7e6b20d7">&#9670;&nbsp;</a></span>definition</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="structDecodeSignal.html">DecodeSignal</a>* DecodedSignalValue::definition</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signal definition. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00039">39</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="a6847d05b3cb00d5e0f6c611968f57978" name="a6847d05b3cb00d5e0f6c611968f57978"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6847d05b3cb00d5e0f6c611968f57978">&#9670;&nbsp;</a></span>physicalValue</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double DecodedSignalValue::physicalValue</td>
</tr>
</table>
</div><div class="memdoc">
<p >Converted physical value. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00041">41</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="a5138b825940e34689f7b3891627ee9ec" name="a5138b825940e34689f7b3891627ee9ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5138b825940e34689f7b3891627ee9ec">&#9670;&nbsp;</a></span>rawValue</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::int64_t DecodedSignalValue::rawValue</td>
</tr>
</table>
</div><div class="memdoc">
<p >Extracted raw integer value. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00040">40</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<a id="aac0ed361af545cde48d0e6f41a859686" name="aac0ed361af545cde48d0e6f41a859686"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac0ed361af545cde48d0e6f41a859686">&#9670;&nbsp;</a></span>valid</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool DecodedSignalValue::valid</td>
</tr>
</table>
</div><div class="memdoc">
<p >true if decoding succeeded. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00042">42</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00075">PrintDecodedFrame()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,70 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">FrameInfo Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structFrameInfo.html">FrameInfo</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">comment</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">dlc</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61">FrameInfo</a>()</td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">hasPgn</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">name</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">pgn</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">transmitter</a></td><td class="entry"><a class="el" href="structFrameInfo.html">FrameInfo</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,300 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: FrameInfo Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structFrameInfo-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">FrameInfo Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Describes one CAN frame from a DBC file.
<a href="structFrameInfo.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="frame__info_8h_source.html">frame_info.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a7f2d192b7969f7b60479a48e1f7eba61"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#a7f2d192b7969f7b60479a48e1f7eba61">FrameInfo</a> ()</td></tr>
<tr class="separator:a7f2d192b7969f7b60479a48e1f7eba61"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">name</a></td></tr>
<tr class="separator:abb53a7f93ed7abc0ea1ae4a8ccafcdcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af470b0742c05bfbffc31c51a68f5c05e"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#af470b0742c05bfbffc31c51a68f5c05e">canId</a></td></tr>
<tr class="separator:af470b0742c05bfbffc31c51a68f5c05e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34b726afaad2ac5c697fdb2ac070cdaf"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#a34b726afaad2ac5c697fdb2ac070cdaf">isExtended</a></td></tr>
<tr class="separator:a34b726afaad2ac5c697fdb2ac070cdaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee518b33f1000bf0b7f6e4a87474c943"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#aee518b33f1000bf0b7f6e4a87474c943">pgn</a></td></tr>
<tr class="separator:aee518b33f1000bf0b7f6e4a87474c943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4737a5420213ad4304724e39f3a4e55d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#a4737a5420213ad4304724e39f3a4e55d">hasPgn</a></td></tr>
<tr class="separator:a4737a5420213ad4304724e39f3a4e55d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2b198ea0f55e560c123d35e7b3ecab9"><td class="memItemLeft" align="right" valign="top">std::uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#aa2b198ea0f55e560c123d35e7b3ecab9">dlc</a></td></tr>
<tr class="separator:aa2b198ea0f55e560c123d35e7b3ecab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92749ec3798d4211a505860fb389a9e8"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#a92749ec3798d4211a505860fb389a9e8">transmitter</a></td></tr>
<tr class="separator:a92749ec3798d4211a505860fb389a9e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace75121294f9d89b762080ab5643293c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#ace75121294f9d89b762080ab5643293c">comment</a></td></tr>
<tr class="separator:ace75121294f9d89b762080ab5643293c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a942937027f1af06536f98cc23b2bf6ce"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structSignalInfo.html">SignalInfo</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameInfo.html#a942937027f1af06536f98cc23b2bf6ce">signals</a></td></tr>
<tr class="separator:a942937027f1af06536f98cc23b2bf6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Describes one CAN frame from a DBC file. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00024">24</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a7f2d192b7969f7b60479a48e1f7eba61" name="a7f2d192b7969f7b60479a48e1f7eba61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f2d192b7969f7b60479a48e1f7eba61">&#9670;&nbsp;</a></span>FrameInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">FrameInfo::FrameInfo </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00035">35</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="af470b0742c05bfbffc31c51a68f5c05e" name="af470b0742c05bfbffc31c51a68f5c05e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af470b0742c05bfbffc31c51a68f5c05e">&#9670;&nbsp;</a></span>canId</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t FrameInfo::canId</td>
</tr>
</table>
</div><div class="memdoc">
<p >Normalized CAN identifier. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00026">26</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00142">DbcParser::ParseFrameLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="ace75121294f9d89b762080ab5643293c" name="ace75121294f9d89b762080ab5643293c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace75121294f9d89b762080ab5643293c">&#9670;&nbsp;</a></span>comment</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string FrameInfo::comment</td>
</tr>
</table>
</div><div class="memdoc">
<p >Optional frame comment. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00032">32</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00274">DbcParser::ParseCommentLine()</a>.</p>
</div>
</div>
<a id="aa2b198ea0f55e560c123d35e7b3ecab9" name="aa2b198ea0f55e560c123d35e7b3ecab9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2b198ea0f55e560c123d35e7b3ecab9">&#9670;&nbsp;</a></span>dlc</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint8_t FrameInfo::dlc</td>
</tr>
</table>
</div><div class="memdoc">
<p >Frame payload length. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00030">30</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00142">DbcParser::ParseFrameLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="a4737a5420213ad4304724e39f3a4e55d" name="a4737a5420213ad4304724e39f3a4e55d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4737a5420213ad4304724e39f3a4e55d">&#9670;&nbsp;</a></span>hasPgn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FrameInfo::hasPgn</td>
</tr>
</table>
</div><div class="memdoc">
<p >true if PGN was derived. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00029">29</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00142">DbcParser::ParseFrameLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="a34b726afaad2ac5c697fdb2ac070cdaf" name="a34b726afaad2ac5c697fdb2ac070cdaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34b726afaad2ac5c697fdb2ac070cdaf">&#9670;&nbsp;</a></span>isExtended</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FrameInfo::isExtended</td>
</tr>
</table>
</div><div class="memdoc">
<p >true for extended frame. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00027">27</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00142">DbcParser::ParseFrameLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="abb53a7f93ed7abc0ea1ae4a8ccafcdcb" name="abb53a7f93ed7abc0ea1ae4a8ccafcdcb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb53a7f93ed7abc0ea1ae4a8ccafcdcb">&#9670;&nbsp;</a></span>name</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string FrameInfo::name</td>
</tr>
</table>
</div><div class="memdoc">
<p >Frame name. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00025">25</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00142">DbcParser::ParseFrameLine()</a>.</p>
</div>
</div>
<a id="aee518b33f1000bf0b7f6e4a87474c943" name="aee518b33f1000bf0b7f6e4a87474c943"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee518b33f1000bf0b7f6e4a87474c943">&#9670;&nbsp;</a></span>pgn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t FrameInfo::pgn</td>
</tr>
</table>
</div><div class="memdoc">
<p >J1939 PGN if applicable. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00028">28</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00142">DbcParser::ParseFrameLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="a942937027f1af06536f98cc23b2bf6ce" name="a942937027f1af06536f98cc23b2bf6ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a942937027f1af06536f98cc23b2bf6ce">&#9670;&nbsp;</a></span>signals</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;<a class="el" href="structSignalInfo.html">SignalInfo</a>&gt; FrameInfo::signals</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signals contained in the frame. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00033">33</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__tree__builder_8cpp_source.html#l00014">DbcTreeBuilder::Build()</a>, <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00349">DbcParser::FindSignalByName()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00040">DbcParser::ParseFile()</a>.</p>
</div>
</div>
<a id="a92749ec3798d4211a505860fb389a9e8" name="a92749ec3798d4211a505860fb389a9e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92749ec3798d4211a505860fb389a9e8">&#9670;&nbsp;</a></span>transmitter</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string FrameInfo::transmitter</td>
</tr>
</table>
</div><div class="memdoc">
<p >Transmitter ECU name. </p>
<p class="definition">Definition at line <a class="el" href="frame__info_8h_source.html#l00031">31</a> of file <a class="el" href="frame__info_8h_source.html">frame_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00142">DbcParser::ParseFrameLine()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="frame__info_8h_source.html">frame_info.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,65 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">FrameKey Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structFrameKey.html">FrameKey</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a></td><td class="entry"><a class="el" href="structFrameKey.html">FrameKey</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14">FrameKey</a>()</td><td class="entry"><a class="el" href="structFrameKey.html">FrameKey</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670">FrameKey</a>(std::uint32_t id, bool extended)</td><td class="entry"><a class="el" href="structFrameKey.html">FrameKey</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a></td><td class="entry"><a class="el" href="structFrameKey.html">FrameKey</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f">operator==</a>(const FrameKey &amp;other) const</td><td class="entry"><a class="el" href="structFrameKey.html">FrameKey</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,224 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: FrameKey Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structFrameKey-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">FrameKey Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Key for fast frame lookup.
<a href="structFrameKey.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="decode__database_8h_source.html">decode_database.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0e9aad56b251cdf802d45a9c19050b14"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKey.html#a0e9aad56b251cdf802d45a9c19050b14">FrameKey</a> ()</td></tr>
<tr class="separator:a0e9aad56b251cdf802d45a9c19050b14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33bde405c7ea53000d54b3dd6e058670"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKey.html#a33bde405c7ea53000d54b3dd6e058670">FrameKey</a> (std::uint32_t id, bool extended)</td></tr>
<tr class="separator:a33bde405c7ea53000d54b3dd6e058670"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaec9f914e127787247fcda5e183b01f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKey.html#aaaec9f914e127787247fcda5e183b01f">operator==</a> (const <a class="el" href="structFrameKey.html">FrameKey</a> &amp;other) const</td></tr>
<tr class="separator:aaaec9f914e127787247fcda5e183b01f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a022917652b4d3c2f2dfcc5a13ab7caa4"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKey.html#a022917652b4d3c2f2dfcc5a13ab7caa4">canId</a></td></tr>
<tr class="separator:a022917652b4d3c2f2dfcc5a13ab7caa4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3179b709d02ef70cf0e736f040a2145"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKey.html#aa3179b709d02ef70cf0e736f040a2145">isExtended</a></td></tr>
<tr class="separator:aa3179b709d02ef70cf0e736f040a2145"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Key for fast frame lookup. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00099">99</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a0e9aad56b251cdf802d45a9c19050b14" name="a0e9aad56b251cdf802d45a9c19050b14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e9aad56b251cdf802d45a9c19050b14">&#9670;&nbsp;</a></span>FrameKey() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">FrameKey::FrameKey </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00103">103</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div>
</div>
<a id="a33bde405c7ea53000d54b3dd6e058670" name="a33bde405c7ea53000d54b3dd6e058670"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33bde405c7ea53000d54b3dd6e058670">&#9670;&nbsp;</a></span>FrameKey() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">FrameKey::FrameKey </td>
<td>(</td>
<td class="paramtype">std::uint32_t&#160;</td>
<td class="paramname"><em>id</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>extended</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00108">108</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aaaec9f914e127787247fcda5e183b01f" name="aaaec9f914e127787247fcda5e183b01f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaec9f914e127787247fcda5e183b01f">&#9670;&nbsp;</a></span>operator==()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool FrameKey::operator== </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structFrameKey.html">FrameKey</a> &amp;&#160;</td>
<td class="paramname"><em>other</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00113">113</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">References <a class="el" href="decode__database_8h_source.html#l00100">canId</a>, and <a class="el" href="decode__database_8h_source.html#l00101">isExtended</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a022917652b4d3c2f2dfcc5a13ab7caa4" name="a022917652b4d3c2f2dfcc5a13ab7caa4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a022917652b4d3c2f2dfcc5a13ab7caa4">&#9670;&nbsp;</a></span>canId</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t FrameKey::canId</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00100">100</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="decode__database_8h_source.html#l00122">FrameKeyHasher::operator()()</a>, and <a class="el" href="decode__database_8h_source.html#l00113">operator==()</a>.</p>
</div>
</div>
<a id="aa3179b709d02ef70cf0e736f040a2145" name="aa3179b709d02ef70cf0e736f040a2145"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3179b709d02ef70cf0e736f040a2145">&#9670;&nbsp;</a></span>isExtended</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool FrameKey::isExtended</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00101">101</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="decode__database_8h_source.html#l00122">FrameKeyHasher::operator()()</a>, and <a class="el" href="decode__database_8h_source.html#l00113">operator==()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="decode__database_8h_source.html">decode_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">FrameKeyHasher Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structFrameKeyHasher.html">FrameKeyHasher</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f">operator()</a>(const FrameKey &amp;key) const</td><td class="entry"><a class="el" href="structFrameKeyHasher.html">FrameKeyHasher</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,109 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: FrameKeyHasher Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="structFrameKeyHasher-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">FrameKeyHasher Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Hasher for frame key.
<a href="structFrameKeyHasher.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="decode__database_8h_source.html">decode_database.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1612ce56b513790e3ed4c06ec7d28b9f"><td class="memItemLeft" align="right" valign="top">std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFrameKeyHasher.html#a1612ce56b513790e3ed4c06ec7d28b9f">operator()</a> (const <a class="el" href="structFrameKey.html">FrameKey</a> &amp;key) const</td></tr>
<tr class="separator:a1612ce56b513790e3ed4c06ec7d28b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Hasher for frame key. </p>
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00121">121</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a1612ce56b513790e3ed4c06ec7d28b9f" name="a1612ce56b513790e3ed4c06ec7d28b9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1612ce56b513790e3ed4c06ec7d28b9f">&#9670;&nbsp;</a></span>operator()()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::size_t FrameKeyHasher::operator() </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structFrameKey.html">FrameKey</a> &amp;&#160;</td>
<td class="paramname"><em>key</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="decode__database_8h_source.html#l00122">122</a> of file <a class="el" href="decode__database_8h_source.html">decode_database.h</a>.</p>
<p class="reference">References <a class="el" href="decode__database_8h_source.html#l00100">FrameKey::canId</a>, and <a class="el" href="decode__database_8h_source.html#l00101">FrameKey::isExtended</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="decode__database_8h_source.html">decode_database.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">RawCanFrame Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structRawCanFrame.html">RawCanFrame</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">canId</a></td><td class="entry"><a class="el" href="structRawCanFrame.html">RawCanFrame</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">data</a></td><td class="entry"><a class="el" href="structRawCanFrame.html">RawCanFrame</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">isExtended</a></td><td class="entry"><a class="el" href="structRawCanFrame.html">RawCanFrame</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7">RawCanFrame</a>()</td><td class="entry"><a class="el" href="structRawCanFrame.html">RawCanFrame</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,174 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: RawCanFrame Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structRawCanFrame-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">RawCanFrame Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Raw CAN frame used for runtime or trace decoding.
<a href="structRawCanFrame.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a17d18b39bed45e69f4e17ae2838f07f7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRawCanFrame.html#a17d18b39bed45e69f4e17ae2838f07f7">RawCanFrame</a> ()</td></tr>
<tr class="separator:a17d18b39bed45e69f4e17ae2838f07f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRawCanFrame.html#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">canId</a></td></tr>
<tr class="separator:a2d0e7fa0e3d5c20bbed55ed8f7888ff4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a462193d275adc1dba8bd18ffa0e36bb7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRawCanFrame.html#a462193d275adc1dba8bd18ffa0e36bb7">isExtended</a></td></tr>
<tr class="separator:a462193d275adc1dba8bd18ffa0e36bb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0acb487612104c99c9907344c035df83"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structRawCanFrame.html#a0acb487612104c99c9907344c035df83">data</a></td></tr>
<tr class="separator:a0acb487612104c99c9907344c035df83"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Raw CAN frame used for runtime or trace decoding. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00023">23</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a17d18b39bed45e69f4e17ae2838f07f7" name="a17d18b39bed45e69f4e17ae2838f07f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a17d18b39bed45e69f4e17ae2838f07f7">&#9670;&nbsp;</a></span>RawCanFrame()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RawCanFrame::RawCanFrame </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00028">28</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a2d0e7fa0e3d5c20bbed55ed8f7888ff4" name="a2d0e7fa0e3d5c20bbed55ed8f7888ff4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d0e7fa0e3d5c20bbed55ed8f7888ff4">&#9670;&nbsp;</a></span>canId</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t RawCanFrame::canId</td>
</tr>
</table>
</div><div class="memdoc">
<p >Normalized CAN ID. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00024">24</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<a id="a0acb487612104c99c9907344c035df83" name="a0acb487612104c99c9907344c035df83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0acb487612104c99c9907344c035df83">&#9670;&nbsp;</a></span>data</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::uint8_t&gt; RawCanFrame::data</td>
</tr>
</table>
</div><div class="memdoc">
<p >Payload bytes. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00026">26</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<a id="a462193d275adc1dba8bd18ffa0e36bb7" name="a462193d275adc1dba8bd18ffa0e36bb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a462193d275adc1dba8bd18ffa0e36bb7">&#9670;&nbsp;</a></span>isExtended</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool RawCanFrame::isExtended</td>
</tr>
</table>
</div><div class="memdoc">
<p >true for extended frame. </p>
<p class="definition">Definition at line <a class="el" href="dbc__decoder_8h_source.html#l00025">25</a> of file <a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decoder_8cpp_source.html#l00031">DbcDecoder::Decode()</a>, and <a class="el" href="main_8cpp_source.html#l00097">main()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="dbc__decoder_8h_source.html">dbc_decoder.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,73 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: Member List</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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle"><div class="title">SignalInfo Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="structSignalInfo.html">SignalInfo</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">comment</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">factor</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">isLittleEndian</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">isSigned</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">length</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">maximum</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">minimum</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">name</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">offset</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">receivers</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e">SignalInfo</a>()</td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">startBit</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">unit</a></td><td class="entry"><a class="el" href="structSignalInfo.html">SignalInfo</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

View File

@@ -0,0 +1,363 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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=11"/>
<meta name="generator" content="Doxygen 1.9.4"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>DBC framework: SignalInfo Struct 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="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 id="projectrow">
<td id="projectalign">
<div id="projectname">DBC framework
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.4 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li class="current"><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="annotated.html"><span>Class&#160;List</span></a></li>
<li><a href="classes.html"><span>Class&#160;Index</span></a></li>
<li><a href="functions.html"><span>Class&#160;Members</span></a></li>
</ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structSignalInfo-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">SignalInfo Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Describes one signal inside a DBC frame.
<a href="structSignalInfo.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="signal__info_8h_source.html">signal_info.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa2d2cd238118015258e271dce92a971e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#aa2d2cd238118015258e271dce92a971e">SignalInfo</a> ()</td></tr>
<tr class="separator:aa2d2cd238118015258e271dce92a971e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a379e422a00cad56f896cacf60455b088"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#a379e422a00cad56f896cacf60455b088">name</a></td></tr>
<tr class="separator:a379e422a00cad56f896cacf60455b088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace290724f9801521609aedaa946d61f1"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#ace290724f9801521609aedaa946d61f1">startBit</a></td></tr>
<tr class="separator:ace290724f9801521609aedaa946d61f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1008b5201f71848177217bd52fb84baa"><td class="memItemLeft" align="right" valign="top">std::uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#a1008b5201f71848177217bd52fb84baa">length</a></td></tr>
<tr class="separator:a1008b5201f71848177217bd52fb84baa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af363b1563fb4c7cc8973f9a80c06846c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#af363b1563fb4c7cc8973f9a80c06846c">isLittleEndian</a></td></tr>
<tr class="separator:af363b1563fb4c7cc8973f9a80c06846c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52a52b320eef92fbcb4626307f9a498f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#a52a52b320eef92fbcb4626307f9a498f">isSigned</a></td></tr>
<tr class="separator:a52a52b320eef92fbcb4626307f9a498f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4f78d99a2750aa564d7eba860171499"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#ae4f78d99a2750aa564d7eba860171499">factor</a></td></tr>
<tr class="separator:ae4f78d99a2750aa564d7eba860171499"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7d0769f47aa540656b22e4e49db517e"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#ab7d0769f47aa540656b22e4e49db517e">offset</a></td></tr>
<tr class="separator:ab7d0769f47aa540656b22e4e49db517e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada7bf94fbeaa26bd08c73982b5af255b"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#ada7bf94fbeaa26bd08c73982b5af255b">minimum</a></td></tr>
<tr class="separator:ada7bf94fbeaa26bd08c73982b5af255b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf1c4331b9eabced0d7fdda40ff0eb52"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#adf1c4331b9eabced0d7fdda40ff0eb52">maximum</a></td></tr>
<tr class="separator:adf1c4331b9eabced0d7fdda40ff0eb52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f214f03e94ef5794de2d3367bfcbd01"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#a1f214f03e94ef5794de2d3367bfcbd01">unit</a></td></tr>
<tr class="separator:a1f214f03e94ef5794de2d3367bfcbd01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c95562fd0b29327a7fd7b1e6feee7f3"><td class="memItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#a2c95562fd0b29327a7fd7b1e6feee7f3">receivers</a></td></tr>
<tr class="separator:a2c95562fd0b29327a7fd7b1e6feee7f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac99ba7563a5dad01e39c4257216953f5"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSignalInfo.html#ac99ba7563a5dad01e39c4257216953f5">comment</a></td></tr>
<tr class="separator:ac99ba7563a5dad01e39c4257216953f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p >Describes one signal inside a DBC frame. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00022">22</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aa2d2cd238118015258e271dce92a971e" name="aa2d2cd238118015258e271dce92a971e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2d2cd238118015258e271dce92a971e">&#9670;&nbsp;</a></span>SignalInfo()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">SignalInfo::SignalInfo </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00036">36</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ac99ba7563a5dad01e39c4257216953f5" name="ac99ba7563a5dad01e39c4257216953f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac99ba7563a5dad01e39c4257216953f5">&#9670;&nbsp;</a></span>comment</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string SignalInfo::comment</td>
</tr>
</table>
</div><div class="memdoc">
<p >Optional signal comment. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00034">34</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00274">DbcParser::ParseCommentLine()</a>.</p>
</div>
</div>
<a id="ae4f78d99a2750aa564d7eba860171499" name="ae4f78d99a2750aa564d7eba860171499"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae4f78d99a2750aa564d7eba860171499">&#9670;&nbsp;</a></span>factor</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double SignalInfo::factor</td>
</tr>
</table>
</div><div class="memdoc">
<p >Scaling factor. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00028">28</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="af363b1563fb4c7cc8973f9a80c06846c" name="af363b1563fb4c7cc8973f9a80c06846c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af363b1563fb4c7cc8973f9a80c06846c">&#9670;&nbsp;</a></span>isLittleEndian</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SignalInfo::isLittleEndian</td>
</tr>
</table>
</div><div class="memdoc">
<p >true for Intel, false for Motorola. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00026">26</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="a52a52b320eef92fbcb4626307f9a498f" name="a52a52b320eef92fbcb4626307f9a498f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52a52b320eef92fbcb4626307f9a498f">&#9670;&nbsp;</a></span>isSigned</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool SignalInfo::isSigned</td>
</tr>
</table>
</div><div class="memdoc">
<p >true if signal is signed. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00027">27</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="a1008b5201f71848177217bd52fb84baa" name="a1008b5201f71848177217bd52fb84baa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1008b5201f71848177217bd52fb84baa">&#9670;&nbsp;</a></span>length</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t SignalInfo::length</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signal length in bits. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00025">25</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="adf1c4331b9eabced0d7fdda40ff0eb52" name="adf1c4331b9eabced0d7fdda40ff0eb52"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adf1c4331b9eabced0d7fdda40ff0eb52">&#9670;&nbsp;</a></span>maximum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double SignalInfo::maximum</td>
</tr>
</table>
</div><div class="memdoc">
<p >Maximum physical value. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00031">31</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="ada7bf94fbeaa26bd08c73982b5af255b" name="ada7bf94fbeaa26bd08c73982b5af255b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada7bf94fbeaa26bd08c73982b5af255b">&#9670;&nbsp;</a></span>minimum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double SignalInfo::minimum</td>
</tr>
</table>
</div><div class="memdoc">
<p >Minimum physical value. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00030">30</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="a379e422a00cad56f896cacf60455b088" name="a379e422a00cad56f896cacf60455b088"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a379e422a00cad56f896cacf60455b088">&#9670;&nbsp;</a></span>name</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string SignalInfo::name</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signal name. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00023">23</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="ab7d0769f47aa540656b22e4e49db517e" name="ab7d0769f47aa540656b22e4e49db517e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab7d0769f47aa540656b22e4e49db517e">&#9670;&nbsp;</a></span>offset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double SignalInfo::offset</td>
</tr>
</table>
</div><div class="memdoc">
<p >Physical offset. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00029">29</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="a2c95562fd0b29327a7fd7b1e6feee7f3" name="a2c95562fd0b29327a7fd7b1e6feee7f3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c95562fd0b29327a7fd7b1e6feee7f3">&#9670;&nbsp;</a></span>receivers</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::vector&lt;std::string&gt; SignalInfo::receivers</td>
</tr>
</table>
</div><div class="memdoc">
<p >Signal receivers. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00033">33</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, and <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>.</p>
</div>
</div>
<a id="ace290724f9801521609aedaa946d61f1" name="ace290724f9801521609aedaa946d61f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace290724f9801521609aedaa946d61f1">&#9670;&nbsp;</a></span>startBit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::uint32_t SignalInfo::startBit</td>
</tr>
</table>
</div><div class="memdoc">
<p >Start bit in DBC notation. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00024">24</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<a id="a1f214f03e94ef5794de2d3367bfcbd01" name="a1f214f03e94ef5794de2d3367bfcbd01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f214f03e94ef5794de2d3367bfcbd01">&#9670;&nbsp;</a></span>unit</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">std::string SignalInfo::unit</td>
</tr>
</table>
</div><div class="memdoc">
<p >Physical unit. </p>
<p class="definition">Definition at line <a class="el" href="signal__info_8h_source.html#l00032">32</a> of file <a class="el" href="signal__info_8h_source.html">signal_info.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="dbc__decode__builder_8cpp_source.html#l00014">DbcDecodeBuilder::Build()</a>, <a class="el" href="dbc__parser_8cpp_source.html#l00181">DbcParser::ParseSignalLine()</a>, and <a class="el" href="main_8cpp_source.html#l00023">PrintTree()</a>.</p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="signal__info_8h_source.html">signal_info.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Jun 14 2026 20:49:34 for DBC framework by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.4
</small></address>
</body>
</html>

BIN
docs/html/sync_off.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

BIN
docs/html/sync_on.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

BIN
docs/html/tab_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

Some files were not shown because too many files have changed in this diff Show More