\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}