Generated foxygen documentation. Closes #1
This commit is contained in:
27
docs/latex/Makefile
Normal file
27
docs/latex/Makefile
Normal file
@@ -0,0 +1,27 @@
|
||||
LATEX_CMD?=pdflatex
|
||||
MKIDX_CMD?=makeindex
|
||||
BIBTEX_CMD?=bibtex
|
||||
LATEX_COUNT?=8
|
||||
MANUAL_FILE?=refman
|
||||
|
||||
all: $(MANUAL_FILE).pdf
|
||||
|
||||
pdf: $(MANUAL_FILE).pdf
|
||||
|
||||
$(MANUAL_FILE).pdf: clean $(MANUAL_FILE).tex
|
||||
$(LATEX_CMD) $(MANUAL_FILE)
|
||||
$(MKIDX_CMD) $(MANUAL_FILE).idx
|
||||
$(LATEX_CMD) $(MANUAL_FILE)
|
||||
latex_count=$(LATEX_COUNT) ; \
|
||||
while egrep -s 'Rerun (LaTeX|to get cross-references right|to get bibliographical references right)' $(MANUAL_FILE).log && [ $$latex_count -gt 0 ] ;\
|
||||
do \
|
||||
echo "Rerunning latex...." ;\
|
||||
$(LATEX_CMD) $(MANUAL_FILE) ;\
|
||||
latex_count=`expr $$latex_count - 1` ;\
|
||||
done
|
||||
$(MKIDX_CMD) $(MANUAL_FILE).idx
|
||||
$(LATEX_CMD) $(MANUAL_FILE)
|
||||
|
||||
|
||||
clean:
|
||||
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl $(MANUAL_FILE).pdf
|
||||
2
docs/latex/README_8md.tex
Normal file
2
docs/latex/README_8md.tex
Normal file
@@ -0,0 +1,2 @@
|
||||
\hypertarget{README_8md}{}\doxysection{README.\+md File Reference}
|
||||
\label{README_8md}\index{README.md@{README.md}}
|
||||
19
docs/latex/annotated.tex
Normal file
19
docs/latex/annotated.tex
Normal file
@@ -0,0 +1,19 @@
|
||||
\doxysection{Class List}
|
||||
Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \\*Parsed DBC content stored in a simple internal form }{\pageref{structDbcDatabase}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classDbcDecodeBuilder}{Dbc\+Decode\+Builder}} \\*Converts parsed DBC data into runtime decode database }{\pageref{classDbcDecodeBuilder}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classDbcDecoder}{Dbc\+Decoder}} \\*Runtime CAN decoder using prebuilt decode database }{\pageref{classDbcDecoder}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classDbcParser}{Dbc\+Parser}} \\*Minimal DBC parser }{\pageref{classDbcParser}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classDbcTreeBuilder}{Dbc\+Tree\+Builder}} \\*Builds a simple tree from parsed DBC database }{\pageref{classDbcTreeBuilder}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}} \\*Runtime decode database with fast lookup by CAN ID }{\pageref{structDecodeDatabase}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structDecodedFrameValue}{Decoded\+Frame\+Value}} \\*Fully decoded frame }{\pageref{structDecodedFrameValue}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structDecodedSignalValue}{Decoded\+Signal\+Value}} \\*One decoded signal value }{\pageref{structDecodedSignalValue}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}} \\*Runtime-\/ready frame definition }{\pageref{structDecodeFrame}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}} \\*Runtime-\/ready signal definition }{\pageref{structDecodeSignal}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structFrameInfo}{Frame\+Info}} \\*Describes one CAN frame from a DBC file }{\pageref{structFrameInfo}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structFrameKey}{Frame\+Key}} \\*Key for fast frame lookup }{\pageref{structFrameKey}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structFrameKeyHasher}{Frame\+Key\+Hasher}} \\*Hasher for frame key }{\pageref{structFrameKeyHasher}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structRawCanFrame}{Raw\+Can\+Frame}} \\*Raw CAN frame used for runtime or trace decoding }{\pageref{structRawCanFrame}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{structSignalInfo}{Signal\+Info}} \\*Describes one signal inside a DBC frame }{\pageref{structSignalInfo}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{classTreeNode}{Tree\+Node}} \\*Tree node for later use in model/view or other hierarchy consumers }{\pageref{classTreeNode}}{}
|
||||
\end{DoxyCompactList}
|
||||
62
docs/latex/classDbcDecodeBuilder.tex
Normal file
62
docs/latex/classDbcDecodeBuilder.tex
Normal file
@@ -0,0 +1,62 @@
|
||||
\hypertarget{classDbcDecodeBuilder}{}\doxysection{Dbc\+Decode\+Builder Class Reference}
|
||||
\label{classDbcDecodeBuilder}\index{DbcDecodeBuilder@{DbcDecodeBuilder}}
|
||||
|
||||
|
||||
Converts parsed DBC data into runtime decode database.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+decode\+\_\+builder.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}} \mbox{\hyperlink{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}{Build}} (const \mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&source) const
|
||||
\begin{DoxyCompactList}\small\item\em Build runtime decode database. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Converts parsed DBC data into runtime decode database.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decode__builder_8h_source_l00021}{21}} of file \mbox{\hyperlink{dbc__decode__builder_8h_source}{dbc\+\_\+decode\+\_\+builder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}\label{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}}
|
||||
\index{DbcDecodeBuilder@{DbcDecodeBuilder}!Build@{Build}}
|
||||
\index{Build@{Build}!DbcDecodeBuilder@{DbcDecodeBuilder}}
|
||||
\doxysubsubsection{\texorpdfstring{Build()}{Build()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}} Dbc\+Decode\+Builder\+::\+Build (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&}]{source }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Build runtime decode database.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em source} & Parsed DBC database. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Runtime-\/ready decode database.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{14}} of file \mbox{\hyperlink{dbc__decode__builder_8cpp_source}{dbc\+\_\+decode\+\_\+builder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{decode__database_8h_source_l00043}{Decode\+Signal\+::byte\+Order}}, \mbox{\hyperlink{decode__database_8h_source_l00074}{Decode\+Frame\+::can\+Id}}, \mbox{\hyperlink{frame__info_8h_source_l00026}{Frame\+Info\+::can\+Id}}, \mbox{\hyperlink{decode__database_8h_source_l00051}{Decode\+Signal\+::comment}}, \mbox{\hyperlink{decode__database_8h_source_l00080}{Decode\+Frame\+::comment}}, \mbox{\hyperlink{frame__info_8h_source_l00032}{Frame\+Info\+::comment}}, \mbox{\hyperlink{signal__info_8h_source_l00034}{Signal\+Info\+::comment}}, \mbox{\hyperlink{decode__database_8h_source_l00076}{Decode\+Frame\+::dlc}}, \mbox{\hyperlink{frame__info_8h_source_l00030}{Frame\+Info\+::dlc}}, \mbox{\hyperlink{decode__database_8h_source_l00045}{Decode\+Signal\+::factor}}, \mbox{\hyperlink{signal__info_8h_source_l00028}{Signal\+Info\+::factor}}, \mbox{\hyperlink{decode__database_8h_source_l00134}{Decode\+Database\+::frame\+Index\+By\+Key}}, \mbox{\hyperlink{dbc__database_8h_source_l00023}{Dbc\+Database\+::frames}}, \mbox{\hyperlink{decode__database_8h_source_l00133}{Decode\+Database\+::frames}}, \mbox{\hyperlink{decode__database_8h_source_l00078}{Decode\+Frame\+::has\+Pgn}}, \mbox{\hyperlink{frame__info_8h_source_l00029}{Frame\+Info\+::has\+Pgn}}, \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}{Intel}}, \mbox{\hyperlink{decode__database_8h_source_l00075}{Decode\+Frame\+::is\+Extended}}, \mbox{\hyperlink{frame__info_8h_source_l00027}{Frame\+Info\+::is\+Extended}}, \mbox{\hyperlink{signal__info_8h_source_l00026}{Signal\+Info\+::is\+Little\+Endian}}, \mbox{\hyperlink{signal__info_8h_source_l00027}{Signal\+Info\+::is\+Signed}}, \mbox{\hyperlink{decode__database_8h_source_l00042}{Decode\+Signal\+::length}}, \mbox{\hyperlink{signal__info_8h_source_l00025}{Signal\+Info\+::length}}, \mbox{\hyperlink{decode__database_8h_source_l00048}{Decode\+Signal\+::maximum}}, \mbox{\hyperlink{signal__info_8h_source_l00031}{Signal\+Info\+::maximum}}, \mbox{\hyperlink{decode__database_8h_source_l00047}{Decode\+Signal\+::minimum}}, \mbox{\hyperlink{signal__info_8h_source_l00030}{Signal\+Info\+::minimum}}, \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31}{Motorola}}, \mbox{\hyperlink{decode__database_8h_source_l00040}{Decode\+Signal\+::name}}, \mbox{\hyperlink{decode__database_8h_source_l00073}{Decode\+Frame\+::name}}, \mbox{\hyperlink{frame__info_8h_source_l00025}{Frame\+Info\+::name}}, \mbox{\hyperlink{signal__info_8h_source_l00023}{Signal\+Info\+::name}}, \mbox{\hyperlink{decode__database_8h_source_l00046}{Decode\+Signal\+::offset}}, \mbox{\hyperlink{signal__info_8h_source_l00029}{Signal\+Info\+::offset}}, \mbox{\hyperlink{decode__database_8h_source_l00077}{Decode\+Frame\+::pgn}}, \mbox{\hyperlink{frame__info_8h_source_l00028}{Frame\+Info\+::pgn}}, \mbox{\hyperlink{decode__database_8h_source_l00050}{Decode\+Signal\+::receivers}}, \mbox{\hyperlink{signal__info_8h_source_l00033}{Signal\+Info\+::receivers}}, \mbox{\hyperlink{decode__database_8h_source_l00081}{Decode\+Frame\+::signals}}, \mbox{\hyperlink{frame__info_8h_source_l00033}{Frame\+Info\+::signals}}, \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}{Signed}}, \mbox{\hyperlink{decode__database_8h_source_l00041}{Decode\+Signal\+::start\+Bit}}, \mbox{\hyperlink{signal__info_8h_source_l00024}{Signal\+Info\+::start\+Bit}}, \mbox{\hyperlink{decode__database_8h_source_l00079}{Decode\+Frame\+::transmitter}}, \mbox{\hyperlink{frame__info_8h_source_l00031}{Frame\+Info\+::transmitter}}, \mbox{\hyperlink{decode__database_8h_source_l00049}{Decode\+Signal\+::unit}}, \mbox{\hyperlink{signal__info_8h_source_l00032}{Signal\+Info\+::unit}}, \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a}{Unsigned}}, and \mbox{\hyperlink{decode__database_8h_source_l00044}{Decode\+Signal\+::value\+Type}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__decode__builder_8h}{dbc\+\_\+decode\+\_\+builder.\+h}}\item
|
||||
\mbox{\hyperlink{dbc__decode__builder_8cpp}{dbc\+\_\+decode\+\_\+builder.\+cpp}}\end{DoxyCompactItemize}
|
||||
171
docs/latex/classDbcDecoder.tex
Normal file
171
docs/latex/classDbcDecoder.tex
Normal file
@@ -0,0 +1,171 @@
|
||||
\hypertarget{classDbcDecoder}{}\doxysection{Dbc\+Decoder Class Reference}
|
||||
\label{classDbcDecoder}\index{DbcDecoder@{DbcDecoder}}
|
||||
|
||||
|
||||
Runtime CAN decoder using prebuilt decode database.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+decoder.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
const \mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}} $\ast$ \mbox{\hyperlink{classDbcDecoder_ab2cfb2fb711c95d3a29365546b89f3da}{Find\+Frame}} (const \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}} \&database, std\+::uint32\+\_\+t can\+Id, bool is\+Extended) const
|
||||
\begin{DoxyCompactList}\small\item\em Find frame definition by CAN ID. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{structDecodedFrameValue}{Decoded\+Frame\+Value}} \mbox{\hyperlink{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}{Decode}} (const \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}} \&database, const \mbox{\hyperlink{structRawCanFrame}{Raw\+Can\+Frame}} \&frame) const
|
||||
\begin{DoxyCompactList}\small\item\em Decode one raw CAN frame. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Static Private Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
static bool \mbox{\hyperlink{classDbcDecoder_a2a8a99b1107543be6fd1b3f891130bf5}{Extract\+Unsigned}} (const std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&data, const \mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}} \&signal, std\+::uint64\+\_\+t \&value)
|
||||
\item
|
||||
static bool \mbox{\hyperlink{classDbcDecoder_aba130165c1a73bb4cd3a0454f415d872}{Extract\+Intel}} (const std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&data, std\+::uint32\+\_\+t start\+Bit, std\+::uint32\+\_\+t length, std\+::uint64\+\_\+t \&value)
|
||||
\item
|
||||
static bool \mbox{\hyperlink{classDbcDecoder_aede690734148c3d538105d5a2f7ee0a9}{Extract\+Motorola}} (const std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&data, std\+::uint32\+\_\+t start\+Bit, std\+::uint32\+\_\+t length, std\+::uint64\+\_\+t \&value)
|
||||
\item
|
||||
static std\+::int64\+\_\+t \mbox{\hyperlink{classDbcDecoder_a41e89e343338088d27e46773fa52df42}{Sign\+Extend}} (std\+::uint64\+\_\+t value, std\+::uint32\+\_\+t bit\+Length)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Runtime CAN decoder using prebuilt decode database.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00070}{70}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}\label{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}}
|
||||
\index{DbcDecoder@{DbcDecoder}!Decode@{Decode}}
|
||||
\index{Decode@{Decode}!DbcDecoder@{DbcDecoder}}
|
||||
\doxysubsubsection{\texorpdfstring{Decode()}{Decode()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structDecodedFrameValue}{Decoded\+Frame\+Value}} Dbc\+Decoder\+::\+Decode (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}} \&}]{database, }\item[{const \mbox{\hyperlink{structRawCanFrame}{Raw\+Can\+Frame}} \&}]{frame }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Decode one raw CAN frame.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em database} & Runtime decode database. \\
|
||||
\hline
|
||||
{\em frame} & Raw CAN frame. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Decoded frame value.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{31}} of file \mbox{\hyperlink{dbc__decoder_8cpp_source}{dbc\+\_\+decoder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__decoder_8h_source_l00024}{Raw\+Can\+Frame\+::can\+Id}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00026}{Raw\+Can\+Frame\+::data}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00039}{Decoded\+Signal\+Value\+::definition}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00056}{Decoded\+Frame\+Value\+::definition}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00070}{Extract\+Unsigned()}}, \mbox{\hyperlink{decode__database_8h_source_l00045}{Decode\+Signal\+::factor}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00014}{Find\+Frame()}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00025}{Raw\+Can\+Frame\+::is\+Extended}}, \mbox{\hyperlink{decode__database_8h_source_l00042}{Decode\+Signal\+::length}}, \mbox{\hyperlink{decode__database_8h_source_l00046}{Decode\+Signal\+::offset}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00041}{Decoded\+Signal\+Value\+::physical\+Value}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00040}{Decoded\+Signal\+Value\+::raw\+Value}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00057}{Decoded\+Frame\+Value\+::signals}}, \mbox{\hyperlink{decode__database_8h_source_l00081}{Decode\+Frame\+::signals}}, \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}{Signed}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00144}{Sign\+Extend()}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00042}{Decoded\+Signal\+Value\+::valid}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00058}{Decoded\+Frame\+Value\+::valid}}, and \mbox{\hyperlink{decode__database_8h_source_l00044}{Decode\+Signal\+::value\+Type}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcDecoder_aba130165c1a73bb4cd3a0454f415d872}\label{classDbcDecoder_aba130165c1a73bb4cd3a0454f415d872}}
|
||||
\index{DbcDecoder@{DbcDecoder}!ExtractIntel@{ExtractIntel}}
|
||||
\index{ExtractIntel@{ExtractIntel}!DbcDecoder@{DbcDecoder}}
|
||||
\doxysubsubsection{\texorpdfstring{ExtractIntel()}{ExtractIntel()}}
|
||||
{\footnotesize\ttfamily bool Dbc\+Decoder\+::\+Extract\+Intel (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&}]{data, }\item[{std\+::uint32\+\_\+t}]{start\+Bit, }\item[{std\+::uint32\+\_\+t}]{length, }\item[{std\+::uint64\+\_\+t \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8cpp_source_l00082}{82}} of file \mbox{\hyperlink{dbc__decoder_8cpp_source}{dbc\+\_\+decoder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00070}{Extract\+Unsigned()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcDecoder_aede690734148c3d538105d5a2f7ee0a9}\label{classDbcDecoder_aede690734148c3d538105d5a2f7ee0a9}}
|
||||
\index{DbcDecoder@{DbcDecoder}!ExtractMotorola@{ExtractMotorola}}
|
||||
\index{ExtractMotorola@{ExtractMotorola}!DbcDecoder@{DbcDecoder}}
|
||||
\doxysubsubsection{\texorpdfstring{ExtractMotorola()}{ExtractMotorola()}}
|
||||
{\footnotesize\ttfamily bool Dbc\+Decoder\+::\+Extract\+Motorola (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&}]{data, }\item[{std\+::uint32\+\_\+t}]{start\+Bit, }\item[{std\+::uint32\+\_\+t}]{length, }\item[{std\+::uint64\+\_\+t \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8cpp_source_l00105}{105}} of file \mbox{\hyperlink{dbc__decoder_8cpp_source}{dbc\+\_\+decoder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00070}{Extract\+Unsigned()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcDecoder_a2a8a99b1107543be6fd1b3f891130bf5}\label{classDbcDecoder_a2a8a99b1107543be6fd1b3f891130bf5}}
|
||||
\index{DbcDecoder@{DbcDecoder}!ExtractUnsigned@{ExtractUnsigned}}
|
||||
\index{ExtractUnsigned@{ExtractUnsigned}!DbcDecoder@{DbcDecoder}}
|
||||
\doxysubsubsection{\texorpdfstring{ExtractUnsigned()}{ExtractUnsigned()}}
|
||||
{\footnotesize\ttfamily bool Dbc\+Decoder\+::\+Extract\+Unsigned (\begin{DoxyParamCaption}\item[{const std\+::vector$<$ std\+::uint8\+\_\+t $>$ \&}]{data, }\item[{const \mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}} \&}]{signal, }\item[{std\+::uint64\+\_\+t \&}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8cpp_source_l00070}{70}} of file \mbox{\hyperlink{dbc__decoder_8cpp_source}{dbc\+\_\+decoder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{decode__database_8h_source_l00043}{Decode\+Signal\+::byte\+Order}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00082}{Extract\+Intel()}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00105}{Extract\+Motorola()}}, \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}{Intel}}, \mbox{\hyperlink{decode__database_8h_source_l00042}{Decode\+Signal\+::length}}, and \mbox{\hyperlink{decode__database_8h_source_l00041}{Decode\+Signal\+::start\+Bit}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Decode()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcDecoder_ab2cfb2fb711c95d3a29365546b89f3da}\label{classDbcDecoder_ab2cfb2fb711c95d3a29365546b89f3da}}
|
||||
\index{DbcDecoder@{DbcDecoder}!FindFrame@{FindFrame}}
|
||||
\index{FindFrame@{FindFrame}!DbcDecoder@{DbcDecoder}}
|
||||
\doxysubsubsection{\texorpdfstring{FindFrame()}{FindFrame()}}
|
||||
{\footnotesize\ttfamily const \mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}} $\ast$ Dbc\+Decoder\+::\+Find\+Frame (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}} \&}]{database, }\item[{std\+::uint32\+\_\+t}]{can\+Id, }\item[{bool}]{is\+Extended }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Find frame definition by CAN ID.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em database} & Runtime decode database. \\
|
||||
\hline
|
||||
{\em can\+Id} & Normalized CAN ID. \\
|
||||
\hline
|
||||
{\em is\+Extended} & true for extended frame. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Pointer to frame definition or nullptr.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8cpp_source_l00014}{14}} of file \mbox{\hyperlink{dbc__decoder_8cpp_source}{dbc\+\_\+decoder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{decode__database_8h_source_l00134}{Decode\+Database\+::frame\+Index\+By\+Key}}, and \mbox{\hyperlink{decode__database_8h_source_l00133}{Decode\+Database\+::frames}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Decode()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcDecoder_a41e89e343338088d27e46773fa52df42}\label{classDbcDecoder_a41e89e343338088d27e46773fa52df42}}
|
||||
\index{DbcDecoder@{DbcDecoder}!SignExtend@{SignExtend}}
|
||||
\index{SignExtend@{SignExtend}!DbcDecoder@{DbcDecoder}}
|
||||
\doxysubsubsection{\texorpdfstring{SignExtend()}{SignExtend()}}
|
||||
{\footnotesize\ttfamily std\+::int64\+\_\+t Dbc\+Decoder\+::\+Sign\+Extend (\begin{DoxyParamCaption}\item[{std\+::uint64\+\_\+t}]{value, }\item[{std\+::uint32\+\_\+t}]{bit\+Length }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8cpp_source_l00144}{144}} of file \mbox{\hyperlink{dbc__decoder_8cpp_source}{dbc\+\_\+decoder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Decode()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__decoder_8h}{dbc\+\_\+decoder.\+h}}\item
|
||||
\mbox{\hyperlink{dbc__decoder_8cpp}{dbc\+\_\+decoder.\+cpp}}\end{DoxyCompactItemize}
|
||||
305
docs/latex/classDbcParser.tex
Normal file
305
docs/latex/classDbcParser.tex
Normal file
@@ -0,0 +1,305 @@
|
||||
\hypertarget{classDbcParser}{}\doxysection{Dbc\+Parser Class Reference}
|
||||
\label{classDbcParser}\index{DbcParser@{DbcParser}}
|
||||
|
||||
|
||||
Minimal DBC parser.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+parser.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \mbox{\hyperlink{classDbcParser_aef72826942c9095d653fafa435855e56}{Parse\+File}} (const std\+::string \&file\+Path) const
|
||||
\begin{DoxyCompactList}\small\item\em Parse DBC file. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Static Private Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
static bool \mbox{\hyperlink{classDbcParser_ada086584d371c08dd93b75fb7965f13b}{Is\+Frame\+Line}} (const std\+::string \&line)
|
||||
\item
|
||||
static bool \mbox{\hyperlink{classDbcParser_ace3d3432a55707bc286a994aa205fed1}{Is\+Signal\+Line}} (const std\+::string \&line)
|
||||
\item
|
||||
static bool \mbox{\hyperlink{classDbcParser_ae3488a0a6c64dc95e4ed289e77579feb}{Is\+Comment\+Line}} (const std\+::string \&line)
|
||||
\item
|
||||
static std\+::string \mbox{\hyperlink{classDbcParser_a1ae77c4c356af3d7b01a30044366f02b}{Trim}} (const std\+::string \&text)
|
||||
\item
|
||||
static std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{classDbcParser_a0c1cc3c58f33473bf426a77b7a25c529}{Split\+Receivers}} (const std\+::string \&text)
|
||||
\item
|
||||
static std\+::uint32\+\_\+t \mbox{\hyperlink{classDbcParser_a8a7e8fc517e40beab87a8a1dbad2b324}{Try\+Extract\+Pgn}} (std\+::uint32\+\_\+t can\+Id, bool is\+Extended, bool \&has\+Pgn)
|
||||
\item
|
||||
static void \mbox{\hyperlink{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}{Normalize\+Can\+Id}} (std\+::uint32\+\_\+t raw\+Can\+Id, std\+::uint32\+\_\+t \&normalized\+Can\+Id, bool \&is\+Extended)
|
||||
\item
|
||||
static \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} \mbox{\hyperlink{classDbcParser_a6d73bb1885e59aecd8202e93a7cd392a}{Parse\+Frame\+Line}} (const std\+::string \&line)
|
||||
\item
|
||||
static \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} \mbox{\hyperlink{classDbcParser_a4cbce88d08b1f72903ecf1bce41de5d2}{Parse\+Signal\+Line}} (const std\+::string \&line)
|
||||
\item
|
||||
static void \mbox{\hyperlink{classDbcParser_aa662b34694fd8b3edd757f36cb064c5c}{Parse\+Comment\+Line}} (const std\+::string \&line, \mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&database)
|
||||
\item
|
||||
static \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} $\ast$ \mbox{\hyperlink{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}{Find\+Frame\+By\+Id}} (\mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&database, std\+::uint32\+\_\+t can\+Id, bool is\+Extended)
|
||||
\item
|
||||
static \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} $\ast$ \mbox{\hyperlink{classDbcParser_ab7b95be4433c56cc855bedb08b96a71a}{Find\+Signal\+By\+Name}} (\mbox{\hyperlink{structFrameInfo}{Frame\+Info}} \&frame, const std\+::string \&signal\+Name)
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Minimal DBC parser.
|
||||
|
||||
Supports\+:
|
||||
\begin{DoxyItemize}
|
||||
\item BO\+\_\+
|
||||
\item SG\+\_\+
|
||||
\item CM\+\_\+ BO\+\_\+
|
||||
\item CM\+\_\+ SG\+\_\+
|
||||
\end{DoxyItemize}
|
||||
|
||||
Ignores\+:
|
||||
\begin{DoxyItemize}
|
||||
\item attributes
|
||||
\item multiplexing
|
||||
\item value tables
|
||||
\end{DoxyItemize}
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8h_source_l00035}{35}} of file \mbox{\hyperlink{dbc__parser_8h_source}{dbc\+\_\+parser.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}\label{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}}
|
||||
\index{DbcParser@{DbcParser}!FindFrameById@{FindFrameById}}
|
||||
\index{FindFrameById@{FindFrameById}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{FindFrameById()}{FindFrameById()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} $\ast$ Dbc\+Parser\+::\+Find\+Frame\+By\+Id (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&}]{database, }\item[{std\+::uint32\+\_\+t}]{can\+Id, }\item[{bool}]{is\+Extended }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00337}{337}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__database_8h_source_l00023}{Dbc\+Database\+::frames}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00274}{Parse\+Comment\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_ab7b95be4433c56cc855bedb08b96a71a}\label{classDbcParser_ab7b95be4433c56cc855bedb08b96a71a}}
|
||||
\index{DbcParser@{DbcParser}!FindSignalByName@{FindSignalByName}}
|
||||
\index{FindSignalByName@{FindSignalByName}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{FindSignalByName()}{FindSignalByName()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} $\ast$ Dbc\+Parser\+::\+Find\+Signal\+By\+Name (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structFrameInfo}{Frame\+Info}} \&}]{frame, }\item[{const std\+::string \&}]{signal\+Name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00349}{349}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{frame__info_8h_source_l00033}{Frame\+Info\+::signals}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00274}{Parse\+Comment\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_ae3488a0a6c64dc95e4ed289e77579feb}\label{classDbcParser_ae3488a0a6c64dc95e4ed289e77579feb}}
|
||||
\index{DbcParser@{DbcParser}!IsCommentLine@{IsCommentLine}}
|
||||
\index{IsCommentLine@{IsCommentLine}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{IsCommentLine()}{IsCommentLine()}}
|
||||
{\footnotesize\ttfamily bool Dbc\+Parser\+::\+Is\+Comment\+Line (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00079}{79}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_ada086584d371c08dd93b75fb7965f13b}\label{classDbcParser_ada086584d371c08dd93b75fb7965f13b}}
|
||||
\index{DbcParser@{DbcParser}!IsFrameLine@{IsFrameLine}}
|
||||
\index{IsFrameLine@{IsFrameLine}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{IsFrameLine()}{IsFrameLine()}}
|
||||
{\footnotesize\ttfamily bool Dbc\+Parser\+::\+Is\+Frame\+Line (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00071}{71}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_ace3d3432a55707bc286a994aa205fed1}\label{classDbcParser_ace3d3432a55707bc286a994aa205fed1}}
|
||||
\index{DbcParser@{DbcParser}!IsSignalLine@{IsSignalLine}}
|
||||
\index{IsSignalLine@{IsSignalLine}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{IsSignalLine()}{IsSignalLine()}}
|
||||
{\footnotesize\ttfamily bool Dbc\+Parser\+::\+Is\+Signal\+Line (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00075}{75}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}\label{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}}
|
||||
\index{DbcParser@{DbcParser}!NormalizeCanId@{NormalizeCanId}}
|
||||
\index{NormalizeCanId@{NormalizeCanId}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{NormalizeCanId()}{NormalizeCanId()}}
|
||||
{\footnotesize\ttfamily void Dbc\+Parser\+::\+Normalize\+Can\+Id (\begin{DoxyParamCaption}\item[{std\+::uint32\+\_\+t}]{raw\+Can\+Id, }\item[{std\+::uint32\+\_\+t \&}]{normalized\+Can\+Id, }\item[{bool \&}]{is\+Extended }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00101}{101}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00274}{Parse\+Comment\+Line()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Parse\+Frame\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_aa662b34694fd8b3edd757f36cb064c5c}\label{classDbcParser_aa662b34694fd8b3edd757f36cb064c5c}}
|
||||
\index{DbcParser@{DbcParser}!ParseCommentLine@{ParseCommentLine}}
|
||||
\index{ParseCommentLine@{ParseCommentLine}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{ParseCommentLine()}{ParseCommentLine()}}
|
||||
{\footnotesize\ttfamily void Dbc\+Parser\+::\+Parse\+Comment\+Line (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{line, }\item[{\mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&}]{database }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00274}{274}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{frame__info_8h_source_l00032}{Frame\+Info\+::comment}}, \mbox{\hyperlink{signal__info_8h_source_l00034}{Signal\+Info\+::comment}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00337}{Find\+Frame\+By\+Id()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00349}{Find\+Signal\+By\+Name()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00101}{Normalize\+Can\+Id()}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_aef72826942c9095d653fafa435855e56}\label{classDbcParser_aef72826942c9095d653fafa435855e56}}
|
||||
\index{DbcParser@{DbcParser}!ParseFile@{ParseFile}}
|
||||
\index{ParseFile@{ParseFile}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{ParseFile()}{ParseFile()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} Dbc\+Parser\+::\+Parse\+File (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{file\+Path }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Parse DBC file.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em file\+Path} & Path to input file. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Parsed database.
|
||||
\end{DoxyReturn}
|
||||
|
||||
\begin{DoxyExceptions}{Exceptions}
|
||||
{\em std\+::runtime\+\_\+error} & on file or parse errors. \\
|
||||
\hline
|
||||
\end{DoxyExceptions}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{40}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__database_8h_source_l00023}{Dbc\+Database\+::frames}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00079}{Is\+Comment\+Line()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00071}{Is\+Frame\+Line()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00075}{Is\+Signal\+Line()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00274}{Parse\+Comment\+Line()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Parse\+Frame\+Line()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Parse\+Signal\+Line()}}, \mbox{\hyperlink{frame__info_8h_source_l00033}{Frame\+Info\+::signals}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00083}{Trim()}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_a6d73bb1885e59aecd8202e93a7cd392a}\label{classDbcParser_a6d73bb1885e59aecd8202e93a7cd392a}}
|
||||
\index{DbcParser@{DbcParser}!ParseFrameLine@{ParseFrameLine}}
|
||||
\index{ParseFrameLine@{ParseFrameLine}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{ParseFrameLine()}{ParseFrameLine()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} Dbc\+Parser\+::\+Parse\+Frame\+Line (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{142}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{frame__info_8h_source_l00026}{Frame\+Info\+::can\+Id}}, \mbox{\hyperlink{frame__info_8h_source_l00030}{Frame\+Info\+::dlc}}, \mbox{\hyperlink{frame__info_8h_source_l00029}{Frame\+Info\+::has\+Pgn}}, \mbox{\hyperlink{frame__info_8h_source_l00027}{Frame\+Info\+::is\+Extended}}, \mbox{\hyperlink{frame__info_8h_source_l00025}{Frame\+Info\+::name}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00101}{Normalize\+Can\+Id()}}, \mbox{\hyperlink{frame__info_8h_source_l00028}{Frame\+Info\+::pgn}}, \mbox{\hyperlink{frame__info_8h_source_l00031}{Frame\+Info\+::transmitter}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00118}{Try\+Extract\+Pgn()}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_a4cbce88d08b1f72903ecf1bce41de5d2}\label{classDbcParser_a4cbce88d08b1f72903ecf1bce41de5d2}}
|
||||
\index{DbcParser@{DbcParser}!ParseSignalLine@{ParseSignalLine}}
|
||||
\index{ParseSignalLine@{ParseSignalLine}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{ParseSignalLine()}{ParseSignalLine()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} Dbc\+Parser\+::\+Parse\+Signal\+Line (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{line }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{181}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{signal__info_8h_source_l00028}{Signal\+Info\+::factor}}, \mbox{\hyperlink{signal__info_8h_source_l00026}{Signal\+Info\+::is\+Little\+Endian}}, \mbox{\hyperlink{signal__info_8h_source_l00027}{Signal\+Info\+::is\+Signed}}, \mbox{\hyperlink{signal__info_8h_source_l00025}{Signal\+Info\+::length}}, \mbox{\hyperlink{signal__info_8h_source_l00031}{Signal\+Info\+::maximum}}, \mbox{\hyperlink{signal__info_8h_source_l00030}{Signal\+Info\+::minimum}}, \mbox{\hyperlink{signal__info_8h_source_l00023}{Signal\+Info\+::name}}, \mbox{\hyperlink{signal__info_8h_source_l00029}{Signal\+Info\+::offset}}, \mbox{\hyperlink{signal__info_8h_source_l00033}{Signal\+Info\+::receivers}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00087}{Split\+Receivers()}}, \mbox{\hyperlink{signal__info_8h_source_l00024}{Signal\+Info\+::start\+Bit}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00025}{anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\}\+::\+Trim\+Text()}}, and \mbox{\hyperlink{signal__info_8h_source_l00032}{Signal\+Info\+::unit}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_a0c1cc3c58f33473bf426a77b7a25c529}\label{classDbcParser_a0c1cc3c58f33473bf426a77b7a25c529}}
|
||||
\index{DbcParser@{DbcParser}!SplitReceivers@{SplitReceivers}}
|
||||
\index{SplitReceivers@{SplitReceivers}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{SplitReceivers()}{SplitReceivers()}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$ std\+::string $>$ Dbc\+Parser\+::\+Split\+Receivers (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{text }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00087}{87}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__parser_8cpp_source_l00025}{anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\}\+::\+Trim\+Text()}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_a1ae77c4c356af3d7b01a30044366f02b}\label{classDbcParser_a1ae77c4c356af3d7b01a30044366f02b}}
|
||||
\index{DbcParser@{DbcParser}!Trim@{Trim}}
|
||||
\index{Trim@{Trim}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{Trim()}{Trim()}}
|
||||
{\footnotesize\ttfamily std\+::string Dbc\+Parser\+::\+Trim (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{text }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00083}{83}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__parser_8cpp_source_l00025}{anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\}\+::\+Trim\+Text()}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{classDbcParser_a8a7e8fc517e40beab87a8a1dbad2b324}\label{classDbcParser_a8a7e8fc517e40beab87a8a1dbad2b324}}
|
||||
\index{DbcParser@{DbcParser}!TryExtractPgn@{TryExtractPgn}}
|
||||
\index{TryExtractPgn@{TryExtractPgn}!DbcParser@{DbcParser}}
|
||||
\doxysubsubsection{\texorpdfstring{TryExtractPgn()}{TryExtractPgn()}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Dbc\+Parser\+::\+Try\+Extract\+Pgn (\begin{DoxyParamCaption}\item[{std\+::uint32\+\_\+t}]{can\+Id, }\item[{bool}]{is\+Extended, }\item[{bool \&}]{has\+Pgn }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00118}{118}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Parse\+Frame\+Line()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__parser_8h}{dbc\+\_\+parser.\+h}}\item
|
||||
\mbox{\hyperlink{dbc__parser_8cpp}{dbc\+\_\+parser.\+cpp}}\end{DoxyCompactItemize}
|
||||
62
docs/latex/classDbcTreeBuilder.tex
Normal file
62
docs/latex/classDbcTreeBuilder.tex
Normal file
@@ -0,0 +1,62 @@
|
||||
\hypertarget{classDbcTreeBuilder}{}\doxysection{Dbc\+Tree\+Builder Class Reference}
|
||||
\label{classDbcTreeBuilder}\index{DbcTreeBuilder@{DbcTreeBuilder}}
|
||||
|
||||
|
||||
Builds a simple tree from parsed DBC database.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+tree\+\_\+builder.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $>$ \mbox{\hyperlink{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}{Build}} (const \mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&database) const
|
||||
\begin{DoxyCompactList}\small\item\em Build tree representation of parsed DBC data. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Builds a simple tree from parsed DBC database.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__tree__builder_8h_source_l00023}{23}} of file \mbox{\hyperlink{dbc__tree__builder_8h_source}{dbc\+\_\+tree\+\_\+builder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}\label{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}}
|
||||
\index{DbcTreeBuilder@{DbcTreeBuilder}!Build@{Build}}
|
||||
\index{Build@{Build}!DbcTreeBuilder@{DbcTreeBuilder}}
|
||||
\doxysubsubsection{\texorpdfstring{Build()}{Build()}}
|
||||
{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $>$ Dbc\+Tree\+Builder\+::\+Build (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}} \&}]{database }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Build tree representation of parsed DBC data.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em database} & Parsed database. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Root node of the tree.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__tree__builder_8cpp_source_l00014}{14}} of file \mbox{\hyperlink{dbc__tree__builder_8cpp_source}{dbc\+\_\+tree\+\_\+builder.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__database_8h_source_l00023}{Dbc\+Database\+::frames}}, and \mbox{\hyperlink{frame__info_8h_source_l00033}{Frame\+Info\+::signals}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__tree__builder_8h}{dbc\+\_\+tree\+\_\+builder.\+h}}\item
|
||||
\mbox{\hyperlink{dbc__tree__builder_8cpp}{dbc\+\_\+tree\+\_\+builder.\+cpp}}\end{DoxyCompactItemize}
|
||||
449
docs/latex/classTreeNode.tex
Normal file
449
docs/latex/classTreeNode.tex
Normal file
@@ -0,0 +1,449 @@
|
||||
\hypertarget{classTreeNode}{}\doxysection{Tree\+Node Class Reference}
|
||||
\label{classTreeNode}\index{TreeNode@{TreeNode}}
|
||||
|
||||
|
||||
Tree node for later use in model/view or other hierarchy consumers.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$tree\+\_\+node.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{Tree\+Node}} ()
|
||||
\begin{DoxyCompactList}\small\item\em Create root node. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{classTreeNode_a8e38dd591d8801d7ee3a7dbad90c67fc}{Tree\+Node}} (const \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} \&frame)
|
||||
\begin{DoxyCompactList}\small\item\em Create frame node. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{classTreeNode_ab9f00f5253d56461bb2d420fd639c5ae}{Tree\+Node}} (const \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} \&signal)
|
||||
\begin{DoxyCompactList}\small\item\em Create signal node. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{classTreeNode_a89eb1eb0e25fccaa83c780b85f95b570}{$\sim$\+Tree\+Node}} ()=default
|
||||
\item
|
||||
\mbox{\hyperlink{classTreeNode_a4d3054a033accf3e38ea132002fc35ff}{Tree\+Node}} (const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&)=delete
|
||||
\item
|
||||
\mbox{\hyperlink{classTreeNode}{Tree\+Node}} \& \mbox{\hyperlink{classTreeNode_ad6ce97dcf532b452d520452b6d000daa}{operator=}} (const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&)=delete
|
||||
\item
|
||||
\mbox{\hyperlink{classTreeNode_a35724af755b5d0c43de40a723ef81ec1}{Tree\+Node}} (\mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&\&)=default
|
||||
\item
|
||||
\mbox{\hyperlink{classTreeNode}{Tree\+Node}} \& \mbox{\hyperlink{classTreeNode_a88fbcbec9c64d888b19c5edb95059a95}{operator=}} (\mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&\&)=default
|
||||
\item
|
||||
void \mbox{\hyperlink{classTreeNode_a6161f2ebb92184eab4215d121870e788}{Add\+Child}} (std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $>$ child)
|
||||
\begin{DoxyCompactList}\small\item\em Add child node. \end{DoxyCompactList}\item
|
||||
std\+::size\+\_\+t \mbox{\hyperlink{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}{Get\+Child\+Count}} () const
|
||||
\begin{DoxyCompactList}\small\item\em Get child count. \end{DoxyCompactList}\item
|
||||
const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $\ast$ \mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{Get\+Child}} (std\+::size\+\_\+t index) const
|
||||
\begin{DoxyCompactList}\small\item\em Get child by index. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{classTreeNode}{Tree\+Node}} $\ast$ \mbox{\hyperlink{classTreeNode_a81047bd7d2a4cc96b9ef5e20d0d63b5f}{Get\+Child}} (std\+::size\+\_\+t index)
|
||||
\begin{DoxyCompactList}\small\item\em Get mutable child by index. \end{DoxyCompactList}\item
|
||||
\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{Node\+Type}} \mbox{\hyperlink{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}{Get\+Type}} () const
|
||||
\begin{DoxyCompactList}\small\item\em Get node type. \end{DoxyCompactList}\item
|
||||
const std\+::string \& \mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{Get\+Name}} () const
|
||||
\begin{DoxyCompactList}\small\item\em Get display name. \end{DoxyCompactList}\item
|
||||
const \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} $\ast$ \mbox{\hyperlink{classTreeNode_afc503b40004764163605d6dbdb4ef811}{Get\+Frame}} () const
|
||||
\begin{DoxyCompactList}\small\item\em Get frame payload if node is frame. \end{DoxyCompactList}\item
|
||||
const \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} $\ast$ \mbox{\hyperlink{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}{Get\+Signal}} () const
|
||||
\begin{DoxyCompactList}\small\item\em Get signal payload if node is signal. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Private Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{Node\+Type}} \mbox{\hyperlink{classTreeNode_a04bccab9e60a6a78777cd7dfec52d224}{m\+\_\+type}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{classTreeNode_ac0ddcb8370e6b51e2d3de6b8211a47f8}{m\+\_\+name}}
|
||||
\item
|
||||
std\+::vector$<$ std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $>$ $>$ \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\+\_\+children}}
|
||||
\item
|
||||
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} $>$ \mbox{\hyperlink{classTreeNode_a77ee6aa80774d67ba442a66b45c798c2}{m\+\_\+frame}}
|
||||
\item
|
||||
std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} $>$ \mbox{\hyperlink{classTreeNode_ae658355007bc9303f7bfae3bb3ec8386}{m\+\_\+signal}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Tree node for later use in model/view or other hierarchy consumers.
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8h_source_l00035}{35}} of file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}\label{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{TreeNode()}{TreeNode()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
|
||||
{\footnotesize\ttfamily Tree\+Node\+::\+Tree\+Node (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Create root node.
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00014}{14}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}{Root}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a8e38dd591d8801d7ee3a7dbad90c67fc}\label{classTreeNode_a8e38dd591d8801d7ee3a7dbad90c67fc}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{TreeNode()}{TreeNode()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
|
||||
{\footnotesize\ttfamily Tree\+Node\+::\+Tree\+Node (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} \&}]{frame }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}
|
||||
|
||||
|
||||
|
||||
Create frame node.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em frame} & Frame payload. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00022}{22}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}{Frame}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_ab9f00f5253d56461bb2d420fd639c5ae}\label{classTreeNode_ab9f00f5253d56461bb2d420fd639c5ae}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{TreeNode()}{TreeNode()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
|
||||
{\footnotesize\ttfamily Tree\+Node\+::\+Tree\+Node (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} \&}]{signal }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [explicit]}}
|
||||
|
||||
|
||||
|
||||
Create signal node.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em signal} & Signal payload. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00030}{30}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}{Signal}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a89eb1eb0e25fccaa83c780b85f95b570}\label{classTreeNode_a89eb1eb0e25fccaa83c780b85f95b570}}
|
||||
\index{TreeNode@{TreeNode}!````~TreeNode@{$\sim$TreeNode}}
|
||||
\index{````~TreeNode@{$\sim$TreeNode}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{$\sim$TreeNode()}{~TreeNode()}}
|
||||
{\footnotesize\ttfamily Tree\+Node\+::$\sim$\+Tree\+Node (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a4d3054a033accf3e38ea132002fc35ff}\label{classTreeNode_a4d3054a033accf3e38ea132002fc35ff}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{TreeNode()}{TreeNode()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
|
||||
{\footnotesize\ttfamily Tree\+Node\+::\+Tree\+Node (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a35724af755b5d0c43de40a723ef81ec1}\label{classTreeNode_a35724af755b5d0c43de40a723ef81ec1}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\index{TreeNode@{TreeNode}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{TreeNode()}{TreeNode()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
|
||||
{\footnotesize\ttfamily Tree\+Node\+::\+Tree\+Node (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{classTreeNode_a6161f2ebb92184eab4215d121870e788}\label{classTreeNode_a6161f2ebb92184eab4215d121870e788}}
|
||||
\index{TreeNode@{TreeNode}!AddChild@{AddChild}}
|
||||
\index{AddChild@{AddChild}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{AddChild()}{AddChild()}}
|
||||
{\footnotesize\ttfamily void Tree\+Node\+::\+Add\+Child (\begin{DoxyParamCaption}\item[{std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $>$}]{child }\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Add child node.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em child} & Child node to add. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00038}{38}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00115}{m\+\_\+children}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a81047bd7d2a4cc96b9ef5e20d0d63b5f}\label{classTreeNode_a81047bd7d2a4cc96b9ef5e20d0d63b5f}}
|
||||
\index{TreeNode@{TreeNode}!GetChild@{GetChild}}
|
||||
\index{GetChild@{GetChild}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{GetChild()}{GetChild()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $\ast$ Tree\+Node\+::\+Get\+Child (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{index }\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Get mutable child by index.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em index} & Child index. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Child pointer or nullptr if index is invalid.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00054}{54}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00115}{m\+\_\+children}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}\label{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}}
|
||||
\index{TreeNode@{TreeNode}!GetChild@{GetChild}}
|
||||
\index{GetChild@{GetChild}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{GetChild()}{GetChild()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
||||
{\footnotesize\ttfamily const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $\ast$ Tree\+Node\+::\+Get\+Child (\begin{DoxyParamCaption}\item[{std\+::size\+\_\+t}]{index }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Get child by index.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em index} & Child index. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Child pointer or nullptr if index is invalid.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00047}{47}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00115}{m\+\_\+children}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}\label{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}}
|
||||
\index{TreeNode@{TreeNode}!GetChildCount@{GetChildCount}}
|
||||
\index{GetChildCount@{GetChildCount}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{GetChildCount()}{GetChildCount()}}
|
||||
{\footnotesize\ttfamily std\+::size\+\_\+t Tree\+Node\+::\+Get\+Child\+Count (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Get child count.
|
||||
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Number of children.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00043}{43}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00115}{m\+\_\+children}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_afc503b40004764163605d6dbdb4ef811}\label{classTreeNode_afc503b40004764163605d6dbdb4ef811}}
|
||||
\index{TreeNode@{TreeNode}!GetFrame@{GetFrame}}
|
||||
\index{GetFrame@{GetFrame}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{GetFrame()}{GetFrame()}}
|
||||
{\footnotesize\ttfamily const \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} $\ast$ Tree\+Node\+::\+Get\+Frame (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Get frame payload if node is frame.
|
||||
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Pointer to frame info or nullptr.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00069}{69}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00116}{m\+\_\+frame}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}\label{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}}
|
||||
\index{TreeNode@{TreeNode}!GetName@{GetName}}
|
||||
\index{GetName@{GetName}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{GetName()}{GetName()}}
|
||||
{\footnotesize\ttfamily const std\+::string \& Tree\+Node\+::\+Get\+Name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Get display name.
|
||||
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Node name.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00065}{65}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00114}{m\+\_\+name}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}\label{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}}
|
||||
\index{TreeNode@{TreeNode}!GetSignal@{GetSignal}}
|
||||
\index{GetSignal@{GetSignal}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{GetSignal()}{GetSignal()}}
|
||||
{\footnotesize\ttfamily const \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} $\ast$ Tree\+Node\+::\+Get\+Signal (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Get signal payload if node is signal.
|
||||
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Pointer to signal info or nullptr.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00073}{73}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00117}{m\+\_\+signal}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}\label{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}}
|
||||
\index{TreeNode@{TreeNode}!GetType@{GetType}}
|
||||
\index{GetType@{GetType}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{GetType()}{GetType()}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{Node\+Type}} Tree\+Node\+::\+Get\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}
|
||||
|
||||
|
||||
|
||||
Get node type.
|
||||
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Node type.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8cpp_source_l00061}{61}} of file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{tree__node_8h_source_l00113}{m\+\_\+type}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_ad6ce97dcf532b452d520452b6d000daa}\label{classTreeNode_ad6ce97dcf532b452d520452b6d000daa}}
|
||||
\index{TreeNode@{TreeNode}!operator=@{operator=}}
|
||||
\index{operator=@{operator=}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{classTreeNode}{Tree\+Node}} \& Tree\+Node\+::operator= (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a88fbcbec9c64d888b19c5edb95059a95}\label{classTreeNode_a88fbcbec9c64d888b19c5edb95059a95}}
|
||||
\index{TreeNode@{TreeNode}!operator=@{operator=}}
|
||||
\index{operator=@{operator=}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{operator=()}{operator=()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{classTreeNode}{Tree\+Node}} \& Tree\+Node\+::operator= (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classTreeNode}{Tree\+Node}} \&\&}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [default]}}
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{classTreeNode_a1bd61f40df6d36e61021063e3816a351}\label{classTreeNode_a1bd61f40df6d36e61021063e3816a351}}
|
||||
\index{TreeNode@{TreeNode}!m\_children@{m\_children}}
|
||||
\index{m\_children@{m\_children}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{m\_children}{m\_children}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classTreeNode}{Tree\+Node}}$>$ $>$ Tree\+Node\+::m\+\_\+children\hspace{0.3cm}{\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8h_source_l00115}{115}} of file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{tree__node_8cpp_source_l00038}{Add\+Child()}}, \mbox{\hyperlink{tree__node_8cpp_source_l00047}{Get\+Child()}}, and \mbox{\hyperlink{tree__node_8cpp_source_l00043}{Get\+Child\+Count()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a77ee6aa80774d67ba442a66b45c798c2}\label{classTreeNode_a77ee6aa80774d67ba442a66b45c798c2}}
|
||||
\index{TreeNode@{TreeNode}!m\_frame@{m\_frame}}
|
||||
\index{m\_frame@{m\_frame}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{m\_frame}{m\_frame}}
|
||||
{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{structFrameInfo}{Frame\+Info}}$>$ Tree\+Node\+::m\+\_\+frame\hspace{0.3cm}{\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8h_source_l00116}{116}} of file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{tree__node_8cpp_source_l00069}{Get\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_ac0ddcb8370e6b51e2d3de6b8211a47f8}\label{classTreeNode_ac0ddcb8370e6b51e2d3de6b8211a47f8}}
|
||||
\index{TreeNode@{TreeNode}!m\_name@{m\_name}}
|
||||
\index{m\_name@{m\_name}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{m\_name}{m\_name}}
|
||||
{\footnotesize\ttfamily std\+::string Tree\+Node\+::m\+\_\+name\hspace{0.3cm}{\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8h_source_l00114}{114}} of file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{tree__node_8cpp_source_l00065}{Get\+Name()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_ae658355007bc9303f7bfae3bb3ec8386}\label{classTreeNode_ae658355007bc9303f7bfae3bb3ec8386}}
|
||||
\index{TreeNode@{TreeNode}!m\_signal@{m\_signal}}
|
||||
\index{m\_signal@{m\_signal}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{m\_signal}{m\_signal}}
|
||||
{\footnotesize\ttfamily std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{structSignalInfo}{Signal\+Info}}$>$ Tree\+Node\+::m\+\_\+signal\hspace{0.3cm}{\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8h_source_l00117}{117}} of file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{tree__node_8cpp_source_l00073}{Get\+Signal()}}.
|
||||
|
||||
\mbox{\Hypertarget{classTreeNode_a04bccab9e60a6a78777cd7dfec52d224}\label{classTreeNode_a04bccab9e60a6a78777cd7dfec52d224}}
|
||||
\index{TreeNode@{TreeNode}!m\_type@{m\_type}}
|
||||
\index{m\_type@{m\_type}!TreeNode@{TreeNode}}
|
||||
\doxysubsubsection{\texorpdfstring{m\_type}{m\_type}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{Node\+Type}} Tree\+Node\+::m\+\_\+type\hspace{0.3cm}{\ttfamily [private]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8h_source_l00113}{113}} of file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{tree__node_8cpp_source_l00061}{Get\+Type()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{tree__node_8h}{tree\+\_\+node.\+h}}\item
|
||||
\mbox{\hyperlink{tree__node_8cpp}{tree\+\_\+node.\+cpp}}\end{DoxyCompactItemize}
|
||||
23
docs/latex/dbc__database_8h.tex
Normal file
23
docs/latex/dbc__database_8h.tex
Normal file
@@ -0,0 +1,23 @@
|
||||
\hypertarget{dbc__database_8h}{}\doxysection{dbc\+\_\+database.\+h File Reference}
|
||||
\label{dbc__database_8h}\index{dbc\_database.h@{dbc\_database.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include \char`\"{}frame\+\_\+info.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{structDbcDatabase}{Dbc\+Database}}
|
||||
\begin{DoxyCompactList}\small\item\em Parsed DBC content stored in a simple internal form. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__database_8h_source}{dbc\+\_\+database.\+h}}.
|
||||
|
||||
31
docs/latex/dbc__database_8h_source.tex
Normal file
31
docs/latex/dbc__database_8h_source.tex
Normal file
@@ -0,0 +1,31 @@
|
||||
\hypertarget{dbc__database_8h_source}{}\doxysection{dbc\+\_\+database.\+h}
|
||||
\mbox{\hyperlink{dbc__database_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00002}00002 \textcolor{comment}{ * @file dbc\_database.h}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef DBC\_DATABASE\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00013}00013 \textcolor{preprocessor}{\#define DBC\_DATABASE\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00016}00016 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00017}00017 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{frame__info_8h}{frame\_info.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00018}00018 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00019}00019 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00020}00020 \textcolor{comment}{ * @brief Parsed DBC content stored in a simple internal form.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00021}00021 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00022}\mbox{\hyperlink{structDbcDatabase}{00022}} \textcolor{keyword}{struct }\mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00023}\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{00023}} std::vector<FrameInfo> \mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}; \textcolor{comment}{/**< All frames found in the DBC file. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00024}00024 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00025}00025 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__database_8h_source_l00026}00026 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DBC\_DATABASE\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
17
docs/latex/dbc__decode__builder_8cpp.tex
Normal file
17
docs/latex/dbc__decode__builder_8cpp.tex
Normal file
@@ -0,0 +1,17 @@
|
||||
\hypertarget{dbc__decode__builder_8cpp}{}\doxysection{dbc\+\_\+decode\+\_\+builder.\+cpp File Reference}
|
||||
\label{dbc__decode__builder_8cpp}\index{dbc\_decode\_builder.cpp@{dbc\_decode\_builder.cpp}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+decode\+\_\+builder.\+h\char`\"{}}\newline
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__decode__builder_8cpp_source}{dbc\+\_\+decode\+\_\+builder.\+cpp}}.
|
||||
|
||||
61
docs/latex/dbc__decode__builder_8cpp_source.tex
Normal file
61
docs/latex/dbc__decode__builder_8cpp_source.tex
Normal file
@@ -0,0 +1,61 @@
|
||||
\hypertarget{dbc__decode__builder_8cpp_source}{}\doxysection{dbc\+\_\+decode\+\_\+builder.\+cpp}
|
||||
\mbox{\hyperlink{dbc__decode__builder_8cpp}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00002}00002 \textcolor{comment}{ * @file dbc\_decode\_builder.cpp}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00012}00012 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__decode__builder_8h}{dbc\_decode\_builder.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00013}00013 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00014}\mbox{\hyperlink{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}{00014}} \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} \mbox{\hyperlink{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}{DbcDecodeBuilder::Build}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&source)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00015}00015 \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} result;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00016}00016 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00017}00017 \textcolor{keywordflow}{for} (std::size\_t frameIndex = 0U; frameIndex < source.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}.size(); ++frameIndex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00018}00018 \textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} \&sourceFrame = source.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}[frameIndex];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00019}00019 \mbox{\hyperlink{structDecodeFrame}{DecodeFrame}} targetFrame;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00020}00020 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00021}00021 targetFrame.\mbox{\hyperlink{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}{name}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}{name}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00022}00022 targetFrame.\mbox{\hyperlink{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}{canId}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{canId}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00023}00023 targetFrame.\mbox{\hyperlink{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}{isExtended}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{isExtended}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00024}00024 targetFrame.\mbox{\hyperlink{structDecodeFrame_a51111ac13988be372d5673d12cf3e060}{dlc}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}{dlc}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00025}00025 targetFrame.\mbox{\hyperlink{structDecodeFrame_a1d3c54055c0cbceb73adf551f7067f23}{pgn}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}{pgn}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00026}00026 targetFrame.\mbox{\hyperlink{structDecodeFrame_a2551102670c4a540fced4c71da0b369d}{hasPgn}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}{hasPgn}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00027}00027 targetFrame.\mbox{\hyperlink{structDecodeFrame_ad78241dc40c793aabb8495b6989b81a9}{transmitter}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}{transmitter}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00028}00028 targetFrame.\mbox{\hyperlink{structDecodeFrame_a25819ef907a32391af5c9f7cae9cdb22}{comment}} = sourceFrame.\mbox{\hyperlink{structFrameInfo_ace75121294f9d89b762080ab5643293c}{comment}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00029}00029 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00030}00030 \textcolor{keywordflow}{for} (std::size\_t signalIndex = 0U; signalIndex < sourceFrame.\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}.size(); ++signalIndex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00031}00031 \textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} \&sourceSignal = sourceFrame.\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}[signalIndex];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00032}00032 \mbox{\hyperlink{structDecodeSignal}{DecodeSignal}} targetSignal;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00033}00033 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00034}00034 targetSignal.\mbox{\hyperlink{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}{name}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_a379e422a00cad56f896cacf60455b088}{name}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00035}00035 targetSignal.\mbox{\hyperlink{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}{startBit}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_ace290724f9801521609aedaa946d61f1}{startBit}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00036}00036 targetSignal.\mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_a1008b5201f71848177217bd52fb84baa}{length}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00037}00037 targetSignal.\mbox{\hyperlink{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}{byteOrder}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}{isLittleEndian}} ? \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}{ByteOrder::Intel}} : \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31}{ByteOrder::Motorola}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00038}00038 targetSignal.\mbox{\hyperlink{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}{valueType}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}{isSigned}} ? \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}{ValueType::Signed}} : \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a}{ValueType::Unsigned}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00039}00039 targetSignal.\mbox{\hyperlink{structDecodeSignal_a428c39913a366a8476dd291061354391}{factor}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}{factor}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00040}00040 targetSignal.\mbox{\hyperlink{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}{offset}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}{offset}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00041}00041 targetSignal.\mbox{\hyperlink{structDecodeSignal_a0fb84e19a0ab3bd50b6f65c1075ebc25}{minimum}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}{minimum}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00042}00042 targetSignal.\mbox{\hyperlink{structDecodeSignal_a4a6ba87142a9badbf0ca830e9e709cb7}{maximum}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}{maximum}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00043}00043 targetSignal.\mbox{\hyperlink{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}{unit}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}{unit}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00044}00044 targetSignal.\mbox{\hyperlink{structDecodeSignal_abdbae62a64d2df716bf60c6b67b30eaa}{receivers}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}{receivers}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00045}00045 targetSignal.\mbox{\hyperlink{structDecodeSignal_ae28c905d4a2bc86419c2a8361bfea473}{comment}} = sourceSignal.\mbox{\hyperlink{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}{comment}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00046}00046 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00047}00047 targetFrame.\mbox{\hyperlink{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}{signals}}.push\_back (targetSignal);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00048}00048 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00049}00049 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00050}00050 result.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}.push\_back (targetFrame);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00051}00051 result.\mbox{\hyperlink{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}{frameIndexByKey}}[\mbox{\hyperlink{structFrameKey}{FrameKey}} (targetFrame.\mbox{\hyperlink{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}{canId}}, targetFrame.\mbox{\hyperlink{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}{isExtended}})] =}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00052}00052 result.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}.size() -\/ 1U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00053}00053 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00054}00054 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00055}00055 \textcolor{keywordflow}{return} result;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8cpp_source_l00056}00056 \}}
|
||||
|
||||
\end{DoxyCode}
|
||||
23
docs/latex/dbc__decode__builder_8h.tex
Normal file
23
docs/latex/dbc__decode__builder_8h.tex
Normal file
@@ -0,0 +1,23 @@
|
||||
\hypertarget{dbc__decode__builder_8h}{}\doxysection{dbc\+\_\+decode\+\_\+builder.\+h File Reference}
|
||||
\label{dbc__decode__builder_8h}\index{dbc\_decode\_builder.h@{dbc\_decode\_builder.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+database.\+h\char`\"{}}\newline
|
||||
{\ttfamily \#include \char`\"{}decode\+\_\+database.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
class \mbox{\hyperlink{classDbcDecodeBuilder}{Dbc\+Decode\+Builder}}
|
||||
\begin{DoxyCompactList}\small\item\em Converts parsed DBC data into runtime decode database. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__decode__builder_8h_source}{dbc\+\_\+decode\+\_\+builder.\+h}}.
|
||||
|
||||
36
docs/latex/dbc__decode__builder_8h_source.tex
Normal file
36
docs/latex/dbc__decode__builder_8h_source.tex
Normal file
@@ -0,0 +1,36 @@
|
||||
\hypertarget{dbc__decode__builder_8h_source}{}\doxysection{dbc\+\_\+decode\+\_\+builder.\+h}
|
||||
\mbox{\hyperlink{dbc__decode__builder_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00002}00002 \textcolor{comment}{ * @file dbc\_decode\_builder.h}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef DBC\_DECODE\_BUILDER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00013}00013 \textcolor{preprocessor}{\#define DBC\_DECODE\_BUILDER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00015}00015 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__database_8h}{dbc\_database.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00016}00016 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{decode__database_8h}{decode\_database.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00017}00017 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00018}00018 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00019}00019 \textcolor{comment}{ * @brief Converts parsed DBC data into runtime decode database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00020}00020 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00021}\mbox{\hyperlink{classDbcDecodeBuilder}{00021}} \textcolor{keyword}{class }\mbox{\hyperlink{classDbcDecodeBuilder}{DbcDecodeBuilder}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00022}00022 \textcolor{keyword}{public}:\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00023}00023 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00024}00024 \textcolor{comment}{ * @brief Build runtime decode database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00025}00025 \textcolor{comment}{ * @param source Parsed DBC database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00026}00026 \textcolor{comment}{ * @return Runtime-\/ready decode database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00027}00027 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00028}00028 \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} \mbox{\hyperlink{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}{Build}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&source) \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00029}00029 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00030}00030 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decode__builder_8h_source_l00031}00031 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DBC\_DECODE\_BUILDER\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
17
docs/latex/dbc__decoder_8cpp.tex
Normal file
17
docs/latex/dbc__decoder_8cpp.tex
Normal file
@@ -0,0 +1,17 @@
|
||||
\hypertarget{dbc__decoder_8cpp}{}\doxysection{dbc\+\_\+decoder.\+cpp File Reference}
|
||||
\label{dbc__decoder_8cpp}\index{dbc\_decoder.cpp@{dbc\_decoder.cpp}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+decoder.\+h\char`\"{}}\newline
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__decoder_8cpp_source}{dbc\+\_\+decoder.\+cpp}}.
|
||||
|
||||
162
docs/latex/dbc__decoder_8cpp_source.tex
Normal file
162
docs/latex/dbc__decoder_8cpp_source.tex
Normal file
@@ -0,0 +1,162 @@
|
||||
\hypertarget{dbc__decoder_8cpp_source}{}\doxysection{dbc\+\_\+decoder.\+cpp}
|
||||
\mbox{\hyperlink{dbc__decoder_8cpp}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00002}00002 \textcolor{comment}{ * @file dbc\_decoder.cpp}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00012}00012 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__decoder_8h}{dbc\_decoder.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00013}00013 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00014}\mbox{\hyperlink{classDbcDecoder_ab2cfb2fb711c95d3a29365546b89f3da}{00014}} \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeFrame}{DecodeFrame}} *\mbox{\hyperlink{classDbcDecoder_ab2cfb2fb711c95d3a29365546b89f3da}{DbcDecoder::FindFrame}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} \&database,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00015}00015 std::uint32\_t canId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00016}00016 \textcolor{keywordtype}{bool} isExtended)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00017}00017 \textcolor{keyword}{const} \mbox{\hyperlink{structFrameKey}{FrameKey}} key (canId, isExtended);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00018}00018 \textcolor{keyword}{const} std::unordered\_map<FrameKey, std::size\_t, FrameKeyHasher>::const\_iterator it =}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00019}00019 database.\mbox{\hyperlink{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}{frameIndexByKey}}.find (key);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00020}00020 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00021}00021 \textcolor{keywordflow}{if} (it == database.\mbox{\hyperlink{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}{frameIndexByKey}}.end())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00022}00022 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00023}00023 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00024}00024 \textcolor{keyword}{const} std::size\_t index = it-\/>second;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00025}00025 \textcolor{keywordflow}{if} (index >= database.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}.size())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00026}00026 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00027}00027 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00028}00028 \textcolor{keywordflow}{return} \&database.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}[index];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00029}00029 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00030}00030 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00031}\mbox{\hyperlink{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}{00031}} \mbox{\hyperlink{structDecodedFrameValue}{DecodedFrameValue}} \mbox{\hyperlink{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}{DbcDecoder::Decode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} \&database,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00032}00032 \textcolor{keyword}{const} \mbox{\hyperlink{structRawCanFrame}{RawCanFrame}} \&frame)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00033}00033 \mbox{\hyperlink{structDecodedFrameValue}{DecodedFrameValue}} result;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00034}00034 \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeFrame}{DecodeFrame}} *definition = \mbox{\hyperlink{classDbcDecoder_ab2cfb2fb711c95d3a29365546b89f3da}{FindFrame}} (database, frame.\mbox{\hyperlink{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}{canId}}, frame.\mbox{\hyperlink{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}{isExtended}});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00035}00035 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00036}00036 \textcolor{keywordflow}{if} (definition == \textcolor{keyword}{nullptr})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00037}00037 \textcolor{keywordflow}{return} result;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00038}00038 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00039}00039 result.\mbox{\hyperlink{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}{definition}} = definition;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00040}00040 result.\mbox{\hyperlink{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}{valid}} = \textcolor{keyword}{true};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00041}00041 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00042}00042 \textcolor{keywordflow}{for} (std::size\_t signalIndex = 0U; signalIndex < definition-\/>\mbox{\hyperlink{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}{signals}}.size(); ++signalIndex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00043}00043 \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeSignal}{DecodeSignal}} \&signal = definition-\/>\mbox{\hyperlink{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}{signals}}[signalIndex];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00044}00044 \mbox{\hyperlink{structDecodedSignalValue}{DecodedSignalValue}} decoded;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00045}00045 std::uint64\_t unsignedValue = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00046}00046 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00047}00047 decoded.\mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{definition}} = \&signal;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00048}00048 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00049}00049 \textcolor{keywordflow}{if} (!\mbox{\hyperlink{classDbcDecoder_a2a8a99b1107543be6fd1b3f891130bf5}{ExtractUnsigned}} (frame.\mbox{\hyperlink{structRawCanFrame_a0acb487612104c99c9907344c035df83}{data}}, signal, unsignedValue)) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00050}00050 decoded.\mbox{\hyperlink{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}{valid}} = \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00051}00051 result.\mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{signals}}.push\_back (decoded);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00052}00052 \textcolor{keywordflow}{continue};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00053}00053 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00054}00054 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00055}00055 \textcolor{keywordflow}{if} (signal.\mbox{\hyperlink{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}{valueType}} == \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}{ValueType::Signed}})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00056}00056 decoded.\mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{rawValue}} = \mbox{\hyperlink{classDbcDecoder_a41e89e343338088d27e46773fa52df42}{SignExtend}} (unsignedValue, signal.\mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00057}00057 \textcolor{keywordflow}{else}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00058}00058 decoded.\mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{rawValue}} = \textcolor{keyword}{static\_cast<}std::int64\_t\textcolor{keyword}{>} (unsignedValue);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00059}00059 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00060}00060 decoded.\mbox{\hyperlink{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}{physicalValue}} =}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00061}00061 (\textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{double}\textcolor{keyword}{>} (decoded.\mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{rawValue}}) * signal.\mbox{\hyperlink{structDecodeSignal_a428c39913a366a8476dd291061354391}{factor}}) + signal.\mbox{\hyperlink{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}{offset}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00062}00062 decoded.\mbox{\hyperlink{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}{valid}} = \textcolor{keyword}{true};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00063}00063 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00064}00064 result.\mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{signals}}.push\_back (decoded);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00065}00065 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00066}00066 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00067}00067 \textcolor{keywordflow}{return} result;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00068}00068 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00069}00069 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00070}\mbox{\hyperlink{classDbcDecoder_a2a8a99b1107543be6fd1b3f891130bf5}{00070}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcDecoder_a2a8a99b1107543be6fd1b3f891130bf5}{DbcDecoder::ExtractUnsigned}} (\textcolor{keyword}{const} std::vector<std::uint8\_t> \&data,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00071}00071 \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeSignal}{DecodeSignal}} \&signal,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00072}00072 std::uint64\_t \&value) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00073}00073 \textcolor{keywordflow}{if} ((signal.\mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}} == 0U) || (signal.\mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}} > 64U))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00074}00074 \textcolor{keywordflow}{return} \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00075}00075 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00076}00076 \textcolor{keywordflow}{if} (signal.\mbox{\hyperlink{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}{byteOrder}} == \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}{ByteOrder::Intel}})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00077}00077 \textcolor{keywordflow}{return} \mbox{\hyperlink{classDbcDecoder_aba130165c1a73bb4cd3a0454f415d872}{ExtractIntel}} (data, signal.\mbox{\hyperlink{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}{startBit}}, signal.\mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}}, value);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00078}00078 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00079}00079 \textcolor{keywordflow}{return} \mbox{\hyperlink{classDbcDecoder_aede690734148c3d538105d5a2f7ee0a9}{ExtractMotorola}} (data, signal.\mbox{\hyperlink{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}{startBit}}, signal.\mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}}, value);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00080}00080 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00081}00081 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00082}\mbox{\hyperlink{classDbcDecoder_aba130165c1a73bb4cd3a0454f415d872}{00082}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcDecoder_aba130165c1a73bb4cd3a0454f415d872}{DbcDecoder::ExtractIntel}} (\textcolor{keyword}{const} std::vector<std::uint8\_t> \&data,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00083}00083 std::uint32\_t startBit,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00084}00084 std::uint32\_t length,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00085}00085 std::uint64\_t \&value) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00086}00086 value = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00087}00087 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00088}00088 \textcolor{keywordflow}{for} (std::uint32\_t bitIndex = 0U; bitIndex < length; ++bitIndex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00089}00089 \textcolor{keyword}{const} std::uint32\_t absoluteBit = startBit + bitIndex;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00090}00090 \textcolor{keyword}{const} std::uint32\_t byteIndex = absoluteBit / 8U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00091}00091 \textcolor{keyword}{const} std::uint32\_t bitInByte = absoluteBit \% 8U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00092}00092 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00093}00093 \textcolor{keywordflow}{if} (byteIndex >= data.size())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00094}00094 \textcolor{keywordflow}{return} \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00095}00095 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00096}00096 \textcolor{keyword}{const} std::uint64\_t bitValue =}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00097}00097 (\textcolor{keyword}{static\_cast<}std::uint64\_t\textcolor{keyword}{>} ((data[byteIndex] >> bitInByte) \& 0x01U) << bitIndex);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00098}00098 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00099}00099 value |= bitValue;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00100}00100 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00101}00101 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00102}00102 \textcolor{keywordflow}{return} \textcolor{keyword}{true};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00103}00103 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00104}00104 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00105}\mbox{\hyperlink{classDbcDecoder_aede690734148c3d538105d5a2f7ee0a9}{00105}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcDecoder_aede690734148c3d538105d5a2f7ee0a9}{DbcDecoder::ExtractMotorola}} (\textcolor{keyword}{const} std::vector<std::uint8\_t> \&data,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00106}00106 std::uint32\_t startBit,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00107}00107 std::uint32\_t length,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00108}00108 std::uint64\_t \&value) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00109}00109 \textcolor{comment}{/*}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00110}00110 \textcolor{comment}{ * DBC Motorola bit numbering:}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00111}00111 \textcolor{comment}{ * -\/ startBit points to the most significant bit of the signal}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00112}00112 \textcolor{comment}{ * -\/ inside a byte, bit numbering goes 7..0}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00113}00113 \textcolor{comment}{ * -\/ crossing byte boundary moves to the next byte, bit 7}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00114}00114 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00115}00115 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00116}00116 value = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00117}00117 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00118}00118 std::int32\_t currentBit = \textcolor{keyword}{static\_cast<}std::int32\_t\textcolor{keyword}{>} (startBit);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00119}00119 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00120}00120 \textcolor{keywordflow}{for} (std::uint32\_t bitIndex = 0U; bitIndex < length; ++bitIndex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00121}00121 \textcolor{keywordflow}{if} (currentBit < 0)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00122}00122 \textcolor{keywordflow}{return} \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00123}00123 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00124}00124 \textcolor{keyword}{const} std::uint32\_t absoluteBit = \textcolor{keyword}{static\_cast<}std::uint32\_t\textcolor{keyword}{>} (currentBit);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00125}00125 \textcolor{keyword}{const} std::uint32\_t byteIndex = absoluteBit / 8U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00126}00126 \textcolor{keyword}{const} std::uint32\_t bitFromMsb = absoluteBit \% 8U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00127}00127 \textcolor{keyword}{const} std::uint32\_t bitInByte = 7U -\/ bitFromMsb;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00128}00128 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00129}00129 \textcolor{keywordflow}{if} (byteIndex >= data.size())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00130}00130 \textcolor{keywordflow}{return} \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00131}00131 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00132}00132 value <<= 1U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00133}00133 value |= \textcolor{keyword}{static\_cast<}std::uint64\_t\textcolor{keyword}{>} ((data[byteIndex] >> bitInByte) \& 0x01U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00134}00134 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00135}00135 \textcolor{keywordflow}{if} ((absoluteBit \% 8U) == 7U)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00136}00136 currentBit = \textcolor{keyword}{static\_cast<}std::int32\_t\textcolor{keyword}{>} ((byteIndex + 1U) * 8U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00137}00137 \textcolor{keywordflow}{else}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00138}00138 -\/-\/currentBit;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00139}00139 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00140}00140 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00141}00141 \textcolor{keywordflow}{return} \textcolor{keyword}{true};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00142}00142 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00143}00143 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00144}\mbox{\hyperlink{classDbcDecoder_a41e89e343338088d27e46773fa52df42}{00144}} std::int64\_t \mbox{\hyperlink{classDbcDecoder_a41e89e343338088d27e46773fa52df42}{DbcDecoder::SignExtend}} (std::uint64\_t value, std::uint32\_t bitLength) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00145}00145 \textcolor{keywordflow}{if} ((bitLength == 0U) || (bitLength >= 64U))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00146}00146 \textcolor{keywordflow}{return} \textcolor{keyword}{static\_cast<}std::int64\_t\textcolor{keyword}{>} (value);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00147}00147 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00148}00148 \textcolor{keyword}{const} std::uint64\_t signMask = (\textcolor{keyword}{static\_cast<}std::uint64\_t\textcolor{keyword}{>} (1U) << (bitLength -\/ 1U));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00149}00149 \textcolor{keyword}{const} std::uint64\_t valueMask = (\textcolor{keyword}{static\_cast<}std::uint64\_t\textcolor{keyword}{>} (1U) << bitLength) -\/ 1U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00150}00150 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00151}00151 value \&= valueMask;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00152}00152 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00153}00153 \textcolor{keywordflow}{if} ((value \& signMask) == 0U)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00154}00154 \textcolor{keywordflow}{return} \textcolor{keyword}{static\_cast<}std::int64\_t\textcolor{keyword}{>} (value);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00155}00155 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00156}00156 \textcolor{keywordflow}{return} \textcolor{keyword}{static\_cast<}std::int64\_t\textcolor{keyword}{>} (value | (\string~valueMask));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8cpp_source_l00157}00157 \}}
|
||||
|
||||
\end{DoxyCode}
|
||||
30
docs/latex/dbc__decoder_8h.tex
Normal file
30
docs/latex/dbc__decoder_8h.tex
Normal file
@@ -0,0 +1,30 @@
|
||||
\hypertarget{dbc__decoder_8h}{}\doxysection{dbc\+\_\+decoder.\+h File Reference}
|
||||
\label{dbc__decoder_8h}\index{dbc\_decoder.h@{dbc\_decoder.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include $<$cstdint$>$}\newline
|
||||
{\ttfamily \#include \char`\"{}decode\+\_\+database.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{structRawCanFrame}{Raw\+Can\+Frame}}
|
||||
\begin{DoxyCompactList}\small\item\em Raw CAN frame used for runtime or trace decoding. \end{DoxyCompactList}\item
|
||||
struct \mbox{\hyperlink{structDecodedSignalValue}{Decoded\+Signal\+Value}}
|
||||
\begin{DoxyCompactList}\small\item\em One decoded signal value. \end{DoxyCompactList}\item
|
||||
struct \mbox{\hyperlink{structDecodedFrameValue}{Decoded\+Frame\+Value}}
|
||||
\begin{DoxyCompactList}\small\item\em Fully decoded frame. \end{DoxyCompactList}\item
|
||||
class \mbox{\hyperlink{classDbcDecoder}{Dbc\+Decoder}}
|
||||
\begin{DoxyCompactList}\small\item\em Runtime CAN decoder using prebuilt decode database. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
115
docs/latex/dbc__decoder_8h_source.tex
Normal file
115
docs/latex/dbc__decoder_8h_source.tex
Normal file
@@ -0,0 +1,115 @@
|
||||
\hypertarget{dbc__decoder_8h_source}{}\doxysection{dbc\+\_\+decoder.\+h}
|
||||
\mbox{\hyperlink{dbc__decoder_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00002}00002 \textcolor{comment}{ * @file dbc\_decoder.h}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef DBC\_DECODER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00013}00013 \textcolor{preprocessor}{\#define DBC\_DECODER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00016}00016 \textcolor{preprocessor}{\#include <cstdint>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00017}00017 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00018}00018 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{decode__database_8h}{decode\_database.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00019}00019 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00020}00020 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00021}00021 \textcolor{comment}{ * @brief Raw CAN frame used for runtime or trace decoding.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00022}00022 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00023}\mbox{\hyperlink{structRawCanFrame}{00023}} \textcolor{keyword}{struct }\mbox{\hyperlink{structRawCanFrame}{RawCanFrame}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00024}\mbox{\hyperlink{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}{00024}} std::uint32\_t \mbox{\hyperlink{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}{canId}}; \textcolor{comment}{/**< Normalized CAN ID. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00025}\mbox{\hyperlink{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}{00025}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}{isExtended}}; \textcolor{comment}{/**< true for extended frame. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00026}\mbox{\hyperlink{structRawCanFrame_a0acb487612104c99c9907344c035df83}{00026}} std::vector<std::uint8\_t> \mbox{\hyperlink{structRawCanFrame_a0acb487612104c99c9907344c035df83}{data}}; \textcolor{comment}{/**< Payload bytes. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00027}00027 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00028}\mbox{\hyperlink{structRawCanFrame_a17d18b39bed45e69f4e17ae2838f07f7}{00028}} \mbox{\hyperlink{structRawCanFrame_a17d18b39bed45e69f4e17ae2838f07f7}{RawCanFrame}}()}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00029}00029 : \mbox{\hyperlink{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}{canId}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00030}00030 , \mbox{\hyperlink{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}{isExtended}} (false)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00031}00031 , \mbox{\hyperlink{structRawCanFrame_a0acb487612104c99c9907344c035df83}{data}}() \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00032}00032 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00033}00033 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00034}00034 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00035}00035 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00036}00036 \textcolor{comment}{ * @brief One decoded signal value.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00037}00037 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00038}\mbox{\hyperlink{structDecodedSignalValue}{00038}} \textcolor{keyword}{struct }\mbox{\hyperlink{structDecodedSignalValue}{DecodedSignalValue}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00039}\mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{00039}} \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeSignal}{DecodeSignal}} *\mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{definition}}; \textcolor{comment}{/**< Signal definition. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00040}\mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{00040}} std::int64\_t \mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{rawValue}}; \textcolor{comment}{/**< Extracted raw integer value. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00041}\mbox{\hyperlink{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}{00041}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}{physicalValue}}; \textcolor{comment}{/**< Converted physical value. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00042}\mbox{\hyperlink{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}{00042}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}{valid}}; \textcolor{comment}{/**< true if decoding succeeded. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00043}00043 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00044}\mbox{\hyperlink{structDecodedSignalValue_a1481b122a7ce5a618012b1133c6adedf}{00044}} \mbox{\hyperlink{structDecodedSignalValue_a1481b122a7ce5a618012b1133c6adedf}{DecodedSignalValue}}()}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00045}00045 : \mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{definition}} (nullptr)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00046}00046 , \mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{rawValue}} (0)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00047}00047 , \mbox{\hyperlink{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}{physicalValue}} (0.0)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00048}00048 , \mbox{\hyperlink{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}{valid}} (false) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00049}00049 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00050}00050 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00051}00051 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00052}00052 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00053}00053 \textcolor{comment}{ * @brief Fully decoded frame.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00054}00054 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00055}\mbox{\hyperlink{structDecodedFrameValue}{00055}} \textcolor{keyword}{struct }\mbox{\hyperlink{structDecodedFrameValue}{DecodedFrameValue}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00056}\mbox{\hyperlink{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}{00056}} \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeFrame}{DecodeFrame}} *\mbox{\hyperlink{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}{definition}}; \textcolor{comment}{/**< Frame definition. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00057}\mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{00057}} std::vector<DecodedSignalValue> \mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{signals}}; \textcolor{comment}{/**< Decoded signal values. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00058}\mbox{\hyperlink{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}{00058}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}{valid}}; \textcolor{comment}{/**< true if frame was matched. */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00059}00059 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00060}\mbox{\hyperlink{structDecodedFrameValue_a19f754bb84e67e6ae71ea93b9ae6382b}{00060}} \mbox{\hyperlink{structDecodedFrameValue_a19f754bb84e67e6ae71ea93b9ae6382b}{DecodedFrameValue}}()}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00061}00061 : \mbox{\hyperlink{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}{definition}} (nullptr)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00062}00062 , \mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{signals}}()}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00063}00063 , \mbox{\hyperlink{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}{valid}} (false) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00064}00064 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00065}00065 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00066}00066 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00067}00067 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00068}00068 \textcolor{comment}{ * @brief Runtime CAN decoder using prebuilt decode database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00069}00069 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00070}\mbox{\hyperlink{classDbcDecoder}{00070}} \textcolor{keyword}{class }\mbox{\hyperlink{classDbcDecoder}{DbcDecoder}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00071}00071 \textcolor{keyword}{public}:\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00072}00072 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00073}00073 \textcolor{comment}{ * @brief Find frame definition by CAN ID.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00074}00074 \textcolor{comment}{ * @param database Runtime decode database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00075}00075 \textcolor{comment}{ * @param canId Normalized CAN ID.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00076}00076 \textcolor{comment}{ * @param isExtended true for extended frame.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00077}00077 \textcolor{comment}{ * @return Pointer to frame definition or nullptr.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00078}00078 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00079}00079 \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeFrame}{DecodeFrame}} *\mbox{\hyperlink{classDbcDecoder_ab2cfb2fb711c95d3a29365546b89f3da}{FindFrame}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} \&database,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00080}00080 std::uint32\_t canId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00081}00081 \textcolor{keywordtype}{bool} isExtended) \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00082}00082 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00083}00083 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00084}00084 \textcolor{comment}{ * @brief Decode one raw CAN frame.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00085}00085 \textcolor{comment}{ * @param database Runtime decode database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00086}00086 \textcolor{comment}{ * @param frame Raw CAN frame.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00087}00087 \textcolor{comment}{ * @return Decoded frame value.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00088}00088 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00089}00089 \mbox{\hyperlink{structDecodedFrameValue}{DecodedFrameValue}} \mbox{\hyperlink{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}{Decode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} \&database,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00090}00090 \textcolor{keyword}{const} \mbox{\hyperlink{structRawCanFrame}{RawCanFrame}} \&frame) \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00091}00091 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00092}00092 \textcolor{keyword}{private}:}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00093}00093 \textcolor{keyword}{static} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcDecoder_a2a8a99b1107543be6fd1b3f891130bf5}{ExtractUnsigned}} (\textcolor{keyword}{const} std::vector<std::uint8\_t> \&data,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00094}00094 \textcolor{keyword}{const} \mbox{\hyperlink{structDecodeSignal}{DecodeSignal}} \&signal,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00095}00095 std::uint64\_t \&value);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00096}00096 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00097}00097 \textcolor{keyword}{static} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcDecoder_aba130165c1a73bb4cd3a0454f415d872}{ExtractIntel}} (\textcolor{keyword}{const} std::vector<std::uint8\_t> \&data,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00098}00098 std::uint32\_t startBit,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00099}00099 std::uint32\_t length,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00100}00100 std::uint64\_t \&value);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00101}00101 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00102}00102 \textcolor{keyword}{static} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcDecoder_aede690734148c3d538105d5a2f7ee0a9}{ExtractMotorola}} (\textcolor{keyword}{const} std::vector<std::uint8\_t> \&data,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00103}00103 std::uint32\_t startBit,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00104}00104 std::uint32\_t length,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00105}00105 std::uint64\_t \&value);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00106}00106 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00107}00107 \textcolor{keyword}{static} std::int64\_t \mbox{\hyperlink{classDbcDecoder_a41e89e343338088d27e46773fa52df42}{SignExtend}} (std::uint64\_t value, std::uint32\_t bitLength);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00108}00108 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00109}00109 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__decoder_8h_source_l00110}00110 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DBC\_DECODER\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
31
docs/latex/dbc__parser_8cpp.tex
Normal file
31
docs/latex/dbc__parser_8cpp.tex
Normal file
@@ -0,0 +1,31 @@
|
||||
\hypertarget{dbc__parser_8cpp}{}\doxysection{dbc\+\_\+parser.\+cpp File Reference}
|
||||
\label{dbc__parser_8cpp}\index{dbc\_parser.cpp@{dbc\_parser.cpp}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+parser.\+h\char`\"{}}\newline
|
||||
{\ttfamily \#include $<$fstream$>$}\newline
|
||||
{\ttfamily \#include $<$sstream$>$}\newline
|
||||
{\ttfamily \#include $<$stdexcept$>$}\newline
|
||||
{\ttfamily \#include $<$cctype$>$}\newline
|
||||
\doxysubsection*{Namespaces}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
namespace \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03}{anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\}}}
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\}\+::\+Trim\+Text}} (const std\+::string \&text)
|
||||
\begin{DoxyCompactList}\small\item\em Remove leading and trailing spaces. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
361
docs/latex/dbc__parser_8cpp_source.tex
Normal file
361
docs/latex/dbc__parser_8cpp_source.tex
Normal file
@@ -0,0 +1,361 @@
|
||||
\hypertarget{dbc__parser_8cpp_source}{}\doxysection{dbc\+\_\+parser.\+cpp}
|
||||
\mbox{\hyperlink{dbc__parser_8cpp}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00002}00002 \textcolor{comment}{ * @file dbc\_parser.cpp}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00012}00012 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__parser_8h}{dbc\_parser.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00013}00013 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00014}00014 \textcolor{preprocessor}{\#include <fstream>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00015}00015 \textcolor{preprocessor}{\#include <sstream>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00016}00016 \textcolor{preprocessor}{\#include <stdexcept>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00017}00017 \textcolor{preprocessor}{\#include <cctype>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00018}00018 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00019}\mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03}{00019}} \textcolor{keyword}{namespace }\{\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00020}00020 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00021}00021 \textcolor{comment}{ * @brief Remove leading and trailing spaces.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00022}00022 \textcolor{comment}{ * @param text Input text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00023}00023 \textcolor{comment}{ * @return Trimmed text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00024}00024 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00025}\mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{00025}} std::string \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (\textcolor{keyword}{const} std::string \&text) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00026}00026 std::string::size\_type begin = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00027}00027 \textcolor{keywordflow}{while} ((begin < text.size()) \&\&}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00028}00028 std::isspace (\textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}\textcolor{keyword}{>} (text[begin])))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00029}00029 ++begin;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00030}00030 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00031}00031 std::string::size\_type end = text.size();}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00032}00032 \textcolor{keywordflow}{while} ((end > begin) \&\&}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00033}00033 std::isspace (\textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}\textcolor{keyword}{>} (text[end -\/ 1U])))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00034}00034 -\/-\/end;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00035}00035 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00036}00036 \textcolor{keywordflow}{return} text.substr (begin, end -\/ begin);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00037}00037 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00038}00038 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00039}00039 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00040}\mbox{\hyperlink{classDbcParser_aef72826942c9095d653fafa435855e56}{00040}} \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \mbox{\hyperlink{classDbcParser_aef72826942c9095d653fafa435855e56}{DbcParser::ParseFile}} (\textcolor{keyword}{const} std::string \&filePath)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00041}00041 std::ifstream input (filePath.c\_str());}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00042}00042 \textcolor{keywordflow}{if} (!input.is\_open())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00043}00043 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Failed to open DBC file: "{}} + filePath);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00044}00044 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00045}00045 \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} database;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00046}00046 \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *currentFrame = \textcolor{keyword}{nullptr};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00047}00047 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00048}00048 std::string line;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00049}00049 \textcolor{keywordflow}{while} (std::getline (input, line)) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00050}00050 line = \mbox{\hyperlink{classDbcParser_a1ae77c4c356af3d7b01a30044366f02b}{Trim}} (line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00051}00051 \textcolor{keywordflow}{if} (line.empty())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00052}00052 \textcolor{keywordflow}{continue};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00053}00053 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00054}00054 \textcolor{keywordflow}{if} (\mbox{\hyperlink{classDbcParser_ada086584d371c08dd93b75fb7965f13b}{IsFrameLine}} (line)) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00055}00055 \mbox{\hyperlink{structFrameInfo}{FrameInfo}} frame = \mbox{\hyperlink{classDbcParser_a6d73bb1885e59aecd8202e93a7cd392a}{ParseFrameLine}} (line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00056}00056 database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}.push\_back (frame);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00057}00057 currentFrame = \&database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}.back();}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00058}00058 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (\mbox{\hyperlink{classDbcParser_ace3d3432a55707bc286a994aa205fed1}{IsSignalLine}} (line)) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00059}00059 \textcolor{keywordflow}{if} (currentFrame == \textcolor{keyword}{nullptr})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00060}00060 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Signal found before any frame definition."{}});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00061}00061 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00062}00062 \mbox{\hyperlink{structSignalInfo}{SignalInfo}} signal = \mbox{\hyperlink{classDbcParser_a4cbce88d08b1f72903ecf1bce41de5d2}{ParseSignalLine}} (line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00063}00063 currentFrame-\/>\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}.push\_back (signal);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00064}00064 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (\mbox{\hyperlink{classDbcParser_ae3488a0a6c64dc95e4ed289e77579feb}{IsCommentLine}} (line))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00065}00065 \mbox{\hyperlink{classDbcParser_aa662b34694fd8b3edd757f36cb064c5c}{ParseCommentLine}} (line, database);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00066}00066 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00067}00067 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00068}00068 \textcolor{keywordflow}{return} database;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00069}00069 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00070}00070 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00071}\mbox{\hyperlink{classDbcParser_ada086584d371c08dd93b75fb7965f13b}{00071}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcParser_ada086584d371c08dd93b75fb7965f13b}{DbcParser::IsFrameLine}} (\textcolor{keyword}{const} std::string \&line) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00072}00072 \textcolor{keywordflow}{return} (line.size() >= 4U) \&\& (line.compare (0U, 4U, \textcolor{stringliteral}{"{}BO\_ "{}}) == 0);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00073}00073 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00074}00074 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00075}\mbox{\hyperlink{classDbcParser_ace3d3432a55707bc286a994aa205fed1}{00075}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcParser_ace3d3432a55707bc286a994aa205fed1}{DbcParser::IsSignalLine}} (\textcolor{keyword}{const} std::string \&line) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00076}00076 \textcolor{keywordflow}{return} (line.size() >= 4U) \&\& (line.compare (0U, 4U, \textcolor{stringliteral}{"{}SG\_ "{}}) == 0);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00077}00077 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00078}00078 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00079}\mbox{\hyperlink{classDbcParser_ae3488a0a6c64dc95e4ed289e77579feb}{00079}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcParser_ae3488a0a6c64dc95e4ed289e77579feb}{DbcParser::IsCommentLine}} (\textcolor{keyword}{const} std::string \&line) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00080}00080 \textcolor{keywordflow}{return} (line.size() >= 4U) \&\& (line.compare (0U, 4U, \textcolor{stringliteral}{"{}CM\_ "{}}) == 0);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00081}00081 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00082}00082 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00083}\mbox{\hyperlink{classDbcParser_a1ae77c4c356af3d7b01a30044366f02b}{00083}} std::string \mbox{\hyperlink{classDbcParser_a1ae77c4c356af3d7b01a30044366f02b}{DbcParser::Trim}} (\textcolor{keyword}{const} std::string \&text) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00084}00084 \textcolor{keywordflow}{return} \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (text);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00085}00085 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00086}00086 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00087}\mbox{\hyperlink{classDbcParser_a0c1cc3c58f33473bf426a77b7a25c529}{00087}} std::vector<std::string> \mbox{\hyperlink{classDbcParser_a0c1cc3c58f33473bf426a77b7a25c529}{DbcParser::SplitReceivers}} (\textcolor{keyword}{const} std::string \&text) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00088}00088 std::vector<std::string> receivers;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00089}00089 std::string token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00090}00090 std::istringstream stream (text);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00091}00091 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00092}00092 \textcolor{keywordflow}{while} (std::getline (stream, token, \textcolor{charliteral}{','})) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00093}00093 token = \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (token);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00094}00094 \textcolor{keywordflow}{if} (!token.empty())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00095}00095 receivers.push\_back (token);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00096}00096 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00097}00097 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00098}00098 \textcolor{keywordflow}{return} receivers;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00099}00099 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00100}00100 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00101}\mbox{\hyperlink{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}{00101}} \textcolor{keywordtype}{void} \mbox{\hyperlink{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}{DbcParser::NormalizeCanId}} (std::uint32\_t rawCanId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00102}00102 std::uint32\_t \&normalizedCanId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00103}00103 \textcolor{keywordtype}{bool} \&isExtended) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00104}00104 \textcolor{comment}{/*}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00105}00105 \textcolor{comment}{ * DBC commonly stores extended identifiers with bit 31 set.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00106}00106 \textcolor{comment}{ * Example:}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00107}00107 \textcolor{comment}{ * raw id = 0x80000000 | actual\_29\_bit\_id}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00108}00108 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00109}00109 \textcolor{keywordflow}{if} ((rawCanId \& 0x80000000U) != 0U) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00110}00110 isExtended = \textcolor{keyword}{true};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00111}00111 normalizedCanId = (rawCanId \& 0x1FFFFFFFU);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00112}00112 \} \textcolor{keywordflow}{else} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00113}00113 isExtended = (rawCanId > 0x7FFU);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00114}00114 normalizedCanId = rawCanId;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00115}00115 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00116}00116 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00117}00117 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00118}\mbox{\hyperlink{classDbcParser_a8a7e8fc517e40beab87a8a1dbad2b324}{00118}} std::uint32\_t \mbox{\hyperlink{classDbcParser_a8a7e8fc517e40beab87a8a1dbad2b324}{DbcParser::TryExtractPgn}} (std::uint32\_t canId, \textcolor{keywordtype}{bool} isExtended, \textcolor{keywordtype}{bool} \&hasPgn) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00119}00119 hasPgn = \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00120}00120 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00121}00121 \textcolor{keywordflow}{if} (!isExtended)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00122}00122 \textcolor{keywordflow}{return} 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00123}00123 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00124}00124 \textcolor{keywordflow}{if} ((canId \& 0x1FFFFFFFU) != canId)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00125}00125 \textcolor{keywordflow}{return} 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00126}00126 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00127}00127 \textcolor{keyword}{const} std::uint32\_t pf = (canId >> 16U) \& 0xFFU;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00128}00128 \textcolor{keyword}{const} std::uint32\_t ps = (canId >> 8U) \& 0xFFU;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00129}00129 \textcolor{keyword}{const} std::uint32\_t dp = (canId >> 24U) \& 0x01U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00130}00130 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00131}00131 std::uint32\_t pgn = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00132}00132 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00133}00133 \textcolor{keywordflow}{if} (pf < 240U)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00134}00134 pgn = (dp << 16U) | (pf << 8U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00135}00135 \textcolor{keywordflow}{else}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00136}00136 pgn = (dp << 16U) | (pf << 8U) | ps;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00137}00137 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00138}00138 hasPgn = \textcolor{keyword}{true};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00139}00139 \textcolor{keywordflow}{return} pgn;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00140}00140 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00141}00141 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00142}\mbox{\hyperlink{classDbcParser_a6d73bb1885e59aecd8202e93a7cd392a}{00142}} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} \mbox{\hyperlink{classDbcParser_a6d73bb1885e59aecd8202e93a7cd392a}{DbcParser::ParseFrameLine}} (\textcolor{keyword}{const} std::string \&line) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00143}00143 \textcolor{comment}{/*}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00144}00144 \textcolor{comment}{ * Example:}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00145}00145 \textcolor{comment}{ * BO\_ 256 EngineData: 8 EEC1}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00146}00146 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00147}00147 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00148}00148 std::istringstream stream (line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00149}00149 std::string token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00150}00150 \mbox{\hyperlink{structFrameInfo}{FrameInfo}} frame;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00151}00151 std::uint32\_t rawCanId = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00152}00152 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00153}00153 stream >> token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00154}00154 \textcolor{keywordflow}{if} (token != \textcolor{stringliteral}{"{}BO\_"{}})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00155}00155 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Invalid frame line: "{}} + line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00156}00156 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00157}00157 stream >> rawCanId;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00158}00158 \mbox{\hyperlink{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}{NormalizeCanId}} (rawCanId, frame.\mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{canId}}, frame.\mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{isExtended}});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00159}00159 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00160}00160 stream >> token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00161}00161 \textcolor{keywordflow}{if} (token.empty())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00162}00162 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Missing frame name: "{}} + line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00163}00163 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00164}00164 \textcolor{keywordflow}{if} (token[token.size() -\/ 1U] == \textcolor{charliteral}{':'})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00165}00165 token.erase (token.size() -\/ 1U, 1U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00166}00166 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00167}00167 frame.\mbox{\hyperlink{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}{name}} = token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00168}00168 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00169}00169 \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00170}00170 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} dlcValue = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00171}00171 stream >> dlcValue;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00172}00172 frame.\mbox{\hyperlink{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}{dlc}} = \textcolor{keyword}{static\_cast<}std::uint8\_t\textcolor{keyword}{>} (dlcValue);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00173}00173 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00174}00174 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00175}00175 stream >> frame.\mbox{\hyperlink{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}{transmitter}};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00176}00176 frame.\mbox{\hyperlink{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}{pgn}} = \mbox{\hyperlink{classDbcParser_a8a7e8fc517e40beab87a8a1dbad2b324}{TryExtractPgn}} (frame.\mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{canId}}, frame.\mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{isExtended}}, frame.\mbox{\hyperlink{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}{hasPgn}});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00177}00177 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00178}00178 \textcolor{keywordflow}{return} frame;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00179}00179 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00180}00180 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00181}\mbox{\hyperlink{classDbcParser_a4cbce88d08b1f72903ecf1bce41de5d2}{00181}} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} \mbox{\hyperlink{classDbcParser_a4cbce88d08b1f72903ecf1bce41de5d2}{DbcParser::ParseSignalLine}} (\textcolor{keyword}{const} std::string \&line) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00182}00182 \textcolor{comment}{/*}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00183}00183 \textcolor{comment}{ * Example:}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00184}00184 \textcolor{comment}{ * SG\_ EngineSpeed : 0|16@1+ (0.125,0) [0|8000] "{}rpm"{} ECU1,ECU2}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00185}00185 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00186}00186 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00187}00187 \mbox{\hyperlink{structSignalInfo}{SignalInfo}} signal;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00188}00188 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00189}00189 std::string work = \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00190}00190 \textcolor{keywordflow}{if} (work.compare (0U, 4U, \textcolor{stringliteral}{"{}SG\_ "{}}) != 0)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00191}00191 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Invalid signal line: "{}} + line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00192}00192 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00193}00193 work.erase (0U, 4U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00194}00194 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00195}00195 \textcolor{keyword}{const} std::string::size\_type colonPos = work.find (\textcolor{charliteral}{':'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00196}00196 \textcolor{keywordflow}{if} (colonPos == std::string::npos)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00197}00197 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Signal line missing ':' : "{}} + line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00198}00198 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00199}00199 signal.\mbox{\hyperlink{structSignalInfo_a379e422a00cad56f896cacf60455b088}{name}} = \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (work.substr (0U, colonPos));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00200}00200 std::string rest = \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (work.substr (colonPos + 1U));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00201}00201 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00202}00202 \textcolor{keyword}{const} std::string::size\_type pipePos = rest.find (\textcolor{charliteral}{'|'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00203}00203 \textcolor{keyword}{const} std::string::size\_type atPos = rest.find (\textcolor{charliteral}{'@'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00204}00204 \textcolor{keyword}{const} std::string::size\_type signPos = rest.find\_first\_of (\textcolor{stringliteral}{"{}+-\/"{}}, atPos);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00205}00205 \textcolor{keyword}{const} std::string::size\_type factorBegin = rest.find (\textcolor{charliteral}{'('});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00206}00206 \textcolor{keyword}{const} std::string::size\_type factorComma = rest.find (\textcolor{charliteral}{','}, factorBegin);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00207}00207 \textcolor{keyword}{const} std::string::size\_type factorEnd = rest.find (\textcolor{charliteral}{')'}, factorComma);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00208}00208 \textcolor{keyword}{const} std::string::size\_type rangeBegin = rest.find (\textcolor{charliteral}{'['});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00209}00209 \textcolor{keyword}{const} std::string::size\_type rangeSep = rest.find (\textcolor{charliteral}{'|'}, rangeBegin);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00210}00210 \textcolor{keyword}{const} std::string::size\_type rangeEnd = rest.find (\textcolor{charliteral}{']'}, rangeSep);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00211}00211 \textcolor{keyword}{const} std::string::size\_type unitBegin = rest.find (\textcolor{charliteral}{'"{}'}, rangeEnd);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00212}00212 \textcolor{keyword}{const} std::string::size\_type unitEnd = rest.find (\textcolor{charliteral}{'"{}'}, unitBegin + 1U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00213}00213 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00214}00214 \textcolor{keywordflow}{if} ((pipePos == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00215}00215 (atPos == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00216}00216 (signPos == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00217}00217 (factorBegin == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00218}00218 (factorComma == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00219}00219 (factorEnd == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00220}00220 (rangeBegin == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00221}00221 (rangeSep == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00222}00222 (rangeEnd == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00223}00223 (unitBegin == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00224}00224 (unitEnd == std::string::npos))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00225}00225 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Unsupported signal syntax: "{}} + line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00226}00226 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00227}00227 signal.\mbox{\hyperlink{structSignalInfo_ace290724f9801521609aedaa946d61f1}{startBit}} = \textcolor{keyword}{static\_cast<}std::uint32\_t\textcolor{keyword}{>} (}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00228}00228 std::stoul (\mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (rest.substr (0U, pipePos)))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00229}00229 );}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00230}00230 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00231}00231 signal.\mbox{\hyperlink{structSignalInfo_a1008b5201f71848177217bd52fb84baa}{length}} = \textcolor{keyword}{static\_cast<}std::uint32\_t\textcolor{keyword}{>} (}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00232}00232 std::stoul (\mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (rest.substr (pipePos + 1U, atPos -\/ pipePos -\/ 1U)))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00233}00233 );}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00234}00234 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00235}00235 \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00236}00236 \textcolor{keywordflow}{if} ((atPos + 1U) >= rest.size())}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00237}00237 \textcolor{keywordflow}{throw} std::runtime\_error (\textcolor{stringliteral}{"{}Invalid endianness in signal: "{}} + line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00238}00238 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00239}00239 \textcolor{keyword}{const} \textcolor{keywordtype}{char} endianChar = rest[atPos + 1U];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00240}00240 signal.\mbox{\hyperlink{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}{isLittleEndian}} = (endianChar == \textcolor{charliteral}{'1'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00241}00241 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00242}00242 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00243}00243 \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00244}00244 \textcolor{keyword}{const} \textcolor{keywordtype}{char} signChar = rest[signPos];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00245}00245 signal.\mbox{\hyperlink{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}{isSigned}} = (signChar == \textcolor{charliteral}{'-\/'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00246}00246 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00247}00247 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00248}00248 signal.\mbox{\hyperlink{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}{factor}} = std::stod (}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00249}00249 \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (rest.substr (factorBegin + 1U, factorComma -\/ factorBegin -\/ 1U))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00250}00250 );}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00251}00251 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00252}00252 signal.\mbox{\hyperlink{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}{offset}} = std::stod (}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00253}00253 \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (rest.substr (factorComma + 1U, factorEnd -\/ factorComma -\/ 1U))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00254}00254 );}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00255}00255 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00256}00256 signal.\mbox{\hyperlink{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}{minimum}} = std::stod (}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00257}00257 \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (rest.substr (rangeBegin + 1U, rangeSep -\/ rangeBegin -\/ 1U))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00258}00258 );}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00259}00259 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00260}00260 signal.\mbox{\hyperlink{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}{maximum}} = std::stod (}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00261}00261 \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (rest.substr (rangeSep + 1U, rangeEnd -\/ rangeSep -\/ 1U))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00262}00262 );}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00263}00263 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00264}00264 signal.\mbox{\hyperlink{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}{unit}} = rest.substr (unitBegin + 1U, unitEnd -\/ unitBegin -\/ 1U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00265}00265 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00266}00266 \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00267}00267 \textcolor{keyword}{const} std::string receiversText = \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{TrimText}} (rest.substr (unitEnd + 1U));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00268}00268 signal.\mbox{\hyperlink{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}{receivers}} = \mbox{\hyperlink{classDbcParser_a0c1cc3c58f33473bf426a77b7a25c529}{SplitReceivers}} (receiversText);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00269}00269 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00270}00270 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00271}00271 \textcolor{keywordflow}{return} signal;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00272}00272 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00273}00273 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00274}\mbox{\hyperlink{classDbcParser_aa662b34694fd8b3edd757f36cb064c5c}{00274}} \textcolor{keywordtype}{void} \mbox{\hyperlink{classDbcParser_aa662b34694fd8b3edd757f36cb064c5c}{DbcParser::ParseCommentLine}} (\textcolor{keyword}{const} std::string \&line, \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&database) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00275}00275 \textcolor{comment}{/*}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00276}00276 \textcolor{comment}{ * Examples:}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00277}00277 \textcolor{comment}{ * CM\_ BO\_ 256 "{}Frame comment"{};}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00278}00278 \textcolor{comment}{ * CM\_ SG\_ 256 EngineSpeed "{}Signal comment"{};}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00279}00279 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00280}00280 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00281}00281 std::istringstream stream (line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00282}00282 std::string token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00283}00283 stream >> token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00284}00284 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00285}00285 \textcolor{keywordflow}{if} (token != \textcolor{stringliteral}{"{}CM\_"{}})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00286}00286 \textcolor{keywordflow}{return};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00287}00287 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00288}00288 stream >> token;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00289}00289 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00290}00290 \textcolor{keywordflow}{if} (token == \textcolor{stringliteral}{"{}BO\_"{}}) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00291}00291 std::uint32\_t rawCanId = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00292}00292 std::uint32\_t canId = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00293}00293 \textcolor{keywordtype}{bool} isExtended = \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00294}00294 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00295}00295 stream >> rawCanId;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00296}00296 \mbox{\hyperlink{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}{NormalizeCanId}} (rawCanId, canId, isExtended);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00297}00297 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00298}00298 \textcolor{keyword}{const} std::string::size\_type quoteBegin = line.find (\textcolor{charliteral}{'"{}'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00299}00299 \textcolor{keyword}{const} std::string::size\_type quoteEnd = line.rfind (\textcolor{charliteral}{'"{}'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00300}00300 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00301}00301 \textcolor{keywordflow}{if} ((quoteBegin == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00302}00302 (quoteEnd == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00303}00303 (quoteEnd <= quoteBegin))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00304}00304 \textcolor{keywordflow}{return};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00305}00305 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00306}00306 \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *frame = \mbox{\hyperlink{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}{FindFrameById}} (database, canId, isExtended);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00307}00307 \textcolor{keywordflow}{if} (frame != \textcolor{keyword}{nullptr})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00308}00308 frame-\/>\mbox{\hyperlink{structFrameInfo_ace75121294f9d89b762080ab5643293c}{comment}} = line.substr (quoteBegin + 1U, quoteEnd -\/ quoteBegin -\/ 1U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00309}00309 \} \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (token == \textcolor{stringliteral}{"{}SG\_"{}}) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00310}00310 std::uint32\_t rawCanId = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00311}00311 std::uint32\_t canId = 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00312}00312 \textcolor{keywordtype}{bool} isExtended = \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00313}00313 std::string signalName;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00314}00314 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00315}00315 stream >> rawCanId;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00316}00316 stream >> signalName;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00317}00317 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00318}00318 \mbox{\hyperlink{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}{NormalizeCanId}} (rawCanId, canId, isExtended);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00319}00319 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00320}00320 \textcolor{keyword}{const} std::string::size\_type quoteBegin = line.find (\textcolor{charliteral}{'"{}'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00321}00321 \textcolor{keyword}{const} std::string::size\_type quoteEnd = line.rfind (\textcolor{charliteral}{'"{}'});}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00322}00322 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00323}00323 \textcolor{keywordflow}{if} ((quoteBegin == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00324}00324 (quoteEnd == std::string::npos) ||}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00325}00325 (quoteEnd <= quoteBegin))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00326}00326 \textcolor{keywordflow}{return};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00327}00327 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00328}00328 \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *frame = \mbox{\hyperlink{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}{FindFrameById}} (database, canId, isExtended);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00329}00329 \textcolor{keywordflow}{if} (frame != \textcolor{keyword}{nullptr}) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00330}00330 \mbox{\hyperlink{structSignalInfo}{SignalInfo}} *signal = \mbox{\hyperlink{classDbcParser_ab7b95be4433c56cc855bedb08b96a71a}{FindSignalByName}} (*frame, signalName);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00331}00331 \textcolor{keywordflow}{if} (signal != \textcolor{keyword}{nullptr})}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00332}00332 signal-\/>\mbox{\hyperlink{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}{comment}} = line.substr (quoteBegin + 1U, quoteEnd -\/ quoteBegin -\/ 1U);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00333}00333 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00334}00334 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00335}00335 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00336}00336 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00337}\mbox{\hyperlink{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}{00337}} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *\mbox{\hyperlink{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}{DbcParser::FindFrameById}} (\mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&database,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00338}00338 std::uint32\_t canId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00339}00339 \textcolor{keywordtype}{bool} isExtended) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00340}00340 \textcolor{keywordflow}{for} (std::size\_t index = 0U; index < database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}.size(); ++index) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00341}00341 \textcolor{keywordflow}{if} ((database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}[index].canId == canId) \&\&}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00342}00342 (database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}[index].isExtended == isExtended))}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00343}00343 \textcolor{keywordflow}{return} \&database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}[index];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00344}00344 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00345}00345 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00346}00346 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00347}00347 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00348}00348 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00349}\mbox{\hyperlink{classDbcParser_ab7b95be4433c56cc855bedb08b96a71a}{00349}} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} *\mbox{\hyperlink{classDbcParser_ab7b95be4433c56cc855bedb08b96a71a}{DbcParser::FindSignalByName}} (\mbox{\hyperlink{structFrameInfo}{FrameInfo}} \&frame, \textcolor{keyword}{const} std::string \&signalName) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00350}00350 \textcolor{keywordflow}{for} (std::size\_t index = 0U; index < frame.\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}.size(); ++index) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00351}00351 \textcolor{keywordflow}{if} (frame.\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}[index].name == signalName)}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00352}00352 \textcolor{keywordflow}{return} \&frame.\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}[index];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00353}00353 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00354}00354 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00355}00355 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8cpp_source_l00356}00356 \}}
|
||||
|
||||
\end{DoxyCode}
|
||||
25
docs/latex/dbc__parser_8h.tex
Normal file
25
docs/latex/dbc__parser_8h.tex
Normal file
@@ -0,0 +1,25 @@
|
||||
\hypertarget{dbc__parser_8h}{}\doxysection{dbc\+\_\+parser.\+h File Reference}
|
||||
\label{dbc__parser_8h}\index{dbc\_parser.h@{dbc\_parser.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$string$>$}\newline
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include $<$cstdint$>$}\newline
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+database.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
class \mbox{\hyperlink{classDbcParser}{Dbc\+Parser}}
|
||||
\begin{DoxyCompactList}\small\item\em Minimal DBC parser. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__parser_8h_source}{dbc\+\_\+parser.\+h}}.
|
||||
|
||||
74
docs/latex/dbc__parser_8h_source.tex
Normal file
74
docs/latex/dbc__parser_8h_source.tex
Normal file
@@ -0,0 +1,74 @@
|
||||
\hypertarget{dbc__parser_8h_source}{}\doxysection{dbc\+\_\+parser.\+h}
|
||||
\mbox{\hyperlink{dbc__parser_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00002}00002 \textcolor{comment}{ * @file dbc\_parser.h}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef DBC\_PARSER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00013}00013 \textcolor{preprocessor}{\#define DBC\_PARSER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <string>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00016}00016 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00017}00017 \textcolor{preprocessor}{\#include <cstdint>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00018}00018 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00019}00019 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__database_8h}{dbc\_database.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00020}00020 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00021}00021 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00022}00022 \textcolor{comment}{ * @brief Minimal DBC parser.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00023}00023 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00024}00024 \textcolor{comment}{ * Supports:}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00025}00025 \textcolor{comment}{ * -\/ BO\_}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00026}00026 \textcolor{comment}{ * -\/ SG\_}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00027}00027 \textcolor{comment}{ * -\/ CM\_ BO\_}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00028}00028 \textcolor{comment}{ * -\/ CM\_ SG\_}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00029}00029 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00030}00030 \textcolor{comment}{ * Ignores:}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00031}00031 \textcolor{comment}{ * -\/ attributes}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00032}00032 \textcolor{comment}{ * -\/ multiplexing}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00033}00033 \textcolor{comment}{ * -\/ value tables}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00034}00034 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00035}\mbox{\hyperlink{classDbcParser}{00035}} \textcolor{keyword}{class }\mbox{\hyperlink{classDbcParser}{DbcParser}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00036}00036 \textcolor{keyword}{public}:\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00037}00037 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00038}00038 \textcolor{comment}{ * @brief Parse DBC file.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00039}00039 \textcolor{comment}{ * @param filePath Path to input file.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00040}00040 \textcolor{comment}{ * @return Parsed database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00041}00041 \textcolor{comment}{ * @throws std::runtime\_error on file or parse errors.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00042}00042 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00043}00043 \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \mbox{\hyperlink{classDbcParser_aef72826942c9095d653fafa435855e56}{ParseFile}} (\textcolor{keyword}{const} std::string \&filePath) \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00044}00044 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00045}00045 \textcolor{keyword}{private}:}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00046}00046 \textcolor{keyword}{static} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcParser_ada086584d371c08dd93b75fb7965f13b}{IsFrameLine}} (\textcolor{keyword}{const} std::string \&line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00047}00047 \textcolor{keyword}{static} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcParser_ace3d3432a55707bc286a994aa205fed1}{IsSignalLine}} (\textcolor{keyword}{const} std::string \&line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00048}00048 \textcolor{keyword}{static} \textcolor{keywordtype}{bool} \mbox{\hyperlink{classDbcParser_ae3488a0a6c64dc95e4ed289e77579feb}{IsCommentLine}} (\textcolor{keyword}{const} std::string \&line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00049}00049 \textcolor{keyword}{static} std::string \mbox{\hyperlink{classDbcParser_a1ae77c4c356af3d7b01a30044366f02b}{Trim}} (\textcolor{keyword}{const} std::string \&text);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00050}00050 \textcolor{keyword}{static} std::vector<std::string> \mbox{\hyperlink{classDbcParser_a0c1cc3c58f33473bf426a77b7a25c529}{SplitReceivers}} (\textcolor{keyword}{const} std::string \&text);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00051}00051 \textcolor{keyword}{static} std::uint32\_t \mbox{\hyperlink{classDbcParser_a8a7e8fc517e40beab87a8a1dbad2b324}{TryExtractPgn}} (std::uint32\_t canId, \textcolor{keywordtype}{bool} isExtended, \textcolor{keywordtype}{bool} \&hasPgn);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00052}00052 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00053}00053 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{classDbcParser_a94d140d9442e4989b5b2ea7662c2debf}{NormalizeCanId}} (std::uint32\_t rawCanId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00054}00054 std::uint32\_t \&normalizedCanId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00055}00055 \textcolor{keywordtype}{bool} \&isExtended);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00056}00056 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00057}00057 \textcolor{keyword}{static} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} \mbox{\hyperlink{classDbcParser_a6d73bb1885e59aecd8202e93a7cd392a}{ParseFrameLine}} (\textcolor{keyword}{const} std::string \&line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00058}00058 \textcolor{keyword}{static} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} \mbox{\hyperlink{classDbcParser_a4cbce88d08b1f72903ecf1bce41de5d2}{ParseSignalLine}} (\textcolor{keyword}{const} std::string \&line);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00059}00059 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00060}00060 \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{classDbcParser_aa662b34694fd8b3edd757f36cb064c5c}{ParseCommentLine}} (\textcolor{keyword}{const} std::string \&line, \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&database);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00061}00061 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00062}00062 \textcolor{keyword}{static} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *\mbox{\hyperlink{classDbcParser_ab1fee32cb845573ce10949b4bec721f9}{FindFrameById}} (\mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&database,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00063}00063 std::uint32\_t canId,}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00064}00064 \textcolor{keywordtype}{bool} isExtended);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00065}00065 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00066}00066 \textcolor{keyword}{static} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} *\mbox{\hyperlink{classDbcParser_ab7b95be4433c56cc855bedb08b96a71a}{FindSignalByName}} (\mbox{\hyperlink{structFrameInfo}{FrameInfo}} \&frame, \textcolor{keyword}{const} std::string \&signalName);}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00067}00067 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00068}00068 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__parser_8h_source_l00069}00069 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DBC\_PARSER\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
17
docs/latex/dbc__tree__builder_8cpp.tex
Normal file
17
docs/latex/dbc__tree__builder_8cpp.tex
Normal file
@@ -0,0 +1,17 @@
|
||||
\hypertarget{dbc__tree__builder_8cpp}{}\doxysection{dbc\+\_\+tree\+\_\+builder.\+cpp File Reference}
|
||||
\label{dbc__tree__builder_8cpp}\index{dbc\_tree\_builder.cpp@{dbc\_tree\_builder.cpp}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+tree\+\_\+builder.\+h\char`\"{}}\newline
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__tree__builder_8cpp_source}{dbc\+\_\+tree\+\_\+builder.\+cpp}}.
|
||||
|
||||
36
docs/latex/dbc__tree__builder_8cpp_source.tex
Normal file
36
docs/latex/dbc__tree__builder_8cpp_source.tex
Normal file
@@ -0,0 +1,36 @@
|
||||
\hypertarget{dbc__tree__builder_8cpp_source}{}\doxysection{dbc\+\_\+tree\+\_\+builder.\+cpp}
|
||||
\mbox{\hyperlink{dbc__tree__builder_8cpp}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00002}00002 \textcolor{comment}{ * @file dbc\_tree\_builder.cpp}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00012}00012 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__tree__builder_8h}{dbc\_tree\_builder.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00013}00013 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00014}\mbox{\hyperlink{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}{00014}} std::unique\_ptr<TreeNode> \mbox{\hyperlink{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}{DbcTreeBuilder::Build}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&database)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00015}00015 std::unique\_ptr<TreeNode> root (\textcolor{keyword}{new} \mbox{\hyperlink{classTreeNode}{TreeNode}}());}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00016}00016 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00017}00017 \textcolor{keywordflow}{for} (std::size\_t frameIndex = 0U; frameIndex < database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}.size(); ++frameIndex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00018}00018 \textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} \&frame = database.\mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}[frameIndex];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00019}00019 std::unique\_ptr<TreeNode> frameNode (\textcolor{keyword}{new} \mbox{\hyperlink{classTreeNode}{TreeNode}} (frame));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00020}00020 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00021}00021 \textcolor{keywordflow}{for} (std::size\_t signalIndex = 0U; signalIndex < frame.\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}.size(); ++signalIndex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00022}00022 \textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} \&signal = frame.\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}[signalIndex];}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00023}00023 std::unique\_ptr<TreeNode> signalNode (\textcolor{keyword}{new} \mbox{\hyperlink{classTreeNode}{TreeNode}} (signal));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00024}00024 frameNode-\/>AddChild (std::move (signalNode));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00025}00025 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00026}00026 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00027}00027 root-\/>AddChild (std::move (frameNode));}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00028}00028 \}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00029}00029 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00030}00030 \textcolor{keywordflow}{return} root;}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8cpp_source_l00031}00031 \}}
|
||||
|
||||
\end{DoxyCode}
|
||||
24
docs/latex/dbc__tree__builder_8h.tex
Normal file
24
docs/latex/dbc__tree__builder_8h.tex
Normal file
@@ -0,0 +1,24 @@
|
||||
\hypertarget{dbc__tree__builder_8h}{}\doxysection{dbc\+\_\+tree\+\_\+builder.\+h File Reference}
|
||||
\label{dbc__tree__builder_8h}\index{dbc\_tree\_builder.h@{dbc\_tree\_builder.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$memory$>$}\newline
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+database.\+h\char`\"{}}\newline
|
||||
{\ttfamily \#include \char`\"{}tree\+\_\+node.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
class \mbox{\hyperlink{classDbcTreeBuilder}{Dbc\+Tree\+Builder}}
|
||||
\begin{DoxyCompactList}\small\item\em Builds a simple tree from parsed DBC database. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{dbc__tree__builder_8h_source}{dbc\+\_\+tree\+\_\+builder.\+h}}.
|
||||
|
||||
38
docs/latex/dbc__tree__builder_8h_source.tex
Normal file
38
docs/latex/dbc__tree__builder_8h_source.tex
Normal file
@@ -0,0 +1,38 @@
|
||||
\hypertarget{dbc__tree__builder_8h_source}{}\doxysection{dbc\+\_\+tree\+\_\+builder.\+h}
|
||||
\mbox{\hyperlink{dbc__tree__builder_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00002}00002 \textcolor{comment}{ * @file dbc\_tree\_builder.h}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef DBC\_TREE\_BUILDER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00013}00013 \textcolor{preprocessor}{\#define DBC\_TREE\_BUILDER\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <memory>}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00016}00016 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00017}00017 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__database_8h}{dbc\_database.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00018}00018 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{tree__node_8h}{tree\_node.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00019}00019 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00020}00020 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00021}00021 \textcolor{comment}{ * @brief Builds a simple tree from parsed DBC database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00022}00022 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00023}\mbox{\hyperlink{classDbcTreeBuilder}{00023}} \textcolor{keyword}{class }\mbox{\hyperlink{classDbcTreeBuilder}{DbcTreeBuilder}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00024}00024 \textcolor{keyword}{public}:\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00025}00025 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00026}00026 \textcolor{comment}{ * @brief Build tree representation of parsed DBC data.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00027}00027 \textcolor{comment}{ * @param database Parsed database.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00028}00028 \textcolor{comment}{ * @return Root node of the tree.}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00029}00029 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00030}00030 std::unique\_ptr<TreeNode> \mbox{\hyperlink{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}{Build}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} \&database) \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00031}00031 \};}
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00032}00032 }
|
||||
\DoxyCodeLine{\Hypertarget{dbc__tree__builder_8h_source_l00033}00033 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DBC\_TREE\_BUILDER\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
95
docs/latex/decode__database_8h.tex
Normal file
95
docs/latex/decode__database_8h.tex
Normal file
@@ -0,0 +1,95 @@
|
||||
\hypertarget{decode__database_8h}{}\doxysection{decode\+\_\+database.\+h File Reference}
|
||||
\label{decode__database_8h}\index{decode\_database.h@{decode\_database.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$string$>$}\newline
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include $<$unordered\+\_\+map$>$}\newline
|
||||
{\ttfamily \#include $<$cstdint$>$}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}}
|
||||
\begin{DoxyCompactList}\small\item\em Runtime-\/ready signal definition. \end{DoxyCompactList}\item
|
||||
struct \mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}}
|
||||
\begin{DoxyCompactList}\small\item\em Runtime-\/ready frame definition. \end{DoxyCompactList}\item
|
||||
struct \mbox{\hyperlink{structFrameKey}{Frame\+Key}}
|
||||
\begin{DoxyCompactList}\small\item\em Key for fast frame lookup. \end{DoxyCompactList}\item
|
||||
struct \mbox{\hyperlink{structFrameKeyHasher}{Frame\+Key\+Hasher}}
|
||||
\begin{DoxyCompactList}\small\item\em Hasher for frame key. \end{DoxyCompactList}\item
|
||||
struct \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}}
|
||||
\begin{DoxyCompactList}\small\item\em Runtime decode database with fast lookup by CAN ID. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Enumerations}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
enum class \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{Byte\+Order}} \{ \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}{Intel}}
|
||||
, \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31}{Motorola}}
|
||||
\}
|
||||
\begin{DoxyCompactList}\small\item\em Signal byte order used for runtime decoding. \end{DoxyCompactList}\item
|
||||
enum class \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{Value\+Type}} \{ \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a}{Unsigned}}
|
||||
, \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}{Signed}}
|
||||
\}
|
||||
\begin{DoxyCompactList}\small\item\em Signal numeric type. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Enumeration Type Documentation}
|
||||
\mbox{\Hypertarget{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}\label{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}}
|
||||
\index{decode\_database.h@{decode\_database.h}!ByteOrder@{ByteOrder}}
|
||||
\index{ByteOrder@{ByteOrder}!decode\_database.h@{decode\_database.h}}
|
||||
\doxysubsubsection{\texorpdfstring{ByteOrder}{ByteOrder}}
|
||||
{\footnotesize\ttfamily enum class \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{Byte\+Order}}\hspace{0.3cm}{\ttfamily [strong]}}
|
||||
|
||||
|
||||
|
||||
Signal byte order used for runtime decoding.
|
||||
|
||||
\begin{DoxyEnumFields}{Enumerator}
|
||||
\raisebox{\heightof{T}}[0pt][0pt]{\index{Intel@{Intel}!decode\_database.h@{decode\_database.h}}\index{decode\_database.h@{decode\_database.h}!Intel@{Intel}}}\mbox{\Hypertarget{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}\label{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}}
|
||||
Intel&\\
|
||||
\hline
|
||||
|
||||
\raisebox{\heightof{T}}[0pt][0pt]{\index{Motorola@{Motorola}!decode\_database.h@{decode\_database.h}}\index{decode\_database.h@{decode\_database.h}!Motorola@{Motorola}}}\mbox{\Hypertarget{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31}\label{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31}}
|
||||
Motorola&\\
|
||||
\hline
|
||||
|
||||
\end{DoxyEnumFields}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00023}{23}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
\mbox{\Hypertarget{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}\label{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}}
|
||||
\index{decode\_database.h@{decode\_database.h}!ValueType@{ValueType}}
|
||||
\index{ValueType@{ValueType}!decode\_database.h@{decode\_database.h}}
|
||||
\doxysubsubsection{\texorpdfstring{ValueType}{ValueType}}
|
||||
{\footnotesize\ttfamily enum class \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{Value\+Type}}\hspace{0.3cm}{\ttfamily [strong]}}
|
||||
|
||||
|
||||
|
||||
Signal numeric type.
|
||||
|
||||
\begin{DoxyEnumFields}{Enumerator}
|
||||
\raisebox{\heightof{T}}[0pt][0pt]{\index{Unsigned@{Unsigned}!decode\_database.h@{decode\_database.h}}\index{decode\_database.h@{decode\_database.h}!Unsigned@{Unsigned}}}\mbox{\Hypertarget{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a}\label{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a}}
|
||||
Unsigned&\\
|
||||
\hline
|
||||
|
||||
\raisebox{\heightof{T}}[0pt][0pt]{\index{Signed@{Signed}!decode\_database.h@{decode\_database.h}}\index{decode\_database.h@{decode\_database.h}!Signed@{Signed}}}\mbox{\Hypertarget{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}\label{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}}
|
||||
Signed&\\
|
||||
\hline
|
||||
|
||||
\end{DoxyEnumFields}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00031}{31}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
142
docs/latex/decode__database_8h_source.tex
Normal file
142
docs/latex/decode__database_8h_source.tex
Normal file
@@ -0,0 +1,142 @@
|
||||
\hypertarget{decode__database_8h_source}{}\doxysection{decode\+\_\+database.\+h}
|
||||
\mbox{\hyperlink{decode__database_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00002}00002 \textcolor{comment}{ * @file decode\_database.h}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef DECODE\_DATABASE\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00013}00013 \textcolor{preprocessor}{\#define DECODE\_DATABASE\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <string>}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00016}00016 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00017}00017 \textcolor{preprocessor}{\#include <unordered\_map>}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00018}00018 \textcolor{preprocessor}{\#include <cstdint>}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00019}00019 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00020}00020 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00021}00021 \textcolor{comment}{ * @brief Signal byte order used for runtime decoding.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00022}00022 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00023}\mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{00023}} \textcolor{keyword}{enum class} \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{ByteOrder}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00024}00024 \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}{Intel}},}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00025}00025 \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142ba2ed1afe3c9215523e4272f46e6186b31}{Motorola}}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00026}00026 \};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00027}00027 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00028}00028 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00029}00029 \textcolor{comment}{ * @brief Signal numeric type.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00030}00030 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00031}\mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{00031}} \textcolor{keyword}{enum class} \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{ValueType}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00032}00032 \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a}{Unsigned}},}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00033}00033 \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1a71fed0c3428bf1a2e19af257c4bac379}{Signed}}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00034}00034 \};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00035}00035 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00036}00036 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00037}00037 \textcolor{comment}{ * @brief Runtime-\/ready signal definition.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00038}00038 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00039}\mbox{\hyperlink{structDecodeSignal}{00039}} \textcolor{keyword}{struct }\mbox{\hyperlink{structDecodeSignal}{DecodeSignal}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00040}\mbox{\hyperlink{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}{00040}} std::string \mbox{\hyperlink{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}{name}}; \textcolor{comment}{/**< Signal name. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00041}\mbox{\hyperlink{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}{00041}} std::uint32\_t \mbox{\hyperlink{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}{startBit}}; \textcolor{comment}{/**< DBC start bit. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00042}\mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{00042}} std::uint32\_t \mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}}; \textcolor{comment}{/**< Signal length in bits. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00043}\mbox{\hyperlink{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}{00043}} \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{ByteOrder}} \mbox{\hyperlink{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}{byteOrder}}; \textcolor{comment}{/**< Intel or Motorola. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00044}\mbox{\hyperlink{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}{00044}} \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{ValueType}} \mbox{\hyperlink{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}{valueType}}; \textcolor{comment}{/**< Signed or unsigned. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00045}\mbox{\hyperlink{structDecodeSignal_a428c39913a366a8476dd291061354391}{00045}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structDecodeSignal_a428c39913a366a8476dd291061354391}{factor}}; \textcolor{comment}{/**< Scaling factor. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00046}\mbox{\hyperlink{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}{00046}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}{offset}}; \textcolor{comment}{/**< Physical offset. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00047}\mbox{\hyperlink{structDecodeSignal_a0fb84e19a0ab3bd50b6f65c1075ebc25}{00047}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structDecodeSignal_a0fb84e19a0ab3bd50b6f65c1075ebc25}{minimum}}; \textcolor{comment}{/**< Minimum physical value. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00048}\mbox{\hyperlink{structDecodeSignal_a4a6ba87142a9badbf0ca830e9e709cb7}{00048}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structDecodeSignal_a4a6ba87142a9badbf0ca830e9e709cb7}{maximum}}; \textcolor{comment}{/**< Maximum physical value. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00049}\mbox{\hyperlink{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}{00049}} std::string \mbox{\hyperlink{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}{unit}}; \textcolor{comment}{/**< Physical unit. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00050}\mbox{\hyperlink{structDecodeSignal_abdbae62a64d2df716bf60c6b67b30eaa}{00050}} std::vector<std::string> \mbox{\hyperlink{structDecodeSignal_abdbae62a64d2df716bf60c6b67b30eaa}{receivers}}; \textcolor{comment}{/**< Receivers. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00051}\mbox{\hyperlink{structDecodeSignal_ae28c905d4a2bc86419c2a8361bfea473}{00051}} std::string \mbox{\hyperlink{structDecodeSignal_ae28c905d4a2bc86419c2a8361bfea473}{comment}}; \textcolor{comment}{/**< Comment. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00052}00052 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00053}\mbox{\hyperlink{structDecodeSignal_a93fd97267e2614979440261628e493f5}{00053}} \mbox{\hyperlink{structDecodeSignal_a93fd97267e2614979440261628e493f5}{DecodeSignal}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00054}00054 : \mbox{\hyperlink{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}{name}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00055}00055 , \mbox{\hyperlink{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}{startBit}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00056}00056 , \mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00057}00057 , \mbox{\hyperlink{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}{byteOrder}} (\mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{ByteOrder}}::\mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142baff97a9fdede09eaf6e1c8ec9f6a61dd5}{Intel}})}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00058}00058 , \mbox{\hyperlink{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}{valueType}} (\mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{ValueType}}::\mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1aa1a914735b205424ba6c40b85528d78a}{Unsigned}})}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00059}00059 , \mbox{\hyperlink{structDecodeSignal_a428c39913a366a8476dd291061354391}{factor}} (1.0)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00060}00060 , \mbox{\hyperlink{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}{offset}} (0.0)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00061}00061 , \mbox{\hyperlink{structDecodeSignal_a0fb84e19a0ab3bd50b6f65c1075ebc25}{minimum}} (0.0)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00062}00062 , \mbox{\hyperlink{structDecodeSignal_a4a6ba87142a9badbf0ca830e9e709cb7}{maximum}} (0.0)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00063}00063 , \mbox{\hyperlink{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}{unit}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00064}00064 , \mbox{\hyperlink{structDecodeSignal_abdbae62a64d2df716bf60c6b67b30eaa}{receivers}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00065}00065 , \mbox{\hyperlink{structDecodeSignal_ae28c905d4a2bc86419c2a8361bfea473}{comment}}() \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00066}00066 \}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00067}00067 \};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00068}00068 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00069}00069 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00070}00070 \textcolor{comment}{ * @brief Runtime-\/ready frame definition.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00071}00071 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00072}\mbox{\hyperlink{structDecodeFrame}{00072}} \textcolor{keyword}{struct }\mbox{\hyperlink{structDecodeFrame}{DecodeFrame}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00073}\mbox{\hyperlink{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}{00073}} std::string \mbox{\hyperlink{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}{name}}; \textcolor{comment}{/**< Frame name. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00074}\mbox{\hyperlink{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}{00074}} std::uint32\_t \mbox{\hyperlink{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}{canId}}; \textcolor{comment}{/**< Normalized CAN ID. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00075}\mbox{\hyperlink{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}{00075}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}{isExtended}}; \textcolor{comment}{/**< true for extended frame. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00076}\mbox{\hyperlink{structDecodeFrame_a51111ac13988be372d5673d12cf3e060}{00076}} std::uint8\_t \mbox{\hyperlink{structDecodeFrame_a51111ac13988be372d5673d12cf3e060}{dlc}}; \textcolor{comment}{/**< Payload length. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00077}\mbox{\hyperlink{structDecodeFrame_a1d3c54055c0cbceb73adf551f7067f23}{00077}} std::uint32\_t \mbox{\hyperlink{structDecodeFrame_a1d3c54055c0cbceb73adf551f7067f23}{pgn}}; \textcolor{comment}{/**< PGN if available. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00078}\mbox{\hyperlink{structDecodeFrame_a2551102670c4a540fced4c71da0b369d}{00078}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structDecodeFrame_a2551102670c4a540fced4c71da0b369d}{hasPgn}}; \textcolor{comment}{/**< true if PGN is valid. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00079}\mbox{\hyperlink{structDecodeFrame_ad78241dc40c793aabb8495b6989b81a9}{00079}} std::string \mbox{\hyperlink{structDecodeFrame_ad78241dc40c793aabb8495b6989b81a9}{transmitter}}; \textcolor{comment}{/**< Transmitter ECU. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00080}\mbox{\hyperlink{structDecodeFrame_a25819ef907a32391af5c9f7cae9cdb22}{00080}} std::string \mbox{\hyperlink{structDecodeFrame_a25819ef907a32391af5c9f7cae9cdb22}{comment}}; \textcolor{comment}{/**< Frame comment. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00081}\mbox{\hyperlink{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}{00081}} std::vector<DecodeSignal> \mbox{\hyperlink{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}{signals}}; \textcolor{comment}{/**< Signal definitions. */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00082}00082 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00083}\mbox{\hyperlink{structDecodeFrame_ae6ae88ee29bcaff936e7c7b2380f96b4}{00083}} \mbox{\hyperlink{structDecodeFrame_ae6ae88ee29bcaff936e7c7b2380f96b4}{DecodeFrame}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00084}00084 : \mbox{\hyperlink{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}{name}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00085}00085 , \mbox{\hyperlink{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}{canId}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00086}00086 , \mbox{\hyperlink{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}{isExtended}} (false)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00087}00087 , \mbox{\hyperlink{structDecodeFrame_a51111ac13988be372d5673d12cf3e060}{dlc}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00088}00088 , \mbox{\hyperlink{structDecodeFrame_a1d3c54055c0cbceb73adf551f7067f23}{pgn}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00089}00089 , \mbox{\hyperlink{structDecodeFrame_a2551102670c4a540fced4c71da0b369d}{hasPgn}} (false)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00090}00090 , \mbox{\hyperlink{structDecodeFrame_ad78241dc40c793aabb8495b6989b81a9}{transmitter}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00091}00091 , \mbox{\hyperlink{structDecodeFrame_a25819ef907a32391af5c9f7cae9cdb22}{comment}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00092}00092 , \mbox{\hyperlink{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}{signals}}() \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00093}00093 \}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00094}00094 \};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00095}00095 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00096}00096 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00097}00097 \textcolor{comment}{ * @brief Key for fast frame lookup.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00098}00098 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00099}\mbox{\hyperlink{structFrameKey}{00099}} \textcolor{keyword}{struct }\mbox{\hyperlink{structFrameKey}{FrameKey}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00100}\mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{00100}} std::uint32\_t \mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{canId}};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00101}\mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{00101}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{isExtended}};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00102}00102 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00103}\mbox{\hyperlink{structFrameKey_a0e9aad56b251cdf802d45a9c19050b14}{00103}} \mbox{\hyperlink{structFrameKey_a0e9aad56b251cdf802d45a9c19050b14}{FrameKey}}()}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00104}00104 : \mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{canId}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00105}00105 , \mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{isExtended}} (false) \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00106}00106 \}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00107}00107 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00108}\mbox{\hyperlink{structFrameKey_a33bde405c7ea53000d54b3dd6e058670}{00108}} \mbox{\hyperlink{structFrameKey_a33bde405c7ea53000d54b3dd6e058670}{FrameKey}} (std::uint32\_t \textcolor{keywordtype}{id}, \textcolor{keywordtype}{bool} extended)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00109}00109 : \mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{canId}} (id)}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00110}00110 , \mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{isExtended}} (extended) \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00111}00111 \}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00112}00112 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00113}\mbox{\hyperlink{structFrameKey_aaaec9f914e127787247fcda5e183b01f}{00113}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structFrameKey_aaaec9f914e127787247fcda5e183b01f}{operator== }}(\textcolor{keyword}{const} \mbox{\hyperlink{structFrameKey}{FrameKey}} \&other)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00114}00114 \textcolor{keywordflow}{return} (\mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{canId}} == other.\mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{canId}}) \&\& (\mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{isExtended}} == other.\mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{isExtended}});}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00115}00115 \}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00116}00116 \};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00117}00117 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00118}00118 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00119}00119 \textcolor{comment}{ * @brief Hasher for frame key.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00120}00120 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00121}\mbox{\hyperlink{structFrameKeyHasher}{00121}} \textcolor{keyword}{struct }\mbox{\hyperlink{structFrameKeyHasher}{FrameKeyHasher}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00122}\mbox{\hyperlink{structFrameKeyHasher_a1612ce56b513790e3ed4c06ec7d28b9f}{00122}} std::size\_t \mbox{\hyperlink{structFrameKeyHasher_a1612ce56b513790e3ed4c06ec7d28b9f}{operator() }}(\textcolor{keyword}{const} \mbox{\hyperlink{structFrameKey}{FrameKey}} \&key)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00123}00123 \textcolor{keyword}{const} std::size\_t a = \textcolor{keyword}{static\_cast<}std::size\_t\textcolor{keyword}{>} (key.\mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{canId}});}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00124}00124 \textcolor{keyword}{const} std::size\_t b = key.\mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{isExtended}} ? 1U : 0U;}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00125}00125 \textcolor{keywordflow}{return} (a * 1315423911U) \string^ b;}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00126}00126 \}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00127}00127 \};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00128}00128 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00129}00129 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00130}00130 \textcolor{comment}{ * @brief Runtime decode database with fast lookup by CAN ID.}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00131}00131 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00132}\mbox{\hyperlink{structDecodeDatabase}{00132}} \textcolor{keyword}{struct }\mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00133}\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{00133}} std::vector<DecodeFrame> \mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00134}\mbox{\hyperlink{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}{00134}} std::unordered\_map<FrameKey, std::size\_t, FrameKeyHasher> \mbox{\hyperlink{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}{frameIndexByKey}};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00135}00135 \};}
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00136}00136 }
|
||||
\DoxyCodeLine{\Hypertarget{decode__database_8h_source_l00137}00137 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* DECODE\_DATABASE\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
596
docs/latex/doxygen.sty
Normal file
596
docs/latex/doxygen.sty
Normal file
@@ -0,0 +1,596 @@
|
||||
\NeedsTeXFormat{LaTeX2e}
|
||||
\ProvidesPackage{doxygen}
|
||||
|
||||
% Packages used by this style file
|
||||
\RequirePackage{alltt}
|
||||
%%\RequirePackage{array} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
|
||||
\RequirePackage{calc}
|
||||
\RequirePackage{float}
|
||||
%%\RequirePackage{ifthen} %% moved to refman.tex due to workaround for LaTex 2019 version and unmaintained tabu package
|
||||
\RequirePackage{verbatim}
|
||||
\RequirePackage[table]{xcolor}
|
||||
\RequirePackage{longtable_doxygen}
|
||||
\RequirePackage{tabu_doxygen}
|
||||
\RequirePackage{fancyvrb}
|
||||
\RequirePackage{tabularx}
|
||||
\RequirePackage{multicol}
|
||||
\RequirePackage{multirow}
|
||||
\RequirePackage{hanging}
|
||||
\RequirePackage{ifpdf}
|
||||
\RequirePackage{adjustbox}
|
||||
\RequirePackage{amssymb}
|
||||
\RequirePackage{stackengine}
|
||||
\RequirePackage{enumitem}
|
||||
\RequirePackage{alphalph}
|
||||
\RequirePackage[normalem]{ulem} % for strikeout, but don't modify emphasis
|
||||
\RequirePackage{enumitem}
|
||||
|
||||
%---------- Internal commands used in this style file ----------------
|
||||
|
||||
\newcommand{\ensurespace}[1]{%
|
||||
\begingroup%
|
||||
\setlength{\dimen@}{#1}%
|
||||
\vskip\z@\@plus\dimen@%
|
||||
\penalty -100\vskip\z@\@plus -\dimen@%
|
||||
\vskip\dimen@%
|
||||
\penalty 9999%
|
||||
\vskip -\dimen@%
|
||||
\vskip\z@skip% hide the previous |\vskip| from |\addvspace|
|
||||
\endgroup%
|
||||
}
|
||||
|
||||
\newcommand{\DoxyHorRuler}[1]{%
|
||||
\setlength{\parskip}{0ex plus 0ex minus 0ex}%
|
||||
\ifthenelse{#1=0}%
|
||||
{%
|
||||
\hrule%
|
||||
}%
|
||||
{%
|
||||
\hrulefilll%
|
||||
}%
|
||||
}
|
||||
\newcommand{\DoxyLabelFont}{}
|
||||
\newcommand{\entrylabel}[1]{%
|
||||
{%
|
||||
\parbox[b]{\labelwidth-4pt}{%
|
||||
\makebox[0pt][l]{\DoxyLabelFont#1}%
|
||||
\vspace{1.5\baselineskip}%
|
||||
}%
|
||||
}%
|
||||
}
|
||||
|
||||
\newenvironment{DoxyDesc}[1]{%
|
||||
\ensurespace{4\baselineskip}%
|
||||
\begin{list}{}{%
|
||||
\settowidth{\labelwidth}{20pt}%
|
||||
%\setlength{\parsep}{0pt}%
|
||||
\setlength{\itemsep}{0pt}%
|
||||
\setlength{\leftmargin}{\labelwidth+\labelsep}%
|
||||
\renewcommand{\makelabel}{\entrylabel}%
|
||||
}%
|
||||
\item[#1]%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
\newsavebox{\xrefbox}
|
||||
\newlength{\xreflength}
|
||||
\newcommand{\xreflabel}[1]{%
|
||||
\sbox{\xrefbox}{#1}%
|
||||
\setlength{\xreflength}{\wd\xrefbox}%
|
||||
\ifthenelse{\xreflength>\labelwidth}{%
|
||||
\begin{minipage}{\textwidth}%
|
||||
\setlength{\parindent}{0pt}%
|
||||
\hangindent=15pt\bfseries #1\vspace{1.2\itemsep}%
|
||||
\end{minipage}%
|
||||
}{%
|
||||
\parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}%
|
||||
}%
|
||||
}
|
||||
|
||||
%---------- Commands used by doxygen LaTeX output generator ----------
|
||||
|
||||
% Used by <pre> ... </pre>
|
||||
\newenvironment{DoxyPre}{%
|
||||
\small%
|
||||
\begin{alltt}%
|
||||
}{%
|
||||
\end{alltt}%
|
||||
\normalsize%
|
||||
}
|
||||
% Necessary for redefining not defined characters, i.e. "Replacement Character" in tex output.
|
||||
\newlength{\CodeWidthChar}
|
||||
\newlength{\CodeHeightChar}
|
||||
\settowidth{\CodeWidthChar}{?}
|
||||
\settoheight{\CodeHeightChar}{?}
|
||||
% Necessary for hanging indent
|
||||
\newlength{\DoxyCodeWidth}
|
||||
|
||||
\newcommand\DoxyCodeLine[1]{\hangpara{\DoxyCodeWidth}{1}{#1}\par}
|
||||
|
||||
\newcommand\NiceSpace{%
|
||||
\discretionary{}{\kern\fontdimen2\font}{\kern\fontdimen2\font}%
|
||||
}
|
||||
|
||||
% Used by @code ... @endcode
|
||||
\newenvironment{DoxyCode}[1]{%
|
||||
\par%
|
||||
\scriptsize%
|
||||
\normalfont\ttfamily%
|
||||
\rightskip0pt plus 1fil%
|
||||
\settowidth{\DoxyCodeWidth}{000000}%
|
||||
\settowidth{\CodeWidthChar}{?}%
|
||||
\settoheight{\CodeHeightChar}{?}%
|
||||
\setlength{\parskip}{0ex plus 0ex minus 0ex}%
|
||||
\ifthenelse{\equal{#1}{0}}
|
||||
{
|
||||
{\lccode`~32 \lowercase{\global\let~}\NiceSpace}\obeyspaces%
|
||||
}
|
||||
{
|
||||
{\lccode`~32 \lowercase{\global\let~}}\obeyspaces%
|
||||
}
|
||||
|
||||
}{%
|
||||
\normalfont%
|
||||
\normalsize%
|
||||
\settowidth{\CodeWidthChar}{?}%
|
||||
\settoheight{\CodeHeightChar}{?}%
|
||||
}
|
||||
|
||||
% Redefining not defined characters, i.e. "Replacement Character" in tex output.
|
||||
\def\ucr{\adjustbox{width=\CodeWidthChar,height=\CodeHeightChar}{\stackinset{c}{}{c}{-.2pt}{%
|
||||
\textcolor{white}{\sffamily\bfseries\small ?}}{%
|
||||
\rotatebox{45}{$\blacksquare$}}}}
|
||||
|
||||
% Used by @example, @include, @includelineno and @dontinclude
|
||||
\newenvironment{DoxyCodeInclude}[1]{%
|
||||
\DoxyCode{#1}%
|
||||
}{%
|
||||
\endDoxyCode%
|
||||
}
|
||||
|
||||
% Used by @verbatim ... @endverbatim
|
||||
\newenvironment{DoxyVerb}{%
|
||||
\par%
|
||||
\footnotesize%
|
||||
\verbatim%
|
||||
}{%
|
||||
\endverbatim%
|
||||
\normalsize%
|
||||
}
|
||||
|
||||
% Used by @verbinclude
|
||||
\newenvironment{DoxyVerbInclude}{%
|
||||
\DoxyVerb%
|
||||
}{%
|
||||
\endDoxyVerb%
|
||||
}
|
||||
|
||||
% Used by numbered lists (using '-#' or <ol> ... </ol>)
|
||||
\setlistdepth{12}
|
||||
\newlist{DoxyEnumerate}{enumerate}{12}
|
||||
\setlist[DoxyEnumerate,1]{label=\arabic*.}
|
||||
\setlist[DoxyEnumerate,2]{label=(\enumalphalphcnt*)}
|
||||
\setlist[DoxyEnumerate,3]{label=\roman*.}
|
||||
\setlist[DoxyEnumerate,4]{label=\enumAlphAlphcnt*.}
|
||||
\setlist[DoxyEnumerate,5]{label=\arabic*.}
|
||||
\setlist[DoxyEnumerate,6]{label=(\enumalphalphcnt*)}
|
||||
\setlist[DoxyEnumerate,7]{label=\roman*.}
|
||||
\setlist[DoxyEnumerate,8]{label=\enumAlphAlphcnt*.}
|
||||
\setlist[DoxyEnumerate,9]{label=\arabic*.}
|
||||
\setlist[DoxyEnumerate,10]{label=(\enumalphalphcnt*)}
|
||||
\setlist[DoxyEnumerate,11]{label=\roman*.}
|
||||
\setlist[DoxyEnumerate,12]{label=\enumAlphAlphcnt*.}
|
||||
|
||||
% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
|
||||
\setlistdepth{12}
|
||||
\newlist{DoxyItemize}{itemize}{12}
|
||||
\setlist[DoxyItemize]{label=\textperiodcentered}
|
||||
|
||||
\setlist[DoxyItemize,1]{label=\textbullet}
|
||||
\setlist[DoxyItemize,2]{label=\normalfont\bfseries \textendash}
|
||||
\setlist[DoxyItemize,3]{label=\textasteriskcentered}
|
||||
\setlist[DoxyItemize,4]{label=\textperiodcentered}
|
||||
|
||||
% Used by description lists (using <dl> ... </dl>)
|
||||
\newenvironment{DoxyDescription}{%
|
||||
\description%
|
||||
}{%
|
||||
\enddescription%
|
||||
}
|
||||
|
||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
|
||||
% (only if caption is specified)
|
||||
\newenvironment{DoxyImage}{%
|
||||
\begin{figure}[H]%
|
||||
\centering%
|
||||
}{%
|
||||
\end{figure}%
|
||||
}
|
||||
|
||||
% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
|
||||
% (only if no caption is specified)
|
||||
\newenvironment{DoxyImageNoCaption}{%
|
||||
\begin{center}%
|
||||
}{%
|
||||
\end{center}%
|
||||
}
|
||||
|
||||
% Used by @image
|
||||
% (only if inline is specified)
|
||||
\newenvironment{DoxyInlineImage}{%
|
||||
}{%
|
||||
}
|
||||
|
||||
% Used by @attention
|
||||
\newenvironment{DoxyAttention}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @author and @authors
|
||||
\newenvironment{DoxyAuthor}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @date
|
||||
\newenvironment{DoxyDate}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @invariant
|
||||
\newenvironment{DoxyInvariant}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @note
|
||||
\newenvironment{DoxyNote}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @post
|
||||
\newenvironment{DoxyPostcond}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @pre
|
||||
\newenvironment{DoxyPrecond}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @copyright
|
||||
\newenvironment{DoxyCopyright}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @remark
|
||||
\newenvironment{DoxyRemark}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @return and @returns
|
||||
\newenvironment{DoxyReturn}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @since
|
||||
\newenvironment{DoxySince}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @see
|
||||
\newenvironment{DoxySeeAlso}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @version
|
||||
\newenvironment{DoxyVersion}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @warning
|
||||
\newenvironment{DoxyWarning}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by @par and @paragraph
|
||||
\newenvironment{DoxyParagraph}[1]{%
|
||||
\begin{DoxyDesc}{#1}%
|
||||
}{%
|
||||
\end{DoxyDesc}%
|
||||
}
|
||||
|
||||
% Used by parameter lists
|
||||
\newenvironment{DoxyParams}[2][]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\ifthenelse{\equal{#1}{}}%
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description
|
||||
{\ifthenelse{\equal{#1}{1}}%
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc
|
||||
{\begin{longtabu*}spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc
|
||||
}
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for fields of simple structs
|
||||
\newenvironment{DoxyFields}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}%
|
||||
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for fields simple class style enums
|
||||
\newenvironment{DoxyEnumFields}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for parameters within a detailed function description
|
||||
\newenvironment{DoxyParamCaption}{%
|
||||
\renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}%
|
||||
}{%
|
||||
}
|
||||
|
||||
% Used by return value lists
|
||||
\newenvironment{DoxyRetVals}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used by exception lists
|
||||
\newenvironment{DoxyExceptions}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used by template parameter lists
|
||||
\newenvironment{DoxyTemplParams}[1]{%
|
||||
\tabulinesep=1mm%
|
||||
\par%
|
||||
\begin{longtabu*}spread 0pt [l]{|X[-1,r]|X[-1,l]|}%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endfirsthead%
|
||||
\multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]%
|
||||
\hline%
|
||||
\endhead%
|
||||
}{%
|
||||
\end{longtabu*}%
|
||||
\vspace{6pt}%
|
||||
}
|
||||
|
||||
% Used for member lists
|
||||
\newenvironment{DoxyCompactItemize}{%
|
||||
\begin{itemize}%
|
||||
\setlength{\itemsep}{-3pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\topsep}{0pt}%
|
||||
\setlength{\partopsep}{0pt}%
|
||||
}{%
|
||||
\end{itemize}%
|
||||
}
|
||||
|
||||
% Used for member descriptions
|
||||
\newenvironment{DoxyCompactList}{%
|
||||
\begin{list}{}{%
|
||||
\setlength{\leftmargin}{0.5cm}%
|
||||
\setlength{\itemsep}{0pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\topsep}{0pt}%
|
||||
\renewcommand{\makelabel}{\hfill}%
|
||||
}%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used for reference lists (@bug, @deprecated, @todo, etc.)
|
||||
\newenvironment{DoxyRefList}{%
|
||||
\begin{list}{}{%
|
||||
\setlength{\labelwidth}{10pt}%
|
||||
\setlength{\leftmargin}{\labelwidth}%
|
||||
\addtolength{\leftmargin}{\labelsep}%
|
||||
\renewcommand{\makelabel}{\xreflabel}%
|
||||
}%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used by @bug, @deprecated, @todo, etc.
|
||||
\newenvironment{DoxyRefDesc}[1]{%
|
||||
\begin{list}{}{%
|
||||
\renewcommand\makelabel[1]{\textbf{##1}}%
|
||||
\settowidth\labelwidth{\makelabel{#1}}%
|
||||
\setlength\leftmargin{\labelwidth+\labelsep}%
|
||||
}%
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used by parameter lists and simple sections
|
||||
\newenvironment{Desc}
|
||||
{\begin{list}{}{%
|
||||
\settowidth{\labelwidth}{20pt}%
|
||||
\setlength{\parsep}{0pt}%
|
||||
\setlength{\itemsep}{0pt}%
|
||||
\setlength{\leftmargin}{\labelwidth+\labelsep}%
|
||||
\renewcommand{\makelabel}{\entrylabel}%
|
||||
}
|
||||
}{%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used by tables
|
||||
\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}%
|
||||
\newenvironment{TabularC}[1]%
|
||||
{\tabulinesep=1mm
|
||||
\begin{longtabu*}spread 0pt [c]{*#1{|X[-1]}|}}%
|
||||
{\end{longtabu*}\par}%
|
||||
|
||||
\newenvironment{TabularNC}[1]%
|
||||
{\begin{tabu}spread 0pt [l]{*#1{|X[-1]}|}}%
|
||||
{\end{tabu}\par}%
|
||||
|
||||
% Used for member group headers
|
||||
\newenvironment{Indent}{%
|
||||
\begin{list}{}{%
|
||||
\setlength{\leftmargin}{0.5cm}%
|
||||
}%
|
||||
\item[]\ignorespaces%
|
||||
}{%
|
||||
\unskip%
|
||||
\end{list}%
|
||||
}
|
||||
|
||||
% Used when hyperlinks are turned off
|
||||
\newcommand{\doxyref}[3]{%
|
||||
\textbf{#1} (\textnormal{#2}\,\pageref{#3})%
|
||||
}
|
||||
|
||||
% Used to link to a table when hyperlinks are turned on
|
||||
\newcommand{\doxytablelink}[2]{%
|
||||
\ref{#1}%
|
||||
}
|
||||
|
||||
% Used to link to a table when hyperlinks are turned off
|
||||
\newcommand{\doxytableref}[3]{%
|
||||
\ref{#3}%
|
||||
}
|
||||
|
||||
% Used by @addindex
|
||||
\newcommand{\lcurly}{\{}
|
||||
\newcommand{\rcurly}{\}}
|
||||
|
||||
% Colors used for syntax highlighting
|
||||
\definecolor{comment}{rgb}{0.5,0.0,0.0}
|
||||
\definecolor{keyword}{rgb}{0.0,0.5,0.0}
|
||||
\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
|
||||
\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
|
||||
\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
|
||||
\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
|
||||
\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
|
||||
\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
|
||||
\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
|
||||
\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
|
||||
\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
|
||||
|
||||
% Color used for table heading
|
||||
\newcommand{\tableheadbgcolor}{lightgray}%
|
||||
|
||||
% Version of hypertarget with correct landing location
|
||||
\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}}
|
||||
|
||||
% possibility to have sections etc. be within the margins
|
||||
% unfortunately had to copy part of book.cls and add \raggedright
|
||||
\makeatletter
|
||||
\newcommand\doxysection{\@startsection {section}{1}{\z@}%
|
||||
{-3.5ex \@plus -1ex \@minus -.2ex}%
|
||||
{2.3ex \@plus.2ex}%
|
||||
{\raggedright\normalfont\Large\bfseries}}
|
||||
\newcommand\doxysubsection{\@startsection{subsection}{2}{\z@}%
|
||||
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
||||
{1.5ex \@plus .2ex}%
|
||||
{\raggedright\normalfont\large\bfseries}}
|
||||
\newcommand\doxysubsubsection{\@startsection{subsubsection}{3}{\z@}%
|
||||
{-3.25ex\@plus -1ex \@minus -.2ex}%
|
||||
{1.5ex \@plus .2ex}%
|
||||
{\raggedright\normalfont\normalsize\bfseries}}
|
||||
\newcommand\doxyparagraph{\@startsection{paragraph}{4}{\z@}%
|
||||
{3.25ex \@plus1ex \@minus.2ex}%
|
||||
{-1em}%
|
||||
{\raggedright\normalfont\normalsize\bfseries}}
|
||||
\newcommand\doxysubparagraph{\@startsection{subparagraph}{5}{\parindent}%
|
||||
{3.25ex \@plus1ex \@minus .2ex}%
|
||||
{-1em}%
|
||||
{\raggedright\normalfont\normalsize\bfseries}}
|
||||
\makeatother
|
||||
% Define caption that is also suitable in a table
|
||||
\makeatletter
|
||||
\def\doxyfigcaption{%
|
||||
\H@refstepcounter{figure}%
|
||||
\@dblarg{\@caption{figure}}}
|
||||
\makeatother
|
||||
|
||||
% Define alpha enumarative names for counters > 26
|
||||
\makeatletter
|
||||
\def\enumalphalphcnt#1{\expandafter\@enumalphalphcnt\csname c@#1\endcsname}
|
||||
\def\@enumalphalphcnt#1{\alphalph{#1}}
|
||||
\def\enumAlphAlphcnt#1{\expandafter\@enumAlphAlphcnt\csname c@#1\endcsname}
|
||||
\def\@enumAlphAlphcnt#1{\AlphAlph{#1}}
|
||||
\makeatother
|
||||
\AddEnumerateCounter{\enumalphalphcnt}{\@enumalphalphcnt}{aa}
|
||||
\AddEnumerateCounter{\enumAlphAlphcnt}{\@enumAlphAlphcnt}{AA}
|
||||
18
docs/latex/files.tex
Normal file
18
docs/latex/files.tex
Normal file
@@ -0,0 +1,18 @@
|
||||
\doxysection{File List}
|
||||
Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__database_8h}{dbc\+\_\+database.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__database_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__decode__builder_8cpp}{dbc\+\_\+decode\+\_\+builder.\+cpp}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__decode__builder_8cpp}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__decode__builder_8h}{dbc\+\_\+decode\+\_\+builder.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__decode__builder_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__decoder_8cpp}{dbc\+\_\+decoder.\+cpp}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__decoder_8cpp}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__decoder_8h}{dbc\+\_\+decoder.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__decoder_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__parser_8cpp}{dbc\+\_\+parser.\+cpp}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__parser_8cpp}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__parser_8h}{dbc\+\_\+parser.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__parser_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__tree__builder_8cpp}{dbc\+\_\+tree\+\_\+builder.\+cpp}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__tree__builder_8cpp}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{dbc__tree__builder_8h}{dbc\+\_\+tree\+\_\+builder.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{dbc__tree__builder_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{decode__database_8h}{decode\+\_\+database.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{decode__database_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{frame__info_8h}{frame\+\_\+info.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{frame__info_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{main_8cpp}{main.\+cpp}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{main_8cpp}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{signal__info_8h}{signal\+\_\+info.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{signal__info_8h}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{tree__node_8cpp}{tree\+\_\+node.\+cpp}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{tree__node_8cpp}}{}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{tree__node_8h}{tree\+\_\+node.\+h}} \\*Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro) }{\pageref{tree__node_8h}}{}
|
||||
\end{DoxyCompactList}
|
||||
25
docs/latex/frame__info_8h.tex
Normal file
25
docs/latex/frame__info_8h.tex
Normal file
@@ -0,0 +1,25 @@
|
||||
\hypertarget{frame__info_8h}{}\doxysection{frame\+\_\+info.\+h File Reference}
|
||||
\label{frame__info_8h}\index{frame\_info.h@{frame\_info.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$string$>$}\newline
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include $<$cstdint$>$}\newline
|
||||
{\ttfamily \#include \char`\"{}signal\+\_\+info.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{structFrameInfo}{Frame\+Info}}
|
||||
\begin{DoxyCompactList}\small\item\em Describes one CAN frame from a DBC file. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
53
docs/latex/frame__info_8h_source.tex
Normal file
53
docs/latex/frame__info_8h_source.tex
Normal file
@@ -0,0 +1,53 @@
|
||||
\hypertarget{frame__info_8h_source}{}\doxysection{frame\+\_\+info.\+h}
|
||||
\mbox{\hyperlink{frame__info_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00002}00002 \textcolor{comment}{ * @file frame\_info.h}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef FRAME\_INFO\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00013}00013 \textcolor{preprocessor}{\#define FRAME\_INFO\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <string>}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00016}00016 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00017}00017 \textcolor{preprocessor}{\#include <cstdint>}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00018}00018 }
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00019}00019 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{signal__info_8h}{signal\_info.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00020}00020 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00021}00021 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00022}00022 \textcolor{comment}{ * @brief Describes one CAN frame from a DBC file.}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00023}00023 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00024}\mbox{\hyperlink{structFrameInfo}{00024}} \textcolor{keyword}{struct }\mbox{\hyperlink{structFrameInfo}{FrameInfo}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00025}\mbox{\hyperlink{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}{00025}} std::string \mbox{\hyperlink{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}{name}}; \textcolor{comment}{/**< Frame name. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00026}\mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{00026}} std::uint32\_t \mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{canId}}; \textcolor{comment}{/**< Normalized CAN identifier. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00027}\mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{00027}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{isExtended}}; \textcolor{comment}{/**< true for extended frame. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00028}\mbox{\hyperlink{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}{00028}} std::uint32\_t \mbox{\hyperlink{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}{pgn}}; \textcolor{comment}{/**< J1939 PGN if applicable. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00029}\mbox{\hyperlink{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}{00029}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}{hasPgn}}; \textcolor{comment}{/**< true if PGN was derived. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00030}\mbox{\hyperlink{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}{00030}} std::uint8\_t \mbox{\hyperlink{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}{dlc}}; \textcolor{comment}{/**< Frame payload length. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00031}\mbox{\hyperlink{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}{00031}} std::string \mbox{\hyperlink{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}{transmitter}}; \textcolor{comment}{/**< Transmitter ECU name. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00032}\mbox{\hyperlink{structFrameInfo_ace75121294f9d89b762080ab5643293c}{00032}} std::string \mbox{\hyperlink{structFrameInfo_ace75121294f9d89b762080ab5643293c}{comment}}; \textcolor{comment}{/**< Optional frame comment. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00033}\mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{00033}} std::vector<SignalInfo> \mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}; \textcolor{comment}{/**< Signals contained in the frame. */}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00034}00034 }
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00035}\mbox{\hyperlink{structFrameInfo_a7f2d192b7969f7b60479a48e1f7eba61}{00035}} \mbox{\hyperlink{structFrameInfo_a7f2d192b7969f7b60479a48e1f7eba61}{FrameInfo}}()}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00036}00036 : \mbox{\hyperlink{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}{name}}()}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00037}00037 , \mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{canId}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00038}00038 , \mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{isExtended}} (false)}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00039}00039 , \mbox{\hyperlink{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}{pgn}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00040}00040 , \mbox{\hyperlink{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}{hasPgn}} (false)}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00041}00041 , \mbox{\hyperlink{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}{dlc}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00042}00042 , \mbox{\hyperlink{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}{transmitter}}()}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00043}00043 , \mbox{\hyperlink{structFrameInfo_ace75121294f9d89b762080ab5643293c}{comment}}()}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00044}00044 , \mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}() \{}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00045}00045 \}}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00046}00046 \};}
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00047}00047 }
|
||||
\DoxyCodeLine{\Hypertarget{frame__info_8h_source_l00048}00048 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* FRAME\_INFO\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
448
docs/latex/longtable_doxygen.sty
Normal file
448
docs/latex/longtable_doxygen.sty
Normal file
@@ -0,0 +1,448 @@
|
||||
%%
|
||||
%% This is file `longtable.sty',
|
||||
%% generated with the docstrip utility.
|
||||
%%
|
||||
%% The original source files were:
|
||||
%%
|
||||
%% longtable.dtx (with options: `package')
|
||||
%%
|
||||
%% This is a generated file.
|
||||
%%
|
||||
%% The source is maintained by the LaTeX Project team and bug
|
||||
%% reports for it can be opened at http://latex-project.org/bugs.html
|
||||
%% (but please observe conditions on bug reports sent to that address!)
|
||||
%%
|
||||
%% Copyright 1993-2016
|
||||
%% The LaTeX3 Project and any individual authors listed elsewhere
|
||||
%% in this file.
|
||||
%%
|
||||
%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
|
||||
%% --------------------------------------------------------------------------
|
||||
%%
|
||||
%% It may be distributed and/or modified under the
|
||||
%% conditions of the LaTeX Project Public License, either version 1.3c
|
||||
%% of this license or (at your option) any later version.
|
||||
%% The latest version of this license is in
|
||||
%% http://www.latex-project.org/lppl.txt
|
||||
%% and version 1.3c or later is part of all distributions of LaTeX
|
||||
%% version 2005/12/01 or later.
|
||||
%%
|
||||
%% This file may only be distributed together with a copy of the LaTeX
|
||||
%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
|
||||
%% without such generated files.
|
||||
%%
|
||||
%% The list of all files belonging to the LaTeX `Tools Bundle' is
|
||||
%% given in the file `manifest.txt'.
|
||||
%%
|
||||
%% File: longtable.dtx Copyright (C) 1990-2001 David Carlisle
|
||||
\NeedsTeXFormat{LaTeX2e}[1995/06/01]
|
||||
\ProvidesPackage{longtable_doxygen}
|
||||
[2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen]
|
||||
\def\LT@err{\PackageError{longtable}}
|
||||
\def\LT@warn{\PackageWarning{longtable}}
|
||||
\def\LT@final@warn{%
|
||||
\AtEndDocument{%
|
||||
\LT@warn{Table \@width s have changed. Rerun LaTeX.\@gobbletwo}}%
|
||||
\global\let\LT@final@warn\relax}
|
||||
\DeclareOption{errorshow}{%
|
||||
\def\LT@warn{\PackageInfo{longtable}}}
|
||||
\DeclareOption{pausing}{%
|
||||
\def\LT@warn#1{%
|
||||
\LT@err{#1}{This is not really an error}}}
|
||||
\DeclareOption{set}{}
|
||||
\DeclareOption{final}{}
|
||||
\ProcessOptions
|
||||
\newskip\LTleft \LTleft=\fill
|
||||
\newskip\LTright \LTright=\fill
|
||||
\newskip\LTpre \LTpre=\bigskipamount
|
||||
\newskip\LTpost \LTpost=\bigskipamount
|
||||
\newcount\LTchunksize \LTchunksize=20
|
||||
\let\c@LTchunksize\LTchunksize
|
||||
\newdimen\LTcapwidth \LTcapwidth=4in
|
||||
\newbox\LT@head
|
||||
\newbox\LT@firsthead
|
||||
\newbox\LT@foot
|
||||
\newbox\LT@lastfoot
|
||||
\newcount\LT@cols
|
||||
\newcount\LT@rows
|
||||
\newcounter{LT@tables}
|
||||
\newcounter{LT@chunks}[LT@tables]
|
||||
\ifx\c@table\undefined
|
||||
\newcounter{table}
|
||||
\def\fnum@table{\tablename~\thetable}
|
||||
\fi
|
||||
\ifx\tablename\undefined
|
||||
\def\tablename{Table}
|
||||
\fi
|
||||
\newtoks\LT@p@ftn
|
||||
\mathchardef\LT@end@pen=30000
|
||||
\def\longtable{%
|
||||
\par
|
||||
\ifx\multicols\@undefined
|
||||
\else
|
||||
\ifnum\col@number>\@ne
|
||||
\@twocolumntrue
|
||||
\fi
|
||||
\fi
|
||||
\if@twocolumn
|
||||
\LT@err{longtable not in 1-column mode}\@ehc
|
||||
\fi
|
||||
\begingroup
|
||||
\@ifnextchar[\LT@array{\LT@array[x]}}
|
||||
\def\LT@array[#1]#2{%
|
||||
\refstepcounter{table}\stepcounter{LT@tables}%
|
||||
\if l#1%
|
||||
\LTleft\z@ \LTright\fill
|
||||
\else\if r#1%
|
||||
\LTleft\fill \LTright\z@
|
||||
\else\if c#1%
|
||||
\LTleft\fill \LTright\fill
|
||||
\fi\fi\fi
|
||||
\let\LT@mcol\multicolumn
|
||||
\let\LT@@tabarray\@tabarray
|
||||
\let\LT@@hl\hline
|
||||
\def\@tabarray{%
|
||||
\let\hline\LT@@hl
|
||||
\LT@@tabarray}%
|
||||
\let\\\LT@tabularcr\let\tabularnewline\\%
|
||||
\def\newpage{\noalign{\break}}%
|
||||
\def\pagebreak{\noalign{\ifnum`}=0\fi\@testopt{\LT@no@pgbk-}4}%
|
||||
\def\nopagebreak{\noalign{\ifnum`}=0\fi\@testopt\LT@no@pgbk4}%
|
||||
\let\hline\LT@hline \let\kill\LT@kill\let\caption\LT@caption
|
||||
\@tempdima\ht\strutbox
|
||||
\let\@endpbox\LT@endpbox
|
||||
\ifx\extrarowheight\@undefined
|
||||
\let\@acol\@tabacol
|
||||
\let\@classz\@tabclassz \let\@classiv\@tabclassiv
|
||||
\def\@startpbox{\vtop\LT@startpbox}%
|
||||
\let\@@startpbox\@startpbox
|
||||
\let\@@endpbox\@endpbox
|
||||
\let\LT@LL@FM@cr\@tabularcr
|
||||
\else
|
||||
\advance\@tempdima\extrarowheight
|
||||
\col@sep\tabcolsep
|
||||
\let\@startpbox\LT@startpbox\let\LT@LL@FM@cr\@arraycr
|
||||
\fi
|
||||
\setbox\@arstrutbox\hbox{\vrule
|
||||
\@height \arraystretch \@tempdima
|
||||
\@depth \arraystretch \dp \strutbox
|
||||
\@width \z@}%
|
||||
\let\@sharp##\let\protect\relax
|
||||
\begingroup
|
||||
\@mkpream{#2}%
|
||||
\xdef\LT@bchunk{%
|
||||
\global\advance\c@LT@chunks\@ne
|
||||
\global\LT@rows\z@\setbox\z@\vbox\bgroup
|
||||
\LT@setprevdepth
|
||||
\tabskip\LTleft \noexpand\halign to\hsize\bgroup
|
||||
\tabskip\z@ \@arstrut \@preamble \tabskip\LTright \cr}%
|
||||
\endgroup
|
||||
\expandafter\LT@nofcols\LT@bchunk&\LT@nofcols
|
||||
\LT@make@row
|
||||
\m@th\let\par\@empty
|
||||
\everycr{}\lineskip\z@\baselineskip\z@
|
||||
\LT@bchunk}
|
||||
\def\LT@no@pgbk#1[#2]{\penalty #1\@getpen{#2}\ifnum`{=0\fi}}
|
||||
\def\LT@start{%
|
||||
\let\LT@start\endgraf
|
||||
\endgraf\penalty\z@\vskip\LTpre
|
||||
\dimen@\pagetotal
|
||||
\advance\dimen@ \ht\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
|
||||
\advance\dimen@ \dp\ifvoid\LT@firsthead\LT@head\else\LT@firsthead\fi
|
||||
\advance\dimen@ \ht\LT@foot
|
||||
\dimen@ii\vfuzz
|
||||
\vfuzz\maxdimen
|
||||
\setbox\tw@\copy\z@
|
||||
\setbox\tw@\vsplit\tw@ to \ht\@arstrutbox
|
||||
\setbox\tw@\vbox{\unvbox\tw@}%
|
||||
\vfuzz\dimen@ii
|
||||
\advance\dimen@ \ht
|
||||
\ifdim\ht\@arstrutbox>\ht\tw@\@arstrutbox\else\tw@\fi
|
||||
\advance\dimen@\dp
|
||||
\ifdim\dp\@arstrutbox>\dp\tw@\@arstrutbox\else\tw@\fi
|
||||
\advance\dimen@ -\pagegoal
|
||||
\ifdim \dimen@>\z@\vfil\break\fi
|
||||
\global\@colroom\@colht
|
||||
\ifvoid\LT@foot\else
|
||||
\advance\vsize-\ht\LT@foot
|
||||
\global\advance\@colroom-\ht\LT@foot
|
||||
\dimen@\pagegoal\advance\dimen@-\ht\LT@foot\pagegoal\dimen@
|
||||
\maxdepth\z@
|
||||
\fi
|
||||
\ifvoid\LT@firsthead\copy\LT@head\else\box\LT@firsthead\fi\nobreak
|
||||
\output{\LT@output}}
|
||||
\def\endlongtable{%
|
||||
\crcr
|
||||
\noalign{%
|
||||
\let\LT@entry\LT@entry@chop
|
||||
\xdef\LT@save@row{\LT@save@row}}%
|
||||
\LT@echunk
|
||||
\LT@start
|
||||
\unvbox\z@
|
||||
\LT@get@widths
|
||||
\if@filesw
|
||||
{\let\LT@entry\LT@entry@write\immediate\write\@auxout{%
|
||||
\gdef\expandafter\noexpand
|
||||
\csname LT@\romannumeral\c@LT@tables\endcsname
|
||||
{\LT@save@row}}}%
|
||||
\fi
|
||||
\ifx\LT@save@row\LT@@save@row
|
||||
\else
|
||||
\LT@warn{Column \@width s have changed\MessageBreak
|
||||
in table \thetable}%
|
||||
\LT@final@warn
|
||||
\fi
|
||||
\endgraf\penalty -\LT@end@pen
|
||||
\endgroup
|
||||
\global\@mparbottom\z@
|
||||
\pagegoal\vsize
|
||||
\endgraf\penalty\z@\addvspace\LTpost
|
||||
\ifvoid\footins\else\insert\footins{}\fi}
|
||||
\def\LT@nofcols#1&{%
|
||||
\futurelet\@let@token\LT@n@fcols}
|
||||
\def\LT@n@fcols{%
|
||||
\advance\LT@cols\@ne
|
||||
\ifx\@let@token\LT@nofcols
|
||||
\expandafter\@gobble
|
||||
\else
|
||||
\expandafter\LT@nofcols
|
||||
\fi}
|
||||
\def\LT@tabularcr{%
|
||||
\relax\iffalse{\fi\ifnum0=`}\fi
|
||||
\@ifstar
|
||||
{\def\crcr{\LT@crcr\noalign{\nobreak}}\let\cr\crcr
|
||||
\LT@t@bularcr}%
|
||||
{\LT@t@bularcr}}
|
||||
\let\LT@crcr\crcr
|
||||
\let\LT@setprevdepth\relax
|
||||
\def\LT@t@bularcr{%
|
||||
\global\advance\LT@rows\@ne
|
||||
\ifnum\LT@rows=\LTchunksize
|
||||
\gdef\LT@setprevdepth{%
|
||||
\prevdepth\z@\global
|
||||
\global\let\LT@setprevdepth\relax}%
|
||||
\expandafter\LT@xtabularcr
|
||||
\else
|
||||
\ifnum0=`{}\fi
|
||||
\expandafter\LT@LL@FM@cr
|
||||
\fi}
|
||||
\def\LT@xtabularcr{%
|
||||
\@ifnextchar[\LT@argtabularcr\LT@ntabularcr}
|
||||
\def\LT@ntabularcr{%
|
||||
\ifnum0=`{}\fi
|
||||
\LT@echunk
|
||||
\LT@start
|
||||
\unvbox\z@
|
||||
\LT@get@widths
|
||||
\LT@bchunk}
|
||||
\def\LT@argtabularcr[#1]{%
|
||||
\ifnum0=`{}\fi
|
||||
\ifdim #1>\z@
|
||||
\unskip\@xargarraycr{#1}%
|
||||
\else
|
||||
\@yargarraycr{#1}%
|
||||
\fi
|
||||
\LT@echunk
|
||||
\LT@start
|
||||
\unvbox\z@
|
||||
\LT@get@widths
|
||||
\LT@bchunk}
|
||||
\def\LT@echunk{%
|
||||
\crcr\LT@save@row\cr\egroup
|
||||
\global\setbox\@ne\lastbox
|
||||
\unskip
|
||||
\egroup}
|
||||
\def\LT@entry#1#2{%
|
||||
\ifhmode\@firstofone{&}\fi\omit
|
||||
\ifnum#1=\c@LT@chunks
|
||||
\else
|
||||
\kern#2\relax
|
||||
\fi}
|
||||
\def\LT@entry@chop#1#2{%
|
||||
\noexpand\LT@entry
|
||||
{\ifnum#1>\c@LT@chunks
|
||||
1}{0pt%
|
||||
\else
|
||||
#1}{#2%
|
||||
\fi}}
|
||||
\def\LT@entry@write{%
|
||||
\noexpand\LT@entry^^J%
|
||||
\@spaces}
|
||||
\def\LT@kill{%
|
||||
\LT@echunk
|
||||
\LT@get@widths
|
||||
\expandafter\LT@rebox\LT@bchunk}
|
||||
\def\LT@rebox#1\bgroup{%
|
||||
#1\bgroup
|
||||
\unvbox\z@
|
||||
\unskip
|
||||
\setbox\z@\lastbox}
|
||||
\def\LT@blank@row{%
|
||||
\xdef\LT@save@row{\expandafter\LT@build@blank
|
||||
\romannumeral\number\LT@cols 001 }}
|
||||
\def\LT@build@blank#1{%
|
||||
\if#1m%
|
||||
\noexpand\LT@entry{1}{0pt}%
|
||||
\expandafter\LT@build@blank
|
||||
\fi}
|
||||
\def\LT@make@row{%
|
||||
\global\expandafter\let\expandafter\LT@save@row
|
||||
\csname LT@\romannumeral\c@LT@tables\endcsname
|
||||
\ifx\LT@save@row\relax
|
||||
\LT@blank@row
|
||||
\else
|
||||
{\let\LT@entry\or
|
||||
\if!%
|
||||
\ifcase\expandafter\expandafter\expandafter\LT@cols
|
||||
\expandafter\@gobble\LT@save@row
|
||||
\or
|
||||
\else
|
||||
\relax
|
||||
\fi
|
||||
!%
|
||||
\else
|
||||
\aftergroup\LT@blank@row
|
||||
\fi}%
|
||||
\fi}
|
||||
\let\setlongtables\relax
|
||||
\def\LT@get@widths{%
|
||||
\setbox\tw@\hbox{%
|
||||
\unhbox\@ne
|
||||
\let\LT@old@row\LT@save@row
|
||||
\global\let\LT@save@row\@empty
|
||||
\count@\LT@cols
|
||||
\loop
|
||||
\unskip
|
||||
\setbox\tw@\lastbox
|
||||
\ifhbox\tw@
|
||||
\LT@def@row
|
||||
\advance\count@\m@ne
|
||||
\repeat}%
|
||||
\ifx\LT@@save@row\@undefined
|
||||
\let\LT@@save@row\LT@save@row
|
||||
\fi}
|
||||
\def\LT@def@row{%
|
||||
\let\LT@entry\or
|
||||
\edef\@tempa{%
|
||||
\ifcase\expandafter\count@\LT@old@row
|
||||
\else
|
||||
{1}{0pt}%
|
||||
\fi}%
|
||||
\let\LT@entry\relax
|
||||
\xdef\LT@save@row{%
|
||||
\LT@entry
|
||||
\expandafter\LT@max@sel\@tempa
|
||||
\LT@save@row}}
|
||||
\def\LT@max@sel#1#2{%
|
||||
{\ifdim#2=\wd\tw@
|
||||
#1%
|
||||
\else
|
||||
\number\c@LT@chunks
|
||||
\fi}%
|
||||
{\the\wd\tw@}}
|
||||
\def\LT@hline{%
|
||||
\noalign{\ifnum0=`}\fi
|
||||
\penalty\@M
|
||||
\futurelet\@let@token\LT@@hline}
|
||||
\def\LT@@hline{%
|
||||
\ifx\@let@token\hline
|
||||
\global\let\@gtempa\@gobble
|
||||
\gdef\LT@sep{\penalty-\@medpenalty\vskip\doublerulesep}%
|
||||
\else
|
||||
\global\let\@gtempa\@empty
|
||||
\gdef\LT@sep{\penalty-\@lowpenalty\vskip-\arrayrulewidth}%
|
||||
\fi
|
||||
\ifnum0=`{\fi}%
|
||||
\multispan\LT@cols
|
||||
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
|
||||
\noalign{\LT@sep}%
|
||||
\multispan\LT@cols
|
||||
\unskip\leaders\hrule\@height\arrayrulewidth\hfill\cr
|
||||
\noalign{\penalty\@M}%
|
||||
\@gtempa}
|
||||
\def\LT@caption{%
|
||||
\noalign\bgroup
|
||||
\@ifnextchar[{\egroup\LT@c@ption\@firstofone}\LT@capti@n}
|
||||
\def\LT@c@ption#1[#2]#3{%
|
||||
\LT@makecaption#1\fnum@table{#3}%
|
||||
\def\@tempa{#2}%
|
||||
\ifx\@tempa\@empty\else
|
||||
{\let\\\space
|
||||
\addcontentsline{lot}{table}{\protect\numberline{\thetable}{#2}}}%
|
||||
\fi}
|
||||
\def\LT@capti@n{%
|
||||
\@ifstar
|
||||
{\egroup\LT@c@ption\@gobble[]}%
|
||||
{\egroup\@xdblarg{\LT@c@ption\@firstofone}}}
|
||||
\def\LT@makecaption#1#2#3{%
|
||||
\LT@mcol\LT@cols c{\hbox to\z@{\hss\parbox[t]\LTcapwidth{%
|
||||
\sbox\@tempboxa{#1{#2: }#3}%
|
||||
\ifdim\wd\@tempboxa>\hsize
|
||||
#1{#2: }#3%
|
||||
\else
|
||||
\hbox to\hsize{\hfil\box\@tempboxa\hfil}%
|
||||
\fi
|
||||
\endgraf\vskip\baselineskip}%
|
||||
\hss}}}
|
||||
\def\LT@output{%
|
||||
\ifnum\outputpenalty <-\@Mi
|
||||
\ifnum\outputpenalty > -\LT@end@pen
|
||||
\LT@err{floats and marginpars not allowed in a longtable}\@ehc
|
||||
\else
|
||||
\setbox\z@\vbox{\unvbox\@cclv}%
|
||||
\ifdim \ht\LT@lastfoot>\ht\LT@foot
|
||||
\dimen@\pagegoal
|
||||
\advance\dimen@-\ht\LT@lastfoot
|
||||
\ifdim\dimen@<\ht\z@
|
||||
\setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
|
||||
\@makecol
|
||||
\@outputpage
|
||||
\setbox\z@\vbox{\box\LT@head}%
|
||||
\fi
|
||||
\fi
|
||||
\global\@colroom\@colht
|
||||
\global\vsize\@colht
|
||||
\vbox
|
||||
{\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
|
||||
\fi
|
||||
\else
|
||||
\setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
|
||||
\@makecol
|
||||
\@outputpage
|
||||
\global\vsize\@colroom
|
||||
\copy\LT@head\nobreak
|
||||
\fi}
|
||||
\def\LT@end@hd@ft#1{%
|
||||
\LT@echunk
|
||||
\ifx\LT@start\endgraf
|
||||
\LT@err
|
||||
{Longtable head or foot not at start of table}%
|
||||
{Increase LTchunksize}%
|
||||
\fi
|
||||
\setbox#1\box\z@
|
||||
\LT@get@widths
|
||||
\LT@bchunk}
|
||||
\def\endfirsthead{\LT@end@hd@ft\LT@firsthead}
|
||||
\def\endhead{\LT@end@hd@ft\LT@head}
|
||||
\def\endfoot{\LT@end@hd@ft\LT@foot}
|
||||
\def\endlastfoot{\LT@end@hd@ft\LT@lastfoot}
|
||||
\def\LT@startpbox#1{%
|
||||
\bgroup
|
||||
\let\@footnotetext\LT@p@ftntext
|
||||
\setlength\hsize{#1}%
|
||||
\@arrayparboxrestore
|
||||
\vrule \@height \ht\@arstrutbox \@width \z@}
|
||||
\def\LT@endpbox{%
|
||||
\@finalstrut\@arstrutbox
|
||||
\egroup
|
||||
\the\LT@p@ftn
|
||||
\global\LT@p@ftn{}%
|
||||
\hfil}
|
||||
\def\LT@p@ftntext#1{%
|
||||
\edef\@tempa{\the\LT@p@ftn\noexpand\footnotetext[\the\c@footnote]}%
|
||||
\global\LT@p@ftn\expandafter{\@tempa{#1}}}%
|
||||
|
||||
\@namedef{ver@longtable.sty}{2014/10/28 v4.11 Multi-page Table package (DPC) - frozen version for doxygen}
|
||||
\endinput
|
||||
%%
|
||||
%% End of file `longtable.sty'.
|
||||
87
docs/latex/main_8cpp.tex
Normal file
87
docs/latex/main_8cpp.tex
Normal file
@@ -0,0 +1,87 @@
|
||||
\hypertarget{main_8cpp}{}\doxysection{main.\+cpp File Reference}
|
||||
\label{main_8cpp}\index{main.cpp@{main.cpp}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$iostream$>$}\newline
|
||||
{\ttfamily \#include $<$iomanip$>$}\newline
|
||||
{\ttfamily \#include $<$memory$>$}\newline
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include $<$cstddef$>$}\newline
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+parser.\+h\char`\"{}}\newline
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+tree\+\_\+builder.\+h\char`\"{}}\newline
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+decode\+\_\+builder.\+h\char`\"{}}\newline
|
||||
{\ttfamily \#include \char`\"{}dbc\+\_\+decoder.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
static void \mbox{\hyperlink{main_8cpp_a57aefef9cfd52a8190df002e12808e0a}{Print\+Tree}} (const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $\ast$node, int indent)
|
||||
\item
|
||||
static void \mbox{\hyperlink{main_8cpp_a26dbbea5b56e3fbc451b68f217d5063f}{Print\+Decoded\+Frame}} (const \mbox{\hyperlink{structDecodedFrameValue}{Decoded\+Frame\+Value}} \&decoded)
|
||||
\item
|
||||
int \mbox{\hyperlink{main_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (int argc, char $\ast$argv\mbox{[}$\,$\mbox{]})
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{main_8cpp_source}{main.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Function Documentation}
|
||||
\mbox{\Hypertarget{main_8cpp_a0ddf1224851353fc92bfbff6f499fa97}\label{main_8cpp_a0ddf1224851353fc92bfbff6f499fa97}}
|
||||
\index{main.cpp@{main.cpp}!main@{main}}
|
||||
\index{main@{main}!main.cpp@{main.cpp}}
|
||||
\doxysubsubsection{\texorpdfstring{main()}{main()}}
|
||||
{\footnotesize\ttfamily int main (\begin{DoxyParamCaption}\item[{int}]{argc, }\item[{char $\ast$}]{argv\mbox{[}$\,$\mbox{]} }\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{main_8cpp_source_l00097}{97}} of file \mbox{\hyperlink{main_8cpp_source}{main.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__tree__builder_8cpp_source_l00014}{Dbc\+Tree\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00024}{Raw\+Can\+Frame\+::can\+Id}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00026}{Raw\+Can\+Frame\+::data}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, \mbox{\hyperlink{decode__database_8h_source_l00133}{Decode\+Database\+::frames}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00025}{Raw\+Can\+Frame\+::is\+Extended}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Dbc\+Parser\+::\+Parse\+File()}}, \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{main_8cpp_a26dbbea5b56e3fbc451b68f217d5063f}\label{main_8cpp_a26dbbea5b56e3fbc451b68f217d5063f}}
|
||||
\index{main.cpp@{main.cpp}!PrintDecodedFrame@{PrintDecodedFrame}}
|
||||
\index{PrintDecodedFrame@{PrintDecodedFrame}!main.cpp@{main.cpp}}
|
||||
\doxysubsubsection{\texorpdfstring{PrintDecodedFrame()}{PrintDecodedFrame()}}
|
||||
{\footnotesize\ttfamily static void Print\+Decoded\+Frame (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structDecodedFrameValue}{Decoded\+Frame\+Value}} \&}]{decoded }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{main_8cpp_source_l00075}{75}} of file \mbox{\hyperlink{main_8cpp_source}{main.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{dbc__decoder_8h_source_l00039}{Decoded\+Signal\+Value\+::definition}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00056}{Decoded\+Frame\+Value\+::definition}}, \mbox{\hyperlink{decode__database_8h_source_l00040}{Decode\+Signal\+::name}}, \mbox{\hyperlink{decode__database_8h_source_l00073}{Decode\+Frame\+::name}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00041}{Decoded\+Signal\+Value\+::physical\+Value}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00040}{Decoded\+Signal\+Value\+::raw\+Value}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00057}{Decoded\+Frame\+Value\+::signals}}, \mbox{\hyperlink{decode__database_8h_source_l00049}{Decode\+Signal\+::unit}}, \mbox{\hyperlink{dbc__decoder_8h_source_l00042}{Decoded\+Signal\+Value\+::valid}}, and \mbox{\hyperlink{dbc__decoder_8h_source_l00058}{Decoded\+Frame\+Value\+::valid}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
\mbox{\Hypertarget{main_8cpp_a57aefef9cfd52a8190df002e12808e0a}\label{main_8cpp_a57aefef9cfd52a8190df002e12808e0a}}
|
||||
\index{main.cpp@{main.cpp}!PrintTree@{PrintTree}}
|
||||
\index{PrintTree@{PrintTree}!main.cpp@{main.cpp}}
|
||||
\doxysubsubsection{\texorpdfstring{PrintTree()}{PrintTree()}}
|
||||
{\footnotesize\ttfamily static void Print\+Tree (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classTreeNode}{Tree\+Node}} $\ast$}]{node, }\item[{int}]{indent }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{main_8cpp_source_l00023}{23}} of file \mbox{\hyperlink{main_8cpp_source}{main.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{frame__info_8h_source_l00026}{Frame\+Info\+::can\+Id}}, \mbox{\hyperlink{frame__info_8h_source_l00030}{Frame\+Info\+::dlc}}, \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}{Frame}}, \mbox{\hyperlink{tree__node_8cpp_source_l00047}{Tree\+Node\+::\+Get\+Child()}}, \mbox{\hyperlink{tree__node_8cpp_source_l00043}{Tree\+Node\+::\+Get\+Child\+Count()}}, \mbox{\hyperlink{tree__node_8cpp_source_l00069}{Tree\+Node\+::\+Get\+Frame()}}, \mbox{\hyperlink{tree__node_8cpp_source_l00065}{Tree\+Node\+::\+Get\+Name()}}, \mbox{\hyperlink{tree__node_8cpp_source_l00073}{Tree\+Node\+::\+Get\+Signal()}}, \mbox{\hyperlink{tree__node_8cpp_source_l00061}{Tree\+Node\+::\+Get\+Type()}}, \mbox{\hyperlink{frame__info_8h_source_l00029}{Frame\+Info\+::has\+Pgn}}, \mbox{\hyperlink{frame__info_8h_source_l00027}{Frame\+Info\+::is\+Extended}}, \mbox{\hyperlink{signal__info_8h_source_l00025}{Signal\+Info\+::length}}, \mbox{\hyperlink{frame__info_8h_source_l00028}{Frame\+Info\+::pgn}}, \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}, \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}{Root}}, \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}{Signal}}, \mbox{\hyperlink{signal__info_8h_source_l00024}{Signal\+Info\+::start\+Bit}}, and \mbox{\hyperlink{signal__info_8h_source_l00032}{Signal\+Info\+::unit}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
141
docs/latex/main_8cpp_source.tex
Normal file
141
docs/latex/main_8cpp_source.tex
Normal file
@@ -0,0 +1,141 @@
|
||||
\hypertarget{main_8cpp_source}{}\doxysection{main.\+cpp}
|
||||
\mbox{\hyperlink{main_8cpp}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00002}00002 \textcolor{comment}{ * @file main.cpp}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00012}00012 \textcolor{preprocessor}{\#include <iostream>}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00013}00013 \textcolor{preprocessor}{\#include <iomanip>}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00014}00014 \textcolor{preprocessor}{\#include <memory>}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00015}00015 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00016}00016 \textcolor{preprocessor}{\#include <cstddef>}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00017}00017 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00018}00018 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__parser_8h}{dbc\_parser.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00019}00019 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__tree__builder_8h}{dbc\_tree\_builder.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00020}00020 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__decode__builder_8h}{dbc\_decode\_builder.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00021}00021 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{dbc__decoder_8h}{dbc\_decoder.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00022}00022 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00023}\mbox{\hyperlink{main_8cpp_a57aefef9cfd52a8190df002e12808e0a}{00023}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{main_8cpp_a57aefef9cfd52a8190df002e12808e0a}{PrintTree}} (\textcolor{keyword}{const} \mbox{\hyperlink{classTreeNode}{TreeNode}} *node, \textcolor{keywordtype}{int} indent) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00024}00024 \textcolor{keywordflow}{if} (node == \textcolor{keyword}{nullptr})}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00025}00025 \textcolor{keywordflow}{return};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00026}00026 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00027}00027 \textcolor{keywordflow}{for} (\textcolor{keywordtype}{int} i = 0; i < indent; ++i)}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00028}00028 std::cout << \textcolor{stringliteral}{"{} "{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00029}00029 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00030}00030 \textcolor{keywordflow}{switch} (node-\/>\mbox{\hyperlink{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}{GetType}}()) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00031}00031 \textcolor{keywordflow}{case} \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}{NodeType::Root}}:}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00032}00032 std::cout << \textcolor{stringliteral}{"{}[root] "{}} << node-\/>\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{GetName}}() << \textcolor{stringliteral}{"{}\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00033}00033 \textcolor{keywordflow}{break};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00034}00034 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00035}00035 \textcolor{keywordflow}{case} \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}{NodeType::Frame}}: \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00036}00036 \textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *frame = node-\/>\mbox{\hyperlink{classTreeNode_afc503b40004764163605d6dbdb4ef811}{GetFrame}}();}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00037}00037 std::cout << \textcolor{stringliteral}{"{}[frame] "{}} << node-\/>\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{GetName}}();}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00038}00038 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00039}00039 \textcolor{keywordflow}{if} (frame != \textcolor{keyword}{nullptr}) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00040}00040 std::cout << \textcolor{stringliteral}{"{} id=0x"{}} << std::hex << frame-\/>\mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{canId}} << std::dec}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00041}00041 << \textcolor{stringliteral}{"{} ext="{}} << (frame-\/>\mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{isExtended}} ? \textcolor{stringliteral}{"{}yes"{}} : \textcolor{stringliteral}{"{}no"{}})}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00042}00042 << \textcolor{stringliteral}{"{} dlc="{}} << \textcolor{keyword}{static\_cast<}\textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int}\textcolor{keyword}{>} (frame-\/>\mbox{\hyperlink{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}{dlc}});}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00043}00043 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00044}00044 \textcolor{keywordflow}{if} (frame-\/>\mbox{\hyperlink{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}{hasPgn}})}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00045}00045 std::cout << \textcolor{stringliteral}{"{} pgn="{}} << frame-\/>\mbox{\hyperlink{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}{pgn}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00046}00046 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00047}00047 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00048}00048 std::cout << \textcolor{stringliteral}{"{}\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00049}00049 \textcolor{keywordflow}{break};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00050}00050 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00051}00051 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00052}00052 \textcolor{keywordflow}{case} \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}{NodeType::Signal}}: \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00053}00053 \textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} *signal = node-\/>\mbox{\hyperlink{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}{GetSignal}}();}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00054}00054 std::cout << \textcolor{stringliteral}{"{}[signal] "{}} << node-\/>\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{GetName}}();}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00055}00055 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00056}00056 \textcolor{keywordflow}{if} (signal != \textcolor{keyword}{nullptr}) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00057}00057 std::cout << \textcolor{stringliteral}{"{} start="{}} << signal-\/>\mbox{\hyperlink{structSignalInfo_ace290724f9801521609aedaa946d61f1}{startBit}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00058}00058 << \textcolor{stringliteral}{"{} len="{}} << signal-\/>\mbox{\hyperlink{structSignalInfo_a1008b5201f71848177217bd52fb84baa}{length}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00059}00059 << \textcolor{stringliteral}{"{} unit="{}} << signal-\/>\mbox{\hyperlink{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}{unit}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00060}00060 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00061}00061 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00062}00062 std::cout << \textcolor{stringliteral}{"{}\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00063}00063 \textcolor{keywordflow}{break};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00064}00064 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00065}00065 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00066}00066 \textcolor{keywordflow}{default}:}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00067}00067 std::cout << \textcolor{stringliteral}{"{}[unknown]\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00068}00068 \textcolor{keywordflow}{break};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00069}00069 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00070}00070 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00071}00071 \textcolor{keywordflow}{for} (std::size\_t i = 0U; i < node-\/>\mbox{\hyperlink{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}{GetChildCount}}(); ++i)}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00072}00072 \mbox{\hyperlink{main_8cpp_a57aefef9cfd52a8190df002e12808e0a}{PrintTree}} (node-\/>\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{GetChild}} (i), indent + 1);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00073}00073 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00074}00074 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00075}\mbox{\hyperlink{main_8cpp_a26dbbea5b56e3fbc451b68f217d5063f}{00075}} \textcolor{keyword}{static} \textcolor{keywordtype}{void} \mbox{\hyperlink{main_8cpp_a26dbbea5b56e3fbc451b68f217d5063f}{PrintDecodedFrame}} (\textcolor{keyword}{const} \mbox{\hyperlink{structDecodedFrameValue}{DecodedFrameValue}} \&decoded) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00076}00076 \textcolor{keywordflow}{if} (!decoded.\mbox{\hyperlink{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}{valid}} || (decoded.\mbox{\hyperlink{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}{definition}} == \textcolor{keyword}{nullptr})) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00077}00077 std::cout << \textcolor{stringliteral}{"{}No frame definition found.\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00078}00078 \textcolor{keywordflow}{return};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00079}00079 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00080}00080 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00081}00081 std::cout << \textcolor{stringliteral}{"{}Decoded frame: "{}} << decoded.\mbox{\hyperlink{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}{definition}}-\/>\mbox{\hyperlink{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}{name}} << \textcolor{stringliteral}{"{}\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00082}00082 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00083}00083 \textcolor{keywordflow}{for} (std::size\_t index = 0U; index < decoded.\mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{signals}}.size(); ++index) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00084}00084 \textcolor{keyword}{const} \mbox{\hyperlink{structDecodedSignalValue}{DecodedSignalValue}} \&signal = decoded.\mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{signals}}[index];}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00085}00085 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00086}00086 \textcolor{keywordflow}{if} ((signal.\mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{definition}} == \textcolor{keyword}{nullptr}) || !signal.\mbox{\hyperlink{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}{valid}})}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00087}00087 \textcolor{keywordflow}{continue};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00088}00088 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00089}00089 std::cout << \textcolor{stringliteral}{"{} "{}} << signal.\mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{definition}}-\/>\mbox{\hyperlink{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}{name}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00090}00090 << \textcolor{stringliteral}{"{} raw="{}} << signal.\mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{rawValue}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00091}00091 << \textcolor{stringliteral}{"{} physical="{}} << signal.\mbox{\hyperlink{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}{physicalValue}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00092}00092 << \textcolor{stringliteral}{"{} "{}} << signal.\mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{definition}}-\/>\mbox{\hyperlink{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}{unit}}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00093}00093 << \textcolor{stringliteral}{"{}\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00094}00094 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00095}00095 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00096}00096 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00097}\mbox{\hyperlink{main_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{00097}} \textcolor{keywordtype}{int} \mbox{\hyperlink{main_8cpp_a0ddf1224851353fc92bfbff6f499fa97}{main}} (\textcolor{keywordtype}{int} argc, \textcolor{keywordtype}{char} *argv[]) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00098}00098 \textcolor{keywordflow}{if} (argc < 2) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00099}00099 std::cerr << \textcolor{stringliteral}{"{}Usage: dbc\_demo <file.dbc>\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00100}00100 \textcolor{keywordflow}{return} 1;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00101}00101 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00102}00102 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00103}00103 \textcolor{keywordflow}{try} \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00104}00104 \mbox{\hyperlink{classDbcParser}{DbcParser}} parser;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00105}00105 \mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} database = parser.\mbox{\hyperlink{classDbcParser_aef72826942c9095d653fafa435855e56}{ParseFile}} (argv[1]);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00106}00106 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00107}00107 \mbox{\hyperlink{classDbcTreeBuilder}{DbcTreeBuilder}} treeBuilder;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00108}00108 std::unique\_ptr<TreeNode> root = treeBuilder.\mbox{\hyperlink{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}{Build}} (database);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00109}00109 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00110}00110 std::cout << \textcolor{stringliteral}{"{}=== Parsed tree ===\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00111}00111 \mbox{\hyperlink{main_8cpp_a57aefef9cfd52a8190df002e12808e0a}{PrintTree}} (root.get(), 0);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00112}00112 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00113}00113 \mbox{\hyperlink{classDbcDecodeBuilder}{DbcDecodeBuilder}} decodeBuilder;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00114}00114 \mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} decodeDatabase = decodeBuilder.\mbox{\hyperlink{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}{Build}} (database);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00115}00115 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00116}00116 \textcolor{comment}{/*}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00117}00117 \textcolor{comment}{ * Example raw frame.}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00118}00118 \textcolor{comment}{ * Replace with live CAN frame or trace record later.}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00119}00119 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00120}00120 \mbox{\hyperlink{structRawCanFrame}{RawCanFrame}} rawFrame;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00121}00121 rawFrame.\mbox{\hyperlink{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}{canId}} = decodeDatabase.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}.empty() ? 0U : decodeDatabase.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}[0].canId;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00122}00122 rawFrame.\mbox{\hyperlink{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}{isExtended}} = decodeDatabase.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}.empty() ? false : decodeDatabase.\mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}[0].isExtended;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00123}00123 rawFrame.\mbox{\hyperlink{structRawCanFrame_a0acb487612104c99c9907344c035df83}{data}}.resize (8U, 0U);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00124}00124 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00125}00125 \mbox{\hyperlink{classDbcDecoder}{DbcDecoder}} decoder;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00126}00126 \mbox{\hyperlink{structDecodedFrameValue}{DecodedFrameValue}} decoded = decoder.\mbox{\hyperlink{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}{Decode}} (decodeDatabase, rawFrame);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00127}00127 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00128}00128 std::cout << \textcolor{stringliteral}{"{}\(\backslash\)n=== Decoded frame ===\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00129}00129 \mbox{\hyperlink{main_8cpp_a26dbbea5b56e3fbc451b68f217d5063f}{PrintDecodedFrame}} (decoded);}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00130}00130 \} \textcolor{keywordflow}{catch} (\textcolor{keyword}{const} std::exception \&ex) \{}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00131}00131 std::cerr << \textcolor{stringliteral}{"{}Error: "{}} << ex.what() << \textcolor{stringliteral}{"{}\(\backslash\)n"{}};}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00132}00132 \textcolor{keywordflow}{return} 2;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00133}00133 \}}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00134}00134 }
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00135}00135 \textcolor{keywordflow}{return} 0;}
|
||||
\DoxyCodeLine{\Hypertarget{main_8cpp_source_l00136}00136 \}}
|
||||
|
||||
\end{DoxyCode}
|
||||
914
docs/latex/md_README.tex
Normal file
914
docs/latex/md_README.tex
Normal file
@@ -0,0 +1,914 @@
|
||||
\hypertarget{md_README_autotoc_md1}{}\doxysection{Overview}\label{md_README_autotoc_md1}
|
||||
This module provides a minimal but extensible DBC parser and runtime decode foundation for the {\bfseries{Frame\+Tap}} project.
|
||||
|
||||
Its purpose is to\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item parse DBC files
|
||||
\item store parsed frame and signal metadata
|
||||
\item build a tree for future UI integration
|
||||
\item build a runtime-\/ready decode database
|
||||
\item decode live CAN frames
|
||||
\item decode CAN trace records using the same decoder
|
||||
\end{DoxyItemize}
|
||||
|
||||
The implementation follows a simple and practical design\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item parser logic is separated from UI logic
|
||||
\item runtime decode structures are separated from tree structures
|
||||
\item Qt is not required at the parser or decoder level
|
||||
\item the same decode engine can be reused for live traffic and trace replay
|
||||
\end{DoxyItemize}
|
||||
|
||||
This is {\bfseries{not a full production-\/grade DBC implementation yet}}, but it is a strong architectural base.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md3}{}\doxysection{High-\/\+Level Architecture}\label{md_README_autotoc_md3}
|
||||
The module is divided into two main paths.\hypertarget{md_README_autotoc_md4}{}\doxysubsection{1. Parse and UI path}\label{md_README_autotoc_md4}
|
||||
Used for\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item browsing frames and signals
|
||||
\item later integration with Qt {\ttfamily Model/\+View}
|
||||
\item displaying metadata
|
||||
\end{DoxyItemize}
|
||||
|
||||
Pipeline\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{DBC file}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcParser}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcDatabase}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcTreeBuilder}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{TreeNode hierarchy}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{future Qt UI}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{md_README_autotoc_md5}{}\doxysubsection{2. Runtime decode path}\label{md_README_autotoc_md5}
|
||||
Used for\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item live CAN decoding
|
||||
\item CAN trace decoding
|
||||
\item fast lookup by CAN ID
|
||||
\end{DoxyItemize}
|
||||
|
||||
Pipeline\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{DBC file}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcParser}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcDatabase}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcDecodeBuilder}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DecodeDatabase}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcDecoder}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{Decoded values}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
This separation is intentional.
|
||||
|
||||
The tree is useful for UI, but it is {\bfseries{not}} the main data structure for runtime decoding.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md7}{}\doxysection{Why the Runtime Decode Layer Exists}\label{md_README_autotoc_md7}
|
||||
A tree structure is convenient for browsing, but a runtime decoder needs something different\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item fast lookup by CAN ID
|
||||
\item direct access to signal decode definitions
|
||||
\item minimal overhead during repeated decoding
|
||||
\item the same logic for live frames and trace frames
|
||||
\end{DoxyItemize}
|
||||
|
||||
Because of that, the design uses a dedicated runtime-\/ready structure\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This avoids forcing UI-\/oriented structures into a decode role they were not meant for.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md9}{}\doxysection{Module Layout}\label{md_README_autotoc_md9}
|
||||
\hypertarget{md_README_autotoc_md10}{}\doxysubsection{Parsed DBC structures}\label{md_README_autotoc_md10}
|
||||
Files\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{signal__info_8h}{signal\+\_\+info.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{frame__info_8h}{frame\+\_\+info.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__database_8h}{dbc\+\_\+database.\+h}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
These store a readable representation of the parsed DBC file.\hypertarget{md_README_autotoc_md11}{}\doxysubsection{UI tree structures}\label{md_README_autotoc_md11}
|
||||
Files\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{tree__node_8h}{tree\+\_\+node.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{tree__node_8cpp}{tree\+\_\+node.\+cpp}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__tree__builder_8h}{dbc\+\_\+tree\+\_\+builder.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__tree__builder_8cpp}{dbc\+\_\+tree\+\_\+builder.\+cpp}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
These convert parsed DBC content into a tree hierarchy suitable for UI and model/view usage later.\hypertarget{md_README_autotoc_md12}{}\doxysubsection{Runtime decode structures}\label{md_README_autotoc_md12}
|
||||
Files\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{decode__database_8h}{decode\+\_\+database.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__decode__builder_8h}{dbc\+\_\+decode\+\_\+builder.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__decode__builder_8cpp}{dbc\+\_\+decode\+\_\+builder.\+cpp}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
These convert parsed DBC content into a structure optimized for decoding.\hypertarget{md_README_autotoc_md13}{}\doxysubsection{Runtime decoder}\label{md_README_autotoc_md13}
|
||||
Files\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__decoder_8h}{dbc\+\_\+decoder.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__decoder_8cpp}{dbc\+\_\+decoder.\+cpp}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
These perform actual decoding of raw CAN frames using {\ttfamily \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}}}.\hypertarget{md_README_autotoc_md14}{}\doxysubsection{Parser}\label{md_README_autotoc_md14}
|
||||
Files\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__parser_8h}{dbc\+\_\+parser.\+h}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{dbc__parser_8cpp}{dbc\+\_\+parser.\+cpp}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
These parse the DBC file itself.\hypertarget{md_README_autotoc_md15}{}\doxysubsection{Demo}\label{md_README_autotoc_md15}
|
||||
File\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{main_8cpp}{main.\+cpp}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
Used as a small integration example.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md17}{}\doxysection{Parsed Data Structures}\label{md_README_autotoc_md17}
|
||||
\hypertarget{md_README_autotoc_md18}{}\doxysection{$<$tt$>$\+Signal\+Info$<$/tt$>$}\label{md_README_autotoc_md18}
|
||||
Represents one signal as parsed from the DBC file.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily name}
|
||||
\item {\ttfamily start\+Bit}
|
||||
\item {\ttfamily length}
|
||||
\item {\ttfamily is\+Little\+Endian}
|
||||
\item {\ttfamily is\+Signed}
|
||||
\item {\ttfamily factor}
|
||||
\item {\ttfamily offset}
|
||||
\item {\ttfamily minimum}
|
||||
\item {\ttfamily maximum}
|
||||
\item {\ttfamily unit}
|
||||
\item {\ttfamily receivers}
|
||||
\item {\ttfamily comment}
|
||||
\end{DoxyItemize}
|
||||
|
||||
Notes\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily receivers} is a list because a signal may have more than one receiver ECU
|
||||
\item {\ttfamily factor} and {\ttfamily offset} define physical conversion
|
||||
\item this structure is close to DBC content and easy to inspect
|
||||
\end{DoxyItemize}
|
||||
|
||||
Physical value rule\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{physical = raw * factor + offset}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md20}{}\doxysection{$<$tt$>$\+Frame\+Info$<$/tt$>$}\label{md_README_autotoc_md20}
|
||||
Represents one frame as parsed from the DBC file.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily name}
|
||||
\item {\ttfamily can\+Id}
|
||||
\item {\ttfamily is\+Extended}
|
||||
\item {\ttfamily pgn}
|
||||
\item {\ttfamily has\+Pgn}
|
||||
\item {\ttfamily dlc}
|
||||
\item {\ttfamily transmitter}
|
||||
\item {\ttfamily comment}
|
||||
\item {\ttfamily signals}
|
||||
\end{DoxyItemize}
|
||||
|
||||
Notes\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily signals} is a list of {\ttfamily \mbox{\hyperlink{structSignalInfo}{Signal\+Info}}}
|
||||
\item {\ttfamily is\+Extended} is determined during CAN ID normalization
|
||||
\item {\ttfamily pgn} is derived using simplified J1939 logic when applicable
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md22}{}\doxysection{$<$tt$>$\+Dbc\+Database$<$/tt$>$}\label{md_README_autotoc_md22}
|
||||
Top-\/level parsed DBC container.
|
||||
|
||||
Conceptually\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{DbcDatabase}
|
||||
\DoxyCodeLine{ └── vector<FrameInfo>}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
This is the central structure produced by {\ttfamily \mbox{\hyperlink{classDbcParser}{Dbc\+Parser}}}.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md24}{}\doxysection{UI Tree Layer}\label{md_README_autotoc_md24}
|
||||
\hypertarget{md_README_autotoc_md25}{}\doxysection{$<$tt$>$\+Tree\+Node$<$/tt$>$}\label{md_README_autotoc_md25}
|
||||
The UI tree contains three node types\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily Root}
|
||||
\item {\ttfamily Frame}
|
||||
\item {\ttfamily Signal}
|
||||
\end{DoxyItemize}
|
||||
|
||||
Example hierarchy\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{dbc}
|
||||
\DoxyCodeLine{ ├── EngineData}
|
||||
\DoxyCodeLine{ │ ├── EngineSpeed}
|
||||
\DoxyCodeLine{ │ ├── OilTemp}
|
||||
\DoxyCodeLine{ │ └── CoolantTemp}
|
||||
\DoxyCodeLine{ └── VehicleData}
|
||||
\DoxyCodeLine{ ├── VehicleSpeed}
|
||||
\DoxyCodeLine{ └── Odometer}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Each node stores either\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{structFrameInfo}{Frame\+Info}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{structSignalInfo}{Signal\+Info}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
The tree is intended for browsing and later Qt model integration.
|
||||
|
||||
It is {\bfseries{not}} the primary runtime decode structure.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md27}{}\doxysection{Runtime Decode Layer}\label{md_README_autotoc_md27}
|
||||
\hypertarget{md_README_autotoc_md28}{}\doxysection{Purpose}\label{md_README_autotoc_md28}
|
||||
The decode layer exists so that decoding can be fast and independent from UI concerns.
|
||||
|
||||
Instead of searching a tree, the decoder uses a prepared database with direct lookup.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md30}{}\doxysection{$<$tt$>$\+Byte\+Order$<$/tt$>$}\label{md_README_autotoc_md30}
|
||||
Runtime byte order enum\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily Intel}
|
||||
\item {\ttfamily Motorola}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This is better for decode code than passing around raw DBC characters.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md32}{}\doxysection{$<$tt$>$\+Value\+Type$<$/tt$>$}\label{md_README_autotoc_md32}
|
||||
Numeric type enum\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily Unsigned}
|
||||
\item {\ttfamily Signed}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This is clearer than combining multiple boolean flags during runtime logic.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md34}{}\doxysection{$<$tt$>$\+Decode\+Signal$<$/tt$>$}\label{md_README_autotoc_md34}
|
||||
Represents one runtime-\/ready signal definition.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily name}
|
||||
\item {\ttfamily start\+Bit}
|
||||
\item {\ttfamily length}
|
||||
\item {\ttfamily byte\+Order}
|
||||
\item {\ttfamily value\+Type}
|
||||
\item {\ttfamily factor}
|
||||
\item {\ttfamily offset}
|
||||
\item {\ttfamily minimum}
|
||||
\item {\ttfamily maximum}
|
||||
\item {\ttfamily unit}
|
||||
\item {\ttfamily receivers}
|
||||
\item {\ttfamily comment}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This structure contains all information required for extracting and converting a signal value from raw frame data.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md36}{}\doxysection{$<$tt$>$\+Decode\+Frame$<$/tt$>$}\label{md_README_autotoc_md36}
|
||||
Represents one runtime-\/ready frame definition.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily name}
|
||||
\item {\ttfamily can\+Id}
|
||||
\item {\ttfamily is\+Extended}
|
||||
\item {\ttfamily dlc}
|
||||
\item {\ttfamily pgn}
|
||||
\item {\ttfamily has\+Pgn}
|
||||
\item {\ttfamily transmitter}
|
||||
\item {\ttfamily comment}
|
||||
\item {\ttfamily signals}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This structure is used directly by the decoder.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md38}{}\doxysection{$<$tt$>$\+Frame\+Key$<$/tt$>$}\label{md_README_autotoc_md38}
|
||||
Fast lookup key for runtime frame matching.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily can\+Id}
|
||||
\item {\ttfamily is\+Extended}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This matters because the same numeric identifier must not be confused between standard and extended frames.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md40}{}\doxysection{$<$tt$>$\+Decode\+Database$<$/tt$>$}\label{md_README_autotoc_md40}
|
||||
Top-\/level runtime decode container.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily frames}
|
||||
\item {\ttfamily frame\+Index\+By\+Key}
|
||||
\end{DoxyItemize}
|
||||
|
||||
Conceptually\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{DecodeDatabase}
|
||||
\DoxyCodeLine{ ├── vector<DecodeFrame>}
|
||||
\DoxyCodeLine{ └── unordered\_map<FrameKey, index>}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
This gives the decoder fast access to a frame definition using CAN ID and frame type.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md42}{}\doxysection{Decoder Layer}\label{md_README_autotoc_md42}
|
||||
\hypertarget{md_README_autotoc_md43}{}\doxysection{$<$tt$>$\+Raw\+Can\+Frame$<$/tt$>$}\label{md_README_autotoc_md43}
|
||||
Represents a raw CAN frame to decode.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily can\+Id}
|
||||
\item {\ttfamily is\+Extended}
|
||||
\item {\ttfamily data}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This same structure can be used for\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item live CAN bus input
|
||||
\item replayed trace records
|
||||
\item unit tests
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md45}{}\doxysection{$<$tt$>$\+Decoded\+Signal\+Value$<$/tt$>$}\label{md_README_autotoc_md45}
|
||||
Represents one decoded signal result.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily definition}
|
||||
\item {\ttfamily raw\+Value}
|
||||
\item {\ttfamily physical\+Value}
|
||||
\item {\ttfamily valid}
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md47}{}\doxysection{$<$tt$>$\+Decoded\+Frame\+Value$<$/tt$>$}\label{md_README_autotoc_md47}
|
||||
Represents one decoded frame result.
|
||||
|
||||
Fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily definition}
|
||||
\item {\ttfamily signals}
|
||||
\item {\ttfamily valid}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This is the decoder output for one raw frame.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md49}{}\doxysection{$<$tt$>$\+Dbc\+Decoder$<$/tt$>$}\label{md_README_autotoc_md49}
|
||||
Main runtime decoder class.
|
||||
|
||||
Responsibilities\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item find a frame definition by CAN ID
|
||||
\item decode all signals in a frame
|
||||
\item extract raw values
|
||||
\item sign-\/extend signed values
|
||||
\item convert raw values into physical values
|
||||
\end{DoxyItemize}
|
||||
|
||||
Main methods\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily Find\+Frame(...)}
|
||||
\item {\ttfamily Decode(...)}
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md51}{}\doxysection{Parser Support}\label{md_README_autotoc_md51}
|
||||
The current parser supports the following DBC elements\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily BO\+\_\+}
|
||||
\item {\ttfamily SG\+\_\+}
|
||||
\item {\ttfamily CM\+\_\+ BO\+\_\+}
|
||||
\item {\ttfamily CM\+\_\+ SG\+\_\+}
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md53}{}\doxysection{Supported DBC Syntax}\label{md_README_autotoc_md53}
|
||||
\hypertarget{md_README_autotoc_md54}{}\doxysection{Frame definition}\label{md_README_autotoc_md54}
|
||||
Example\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{BO\_ 256 EngineData: 8 EEC1}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Parsed fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item frame CAN ID
|
||||
\item frame name
|
||||
\item DLC
|
||||
\item transmitter ECU
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md56}{}\doxysection{Signal definition}\label{md_README_autotoc_md56}
|
||||
Example\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{SG\_ EngineSpeed : 0|16@1+ (0.125,0) [0|8000] "{}rpm"{} ECU1,ECU2}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Parsed fields\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item signal name
|
||||
\item start bit
|
||||
\item signal length
|
||||
\item byte order
|
||||
\item signedness
|
||||
\item factor
|
||||
\item offset
|
||||
\item minimum
|
||||
\item maximum
|
||||
\item unit
|
||||
\item receivers
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md58}{}\doxysection{Comments}\label{md_README_autotoc_md58}
|
||||
Frame comment example\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{CM\_ BO\_ 256 "{}Engine data frame"{};}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Signal comment example\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{CM\_ SG\_ 256 EngineSpeed "{}Actual engine speed"{};}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Stored in\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily \mbox{\hyperlink{structFrameInfo_ace75121294f9d89b762080ab5643293c}{Frame\+Info\+::comment}}}
|
||||
\item {\ttfamily \mbox{\hyperlink{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}{Signal\+Info\+::comment}}}
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md60}{}\doxysection{CAN ID Normalization}\label{md_README_autotoc_md60}
|
||||
The parser normalizes frame identifiers.
|
||||
|
||||
Common DBC behavior\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item extended identifiers may be stored with bit 31 set
|
||||
\item the actual 29-\/bit identifier must be extracted from that value
|
||||
\end{DoxyItemize}
|
||||
|
||||
The parser therefore stores\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item normalized {\ttfamily can\+Id}
|
||||
\item separate {\ttfamily is\+Extended} flag
|
||||
\end{DoxyItemize}
|
||||
|
||||
This is important both for correct lookup and for future interoperability with live CAN APIs.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md62}{}\doxysection{PGN Extraction}\label{md_README_autotoc_md62}
|
||||
PGN is derived only when the frame is treated as extended.
|
||||
|
||||
The current logic is simplified J1939 extraction\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily pf}
|
||||
\item {\ttfamily ps}
|
||||
\item {\ttfamily dp}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This is enough for a practical start but should not be treated as full J1939 validation.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md64}{}\doxysection{Decode Flow}\label{md_README_autotoc_md64}
|
||||
Typical runtime decode flow\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{RawCanFrame}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{Find frame in DecodeDatabase}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{For each signal:}
|
||||
\DoxyCodeLine{ extract raw bits}
|
||||
\DoxyCodeLine{ apply sign extension if needed}
|
||||
\DoxyCodeLine{ convert to physical value}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DecodedFrameValue}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md66}{}\doxysection{Intel and Motorola Extraction}\label{md_README_autotoc_md66}
|
||||
The decoder currently has separate extraction paths\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily Extract\+Intel(...)}
|
||||
\item {\ttfamily Extract\+Motorola(...)}
|
||||
\end{DoxyItemize}
|
||||
|
||||
This is important because byte order is not just metadata once decoding starts.
|
||||
|
||||
Intel and Motorola require different bit extraction logic.
|
||||
|
||||
This is one of the main reasons why the runtime decode layer should be explicit and prepared in advance.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md68}{}\doxysection{Example Usage}\label{md_README_autotoc_md68}
|
||||
\hypertarget{md_README_autotoc_md69}{}\doxysection{Parse DBC}\label{md_README_autotoc_md69}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{classDbcParser}{DbcParser}} parser;}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{structDbcDatabase}{DbcDatabase}} database = parser.\mbox{\hyperlink{classDbcParser_aef72826942c9095d653fafa435855e56}{ParseFile}}(\textcolor{stringliteral}{"{}example.dbc"{}});}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{md_README_autotoc_md70}{}\doxysection{Build UI tree}\label{md_README_autotoc_md70}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{classDbcTreeBuilder}{DbcTreeBuilder}} treeBuilder;}
|
||||
\DoxyCodeLine{std::unique\_ptr<TreeNode> root = treeBuilder.\mbox{\hyperlink{classDbcTreeBuilder_a7e57d067d831b14b383947fd125edd4b}{Build}}(database);}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{md_README_autotoc_md71}{}\doxysection{Build runtime decode database}\label{md_README_autotoc_md71}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{classDbcDecodeBuilder}{DbcDecodeBuilder}} decodeBuilder;}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{structDecodeDatabase}{DecodeDatabase}} decodeDatabase = decodeBuilder.\mbox{\hyperlink{classDbcDecodeBuilder_a2bc6386dfb5e58976c42e22c19ec471b}{Build}}(database);}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{md_README_autotoc_md72}{}\doxysection{Decode a raw frame}\label{md_README_autotoc_md72}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{structRawCanFrame}{RawCanFrame}} rawFrame;}
|
||||
\DoxyCodeLine{rawFrame.\mbox{\hyperlink{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}{canId}} = 0x123;}
|
||||
\DoxyCodeLine{rawFrame.\mbox{\hyperlink{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}{isExtended}} = \textcolor{keyword}{false};}
|
||||
\DoxyCodeLine{rawFrame.\mbox{\hyperlink{structRawCanFrame_a0acb487612104c99c9907344c035df83}{data}} = \{0x01, 0x02, 0x03, 0x04\};}
|
||||
\DoxyCodeLine{}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{classDbcDecoder}{DbcDecoder}} decoder;}
|
||||
\DoxyCodeLine{\mbox{\hyperlink{structDecodedFrameValue}{DecodedFrameValue}} decoded = decoder.\mbox{\hyperlink{classDbcDecoder_a345951ffe5d943a70d3a1ea1f39e74f7}{Decode}}(decodeDatabase, rawFrame);}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md74}{}\doxysection{Unified Decode Strategy}\label{md_README_autotoc_md74}
|
||||
A key design goal is that the same decoder should work for both\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item live CAN frames
|
||||
\item trace replay frames
|
||||
\end{DoxyItemize}
|
||||
|
||||
That means this architecture supports\+:\hypertarget{md_README_autotoc_md75}{}\doxysubsection{live path}\label{md_README_autotoc_md75}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{live CAN input}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{RawCanFrame}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcDecoder}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{decoded signal values}
|
||||
|
||||
\end{DoxyCode}
|
||||
\hypertarget{md_README_autotoc_md76}{}\doxysubsection{trace path}\label{md_README_autotoc_md76}
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{trace reader}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{RawCanFrame}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{DbcDecoder}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{decoded signal values}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
This avoids duplicating decode logic in two separate parts of the application.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md78}{}\doxysection{Intended Use in Frame\+Tap}\label{md_README_autotoc_md78}
|
||||
This module is meant to support at least the following Frame\+Tap workflows\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item load a DBC file
|
||||
\item browse frames and signals
|
||||
\item search signals
|
||||
\item drag a signal into a plot later
|
||||
\item decode live CAN traffic
|
||||
\item decode recorded traces
|
||||
\item convert raw values into physical values
|
||||
\item show metadata like units, comments, transmitter, receivers, and PGN
|
||||
\end{DoxyItemize}
|
||||
|
||||
Example combined workflow\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{Load DBC}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{Parse into DbcDatabase}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{Build UI tree}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{Build DecodeDatabase}
|
||||
\DoxyCodeLine{ ↓}
|
||||
\DoxyCodeLine{Use same decode engine for:}
|
||||
\DoxyCodeLine{ -\/ live frames}
|
||||
\DoxyCodeLine{ -\/ trace replay}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md80}{}\doxysection{Why the Tree Is Not Enough}\label{md_README_autotoc_md80}
|
||||
The tree exists for browsing.
|
||||
|
||||
However, runtime decode should not rely on tree traversal because that would introduce unnecessary coupling and inefficiency.
|
||||
|
||||
A runtime decoder needs\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item fast key-\/based access
|
||||
\item minimal interpretation at decode time
|
||||
\item direct signal definitions already prepared
|
||||
\end{DoxyItemize}
|
||||
|
||||
That is why {\ttfamily \mbox{\hyperlink{structDecodeDatabase}{Decode\+Database}}} is a separate layer.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md82}{}\doxysection{Why No Abstract Factory Is Used}\label{md_README_autotoc_md82}
|
||||
At the current stage, abstract factory is intentionally avoided.
|
||||
|
||||
The current design is already clean\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{parser → parsed database → decode database}
|
||||
\DoxyCodeLine{ ↘ tree builder → UI tree}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
Introducing factory layers now would increase complexity without solving an immediate problem.
|
||||
|
||||
If later the project requires multiple output representations or multiple build strategies, that can be added then.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md84}{}\doxysection{Current Limitations}\label{md_README_autotoc_md84}
|
||||
This is still a minimal implementation.
|
||||
|
||||
Not supported yet\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item multiplexed signals
|
||||
\item {\ttfamily VAL\+\_\+} tables
|
||||
\item {\ttfamily BA\+\_\+} attributes
|
||||
\item {\ttfamily BA\+\_\+\+DEF\+\_\+} definitions
|
||||
\item advanced comment handling
|
||||
\item full DBC grammar coverage
|
||||
\item full J1939 validation
|
||||
\item extensive edge-\/case handling for unusual DBC formatting
|
||||
\end{DoxyItemize}
|
||||
|
||||
Motorola extraction is implemented, but it should still be verified carefully against real-\/world DBC files and expected values.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md86}{}\doxysection{Recommended Next Steps}\label{md_README_autotoc_md86}
|
||||
A practical development order would be\+:\hypertarget{md_README_autotoc_md87}{}\doxysubsection{Stage 1 -\/ already implemented}\label{md_README_autotoc_md87}
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item {\ttfamily BO\+\_\+}
|
||||
\item {\ttfamily SG\+\_\+}
|
||||
\item {\ttfamily CM\+\_\+}
|
||||
\item normalized CAN ID
|
||||
\item {\ttfamily is\+Extended}
|
||||
\item transmitter
|
||||
\item receivers
|
||||
\item comments
|
||||
\item tree representation
|
||||
\item runtime decode database
|
||||
\item runtime decoder
|
||||
\end{DoxyItemize}\hypertarget{md_README_autotoc_md88}{}\doxysubsection{Stage 2}\label{md_README_autotoc_md88}
|
||||
Recommended additions\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item parent pointer in {\ttfamily \mbox{\hyperlink{classTreeNode}{Tree\+Node}}}
|
||||
\item Qt model adapter
|
||||
\item {\ttfamily VAL\+\_\+} support for enum-\/style signals
|
||||
\item better display strings for UI
|
||||
\item selective decoding of only chosen signals
|
||||
\end{DoxyItemize}\hypertarget{md_README_autotoc_md89}{}\doxysubsection{Stage 3}\label{md_README_autotoc_md89}
|
||||
Recommended additions\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item multiplexing support
|
||||
\item attribute parsing
|
||||
\item richer J1939 support
|
||||
\item CSV export of decoded traces
|
||||
\item optimized filtering and signal selection
|
||||
\end{DoxyItemize}\hypertarget{md_README_autotoc_md90}{}\doxysubsection{Stage 4}\label{md_README_autotoc_md90}
|
||||
Advanced functionality\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item live plot integration
|
||||
\item signal subscriptions
|
||||
\item per-\/signal trace decode pipelines
|
||||
\item decoder-\/assisted export formats
|
||||
\end{DoxyItemize}
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md92}{}\doxysection{Build Integration}\label{md_README_autotoc_md92}
|
||||
The module does not depend on any specific build system.
|
||||
|
||||
It can be integrated with\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item CMake
|
||||
\item qmake
|
||||
\item Makefile
|
||||
\end{DoxyItemize}
|
||||
|
||||
Just add the source files to the project.
|
||||
|
||||
\DoxyHorRuler{0}
|
||||
\hypertarget{md_README_autotoc_md94}{}\doxysection{Summary}\label{md_README_autotoc_md94}
|
||||
This module is now split into two intentionally separate layers\+:\hypertarget{md_README_autotoc_md95}{}\doxysubsection{Parsed representation}\label{md_README_autotoc_md95}
|
||||
Used for\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item storing parsed DBC content
|
||||
\item browsing
|
||||
\item UI tree generation
|
||||
\end{DoxyItemize}\hypertarget{md_README_autotoc_md96}{}\doxysubsection{Runtime decode representation}\label{md_README_autotoc_md96}
|
||||
Used for\+:
|
||||
|
||||
|
||||
\begin{DoxyItemize}
|
||||
\item fast frame lookup
|
||||
\item live CAN decode
|
||||
\item trace decode
|
||||
\item physical value conversion
|
||||
\end{DoxyItemize}
|
||||
|
||||
That separation is the main architectural improvement.
|
||||
|
||||
In short, the system now looks like this\+:
|
||||
|
||||
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{DBC parser → DbcDatabase → DecodeDatabase → DbcDecoder}
|
||||
\DoxyCodeLine{ ↘ TreeNode → future UI}
|
||||
|
||||
\end{DoxyCode}
|
||||
|
||||
|
||||
This gives Frame\+Tap a much better foundation for real use, because both browsing and decoding are supported without forcing one representation to do the other\textquotesingle{}s job.
|
||||
@@ -0,0 +1,36 @@
|
||||
\hypertarget{namespaceanonymous__namespace_02dbc__parser_8cpp_03}{}\doxysection{anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\} Namespace Reference}
|
||||
\label{namespaceanonymous__namespace_02dbc__parser_8cpp_03}\index{anonymous\_namespace\lcurly{}dbc\_parser.cpp\rcurly{}@{anonymous\_namespace\lcurly{}dbc\_parser.cpp\rcurly{}}}
|
||||
\doxysubsection*{Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}{Trim\+Text}} (const std\+::string \&text)
|
||||
\begin{DoxyCompactList}\small\item\em Remove leading and trailing spaces. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Function Documentation}
|
||||
\mbox{\Hypertarget{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}\label{namespaceanonymous__namespace_02dbc__parser_8cpp_03_a5850f07ce5f4e5c4f3bf385ebcfcebbb}}
|
||||
\index{anonymous\_namespace\lcurly{}dbc\_parser.cpp\rcurly{}@{anonymous\_namespace\lcurly{}dbc\_parser.cpp\rcurly{}}!TrimText@{TrimText}}
|
||||
\index{TrimText@{TrimText}!anonymous\_namespace\lcurly{}dbc\_parser.cpp\rcurly{}@{anonymous\_namespace\lcurly{}dbc\_parser.cpp\rcurly{}}}
|
||||
\doxysubsubsection{\texorpdfstring{TrimText()}{TrimText()}}
|
||||
{\footnotesize\ttfamily std\+::string anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\}\+::\+Trim\+Text (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{text }\end{DoxyParamCaption})}
|
||||
|
||||
|
||||
|
||||
Remove leading and trailing spaces.
|
||||
|
||||
|
||||
\begin{DoxyParams}{Parameters}
|
||||
{\em text} & Input text. \\
|
||||
\hline
|
||||
\end{DoxyParams}
|
||||
\begin{DoxyReturn}{Returns}
|
||||
Trimmed text.
|
||||
\end{DoxyReturn}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__parser_8cpp_source_l00025}{25}} of file \mbox{\hyperlink{dbc__parser_8cpp_source}{dbc\+\_\+parser.\+cpp}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00087}{Dbc\+Parser\+::\+Split\+Receivers()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00083}{Dbc\+Parser\+::\+Trim()}}.
|
||||
|
||||
4
docs/latex/namespaces.tex
Normal file
4
docs/latex/namespaces.tex
Normal file
@@ -0,0 +1,4 @@
|
||||
\doxysection{Namespace List}
|
||||
Here is a list of all namespaces with brief descriptions\+:\begin{DoxyCompactList}
|
||||
\item\contentsline{section}{\mbox{\hyperlink{namespaceanonymous__namespace_02dbc__parser_8cpp_03}{anonymous\+\_\+namespace\{dbc\+\_\+parser.\+cpp\}}} }{\pageref{namespaceanonymous__namespace_02dbc__parser_8cpp_03}}{}
|
||||
\end{DoxyCompactList}
|
||||
248
docs/latex/refman.tex
Normal file
248
docs/latex/refman.tex
Normal file
@@ -0,0 +1,248 @@
|
||||
% Handle batch mode
|
||||
% to overcome problems with too many open files
|
||||
\let\mypdfximage\pdfximage\def\pdfximage{\immediate\mypdfximage}
|
||||
% Set document class depending on configuration
|
||||
\documentclass[twoside]{book}
|
||||
%% moved from doxygen.sty due to workaround for LaTex 2019 version and unmaintained tabu package
|
||||
\usepackage{ifthen}
|
||||
\ifx\requestedLaTeXdate\undefined
|
||||
\usepackage{array}
|
||||
\else
|
||||
\usepackage{array}[=2016-10-06]
|
||||
\fi
|
||||
%%
|
||||
% Packages required by doxygen
|
||||
\usepackage{fixltx2e} % for \textsubscript
|
||||
\usepackage{doxygen}
|
||||
\usepackage{graphicx}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{makeidx}
|
||||
\PassOptionsToPackage{warn}{textcomp}
|
||||
\usepackage{textcomp}
|
||||
\usepackage[nointegrals]{wasysym}
|
||||
\usepackage{ifxetex}
|
||||
% NLS support packages
|
||||
% Define default fonts
|
||||
% Font selection
|
||||
\usepackage[T1]{fontenc}
|
||||
% set main and monospaced font
|
||||
\usepackage[scaled=.90]{helvet}
|
||||
\usepackage{courier}
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
\usepackage{sectsty}
|
||||
\allsectionsfont{%
|
||||
\fontseries{bc}\selectfont%
|
||||
\color{darkgray}%
|
||||
}
|
||||
\renewcommand{\DoxyLabelFont}{%
|
||||
\fontseries{bc}\selectfont%
|
||||
\color{darkgray}%
|
||||
}
|
||||
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
|
||||
% Arguments of doxygenemoji:
|
||||
% 1) ':<text>:' form of the emoji, already LaTeX-escaped
|
||||
% 2) file with the name of the emoji without the .png extension
|
||||
% in case image exist use this otherwise use the ':<text>:' form
|
||||
\newcommand{\doxygenemoji}[2]{%
|
||||
\IfFileExists{./#2.png}{\raisebox{-0.1em}{\includegraphics[height=0.9em]{./#2.png}}}{#1}%
|
||||
}
|
||||
% Page & text layout
|
||||
\usepackage{geometry}
|
||||
\geometry{%
|
||||
letterpaper,%
|
||||
top=2.5cm,%
|
||||
bottom=2.5cm,%
|
||||
left=2.5cm,%
|
||||
right=2.5cm%
|
||||
}
|
||||
% Allow a bit of overflow to go unnoticed by other means
|
||||
\tolerance=750
|
||||
\hfuzz=15pt
|
||||
\hbadness=750
|
||||
\setlength{\emergencystretch}{15pt}
|
||||
\setlength{\parindent}{0cm}
|
||||
\newcommand{\doxynormalparskip}{\setlength{\parskip}{3ex plus 2ex minus 2ex}}
|
||||
\newcommand{\doxytocparskip}{\setlength{\parskip}{1ex plus 0ex minus 0ex}}
|
||||
\doxynormalparskip
|
||||
% Redefine paragraph/subparagraph environments, using sectsty fonts
|
||||
\makeatletter
|
||||
\renewcommand{\paragraph}{%
|
||||
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
|
||||
\normalfont\normalsize\bfseries\SS@parafont%
|
||||
}%
|
||||
}
|
||||
\renewcommand{\subparagraph}{%
|
||||
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
|
||||
\normalfont\normalsize\bfseries\SS@subparafont%
|
||||
}%
|
||||
}
|
||||
\makeatother
|
||||
\makeatletter
|
||||
\newcommand\hrulefilll{\leavevmode\leaders\hrule\hskip 0pt plus 1filll\kern\z@}
|
||||
\makeatother
|
||||
% Headers & footers
|
||||
\usepackage{fancyhdr}
|
||||
\pagestyle{fancyplain}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\fancypagestyle{fancyplain}{
|
||||
\fancyhf{}
|
||||
\fancyhead[LE, RO]{\bfseries\thepage}
|
||||
\fancyhead[LO]{\bfseries\rightmark}
|
||||
\fancyhead[RE]{\bfseries\leftmark}
|
||||
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
|
||||
}
|
||||
\fancypagestyle{plain}{
|
||||
\fancyhf{}
|
||||
\fancyfoot[LO, RE]{\bfseries\scriptsize Generated by Doxygen }
|
||||
\renewcommand{\headrulewidth}{0pt}
|
||||
}
|
||||
\pagestyle{fancyplain}
|
||||
\renewcommand{\chaptermark}[1]{%
|
||||
\markboth{#1}{}%
|
||||
}
|
||||
\renewcommand{\sectionmark}[1]{%
|
||||
\markright{\thesection\ #1}%
|
||||
}
|
||||
% ToC, LoF, LoT, bibliography, and index
|
||||
% Indices & bibliography
|
||||
\usepackage{natbib}
|
||||
\usepackage[titles]{tocloft}
|
||||
\setcounter{tocdepth}{3}
|
||||
\setcounter{secnumdepth}{5}
|
||||
% creating indexes
|
||||
\makeindex
|
||||
\usepackage{newunicodechar}
|
||||
\newunicodechar{⁻}{${}^{-}$}% Superscript minus
|
||||
\newunicodechar{²}{${}^{2}$}% Superscript two
|
||||
\newunicodechar{³}{${}^{3}$}% Superscript three
|
||||
% Hyperlinks
|
||||
% Hyperlinks (required, but should be loaded last)
|
||||
\ifpdf
|
||||
\usepackage[pdftex,pagebackref=true]{hyperref}
|
||||
\else
|
||||
\ifxetex
|
||||
\usepackage[pagebackref=true]{hyperref}
|
||||
\else
|
||||
\usepackage[ps2pdf,pagebackref=true]{hyperref}
|
||||
\fi
|
||||
\fi
|
||||
\hypersetup{%
|
||||
colorlinks=true,%
|
||||
linkcolor=blue,%
|
||||
citecolor=blue,%
|
||||
unicode,%
|
||||
pdftitle={DBC framework},%
|
||||
pdfsubject={}%
|
||||
}
|
||||
% Custom commands used by the header
|
||||
% Custom commands
|
||||
\newcommand{\clearemptydoublepage}{%
|
||||
\newpage{\pagestyle{empty}\cleardoublepage}%
|
||||
}
|
||||
% caption style definition
|
||||
\usepackage{caption}
|
||||
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
|
||||
% in page table of contents
|
||||
\usepackage{etoc}
|
||||
\etocsettocstyle{\doxytocparskip}{\doxynormalparskip}
|
||||
% prevent numbers overlap the titles in toc
|
||||
\renewcommand{\numberline}[1]{#1~}
|
||||
% End of preamble, now comes the document contents
|
||||
%===== C O N T E N T S =====
|
||||
\begin{document}
|
||||
\raggedbottom
|
||||
% Titlepage & ToC
|
||||
% To avoid duplicate page anchors due to reuse of same numbers for
|
||||
% the index (be it as roman numbers)
|
||||
\hypersetup{pageanchor=false,
|
||||
bookmarksnumbered=true,
|
||||
pdfencoding=unicode
|
||||
}
|
||||
\pagenumbering{alph}
|
||||
\begin{titlepage}
|
||||
\vspace*{7cm}
|
||||
\begin{center}%
|
||||
{\Large DBC framework}\\
|
||||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.9.4}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{roman}
|
||||
\tableofcontents
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
% re-enable anchors again
|
||||
\hypersetup{pageanchor=true}
|
||||
%--- Begin generated contents ---
|
||||
\chapter{DBC Parser and Runtime Decode Module Documentation}
|
||||
\label{md_README}
|
||||
\Hypertarget{md_README}
|
||||
\input{md_README}
|
||||
\chapter{Namespace Index}
|
||||
\input{namespaces}
|
||||
\chapter{Class Index}
|
||||
\input{annotated}
|
||||
\chapter{File Index}
|
||||
\input{files}
|
||||
\chapter{Namespace Documentation}
|
||||
\input{namespaceanonymous__namespace_02dbc__parser_8cpp_03}
|
||||
\chapter{Class Documentation}
|
||||
\input{structDbcDatabase}
|
||||
\input{classDbcDecodeBuilder}
|
||||
\input{classDbcDecoder}
|
||||
\input{classDbcParser}
|
||||
\input{classDbcTreeBuilder}
|
||||
\input{structDecodeDatabase}
|
||||
\input{structDecodedFrameValue}
|
||||
\input{structDecodedSignalValue}
|
||||
\input{structDecodeFrame}
|
||||
\input{structDecodeSignal}
|
||||
\input{structFrameInfo}
|
||||
\input{structFrameKey}
|
||||
\input{structFrameKeyHasher}
|
||||
\input{structRawCanFrame}
|
||||
\input{structSignalInfo}
|
||||
\input{classTreeNode}
|
||||
\chapter{File Documentation}
|
||||
\input{dbc__database_8h}
|
||||
\input{dbc__database_8h_source}
|
||||
\input{dbc__decode__builder_8cpp}
|
||||
\input{dbc__decode__builder_8cpp_source}
|
||||
\input{dbc__decode__builder_8h}
|
||||
\input{dbc__decode__builder_8h_source}
|
||||
\input{dbc__decoder_8cpp}
|
||||
\input{dbc__decoder_8cpp_source}
|
||||
\input{dbc__decoder_8h}
|
||||
\input{dbc__decoder_8h_source}
|
||||
\input{dbc__parser_8cpp}
|
||||
\input{dbc__parser_8cpp_source}
|
||||
\input{dbc__parser_8h}
|
||||
\input{dbc__parser_8h_source}
|
||||
\input{dbc__tree__builder_8cpp}
|
||||
\input{dbc__tree__builder_8cpp_source}
|
||||
\input{dbc__tree__builder_8h}
|
||||
\input{dbc__tree__builder_8h_source}
|
||||
\input{decode__database_8h}
|
||||
\input{decode__database_8h_source}
|
||||
\input{frame__info_8h}
|
||||
\input{frame__info_8h_source}
|
||||
\input{main_8cpp}
|
||||
\input{main_8cpp_source}
|
||||
\input{README_8md}
|
||||
\input{signal__info_8h}
|
||||
\input{signal__info_8h_source}
|
||||
\input{tree__node_8cpp}
|
||||
\input{tree__node_8cpp_source}
|
||||
\input{tree__node_8h}
|
||||
\input{tree__node_8h_source}
|
||||
%--- End generated contents ---
|
||||
% Index
|
||||
\backmatter
|
||||
\newpage
|
||||
\phantomsection
|
||||
\clearemptydoublepage
|
||||
\addcontentsline{toc}{chapter}{\indexname}
|
||||
\printindex
|
||||
% Required for some languages (in combination with latexdocumentpre from the header)
|
||||
\end{document}
|
||||
24
docs/latex/signal__info_8h.tex
Normal file
24
docs/latex/signal__info_8h.tex
Normal file
@@ -0,0 +1,24 @@
|
||||
\hypertarget{signal__info_8h}{}\doxysection{signal\+\_\+info.\+h File Reference}
|
||||
\label{signal__info_8h}\index{signal\_info.h@{signal\_info.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$string$>$}\newline
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include $<$cstdint$>$}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
struct \mbox{\hyperlink{structSignalInfo}{Signal\+Info}}
|
||||
\begin{DoxyCompactList}\small\item\em Describes one signal inside a DBC frame. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
57
docs/latex/signal__info_8h_source.tex
Normal file
57
docs/latex/signal__info_8h_source.tex
Normal file
@@ -0,0 +1,57 @@
|
||||
\hypertarget{signal__info_8h_source}{}\doxysection{signal\+\_\+info.\+h}
|
||||
\mbox{\hyperlink{signal__info_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00002}00002 \textcolor{comment}{ * @file signal\_info.h}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef SIGNAL\_INFO\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00013}00013 \textcolor{preprocessor}{\#define SIGNAL\_INFO\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <string>}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00016}00016 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00017}00017 \textcolor{preprocessor}{\#include <cstdint>}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00018}00018 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00019}00019 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00020}00020 \textcolor{comment}{ * @brief Describes one signal inside a DBC frame.}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00021}00021 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00022}\mbox{\hyperlink{structSignalInfo}{00022}} \textcolor{keyword}{struct }\mbox{\hyperlink{structSignalInfo}{SignalInfo}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00023}\mbox{\hyperlink{structSignalInfo_a379e422a00cad56f896cacf60455b088}{00023}} std::string \mbox{\hyperlink{structSignalInfo_a379e422a00cad56f896cacf60455b088}{name}}; \textcolor{comment}{/**< Signal name. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00024}\mbox{\hyperlink{structSignalInfo_ace290724f9801521609aedaa946d61f1}{00024}} std::uint32\_t \mbox{\hyperlink{structSignalInfo_ace290724f9801521609aedaa946d61f1}{startBit}}; \textcolor{comment}{/**< Start bit in DBC notation. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00025}\mbox{\hyperlink{structSignalInfo_a1008b5201f71848177217bd52fb84baa}{00025}} std::uint32\_t \mbox{\hyperlink{structSignalInfo_a1008b5201f71848177217bd52fb84baa}{length}}; \textcolor{comment}{/**< Signal length in bits. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00026}\mbox{\hyperlink{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}{00026}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}{isLittleEndian}}; \textcolor{comment}{/**< true for Intel, false for Motorola. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00027}\mbox{\hyperlink{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}{00027}} \textcolor{keywordtype}{bool} \mbox{\hyperlink{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}{isSigned}}; \textcolor{comment}{/**< true if signal is signed. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00028}\mbox{\hyperlink{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}{00028}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}{factor}}; \textcolor{comment}{/**< Scaling factor. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00029}\mbox{\hyperlink{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}{00029}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}{offset}}; \textcolor{comment}{/**< Physical offset. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00030}\mbox{\hyperlink{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}{00030}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}{minimum}}; \textcolor{comment}{/**< Minimum physical value. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00031}\mbox{\hyperlink{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}{00031}} \textcolor{keywordtype}{double} \mbox{\hyperlink{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}{maximum}}; \textcolor{comment}{/**< Maximum physical value. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00032}\mbox{\hyperlink{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}{00032}} std::string \mbox{\hyperlink{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}{unit}}; \textcolor{comment}{/**< Physical unit. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00033}\mbox{\hyperlink{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}{00033}} std::vector<std::string> \mbox{\hyperlink{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}{receivers}}; \textcolor{comment}{/**< Signal receivers. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00034}\mbox{\hyperlink{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}{00034}} std::string \mbox{\hyperlink{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}{comment}}; \textcolor{comment}{/**< Optional signal comment. */}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00035}00035 }
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00036}\mbox{\hyperlink{structSignalInfo_aa2d2cd238118015258e271dce92a971e}{00036}} \mbox{\hyperlink{structSignalInfo_aa2d2cd238118015258e271dce92a971e}{SignalInfo}}()}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00037}00037 : \mbox{\hyperlink{structSignalInfo_a379e422a00cad56f896cacf60455b088}{name}}()}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00038}00038 , \mbox{\hyperlink{structSignalInfo_ace290724f9801521609aedaa946d61f1}{startBit}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00039}00039 , \mbox{\hyperlink{structSignalInfo_a1008b5201f71848177217bd52fb84baa}{length}} (0U)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00040}00040 , \mbox{\hyperlink{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}{isLittleEndian}} (true)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00041}00041 , \mbox{\hyperlink{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}{isSigned}} (false)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00042}00042 , \mbox{\hyperlink{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}{factor}} (1.0)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00043}00043 , \mbox{\hyperlink{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}{offset}} (0.0)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00044}00044 , \mbox{\hyperlink{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}{minimum}} (0.0)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00045}00045 , \mbox{\hyperlink{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}{maximum}} (0.0)}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00046}00046 , \mbox{\hyperlink{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}{unit}}()}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00047}00047 , \mbox{\hyperlink{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}{receivers}}()}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00048}00048 , \mbox{\hyperlink{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}{comment}}() \{}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00049}00049 \}}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00050}00050 \};}
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00051}00051 }
|
||||
\DoxyCodeLine{\Hypertarget{signal__info_8h_source_l00052}00052 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* SIGNAL\_INFO\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
45
docs/latex/structDbcDatabase.tex
Normal file
45
docs/latex/structDbcDatabase.tex
Normal file
@@ -0,0 +1,45 @@
|
||||
\hypertarget{structDbcDatabase}{}\doxysection{Dbc\+Database Struct Reference}
|
||||
\label{structDbcDatabase}\index{DbcDatabase@{DbcDatabase}}
|
||||
|
||||
|
||||
Parsed DBC content stored in a simple internal form.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+database.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::vector$<$ \mbox{\hyperlink{structFrameInfo}{Frame\+Info}} $>$ \mbox{\hyperlink{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}{frames}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Parsed DBC content stored in a simple internal form.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__database_8h_source_l00022}{22}} of file \mbox{\hyperlink{dbc__database_8h_source}{dbc\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}\label{structDbcDatabase_a2cade5d0234ee816132127542f8c612b}}
|
||||
\index{DbcDatabase@{DbcDatabase}!frames@{frames}}
|
||||
\index{frames@{frames}!DbcDatabase@{DbcDatabase}}
|
||||
\doxysubsubsection{\texorpdfstring{frames}{frames}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{structFrameInfo}{Frame\+Info}}$>$ Dbc\+Database\+::frames}
|
||||
|
||||
All frames found in the DBC file.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__database_8h_source_l00023}{23}} of file \mbox{\hyperlink{dbc__database_8h_source}{dbc\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__tree__builder_8cpp_source_l00014}{Dbc\+Tree\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00337}{Dbc\+Parser\+::\+Find\+Frame\+By\+Id()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Dbc\+Parser\+::\+Parse\+File()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__database_8h}{dbc\+\_\+database.\+h}}\end{DoxyCompactItemize}
|
||||
61
docs/latex/structDecodeDatabase.tex
Normal file
61
docs/latex/structDecodeDatabase.tex
Normal file
@@ -0,0 +1,61 @@
|
||||
\hypertarget{structDecodeDatabase}{}\doxysection{Decode\+Database Struct Reference}
|
||||
\label{structDecodeDatabase}\index{DecodeDatabase@{DecodeDatabase}}
|
||||
|
||||
|
||||
Runtime decode database with fast lookup by CAN ID.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$decode\+\_\+database.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::vector$<$ \mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}} $>$ \mbox{\hyperlink{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}{frames}}
|
||||
\item
|
||||
std\+::unordered\+\_\+map$<$ \mbox{\hyperlink{structFrameKey}{Frame\+Key}}, std\+::size\+\_\+t, \mbox{\hyperlink{structFrameKeyHasher}{Frame\+Key\+Hasher}} $>$ \mbox{\hyperlink{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}{frame\+Index\+By\+Key}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Runtime decode database with fast lookup by CAN ID.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00132}{132}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}\label{structDecodeDatabase_ae4fd1351008bb0dce337821a849100c5}}
|
||||
\index{DecodeDatabase@{DecodeDatabase}!frameIndexByKey@{frameIndexByKey}}
|
||||
\index{frameIndexByKey@{frameIndexByKey}!DecodeDatabase@{DecodeDatabase}}
|
||||
\doxysubsubsection{\texorpdfstring{frameIndexByKey}{frameIndexByKey}}
|
||||
{\footnotesize\ttfamily std\+::unordered\+\_\+map$<$\mbox{\hyperlink{structFrameKey}{Frame\+Key}}, std\+::size\+\_\+t, \mbox{\hyperlink{structFrameKeyHasher}{Frame\+Key\+Hasher}}$>$ Decode\+Database\+::frame\+Index\+By\+Key}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00134}{134}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00014}{Dbc\+Decoder\+::\+Find\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}\label{structDecodeDatabase_a2bd4ddfc2602c1de4e12a373bfc93072}}
|
||||
\index{DecodeDatabase@{DecodeDatabase}!frames@{frames}}
|
||||
\index{frames@{frames}!DecodeDatabase@{DecodeDatabase}}
|
||||
\doxysubsubsection{\texorpdfstring{frames}{frames}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}}$>$ Decode\+Database\+::frames}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00133}{133}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00014}{Dbc\+Decoder\+::\+Find\+Frame()}}, and \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{decode__database_8h}{decode\+\_\+database.\+h}}\end{DoxyCompactItemize}
|
||||
191
docs/latex/structDecodeFrame.tex
Normal file
191
docs/latex/structDecodeFrame.tex
Normal file
@@ -0,0 +1,191 @@
|
||||
\hypertarget{structDecodeFrame}{}\doxysection{Decode\+Frame Struct Reference}
|
||||
\label{structDecodeFrame}\index{DecodeFrame@{DecodeFrame}}
|
||||
|
||||
|
||||
Runtime-\/ready frame definition.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$decode\+\_\+database.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structDecodeFrame_ae6ae88ee29bcaff936e7c7b2380f96b4}{Decode\+Frame}} ()
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}{name}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}{can\+Id}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}{is\+Extended}}
|
||||
\item
|
||||
std\+::uint8\+\_\+t \mbox{\hyperlink{structDecodeFrame_a51111ac13988be372d5673d12cf3e060}{dlc}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structDecodeFrame_a1d3c54055c0cbceb73adf551f7067f23}{pgn}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structDecodeFrame_a2551102670c4a540fced4c71da0b369d}{has\+Pgn}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structDecodeFrame_ad78241dc40c793aabb8495b6989b81a9}{transmitter}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structDecodeFrame_a25819ef907a32391af5c9f7cae9cdb22}{comment}}
|
||||
\item
|
||||
std\+::vector$<$ \mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}} $>$ \mbox{\hyperlink{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}{signals}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Runtime-\/ready frame definition.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00072}{72}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structDecodeFrame_ae6ae88ee29bcaff936e7c7b2380f96b4}\label{structDecodeFrame_ae6ae88ee29bcaff936e7c7b2380f96b4}}
|
||||
\index{DecodeFrame@{DecodeFrame}!DecodeFrame@{DecodeFrame}}
|
||||
\index{DecodeFrame@{DecodeFrame}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{DecodeFrame()}{DecodeFrame()}}
|
||||
{\footnotesize\ttfamily Decode\+Frame\+::\+Decode\+Frame (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00083}{83}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}\label{structDecodeFrame_a52e10215388db7df8b541b9d9909edcf}}
|
||||
\index{DecodeFrame@{DecodeFrame}!canId@{canId}}
|
||||
\index{canId@{canId}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{canId}{canId}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Decode\+Frame\+::can\+Id}
|
||||
|
||||
Normalized CAN ID.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00074}{74}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_a25819ef907a32391af5c9f7cae9cdb22}\label{structDecodeFrame_a25819ef907a32391af5c9f7cae9cdb22}}
|
||||
\index{DecodeFrame@{DecodeFrame}!comment@{comment}}
|
||||
\index{comment@{comment}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{comment}{comment}}
|
||||
{\footnotesize\ttfamily std\+::string Decode\+Frame\+::comment}
|
||||
|
||||
Frame comment.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00080}{80}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_a51111ac13988be372d5673d12cf3e060}\label{structDecodeFrame_a51111ac13988be372d5673d12cf3e060}}
|
||||
\index{DecodeFrame@{DecodeFrame}!dlc@{dlc}}
|
||||
\index{dlc@{dlc}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{dlc}{dlc}}
|
||||
{\footnotesize\ttfamily std\+::uint8\+\_\+t Decode\+Frame\+::dlc}
|
||||
|
||||
Payload length.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00076}{76}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_a2551102670c4a540fced4c71da0b369d}\label{structDecodeFrame_a2551102670c4a540fced4c71da0b369d}}
|
||||
\index{DecodeFrame@{DecodeFrame}!hasPgn@{hasPgn}}
|
||||
\index{hasPgn@{hasPgn}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{hasPgn}{hasPgn}}
|
||||
{\footnotesize\ttfamily bool Decode\+Frame\+::has\+Pgn}
|
||||
|
||||
true if PGN is valid.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00078}{78}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}\label{structDecodeFrame_a3ee2348d781f8f15aaf87e8dcf57ec41}}
|
||||
\index{DecodeFrame@{DecodeFrame}!isExtended@{isExtended}}
|
||||
\index{isExtended@{isExtended}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{isExtended}{isExtended}}
|
||||
{\footnotesize\ttfamily bool Decode\+Frame\+::is\+Extended}
|
||||
|
||||
true for extended frame.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00075}{75}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}\label{structDecodeFrame_aa0a7f8fd5bfde2148dfd0d838328f579}}
|
||||
\index{DecodeFrame@{DecodeFrame}!name@{name}}
|
||||
\index{name@{name}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{name}{name}}
|
||||
{\footnotesize\ttfamily std\+::string Decode\+Frame\+::name}
|
||||
|
||||
Frame name.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00073}{73}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_a1d3c54055c0cbceb73adf551f7067f23}\label{structDecodeFrame_a1d3c54055c0cbceb73adf551f7067f23}}
|
||||
\index{DecodeFrame@{DecodeFrame}!pgn@{pgn}}
|
||||
\index{pgn@{pgn}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{pgn}{pgn}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Decode\+Frame\+::pgn}
|
||||
|
||||
PGN if available.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00077}{77}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}\label{structDecodeFrame_a372afd9e74f1ae33f85cb4acfd3e2036}}
|
||||
\index{DecodeFrame@{DecodeFrame}!signals@{signals}}
|
||||
\index{signals@{signals}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{signals}{signals}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}}$>$ Decode\+Frame\+::signals}
|
||||
|
||||
Signal definitions.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00081}{81}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeFrame_ad78241dc40c793aabb8495b6989b81a9}\label{structDecodeFrame_ad78241dc40c793aabb8495b6989b81a9}}
|
||||
\index{DecodeFrame@{DecodeFrame}!transmitter@{transmitter}}
|
||||
\index{transmitter@{transmitter}!DecodeFrame@{DecodeFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{transmitter}{transmitter}}
|
||||
{\footnotesize\ttfamily std\+::string Decode\+Frame\+::transmitter}
|
||||
|
||||
Transmitter ECU.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00079}{79}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{decode__database_8h}{decode\+\_\+database.\+h}}\end{DoxyCompactItemize}
|
||||
239
docs/latex/structDecodeSignal.tex
Normal file
239
docs/latex/structDecodeSignal.tex
Normal file
@@ -0,0 +1,239 @@
|
||||
\hypertarget{structDecodeSignal}{}\doxysection{Decode\+Signal Struct Reference}
|
||||
\label{structDecodeSignal}\index{DecodeSignal@{DecodeSignal}}
|
||||
|
||||
|
||||
Runtime-\/ready signal definition.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$decode\+\_\+database.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structDecodeSignal_a93fd97267e2614979440261628e493f5}{Decode\+Signal}} ()
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}{name}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}{start\+Bit}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}{length}}
|
||||
\item
|
||||
\mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{Byte\+Order}} \mbox{\hyperlink{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}{byte\+Order}}
|
||||
\item
|
||||
\mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{Value\+Type}} \mbox{\hyperlink{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}{value\+Type}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structDecodeSignal_a428c39913a366a8476dd291061354391}{factor}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}{offset}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structDecodeSignal_a0fb84e19a0ab3bd50b6f65c1075ebc25}{minimum}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structDecodeSignal_a4a6ba87142a9badbf0ca830e9e709cb7}{maximum}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}{unit}}
|
||||
\item
|
||||
std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{structDecodeSignal_abdbae62a64d2df716bf60c6b67b30eaa}{receivers}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structDecodeSignal_ae28c905d4a2bc86419c2a8361bfea473}{comment}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Runtime-\/ready signal definition.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00039}{39}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structDecodeSignal_a93fd97267e2614979440261628e493f5}\label{structDecodeSignal_a93fd97267e2614979440261628e493f5}}
|
||||
\index{DecodeSignal@{DecodeSignal}!DecodeSignal@{DecodeSignal}}
|
||||
\index{DecodeSignal@{DecodeSignal}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{DecodeSignal()}{DecodeSignal()}}
|
||||
{\footnotesize\ttfamily Decode\+Signal\+::\+Decode\+Signal (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00053}{53}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}\label{structDecodeSignal_abdc4c4bb4a67a6d61d6ca81e8a52833d}}
|
||||
\index{DecodeSignal@{DecodeSignal}!byteOrder@{byteOrder}}
|
||||
\index{byteOrder@{byteOrder}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{byteOrder}{byteOrder}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{decode__database_8h_aaeb92d42f5a6e27b8ba19f18d69d142b}{Byte\+Order}} Decode\+Signal\+::byte\+Order}
|
||||
|
||||
Intel or Motorola.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00043}{43}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00070}{Dbc\+Decoder\+::\+Extract\+Unsigned()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_ae28c905d4a2bc86419c2a8361bfea473}\label{structDecodeSignal_ae28c905d4a2bc86419c2a8361bfea473}}
|
||||
\index{DecodeSignal@{DecodeSignal}!comment@{comment}}
|
||||
\index{comment@{comment}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{comment}{comment}}
|
||||
{\footnotesize\ttfamily std\+::string Decode\+Signal\+::comment}
|
||||
|
||||
Comment.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00051}{51}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_a428c39913a366a8476dd291061354391}\label{structDecodeSignal_a428c39913a366a8476dd291061354391}}
|
||||
\index{DecodeSignal@{DecodeSignal}!factor@{factor}}
|
||||
\index{factor@{factor}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{factor}{factor}}
|
||||
{\footnotesize\ttfamily double Decode\+Signal\+::factor}
|
||||
|
||||
Scaling factor.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00045}{45}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}\label{structDecodeSignal_acd4ef5ee30421d117b5756854302debb}}
|
||||
\index{DecodeSignal@{DecodeSignal}!length@{length}}
|
||||
\index{length@{length}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{length}{length}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Decode\+Signal\+::length}
|
||||
|
||||
Signal length in bits.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00042}{42}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00070}{Dbc\+Decoder\+::\+Extract\+Unsigned()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_a4a6ba87142a9badbf0ca830e9e709cb7}\label{structDecodeSignal_a4a6ba87142a9badbf0ca830e9e709cb7}}
|
||||
\index{DecodeSignal@{DecodeSignal}!maximum@{maximum}}
|
||||
\index{maximum@{maximum}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{maximum}{maximum}}
|
||||
{\footnotesize\ttfamily double Decode\+Signal\+::maximum}
|
||||
|
||||
Maximum physical value.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00048}{48}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_a0fb84e19a0ab3bd50b6f65c1075ebc25}\label{structDecodeSignal_a0fb84e19a0ab3bd50b6f65c1075ebc25}}
|
||||
\index{DecodeSignal@{DecodeSignal}!minimum@{minimum}}
|
||||
\index{minimum@{minimum}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{minimum}{minimum}}
|
||||
{\footnotesize\ttfamily double Decode\+Signal\+::minimum}
|
||||
|
||||
Minimum physical value.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00047}{47}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}\label{structDecodeSignal_a58cf5844f2272a23dcb9687d912e4780}}
|
||||
\index{DecodeSignal@{DecodeSignal}!name@{name}}
|
||||
\index{name@{name}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{name}{name}}
|
||||
{\footnotesize\ttfamily std\+::string Decode\+Signal\+::name}
|
||||
|
||||
Signal name.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00040}{40}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}\label{structDecodeSignal_a92db637af4e224a0ae70173050dc3f74}}
|
||||
\index{DecodeSignal@{DecodeSignal}!offset@{offset}}
|
||||
\index{offset@{offset}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{offset}{offset}}
|
||||
{\footnotesize\ttfamily double Decode\+Signal\+::offset}
|
||||
|
||||
Physical offset.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00046}{46}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_abdbae62a64d2df716bf60c6b67b30eaa}\label{structDecodeSignal_abdbae62a64d2df716bf60c6b67b30eaa}}
|
||||
\index{DecodeSignal@{DecodeSignal}!receivers@{receivers}}
|
||||
\index{receivers@{receivers}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{receivers}{receivers}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$std\+::string$>$ Decode\+Signal\+::receivers}
|
||||
|
||||
Receivers.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00050}{50}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}\label{structDecodeSignal_aaf5d7527ddf65b6355c2b4f3626df22d}}
|
||||
\index{DecodeSignal@{DecodeSignal}!startBit@{startBit}}
|
||||
\index{startBit@{startBit}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{startBit}{startBit}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Decode\+Signal\+::start\+Bit}
|
||||
|
||||
DBC start bit.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00041}{41}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00070}{Dbc\+Decoder\+::\+Extract\+Unsigned()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}\label{structDecodeSignal_a38eed9ca7581423fd8bfbedcffc12092}}
|
||||
\index{DecodeSignal@{DecodeSignal}!unit@{unit}}
|
||||
\index{unit@{unit}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{unit}{unit}}
|
||||
{\footnotesize\ttfamily std\+::string Decode\+Signal\+::unit}
|
||||
|
||||
Physical unit.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00049}{49}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}\label{structDecodeSignal_a9d37638129263b8902ba5be59baf39a8}}
|
||||
\index{DecodeSignal@{DecodeSignal}!valueType@{valueType}}
|
||||
\index{valueType@{valueType}!DecodeSignal@{DecodeSignal}}
|
||||
\doxysubsubsection{\texorpdfstring{valueType}{valueType}}
|
||||
{\footnotesize\ttfamily \mbox{\hyperlink{decode__database_8h_ad9971b6ef33e02ba2c75d19c1d2518a1}{Value\+Type}} Decode\+Signal\+::value\+Type}
|
||||
|
||||
Signed or unsigned.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00044}{44}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{decode__database_8h}{decode\+\_\+database.\+h}}\end{DoxyCompactItemize}
|
||||
95
docs/latex/structDecodedFrameValue.tex
Normal file
95
docs/latex/structDecodedFrameValue.tex
Normal file
@@ -0,0 +1,95 @@
|
||||
\hypertarget{structDecodedFrameValue}{}\doxysection{Decoded\+Frame\+Value Struct Reference}
|
||||
\label{structDecodedFrameValue}\index{DecodedFrameValue@{DecodedFrameValue}}
|
||||
|
||||
|
||||
Fully decoded frame.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+decoder.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structDecodedFrameValue_a19f754bb84e67e6ae71ea93b9ae6382b}{Decoded\+Frame\+Value}} ()
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
const \mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}} $\ast$ \mbox{\hyperlink{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}{definition}}
|
||||
\item
|
||||
std\+::vector$<$ \mbox{\hyperlink{structDecodedSignalValue}{Decoded\+Signal\+Value}} $>$ \mbox{\hyperlink{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}{signals}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}{valid}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Fully decoded frame.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00055}{55}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structDecodedFrameValue_a19f754bb84e67e6ae71ea93b9ae6382b}\label{structDecodedFrameValue_a19f754bb84e67e6ae71ea93b9ae6382b}}
|
||||
\index{DecodedFrameValue@{DecodedFrameValue}!DecodedFrameValue@{DecodedFrameValue}}
|
||||
\index{DecodedFrameValue@{DecodedFrameValue}!DecodedFrameValue@{DecodedFrameValue}}
|
||||
\doxysubsubsection{\texorpdfstring{DecodedFrameValue()}{DecodedFrameValue()}}
|
||||
{\footnotesize\ttfamily Decoded\+Frame\+Value\+::\+Decoded\+Frame\+Value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00060}{60}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}\label{structDecodedFrameValue_a60dda1cc352d2c8087f0bdbc81dd266c}}
|
||||
\index{DecodedFrameValue@{DecodedFrameValue}!definition@{definition}}
|
||||
\index{definition@{definition}!DecodedFrameValue@{DecodedFrameValue}}
|
||||
\doxysubsubsection{\texorpdfstring{definition}{definition}}
|
||||
{\footnotesize\ttfamily const \mbox{\hyperlink{structDecodeFrame}{Decode\+Frame}}$\ast$ Decoded\+Frame\+Value\+::definition}
|
||||
|
||||
Frame definition.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00056}{56}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}\label{structDecodedFrameValue_a8440e0e5d7953102095b029f522022d3}}
|
||||
\index{DecodedFrameValue@{DecodedFrameValue}!signals@{signals}}
|
||||
\index{signals@{signals}!DecodedFrameValue@{DecodedFrameValue}}
|
||||
\doxysubsubsection{\texorpdfstring{signals}{signals}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{structDecodedSignalValue}{Decoded\+Signal\+Value}}$>$ Decoded\+Frame\+Value\+::signals}
|
||||
|
||||
Decoded signal values.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00057}{57}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}\label{structDecodedFrameValue_a4f51c31110dba1f73a763c596372beb0}}
|
||||
\index{DecodedFrameValue@{DecodedFrameValue}!valid@{valid}}
|
||||
\index{valid@{valid}!DecodedFrameValue@{DecodedFrameValue}}
|
||||
\doxysubsubsection{\texorpdfstring{valid}{valid}}
|
||||
{\footnotesize\ttfamily bool Decoded\+Frame\+Value\+::valid}
|
||||
|
||||
true if frame was matched.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00058}{58}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__decoder_8h}{dbc\+\_\+decoder.\+h}}\end{DoxyCompactItemize}
|
||||
111
docs/latex/structDecodedSignalValue.tex
Normal file
111
docs/latex/structDecodedSignalValue.tex
Normal file
@@ -0,0 +1,111 @@
|
||||
\hypertarget{structDecodedSignalValue}{}\doxysection{Decoded\+Signal\+Value Struct Reference}
|
||||
\label{structDecodedSignalValue}\index{DecodedSignalValue@{DecodedSignalValue}}
|
||||
|
||||
|
||||
One decoded signal value.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+decoder.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structDecodedSignalValue_a1481b122a7ce5a618012b1133c6adedf}{Decoded\+Signal\+Value}} ()
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
const \mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}} $\ast$ \mbox{\hyperlink{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}{definition}}
|
||||
\item
|
||||
std\+::int64\+\_\+t \mbox{\hyperlink{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}{raw\+Value}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}{physical\+Value}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}{valid}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
One decoded signal value.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00038}{38}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structDecodedSignalValue_a1481b122a7ce5a618012b1133c6adedf}\label{structDecodedSignalValue_a1481b122a7ce5a618012b1133c6adedf}}
|
||||
\index{DecodedSignalValue@{DecodedSignalValue}!DecodedSignalValue@{DecodedSignalValue}}
|
||||
\index{DecodedSignalValue@{DecodedSignalValue}!DecodedSignalValue@{DecodedSignalValue}}
|
||||
\doxysubsubsection{\texorpdfstring{DecodedSignalValue()}{DecodedSignalValue()}}
|
||||
{\footnotesize\ttfamily Decoded\+Signal\+Value\+::\+Decoded\+Signal\+Value (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00044}{44}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}\label{structDecodedSignalValue_acadc3b3bb21dd6b0412d342c7e6b20d7}}
|
||||
\index{DecodedSignalValue@{DecodedSignalValue}!definition@{definition}}
|
||||
\index{definition@{definition}!DecodedSignalValue@{DecodedSignalValue}}
|
||||
\doxysubsubsection{\texorpdfstring{definition}{definition}}
|
||||
{\footnotesize\ttfamily const \mbox{\hyperlink{structDecodeSignal}{Decode\+Signal}}$\ast$ Decoded\+Signal\+Value\+::definition}
|
||||
|
||||
Signal definition.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00039}{39}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}\label{structDecodedSignalValue_a6847d05b3cb00d5e0f6c611968f57978}}
|
||||
\index{DecodedSignalValue@{DecodedSignalValue}!physicalValue@{physicalValue}}
|
||||
\index{physicalValue@{physicalValue}!DecodedSignalValue@{DecodedSignalValue}}
|
||||
\doxysubsubsection{\texorpdfstring{physicalValue}{physicalValue}}
|
||||
{\footnotesize\ttfamily double Decoded\+Signal\+Value\+::physical\+Value}
|
||||
|
||||
Converted physical value.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00041}{41}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}\label{structDecodedSignalValue_a5138b825940e34689f7b3891627ee9ec}}
|
||||
\index{DecodedSignalValue@{DecodedSignalValue}!rawValue@{rawValue}}
|
||||
\index{rawValue@{rawValue}!DecodedSignalValue@{DecodedSignalValue}}
|
||||
\doxysubsubsection{\texorpdfstring{rawValue}{rawValue}}
|
||||
{\footnotesize\ttfamily std\+::int64\+\_\+t Decoded\+Signal\+Value\+::raw\+Value}
|
||||
|
||||
Extracted raw integer value.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00040}{40}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
\mbox{\Hypertarget{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}\label{structDecodedSignalValue_aac0ed361af545cde48d0e6f41a859686}}
|
||||
\index{DecodedSignalValue@{DecodedSignalValue}!valid@{valid}}
|
||||
\index{valid@{valid}!DecodedSignalValue@{DecodedSignalValue}}
|
||||
\doxysubsubsection{\texorpdfstring{valid}{valid}}
|
||||
{\footnotesize\ttfamily bool Decoded\+Signal\+Value\+::valid}
|
||||
|
||||
true if decoding succeeded.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00042}{42}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00075}{Print\+Decoded\+Frame()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__decoder_8h}{dbc\+\_\+decoder.\+h}}\end{DoxyCompactItemize}
|
||||
191
docs/latex/structFrameInfo.tex
Normal file
191
docs/latex/structFrameInfo.tex
Normal file
@@ -0,0 +1,191 @@
|
||||
\hypertarget{structFrameInfo}{}\doxysection{Frame\+Info Struct Reference}
|
||||
\label{structFrameInfo}\index{FrameInfo@{FrameInfo}}
|
||||
|
||||
|
||||
Describes one CAN frame from a DBC file.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$frame\+\_\+info.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structFrameInfo_a7f2d192b7969f7b60479a48e1f7eba61}{Frame\+Info}} ()
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}{name}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}{can\+Id}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}{is\+Extended}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}{pgn}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}{has\+Pgn}}
|
||||
\item
|
||||
std\+::uint8\+\_\+t \mbox{\hyperlink{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}{dlc}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}{transmitter}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structFrameInfo_ace75121294f9d89b762080ab5643293c}{comment}}
|
||||
\item
|
||||
std\+::vector$<$ \mbox{\hyperlink{structSignalInfo}{Signal\+Info}} $>$ \mbox{\hyperlink{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}{signals}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Describes one CAN frame from a DBC file.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00024}{24}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structFrameInfo_a7f2d192b7969f7b60479a48e1f7eba61}\label{structFrameInfo_a7f2d192b7969f7b60479a48e1f7eba61}}
|
||||
\index{FrameInfo@{FrameInfo}!FrameInfo@{FrameInfo}}
|
||||
\index{FrameInfo@{FrameInfo}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{FrameInfo()}{FrameInfo()}}
|
||||
{\footnotesize\ttfamily Frame\+Info\+::\+Frame\+Info (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00035}{35}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}\label{structFrameInfo_af470b0742c05bfbffc31c51a68f5c05e}}
|
||||
\index{FrameInfo@{FrameInfo}!canId@{canId}}
|
||||
\index{canId@{canId}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{canId}{canId}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Frame\+Info\+::can\+Id}
|
||||
|
||||
Normalized CAN identifier.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00026}{26}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Dbc\+Parser\+::\+Parse\+Frame\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_ace75121294f9d89b762080ab5643293c}\label{structFrameInfo_ace75121294f9d89b762080ab5643293c}}
|
||||
\index{FrameInfo@{FrameInfo}!comment@{comment}}
|
||||
\index{comment@{comment}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{comment}{comment}}
|
||||
{\footnotesize\ttfamily std\+::string Frame\+Info\+::comment}
|
||||
|
||||
Optional frame comment.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00032}{32}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00274}{Dbc\+Parser\+::\+Parse\+Comment\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}\label{structFrameInfo_aa2b198ea0f55e560c123d35e7b3ecab9}}
|
||||
\index{FrameInfo@{FrameInfo}!dlc@{dlc}}
|
||||
\index{dlc@{dlc}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{dlc}{dlc}}
|
||||
{\footnotesize\ttfamily std\+::uint8\+\_\+t Frame\+Info\+::dlc}
|
||||
|
||||
Frame payload length.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00030}{30}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Dbc\+Parser\+::\+Parse\+Frame\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}\label{structFrameInfo_a4737a5420213ad4304724e39f3a4e55d}}
|
||||
\index{FrameInfo@{FrameInfo}!hasPgn@{hasPgn}}
|
||||
\index{hasPgn@{hasPgn}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{hasPgn}{hasPgn}}
|
||||
{\footnotesize\ttfamily bool Frame\+Info\+::has\+Pgn}
|
||||
|
||||
true if PGN was derived.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00029}{29}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Dbc\+Parser\+::\+Parse\+Frame\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}\label{structFrameInfo_a34b726afaad2ac5c697fdb2ac070cdaf}}
|
||||
\index{FrameInfo@{FrameInfo}!isExtended@{isExtended}}
|
||||
\index{isExtended@{isExtended}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{isExtended}{isExtended}}
|
||||
{\footnotesize\ttfamily bool Frame\+Info\+::is\+Extended}
|
||||
|
||||
true for extended frame.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00027}{27}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Dbc\+Parser\+::\+Parse\+Frame\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}\label{structFrameInfo_abb53a7f93ed7abc0ea1ae4a8ccafcdcb}}
|
||||
\index{FrameInfo@{FrameInfo}!name@{name}}
|
||||
\index{name@{name}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{name}{name}}
|
||||
{\footnotesize\ttfamily std\+::string Frame\+Info\+::name}
|
||||
|
||||
Frame name.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00025}{25}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Dbc\+Parser\+::\+Parse\+Frame\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}\label{structFrameInfo_aee518b33f1000bf0b7f6e4a87474c943}}
|
||||
\index{FrameInfo@{FrameInfo}!pgn@{pgn}}
|
||||
\index{pgn@{pgn}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{pgn}{pgn}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Frame\+Info\+::pgn}
|
||||
|
||||
J1939 PGN if applicable.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00028}{28}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Dbc\+Parser\+::\+Parse\+Frame\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}\label{structFrameInfo_a942937027f1af06536f98cc23b2bf6ce}}
|
||||
\index{FrameInfo@{FrameInfo}!signals@{signals}}
|
||||
\index{signals@{signals}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{signals}{signals}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$\mbox{\hyperlink{structSignalInfo}{Signal\+Info}}$>$ Frame\+Info\+::signals}
|
||||
|
||||
Signals contained in the frame.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00033}{33}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__tree__builder_8cpp_source_l00014}{Dbc\+Tree\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00349}{Dbc\+Parser\+::\+Find\+Signal\+By\+Name()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00040}{Dbc\+Parser\+::\+Parse\+File()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}\label{structFrameInfo_a92749ec3798d4211a505860fb389a9e8}}
|
||||
\index{FrameInfo@{FrameInfo}!transmitter@{transmitter}}
|
||||
\index{transmitter@{transmitter}!FrameInfo@{FrameInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{transmitter}{transmitter}}
|
||||
{\footnotesize\ttfamily std\+::string Frame\+Info\+::transmitter}
|
||||
|
||||
Transmitter ECU name.
|
||||
|
||||
Definition at line \mbox{\hyperlink{frame__info_8h_source_l00031}{31}} of file \mbox{\hyperlink{frame__info_8h_source}{frame\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00142}{Dbc\+Parser\+::\+Parse\+Frame\+Line()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{frame__info_8h}{frame\+\_\+info.\+h}}\end{DoxyCompactItemize}
|
||||
110
docs/latex/structFrameKey.tex
Normal file
110
docs/latex/structFrameKey.tex
Normal file
@@ -0,0 +1,110 @@
|
||||
\hypertarget{structFrameKey}{}\doxysection{Frame\+Key Struct Reference}
|
||||
\label{structFrameKey}\index{FrameKey@{FrameKey}}
|
||||
|
||||
|
||||
Key for fast frame lookup.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$decode\+\_\+database.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structFrameKey_a0e9aad56b251cdf802d45a9c19050b14}{Frame\+Key}} ()
|
||||
\item
|
||||
\mbox{\hyperlink{structFrameKey_a33bde405c7ea53000d54b3dd6e058670}{Frame\+Key}} (std\+::uint32\+\_\+t id, bool extended)
|
||||
\item
|
||||
bool \mbox{\hyperlink{structFrameKey_aaaec9f914e127787247fcda5e183b01f}{operator==}} (const \mbox{\hyperlink{structFrameKey}{Frame\+Key}} \&other) const
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}{can\+Id}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}{is\+Extended}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Key for fast frame lookup.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00099}{99}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structFrameKey_a0e9aad56b251cdf802d45a9c19050b14}\label{structFrameKey_a0e9aad56b251cdf802d45a9c19050b14}}
|
||||
\index{FrameKey@{FrameKey}!FrameKey@{FrameKey}}
|
||||
\index{FrameKey@{FrameKey}!FrameKey@{FrameKey}}
|
||||
\doxysubsubsection{\texorpdfstring{FrameKey()}{FrameKey()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
|
||||
{\footnotesize\ttfamily Frame\+Key\+::\+Frame\+Key (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00103}{103}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameKey_a33bde405c7ea53000d54b3dd6e058670}\label{structFrameKey_a33bde405c7ea53000d54b3dd6e058670}}
|
||||
\index{FrameKey@{FrameKey}!FrameKey@{FrameKey}}
|
||||
\index{FrameKey@{FrameKey}!FrameKey@{FrameKey}}
|
||||
\doxysubsubsection{\texorpdfstring{FrameKey()}{FrameKey()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
|
||||
{\footnotesize\ttfamily Frame\+Key\+::\+Frame\+Key (\begin{DoxyParamCaption}\item[{std\+::uint32\+\_\+t}]{id, }\item[{bool}]{extended }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00108}{108}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{structFrameKey_aaaec9f914e127787247fcda5e183b01f}\label{structFrameKey_aaaec9f914e127787247fcda5e183b01f}}
|
||||
\index{FrameKey@{FrameKey}!operator==@{operator==}}
|
||||
\index{operator==@{operator==}!FrameKey@{FrameKey}}
|
||||
\doxysubsubsection{\texorpdfstring{operator==()}{operator==()}}
|
||||
{\footnotesize\ttfamily bool Frame\+Key\+::operator== (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structFrameKey}{Frame\+Key}} \&}]{other }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00113}{113}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{decode__database_8h_source_l00100}{can\+Id}}, and \mbox{\hyperlink{decode__database_8h_source_l00101}{is\+Extended}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}\label{structFrameKey_a022917652b4d3c2f2dfcc5a13ab7caa4}}
|
||||
\index{FrameKey@{FrameKey}!canId@{canId}}
|
||||
\index{canId@{canId}!FrameKey@{FrameKey}}
|
||||
\doxysubsubsection{\texorpdfstring{canId}{canId}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Frame\+Key\+::can\+Id}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00100}{100}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{decode__database_8h_source_l00122}{Frame\+Key\+Hasher\+::operator()()}}, and \mbox{\hyperlink{decode__database_8h_source_l00113}{operator==()}}.
|
||||
|
||||
\mbox{\Hypertarget{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}\label{structFrameKey_aa3179b709d02ef70cf0e736f040a2145}}
|
||||
\index{FrameKey@{FrameKey}!isExtended@{isExtended}}
|
||||
\index{isExtended@{isExtended}!FrameKey@{FrameKey}}
|
||||
\doxysubsubsection{\texorpdfstring{isExtended}{isExtended}}
|
||||
{\footnotesize\ttfamily bool Frame\+Key\+::is\+Extended}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00101}{101}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{decode__database_8h_source_l00122}{Frame\+Key\+Hasher\+::operator()()}}, and \mbox{\hyperlink{decode__database_8h_source_l00113}{operator==()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{decode__database_8h}{decode\+\_\+database.\+h}}\end{DoxyCompactItemize}
|
||||
45
docs/latex/structFrameKeyHasher.tex
Normal file
45
docs/latex/structFrameKeyHasher.tex
Normal file
@@ -0,0 +1,45 @@
|
||||
\hypertarget{structFrameKeyHasher}{}\doxysection{Frame\+Key\+Hasher Struct Reference}
|
||||
\label{structFrameKeyHasher}\index{FrameKeyHasher@{FrameKeyHasher}}
|
||||
|
||||
|
||||
Hasher for frame key.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$decode\+\_\+database.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::size\+\_\+t \mbox{\hyperlink{structFrameKeyHasher_a1612ce56b513790e3ed4c06ec7d28b9f}{operator()}} (const \mbox{\hyperlink{structFrameKey}{Frame\+Key}} \&key) const
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Hasher for frame key.
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00121}{121}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Function Documentation}
|
||||
\mbox{\Hypertarget{structFrameKeyHasher_a1612ce56b513790e3ed4c06ec7d28b9f}\label{structFrameKeyHasher_a1612ce56b513790e3ed4c06ec7d28b9f}}
|
||||
\index{FrameKeyHasher@{FrameKeyHasher}!operator()@{operator()}}
|
||||
\index{operator()@{operator()}!FrameKeyHasher@{FrameKeyHasher}}
|
||||
\doxysubsubsection{\texorpdfstring{operator()()}{operator()()}}
|
||||
{\footnotesize\ttfamily std\+::size\+\_\+t Frame\+Key\+Hasher\+::operator() (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{structFrameKey}{Frame\+Key}} \&}]{key }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{decode__database_8h_source_l00122}{122}} of file \mbox{\hyperlink{decode__database_8h_source}{decode\+\_\+database.\+h}}.
|
||||
|
||||
|
||||
|
||||
References \mbox{\hyperlink{decode__database_8h_source_l00100}{Frame\+Key\+::can\+Id}}, and \mbox{\hyperlink{decode__database_8h_source_l00101}{Frame\+Key\+::is\+Extended}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{decode__database_8h}{decode\+\_\+database.\+h}}\end{DoxyCompactItemize}
|
||||
95
docs/latex/structRawCanFrame.tex
Normal file
95
docs/latex/structRawCanFrame.tex
Normal file
@@ -0,0 +1,95 @@
|
||||
\hypertarget{structRawCanFrame}{}\doxysection{Raw\+Can\+Frame Struct Reference}
|
||||
\label{structRawCanFrame}\index{RawCanFrame@{RawCanFrame}}
|
||||
|
||||
|
||||
Raw CAN frame used for runtime or trace decoding.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$dbc\+\_\+decoder.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structRawCanFrame_a17d18b39bed45e69f4e17ae2838f07f7}{Raw\+Can\+Frame}} ()
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}{can\+Id}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}{is\+Extended}}
|
||||
\item
|
||||
std\+::vector$<$ std\+::uint8\+\_\+t $>$ \mbox{\hyperlink{structRawCanFrame_a0acb487612104c99c9907344c035df83}{data}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Raw CAN frame used for runtime or trace decoding.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00023}{23}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structRawCanFrame_a17d18b39bed45e69f4e17ae2838f07f7}\label{structRawCanFrame_a17d18b39bed45e69f4e17ae2838f07f7}}
|
||||
\index{RawCanFrame@{RawCanFrame}!RawCanFrame@{RawCanFrame}}
|
||||
\index{RawCanFrame@{RawCanFrame}!RawCanFrame@{RawCanFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{RawCanFrame()}{RawCanFrame()}}
|
||||
{\footnotesize\ttfamily Raw\+Can\+Frame\+::\+Raw\+Can\+Frame (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00028}{28}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}\label{structRawCanFrame_a2d0e7fa0e3d5c20bbed55ed8f7888ff4}}
|
||||
\index{RawCanFrame@{RawCanFrame}!canId@{canId}}
|
||||
\index{canId@{canId}!RawCanFrame@{RawCanFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{canId}{canId}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Raw\+Can\+Frame\+::can\+Id}
|
||||
|
||||
Normalized CAN ID.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00024}{24}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
\mbox{\Hypertarget{structRawCanFrame_a0acb487612104c99c9907344c035df83}\label{structRawCanFrame_a0acb487612104c99c9907344c035df83}}
|
||||
\index{RawCanFrame@{RawCanFrame}!data@{data}}
|
||||
\index{data@{data}!RawCanFrame@{RawCanFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{data}{data}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$std\+::uint8\+\_\+t$>$ Raw\+Can\+Frame\+::data}
|
||||
|
||||
Payload bytes.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00026}{26}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
\mbox{\Hypertarget{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}\label{structRawCanFrame_a462193d275adc1dba8bd18ffa0e36bb7}}
|
||||
\index{RawCanFrame@{RawCanFrame}!isExtended@{isExtended}}
|
||||
\index{isExtended@{isExtended}!RawCanFrame@{RawCanFrame}}
|
||||
\doxysubsubsection{\texorpdfstring{isExtended}{isExtended}}
|
||||
{\footnotesize\ttfamily bool Raw\+Can\+Frame\+::is\+Extended}
|
||||
|
||||
true for extended frame.
|
||||
|
||||
Definition at line \mbox{\hyperlink{dbc__decoder_8h_source_l00025}{25}} of file \mbox{\hyperlink{dbc__decoder_8h_source}{dbc\+\_\+decoder.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decoder_8cpp_source_l00031}{Dbc\+Decoder\+::\+Decode()}}, and \mbox{\hyperlink{main_8cpp_source_l00097}{main()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{dbc__decoder_8h}{dbc\+\_\+decoder.\+h}}\end{DoxyCompactItemize}
|
||||
239
docs/latex/structSignalInfo.tex
Normal file
239
docs/latex/structSignalInfo.tex
Normal file
@@ -0,0 +1,239 @@
|
||||
\hypertarget{structSignalInfo}{}\doxysection{Signal\+Info Struct Reference}
|
||||
\label{structSignalInfo}\index{SignalInfo@{SignalInfo}}
|
||||
|
||||
|
||||
Describes one signal inside a DBC frame.
|
||||
|
||||
|
||||
|
||||
|
||||
{\ttfamily \#include $<$signal\+\_\+info.\+h$>$}
|
||||
|
||||
\doxysubsection*{Public Member Functions}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{structSignalInfo_aa2d2cd238118015258e271dce92a971e}{Signal\+Info}} ()
|
||||
\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Public Attributes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structSignalInfo_a379e422a00cad56f896cacf60455b088}{name}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structSignalInfo_ace290724f9801521609aedaa946d61f1}{start\+Bit}}
|
||||
\item
|
||||
std\+::uint32\+\_\+t \mbox{\hyperlink{structSignalInfo_a1008b5201f71848177217bd52fb84baa}{length}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}{is\+Little\+Endian}}
|
||||
\item
|
||||
bool \mbox{\hyperlink{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}{is\+Signed}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}{factor}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}{offset}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}{minimum}}
|
||||
\item
|
||||
double \mbox{\hyperlink{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}{maximum}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}{unit}}
|
||||
\item
|
||||
std\+::vector$<$ std\+::string $>$ \mbox{\hyperlink{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}{receivers}}
|
||||
\item
|
||||
std\+::string \mbox{\hyperlink{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}{comment}}
|
||||
\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Describes one signal inside a DBC frame.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00022}{22}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Constructor \& Destructor Documentation}
|
||||
\mbox{\Hypertarget{structSignalInfo_aa2d2cd238118015258e271dce92a971e}\label{structSignalInfo_aa2d2cd238118015258e271dce92a971e}}
|
||||
\index{SignalInfo@{SignalInfo}!SignalInfo@{SignalInfo}}
|
||||
\index{SignalInfo@{SignalInfo}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{SignalInfo()}{SignalInfo()}}
|
||||
{\footnotesize\ttfamily Signal\+Info\+::\+Signal\+Info (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
|
||||
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00036}{36}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Member Data Documentation}
|
||||
\mbox{\Hypertarget{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}\label{structSignalInfo_ac99ba7563a5dad01e39c4257216953f5}}
|
||||
\index{SignalInfo@{SignalInfo}!comment@{comment}}
|
||||
\index{comment@{comment}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{comment}{comment}}
|
||||
{\footnotesize\ttfamily std\+::string Signal\+Info\+::comment}
|
||||
|
||||
Optional signal comment.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00034}{34}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00274}{Dbc\+Parser\+::\+Parse\+Comment\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}\label{structSignalInfo_ae4f78d99a2750aa564d7eba860171499}}
|
||||
\index{SignalInfo@{SignalInfo}!factor@{factor}}
|
||||
\index{factor@{factor}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{factor}{factor}}
|
||||
{\footnotesize\ttfamily double Signal\+Info\+::factor}
|
||||
|
||||
Scaling factor.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00028}{28}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}\label{structSignalInfo_af363b1563fb4c7cc8973f9a80c06846c}}
|
||||
\index{SignalInfo@{SignalInfo}!isLittleEndian@{isLittleEndian}}
|
||||
\index{isLittleEndian@{isLittleEndian}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{isLittleEndian}{isLittleEndian}}
|
||||
{\footnotesize\ttfamily bool Signal\+Info\+::is\+Little\+Endian}
|
||||
|
||||
true for Intel, false for Motorola.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00026}{26}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}\label{structSignalInfo_a52a52b320eef92fbcb4626307f9a498f}}
|
||||
\index{SignalInfo@{SignalInfo}!isSigned@{isSigned}}
|
||||
\index{isSigned@{isSigned}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{isSigned}{isSigned}}
|
||||
{\footnotesize\ttfamily bool Signal\+Info\+::is\+Signed}
|
||||
|
||||
true if signal is signed.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00027}{27}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_a1008b5201f71848177217bd52fb84baa}\label{structSignalInfo_a1008b5201f71848177217bd52fb84baa}}
|
||||
\index{SignalInfo@{SignalInfo}!length@{length}}
|
||||
\index{length@{length}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{length}{length}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Signal\+Info\+::length}
|
||||
|
||||
Signal length in bits.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00025}{25}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}\label{structSignalInfo_adf1c4331b9eabced0d7fdda40ff0eb52}}
|
||||
\index{SignalInfo@{SignalInfo}!maximum@{maximum}}
|
||||
\index{maximum@{maximum}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{maximum}{maximum}}
|
||||
{\footnotesize\ttfamily double Signal\+Info\+::maximum}
|
||||
|
||||
Maximum physical value.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00031}{31}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}\label{structSignalInfo_ada7bf94fbeaa26bd08c73982b5af255b}}
|
||||
\index{SignalInfo@{SignalInfo}!minimum@{minimum}}
|
||||
\index{minimum@{minimum}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{minimum}{minimum}}
|
||||
{\footnotesize\ttfamily double Signal\+Info\+::minimum}
|
||||
|
||||
Minimum physical value.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00030}{30}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_a379e422a00cad56f896cacf60455b088}\label{structSignalInfo_a379e422a00cad56f896cacf60455b088}}
|
||||
\index{SignalInfo@{SignalInfo}!name@{name}}
|
||||
\index{name@{name}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{name}{name}}
|
||||
{\footnotesize\ttfamily std\+::string Signal\+Info\+::name}
|
||||
|
||||
Signal name.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00023}{23}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}\label{structSignalInfo_ab7d0769f47aa540656b22e4e49db517e}}
|
||||
\index{SignalInfo@{SignalInfo}!offset@{offset}}
|
||||
\index{offset@{offset}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{offset}{offset}}
|
||||
{\footnotesize\ttfamily double Signal\+Info\+::offset}
|
||||
|
||||
Physical offset.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00029}{29}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}\label{structSignalInfo_a2c95562fd0b29327a7fd7b1e6feee7f3}}
|
||||
\index{SignalInfo@{SignalInfo}!receivers@{receivers}}
|
||||
\index{receivers@{receivers}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{receivers}{receivers}}
|
||||
{\footnotesize\ttfamily std\+::vector$<$std\+::string$>$ Signal\+Info\+::receivers}
|
||||
|
||||
Signal receivers.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00033}{33}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, and \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_ace290724f9801521609aedaa946d61f1}\label{structSignalInfo_ace290724f9801521609aedaa946d61f1}}
|
||||
\index{SignalInfo@{SignalInfo}!startBit@{startBit}}
|
||||
\index{startBit@{startBit}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{startBit}{startBit}}
|
||||
{\footnotesize\ttfamily std\+::uint32\+\_\+t Signal\+Info\+::start\+Bit}
|
||||
|
||||
Start bit in DBC notation.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00024}{24}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
\mbox{\Hypertarget{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}\label{structSignalInfo_a1f214f03e94ef5794de2d3367bfcbd01}}
|
||||
\index{SignalInfo@{SignalInfo}!unit@{unit}}
|
||||
\index{unit@{unit}!SignalInfo@{SignalInfo}}
|
||||
\doxysubsubsection{\texorpdfstring{unit}{unit}}
|
||||
{\footnotesize\ttfamily std\+::string Signal\+Info\+::unit}
|
||||
|
||||
Physical unit.
|
||||
|
||||
Definition at line \mbox{\hyperlink{signal__info_8h_source_l00032}{32}} of file \mbox{\hyperlink{signal__info_8h_source}{signal\+\_\+info.\+h}}.
|
||||
|
||||
|
||||
|
||||
Referenced by \mbox{\hyperlink{dbc__decode__builder_8cpp_source_l00014}{Dbc\+Decode\+Builder\+::\+Build()}}, \mbox{\hyperlink{dbc__parser_8cpp_source_l00181}{Dbc\+Parser\+::\+Parse\+Signal\+Line()}}, and \mbox{\hyperlink{main_8cpp_source_l00023}{Print\+Tree()}}.
|
||||
|
||||
|
||||
|
||||
The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
|
||||
\item
|
||||
\mbox{\hyperlink{signal__info_8h}{signal\+\_\+info.\+h}}\end{DoxyCompactItemize}
|
||||
2557
docs/latex/tabu_doxygen.sty
Normal file
2557
docs/latex/tabu_doxygen.sty
Normal file
File diff suppressed because it is too large
Load Diff
17
docs/latex/tree__node_8cpp.tex
Normal file
17
docs/latex/tree__node_8cpp.tex
Normal file
@@ -0,0 +1,17 @@
|
||||
\hypertarget{tree__node_8cpp}{}\doxysection{tree\+\_\+node.\+cpp File Reference}
|
||||
\label{tree__node_8cpp}\index{tree\_node.cpp@{tree\_node.cpp}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include \char`\"{}tree\+\_\+node.\+h\char`\"{}}\newline
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{tree__node_8cpp_source}{tree\+\_\+node.\+cpp}}.
|
||||
|
||||
80
docs/latex/tree__node_8cpp_source.tex
Normal file
80
docs/latex/tree__node_8cpp_source.tex
Normal file
@@ -0,0 +1,80 @@
|
||||
\hypertarget{tree__node_8cpp_source}{}\doxysection{tree\+\_\+node.\+cpp}
|
||||
\mbox{\hyperlink{tree__node_8cpp}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00002}00002 \textcolor{comment}{ * @file tree\_node.cpp}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00012}00012 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{tree__node_8h}{tree\_node.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00013}00013 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00014}\mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{00014}} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode::TreeNode}}()}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00015}00015 : m\_type (\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}}::\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}{Root}})}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00016}00016 , m\_name (\textcolor{stringliteral}{"{}dbc"{}})}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00017}00017 , m\_children()}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00018}00018 , m\_frame()}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00019}00019 , m\_signal() \{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00020}00020 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00021}00021 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00022}\mbox{\hyperlink{classTreeNode_a8e38dd591d8801d7ee3a7dbad90c67fc}{00022}} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode::TreeNode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} \&frame)}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00023}00023 : m\_type (\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}}::\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}{Frame}})}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00024}00024 , m\_name (frame.name)}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00025}00025 , m\_children()}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00026}00026 , m\_frame (new \mbox{\hyperlink{structFrameInfo}{FrameInfo}} (frame))}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00027}00027 , m\_signal() \{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00028}00028 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00029}00029 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00030}\mbox{\hyperlink{classTreeNode_ab9f00f5253d56461bb2d420fd639c5ae}{00030}} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode::TreeNode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} \&signal)}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00031}00031 : m\_type (\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}}::\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}{Signal}})}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00032}00032 , m\_name (signal.name)}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00033}00033 , m\_children()}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00034}00034 , m\_frame()}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00035}00035 , m\_signal (new \mbox{\hyperlink{structSignalInfo}{SignalInfo}} (signal)) \{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00036}00036 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00037}00037 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00038}\mbox{\hyperlink{classTreeNode_a6161f2ebb92184eab4215d121870e788}{00038}} \textcolor{keywordtype}{void} \mbox{\hyperlink{classTreeNode_a6161f2ebb92184eab4215d121870e788}{TreeNode::AddChild}} (std::unique\_ptr<TreeNode> child) \{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00039}00039 \textcolor{keywordflow}{if} (child)}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00040}00040 \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.push\_back (std::move (child));}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00041}00041 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00042}00042 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00043}\mbox{\hyperlink{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}{00043}} std::size\_t \mbox{\hyperlink{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}{TreeNode::GetChildCount}}()\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00044}00044 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.size();}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00045}00045 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00046}00046 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00047}\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{00047}} \textcolor{keyword}{const} \mbox{\hyperlink{classTreeNode}{TreeNode}} *\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{TreeNode::GetChild}} (std::size\_t index)\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00048}00048 \textcolor{keywordflow}{if} (index >= \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.size())}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00049}00049 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00050}00050 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00051}00051 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}[index].get();}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00052}00052 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00053}00053 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00054}\mbox{\hyperlink{classTreeNode_a81047bd7d2a4cc96b9ef5e20d0d63b5f}{00054}} \mbox{\hyperlink{classTreeNode}{TreeNode}} *\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{TreeNode::GetChild}} (std::size\_t index) \{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00055}00055 \textcolor{keywordflow}{if} (index >= \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}.size())}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00056}00056 \textcolor{keywordflow}{return} \textcolor{keyword}{nullptr};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00057}00057 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00058}00058 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}}[index].get();}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00059}00059 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00060}00060 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00061}\mbox{\hyperlink{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}{00061}} \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}} \mbox{\hyperlink{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}{TreeNode::GetType}}()\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00062}00062 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a04bccab9e60a6a78777cd7dfec52d224}{m\_type}};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00063}00063 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00064}00064 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00065}\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{00065}} \textcolor{keyword}{const} std::string \&\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{TreeNode::GetName}}()\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00066}00066 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_ac0ddcb8370e6b51e2d3de6b8211a47f8}{m\_name}};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00067}00067 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00068}00068 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00069}\mbox{\hyperlink{classTreeNode_afc503b40004764163605d6dbdb4ef811}{00069}} \textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *\mbox{\hyperlink{classTreeNode_afc503b40004764163605d6dbdb4ef811}{TreeNode::GetFrame}}()\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00070}00070 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_a77ee6aa80774d67ba442a66b45c798c2}{m\_frame}}.get();}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00071}00071 \}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00072}00072 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00073}\mbox{\hyperlink{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}{00073}} \textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} *\mbox{\hyperlink{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}{TreeNode::GetSignal}}()\textcolor{keyword}{ const }\{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00074}00074 \textcolor{keywordflow}{return} \mbox{\hyperlink{classTreeNode_ae658355007bc9303f7bfae3bb3ec8386}{m\_signal}}.get();}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8cpp_source_l00075}00075 \}}
|
||||
|
||||
\end{DoxyCode}
|
||||
66
docs/latex/tree__node_8h.tex
Normal file
66
docs/latex/tree__node_8h.tex
Normal file
@@ -0,0 +1,66 @@
|
||||
\hypertarget{tree__node_8h}{}\doxysection{tree\+\_\+node.\+h File Reference}
|
||||
\label{tree__node_8h}\index{tree\_node.h@{tree\_node.h}}
|
||||
|
||||
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
|
||||
{\ttfamily \#include $<$string$>$}\newline
|
||||
{\ttfamily \#include $<$vector$>$}\newline
|
||||
{\ttfamily \#include $<$memory$>$}\newline
|
||||
{\ttfamily \#include $<$cstddef$>$}\newline
|
||||
{\ttfamily \#include \char`\"{}frame\+\_\+info.\+h\char`\"{}}\newline
|
||||
{\ttfamily \#include \char`\"{}signal\+\_\+info.\+h\char`\"{}}\newline
|
||||
\doxysubsection*{Classes}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
class \mbox{\hyperlink{classTreeNode}{Tree\+Node}}
|
||||
\begin{DoxyCompactList}\small\item\em Tree node for later use in model/view or other hierarchy consumers. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
\doxysubsection*{Enumerations}
|
||||
\begin{DoxyCompactItemize}
|
||||
\item
|
||||
enum class \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{Node\+Type}} \{ \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}{Root}}
|
||||
, \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}{Frame}}
|
||||
, \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}{Signal}}
|
||||
\}
|
||||
\begin{DoxyCompactList}\small\item\em Type of a tree node. \end{DoxyCompactList}\end{DoxyCompactItemize}
|
||||
|
||||
|
||||
\doxysubsection{Detailed Description}
|
||||
Created\+: 2026-\/03-\/13 Author\+: Deeaitch (Dim. Himro)
|
||||
|
||||
Licensed under the MIT License. See LICENSE file in the project root for full license text.
|
||||
|
||||
Definition in file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
|
||||
|
||||
\doxysubsection{Enumeration Type Documentation}
|
||||
\mbox{\Hypertarget{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}\label{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}}
|
||||
\index{tree\_node.h@{tree\_node.h}!NodeType@{NodeType}}
|
||||
\index{NodeType@{NodeType}!tree\_node.h@{tree\_node.h}}
|
||||
\doxysubsubsection{\texorpdfstring{NodeType}{NodeType}}
|
||||
{\footnotesize\ttfamily enum class \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{Node\+Type}}\hspace{0.3cm}{\ttfamily [strong]}}
|
||||
|
||||
|
||||
|
||||
Type of a tree node.
|
||||
|
||||
\begin{DoxyEnumFields}{Enumerator}
|
||||
\raisebox{\heightof{T}}[0pt][0pt]{\index{Root@{Root}!tree\_node.h@{tree\_node.h}}\index{tree\_node.h@{tree\_node.h}!Root@{Root}}}\mbox{\Hypertarget{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}\label{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}}
|
||||
Root&\\
|
||||
\hline
|
||||
|
||||
\raisebox{\heightof{T}}[0pt][0pt]{\index{Frame@{Frame}!tree\_node.h@{tree\_node.h}}\index{tree\_node.h@{tree\_node.h}!Frame@{Frame}}}\mbox{\Hypertarget{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}\label{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}}
|
||||
Frame&\\
|
||||
\hline
|
||||
|
||||
\raisebox{\heightof{T}}[0pt][0pt]{\index{Signal@{Signal}!tree\_node.h@{tree\_node.h}}\index{tree\_node.h@{tree\_node.h}!Signal@{Signal}}}\mbox{\Hypertarget{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}\label{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}}
|
||||
Signal&\\
|
||||
\hline
|
||||
|
||||
\end{DoxyEnumFields}
|
||||
|
||||
|
||||
Definition at line \mbox{\hyperlink{tree__node_8h_source_l00026}{26}} of file \mbox{\hyperlink{tree__node_8h_source}{tree\+\_\+node.\+h}}.
|
||||
|
||||
125
docs/latex/tree__node_8h_source.tex
Normal file
125
docs/latex/tree__node_8h_source.tex
Normal file
@@ -0,0 +1,125 @@
|
||||
\hypertarget{tree__node_8h_source}{}\doxysection{tree\+\_\+node.\+h}
|
||||
\mbox{\hyperlink{tree__node_8h}{Go to the documentation of this file.}}
|
||||
\begin{DoxyCode}{0}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00001}00001 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00002}00002 \textcolor{comment}{ * @file tree\_node.h}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00003}00003 \textcolor{comment}{ * @brief}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00004}00004 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00005}00005 \textcolor{comment}{ * Created: 2026-\/03-\/13}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00006}00006 \textcolor{comment}{ * Author: Deeaitch (Dim. Himro)}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00007}00007 \textcolor{comment}{ *}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00008}00008 \textcolor{comment}{ * Licensed under the MIT License.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00009}00009 \textcolor{comment}{ * See LICENSE file in the project root for full license text.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00010}00010 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00011}00011 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00012}00012 \textcolor{preprocessor}{\#ifndef TREE\_NODE\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00013}00013 \textcolor{preprocessor}{\#define TREE\_NODE\_H}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00014}00014 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00015}00015 \textcolor{preprocessor}{\#include <string>}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00016}00016 \textcolor{preprocessor}{\#include <vector>}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00017}00017 \textcolor{preprocessor}{\#include <memory>}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00018}00018 \textcolor{preprocessor}{\#include <cstddef>}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00019}00019 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00020}00020 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{frame__info_8h}{frame\_info.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00021}00021 \textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{signal__info_8h}{signal\_info.h}}"{}}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00022}00022 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00023}00023 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00024}00024 \textcolor{comment}{ * @brief Type of a tree node.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00025}00025 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00026}\mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{00026}} \textcolor{keyword}{enum class} \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00027}00027 \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16afa03eb688ad8aa1db593d33dabd89bad}{Root}},}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00028}00028 \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a3bb3e8c8a24891ba0f7608bcc96f8b0a}{Frame}},}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00029}00029 \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16a085fea7abdc5d904fe69a3081efd7398}{Signal}}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00030}00030 \};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00031}00031 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00032}00032 \textcolor{comment}{/**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00033}00033 \textcolor{comment}{ * @brief Tree node for later use in model/view or other hierarchy consumers.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00034}00034 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00035}\mbox{\hyperlink{classTreeNode}{00035}} \textcolor{keyword}{class }\mbox{\hyperlink{classTreeNode}{TreeNode}} \{}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00036}00036 \textcolor{keyword}{public}:\textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00037}00037 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00038}00038 \textcolor{comment}{ * @brief Create root node.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00039}00039 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00040}00040 \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode}}();}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00041}00041 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00042}00042 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00043}00043 \textcolor{comment}{ * @brief Create frame node.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00044}00044 \textcolor{comment}{ * @param frame Frame payload.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00045}00045 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00046}00046 \textcolor{keyword}{explicit} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} \&frame);}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00047}00047 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00048}00048 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00049}00049 \textcolor{comment}{ * @brief Create signal node.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00050}00050 \textcolor{comment}{ * @param signal Signal payload.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00051}00051 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00052}00052 \textcolor{keyword}{explicit} \mbox{\hyperlink{classTreeNode_a984a98d5ccf7ef1f5a18094c6821f35d}{TreeNode}} (\textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} \&signal);}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00053}00053 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00054}\mbox{\hyperlink{classTreeNode_a89eb1eb0e25fccaa83c780b85f95b570}{00054}} \mbox{\hyperlink{classTreeNode_a89eb1eb0e25fccaa83c780b85f95b570}{\string~TreeNode}}() = \textcolor{keywordflow}{default};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00055}00055 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00056}\mbox{\hyperlink{classTreeNode_a4d3054a033accf3e38ea132002fc35ff}{00056}} \mbox{\hyperlink{classTreeNode_a4d3054a033accf3e38ea132002fc35ff}{TreeNode}} (\textcolor{keyword}{const} \mbox{\hyperlink{classTreeNode}{TreeNode}} \&) = \textcolor{keyword}{delete};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00057}\mbox{\hyperlink{classTreeNode_ad6ce97dcf532b452d520452b6d000daa}{00057}} \mbox{\hyperlink{classTreeNode}{TreeNode}} \&\mbox{\hyperlink{classTreeNode_ad6ce97dcf532b452d520452b6d000daa}{operator= }}(\textcolor{keyword}{const} \mbox{\hyperlink{classTreeNode}{TreeNode}} \&) = \textcolor{keyword}{delete};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00058}00058 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00059}\mbox{\hyperlink{classTreeNode_a35724af755b5d0c43de40a723ef81ec1}{00059}} \mbox{\hyperlink{classTreeNode_a35724af755b5d0c43de40a723ef81ec1}{TreeNode}} (\mbox{\hyperlink{classTreeNode}{TreeNode}} \&\&) = \textcolor{keywordflow}{default};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00060}\mbox{\hyperlink{classTreeNode_a88fbcbec9c64d888b19c5edb95059a95}{00060}} \mbox{\hyperlink{classTreeNode}{TreeNode}} \&\mbox{\hyperlink{classTreeNode_ad6ce97dcf532b452d520452b6d000daa}{operator= }}(\mbox{\hyperlink{classTreeNode}{TreeNode}} \&\&) = \textcolor{keywordflow}{default};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00061}00061 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00062}00062 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00063}00063 \textcolor{comment}{ * @brief Add child node.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00064}00064 \textcolor{comment}{ * @param child Child node to add.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00065}00065 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00066}00066 \textcolor{keywordtype}{void} \mbox{\hyperlink{classTreeNode_a6161f2ebb92184eab4215d121870e788}{AddChild}} (std::unique\_ptr<TreeNode> child);}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00067}00067 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00068}00068 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00069}00069 \textcolor{comment}{ * @brief Get child count.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00070}00070 \textcolor{comment}{ * @return Number of children.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00071}00071 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00072}00072 std::size\_t \mbox{\hyperlink{classTreeNode_abdd82460187dca8d3e5d66f5d5c529ea}{GetChildCount}}() \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00073}00073 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00074}00074 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00075}00075 \textcolor{comment}{ * @brief Get child by index.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00076}00076 \textcolor{comment}{ * @param index Child index.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00077}00077 \textcolor{comment}{ * @return Child pointer or nullptr if index is invalid.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00078}00078 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00079}00079 \textcolor{keyword}{const} \mbox{\hyperlink{classTreeNode}{TreeNode}} *\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{GetChild}} (std::size\_t index) \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00080}00080 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00081}00081 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00082}00082 \textcolor{comment}{ * @brief Get mutable child by index.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00083}00083 \textcolor{comment}{ * @param index Child index.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00084}00084 \textcolor{comment}{ * @return Child pointer or nullptr if index is invalid.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00085}00085 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00086}00086 \mbox{\hyperlink{classTreeNode}{TreeNode}} *\mbox{\hyperlink{classTreeNode_a4727ff801a2d1b9323c5ae50a35457a6}{GetChild}} (std::size\_t index);}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00087}00087 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00088}00088 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00089}00089 \textcolor{comment}{ * @brief Get node type.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00090}00090 \textcolor{comment}{ * @return Node type.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00091}00091 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00092}00092 \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}} \mbox{\hyperlink{classTreeNode_afa2f4b0aafa12d3d41ed00df8e0250c9}{GetType}}() \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00093}00093 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00094}00094 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00095}00095 \textcolor{comment}{ * @brief Get display name.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00096}00096 \textcolor{comment}{ * @return Node name.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00097}00097 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00098}00098 \textcolor{keyword}{const} std::string \&\mbox{\hyperlink{classTreeNode_aaac5b8d9dc9e5ae1f367d1adbcf20e18}{GetName}}() \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00099}00099 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00100}00100 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00101}00101 \textcolor{comment}{ * @brief Get frame payload if node is frame.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00102}00102 \textcolor{comment}{ * @return Pointer to frame info or nullptr.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00103}00103 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00104}00104 \textcolor{keyword}{const} \mbox{\hyperlink{structFrameInfo}{FrameInfo}} *\mbox{\hyperlink{classTreeNode_afc503b40004764163605d6dbdb4ef811}{GetFrame}}() \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00105}00105 \textcolor{comment}{}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00106}00106 \textcolor{comment}{ /**}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00107}00107 \textcolor{comment}{ * @brief Get signal payload if node is signal.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00108}00108 \textcolor{comment}{ * @return Pointer to signal info or nullptr.}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00109}00109 \textcolor{comment}{ */}}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00110}00110 \textcolor{keyword}{const} \mbox{\hyperlink{structSignalInfo}{SignalInfo}} *\mbox{\hyperlink{classTreeNode_a226518612d0d00b5988a2c44fc21d3f1}{GetSignal}}() \textcolor{keyword}{const};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00111}00111 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00112}00112 \textcolor{keyword}{private}:}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00113}\mbox{\hyperlink{classTreeNode_a04bccab9e60a6a78777cd7dfec52d224}{00113}} \mbox{\hyperlink{tree__node_8h_acac9cbaeea226ed297804c012dc12b16}{NodeType}} \mbox{\hyperlink{classTreeNode_a04bccab9e60a6a78777cd7dfec52d224}{m\_type}};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00114}\mbox{\hyperlink{classTreeNode_ac0ddcb8370e6b51e2d3de6b8211a47f8}{00114}} std::string \mbox{\hyperlink{classTreeNode_ac0ddcb8370e6b51e2d3de6b8211a47f8}{m\_name}};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00115}\mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{00115}} std::vector<std::unique\_ptr<TreeNode> > \mbox{\hyperlink{classTreeNode_a1bd61f40df6d36e61021063e3816a351}{m\_children}};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00116}\mbox{\hyperlink{classTreeNode_a77ee6aa80774d67ba442a66b45c798c2}{00116}} std::unique\_ptr<FrameInfo> \mbox{\hyperlink{classTreeNode_a77ee6aa80774d67ba442a66b45c798c2}{m\_frame}};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00117}\mbox{\hyperlink{classTreeNode_ae658355007bc9303f7bfae3bb3ec8386}{00117}} std::unique\_ptr<SignalInfo> \mbox{\hyperlink{classTreeNode_ae658355007bc9303f7bfae3bb3ec8386}{m\_signal}};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00118}00118 \};}
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00119}00119 }
|
||||
\DoxyCodeLine{\Hypertarget{tree__node_8h_source_l00120}00120 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* TREE\_NODE\_H */}\textcolor{preprocessor}{}}
|
||||
|
||||
\end{DoxyCode}
|
||||
Reference in New Issue
Block a user