\hypertarget{_nonin_stream_parser_8h}{
\section{nonin/header/NoninStreamParser.h File Reference}
\label{_nonin_stream_parser_8h}\index{nonin/header/NoninStreamParser.h@{nonin/header/NoninStreamParser.h}}
}
{\ttfamily \#include $<$stdlib.h$>$}\par
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct___nonin_stream_parser}{\_\-NoninStreamParser}
\end{DoxyCompactItemize}
\subsection*{Defines}
\begin{DoxyCompactItemize}
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a194c6f80ad1b83309a40054cbe9aa61b}{PARSER\_\-CODE\_\-HRMSB}~0x01
\item 
\#define \hyperlink{_nonin_stream_parser_8h_aa2d6a619f690f23d8f1da4707ad92a0b}{PARSER\_\-CODE\_\-HRLSB}~0x02
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a17235e2d44033f2099343e3ff68cb1fe}{PARSER\_\-CODE\_\-SPO2}~0x03
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a1d09baa65e410a9dfbaf36bc55a7dcb0}{PARSER\_\-CODE\_\-SREV}~0x04
\item 
\#define \hyperlink{_nonin_stream_parser_8h_af2d18dcfe94457202657f914b6cd15b7}{PARSER\_\-CODE\_\-RESERVED6}~0x05
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ab8361253bd093032caf87576270280e4}{PARSER\_\-CODE\_\-TMRMSB}~0x06
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a67533b37581ba6fe6c226f93ab2f5a57}{PARSER\_\-CODE\_\-TMRLSB}~0x07
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ab97f392b7643cfba3b02f9cd5566b7cd}{PARSER\_\-CODE\_\-STAT2}~0x08
\item 
\#define \hyperlink{_nonin_stream_parser_8h_aa153a6758c7295d33cf87d766c6a64ba}{PARSER\_\-CODE\_\-SPO2D}~0x09
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a266dd6f3e45c104ca51dabed3a6c461d}{PARSER\_\-CODE\_\-SPO2FAST}~0x10
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a9ad2e220341034ca16161eab8bf29115}{PARSER\_\-CODE\_\-SPO2BB}~0x11
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ad92f85c219a42ee10e6fd7e4aae0af8f}{PARSER\_\-CODE\_\-RESERVED12}~0x12
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ae6f15557feb8a2c1ec7233d11c1c7216}{PARSER\_\-CODE\_\-RESERVED13}~0x13
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a37fe5ecb7308fa24074d138089da3ea2}{PARSER\_\-CODE\_\-EHRMSB}~0x14
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ad7be46bb78c538640f9a470e9d5abc14}{PARSER\_\-CODE\_\-EHRLSB}~0x15
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a6a5c202533f9dcae4844e45426401e18}{PARSER\_\-CODE\_\-ESPO2}~0x16
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a6941f22cdc58ea7de978d8fc15c81493}{PARSER\_\-CODE\_\-ESPO2D}~0x17
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ab0bac93bdac4beece9588224f2273956}{PARSER\_\-CODE\_\-RESERVED18}~0x18
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a399ed2d2bd9ed9618c95fd724e0c833f}{PARSER\_\-CODE\_\-RESERVED19}~0x19
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a225a6f35c3c92eceea77b154bfc6c86a}{PARSER\_\-CODE\_\-HRDMSB}~0x20
\item 
\#define \hyperlink{_nonin_stream_parser_8h_af3a0060cb56e802c20d66a9e57180093}{PARSER\_\-CODE\_\-HRDLSB}~0x21
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ac51b498d00bc980fe0d01610a2854c6b}{PARSER\_\-CODE\_\-EHRDMSB}~0x22
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a090910c91739d38e36fe2274818963ed}{PARSER\_\-CODE\_\-EHRDLSB}~0x23
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ae0a4f245dfb5bb6119823d8622ae10f9}{PARSER\_\-CODE\_\-RESERVED24}~0x24
\item 
\#define \hyperlink{_nonin_stream_parser_8h_a4baf353fcb3f9133fbffa8133af0503f}{PARSER\_\-CODE\_\-RESERVED25}~0x25
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ae6aeae15f394680e478cea7496f152d0}{PARSER\_\-CODE\_\-PLETHMSB}~0x26
\item 
\#define \hyperlink{_nonin_stream_parser_8h_ae76f12a6be1062606d4aaaf5d0da9f71}{PARSER\_\-CODE\_\-PLETHLSB}~0x27
\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \hyperlink{struct___nonin_stream_parser}{\_\-NoninStreamParser} \hyperlink{_nonin_stream_parser_8h_a483ace46b100770aae13858593a8c631}{NoninStreamParser}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \hyperlink{_nonin_stream_parser_8h_a0cc5cbccbd11322f158722e195f109b2}{NONIN\_\-initParser} (\hyperlink{struct___nonin_stream_parser}{NoninStreamParser} $\ast$parser, void($\ast$handleDataValueFunc)(unsigned char frame, unsigned char plethMSB, unsigned char plethLSB, unsigned char data, void $\ast$customData), void $\ast$customData)
\item 
int \hyperlink{_nonin_stream_parser_8h_a2717b5eff125227fe4d340bacbd6f598}{NONIN\_\-parseByte} (\hyperlink{struct___nonin_stream_parser}{NoninStreamParser} $\ast$parser, unsigned char byte)
\item 
int \hyperlink{_nonin_stream_parser_8h_a1ed340264d37a7c5c79c24cbfd0c4e49}{parseFrame} (\hyperlink{struct___nonin_stream_parser}{NoninStreamParser} $\ast$parser)
\end{DoxyCompactItemize}


\subsection{Define Documentation}
\hypertarget{_nonin_stream_parser_8h_a090910c91739d38e36fe2274818963ed}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-EHRDLSB@{PARSER\_\-CODE\_\-EHRDLSB}}
\index{PARSER\_\-CODE\_\-EHRDLSB@{PARSER\_\-CODE\_\-EHRDLSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-EHRDLSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-EHRDLSB~0x23}}
\label{_nonin_stream_parser_8h_a090910c91739d38e36fe2274818963ed}


Definition at line 63 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ac51b498d00bc980fe0d01610a2854c6b}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-EHRDMSB@{PARSER\_\-CODE\_\-EHRDMSB}}
\index{PARSER\_\-CODE\_\-EHRDMSB@{PARSER\_\-CODE\_\-EHRDMSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-EHRDMSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-EHRDMSB~0x22}}
\label{_nonin_stream_parser_8h_ac51b498d00bc980fe0d01610a2854c6b}


Definition at line 62 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ad7be46bb78c538640f9a470e9d5abc14}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-EHRLSB@{PARSER\_\-CODE\_\-EHRLSB}}
\index{PARSER\_\-CODE\_\-EHRLSB@{PARSER\_\-CODE\_\-EHRLSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-EHRLSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-EHRLSB~0x15}}
\label{_nonin_stream_parser_8h_ad7be46bb78c538640f9a470e9d5abc14}


Definition at line 55 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a37fe5ecb7308fa24074d138089da3ea2}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-EHRMSB@{PARSER\_\-CODE\_\-EHRMSB}}
\index{PARSER\_\-CODE\_\-EHRMSB@{PARSER\_\-CODE\_\-EHRMSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-EHRMSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-EHRMSB~0x14}}
\label{_nonin_stream_parser_8h_a37fe5ecb7308fa24074d138089da3ea2}


Definition at line 54 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a6a5c202533f9dcae4844e45426401e18}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-ESPO2@{PARSER\_\-CODE\_\-ESPO2}}
\index{PARSER\_\-CODE\_\-ESPO2@{PARSER\_\-CODE\_\-ESPO2}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-ESPO2}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-ESPO2~0x16}}
\label{_nonin_stream_parser_8h_a6a5c202533f9dcae4844e45426401e18}


Definition at line 56 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a6941f22cdc58ea7de978d8fc15c81493}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-ESPO2D@{PARSER\_\-CODE\_\-ESPO2D}}
\index{PARSER\_\-CODE\_\-ESPO2D@{PARSER\_\-CODE\_\-ESPO2D}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-ESPO2D}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-ESPO2D~0x17}}
\label{_nonin_stream_parser_8h_a6941f22cdc58ea7de978d8fc15c81493}


Definition at line 57 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_af3a0060cb56e802c20d66a9e57180093}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-HRDLSB@{PARSER\_\-CODE\_\-HRDLSB}}
\index{PARSER\_\-CODE\_\-HRDLSB@{PARSER\_\-CODE\_\-HRDLSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-HRDLSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-HRDLSB~0x21}}
\label{_nonin_stream_parser_8h_af3a0060cb56e802c20d66a9e57180093}


Definition at line 61 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a225a6f35c3c92eceea77b154bfc6c86a}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-HRDMSB@{PARSER\_\-CODE\_\-HRDMSB}}
\index{PARSER\_\-CODE\_\-HRDMSB@{PARSER\_\-CODE\_\-HRDMSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-HRDMSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-HRDMSB~0x20}}
\label{_nonin_stream_parser_8h_a225a6f35c3c92eceea77b154bfc6c86a}


Definition at line 60 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_aa2d6a619f690f23d8f1da4707ad92a0b}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-HRLSB@{PARSER\_\-CODE\_\-HRLSB}}
\index{PARSER\_\-CODE\_\-HRLSB@{PARSER\_\-CODE\_\-HRLSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-HRLSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-HRLSB~0x02}}
\label{_nonin_stream_parser_8h_aa2d6a619f690f23d8f1da4707ad92a0b}


Definition at line 42 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a194c6f80ad1b83309a40054cbe9aa61b}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-HRMSB@{PARSER\_\-CODE\_\-HRMSB}}
\index{PARSER\_\-CODE\_\-HRMSB@{PARSER\_\-CODE\_\-HRMSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-HRMSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-HRMSB~0x01}}
\label{_nonin_stream_parser_8h_a194c6f80ad1b83309a40054cbe9aa61b}


Definition at line 41 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ae76f12a6be1062606d4aaaf5d0da9f71}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-PLETHLSB@{PARSER\_\-CODE\_\-PLETHLSB}}
\index{PARSER\_\-CODE\_\-PLETHLSB@{PARSER\_\-CODE\_\-PLETHLSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-PLETHLSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-PLETHLSB~0x27}}
\label{_nonin_stream_parser_8h_ae76f12a6be1062606d4aaaf5d0da9f71}


Definition at line 68 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ae6aeae15f394680e478cea7496f152d0}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-PLETHMSB@{PARSER\_\-CODE\_\-PLETHMSB}}
\index{PARSER\_\-CODE\_\-PLETHMSB@{PARSER\_\-CODE\_\-PLETHMSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-PLETHMSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-PLETHMSB~0x26}}
\label{_nonin_stream_parser_8h_ae6aeae15f394680e478cea7496f152d0}


Definition at line 67 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ad92f85c219a42ee10e6fd7e4aae0af8f}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-RESERVED12@{PARSER\_\-CODE\_\-RESERVED12}}
\index{PARSER\_\-CODE\_\-RESERVED12@{PARSER\_\-CODE\_\-RESERVED12}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-RESERVED12}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-RESERVED12~0x12}}
\label{_nonin_stream_parser_8h_ad92f85c219a42ee10e6fd7e4aae0af8f}


Definition at line 52 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ae6f15557feb8a2c1ec7233d11c1c7216}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-RESERVED13@{PARSER\_\-CODE\_\-RESERVED13}}
\index{PARSER\_\-CODE\_\-RESERVED13@{PARSER\_\-CODE\_\-RESERVED13}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-RESERVED13}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-RESERVED13~0x13}}
\label{_nonin_stream_parser_8h_ae6f15557feb8a2c1ec7233d11c1c7216}


Definition at line 53 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ab0bac93bdac4beece9588224f2273956}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-RESERVED18@{PARSER\_\-CODE\_\-RESERVED18}}
\index{PARSER\_\-CODE\_\-RESERVED18@{PARSER\_\-CODE\_\-RESERVED18}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-RESERVED18}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-RESERVED18~0x18}}
\label{_nonin_stream_parser_8h_ab0bac93bdac4beece9588224f2273956}


Definition at line 58 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a399ed2d2bd9ed9618c95fd724e0c833f}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-RESERVED19@{PARSER\_\-CODE\_\-RESERVED19}}
\index{PARSER\_\-CODE\_\-RESERVED19@{PARSER\_\-CODE\_\-RESERVED19}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-RESERVED19}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-RESERVED19~0x19}}
\label{_nonin_stream_parser_8h_a399ed2d2bd9ed9618c95fd724e0c833f}


Definition at line 59 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ae0a4f245dfb5bb6119823d8622ae10f9}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-RESERVED24@{PARSER\_\-CODE\_\-RESERVED24}}
\index{PARSER\_\-CODE\_\-RESERVED24@{PARSER\_\-CODE\_\-RESERVED24}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-RESERVED24}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-RESERVED24~0x24}}
\label{_nonin_stream_parser_8h_ae0a4f245dfb5bb6119823d8622ae10f9}


Definition at line 64 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a4baf353fcb3f9133fbffa8133af0503f}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-RESERVED25@{PARSER\_\-CODE\_\-RESERVED25}}
\index{PARSER\_\-CODE\_\-RESERVED25@{PARSER\_\-CODE\_\-RESERVED25}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-RESERVED25}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-RESERVED25~0x25}}
\label{_nonin_stream_parser_8h_a4baf353fcb3f9133fbffa8133af0503f}


Definition at line 65 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_af2d18dcfe94457202657f914b6cd15b7}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-RESERVED6@{PARSER\_\-CODE\_\-RESERVED6}}
\index{PARSER\_\-CODE\_\-RESERVED6@{PARSER\_\-CODE\_\-RESERVED6}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-RESERVED6}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-RESERVED6~0x05}}
\label{_nonin_stream_parser_8h_af2d18dcfe94457202657f914b6cd15b7}


Definition at line 45 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a17235e2d44033f2099343e3ff68cb1fe}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-SPO2@{PARSER\_\-CODE\_\-SPO2}}
\index{PARSER\_\-CODE\_\-SPO2@{PARSER\_\-CODE\_\-SPO2}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-SPO2}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-SPO2~0x03}}
\label{_nonin_stream_parser_8h_a17235e2d44033f2099343e3ff68cb1fe}


Definition at line 43 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a9ad2e220341034ca16161eab8bf29115}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-SPO2BB@{PARSER\_\-CODE\_\-SPO2BB}}
\index{PARSER\_\-CODE\_\-SPO2BB@{PARSER\_\-CODE\_\-SPO2BB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-SPO2BB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-SPO2BB~0x11}}
\label{_nonin_stream_parser_8h_a9ad2e220341034ca16161eab8bf29115}


Definition at line 51 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_aa153a6758c7295d33cf87d766c6a64ba}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-SPO2D@{PARSER\_\-CODE\_\-SPO2D}}
\index{PARSER\_\-CODE\_\-SPO2D@{PARSER\_\-CODE\_\-SPO2D}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-SPO2D}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-SPO2D~0x09}}
\label{_nonin_stream_parser_8h_aa153a6758c7295d33cf87d766c6a64ba}


Definition at line 49 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a266dd6f3e45c104ca51dabed3a6c461d}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-SPO2FAST@{PARSER\_\-CODE\_\-SPO2FAST}}
\index{PARSER\_\-CODE\_\-SPO2FAST@{PARSER\_\-CODE\_\-SPO2FAST}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-SPO2FAST}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-SPO2FAST~0x10}}
\label{_nonin_stream_parser_8h_a266dd6f3e45c104ca51dabed3a6c461d}


Definition at line 50 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a1d09baa65e410a9dfbaf36bc55a7dcb0}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-SREV@{PARSER\_\-CODE\_\-SREV}}
\index{PARSER\_\-CODE\_\-SREV@{PARSER\_\-CODE\_\-SREV}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-SREV}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-SREV~0x04}}
\label{_nonin_stream_parser_8h_a1d09baa65e410a9dfbaf36bc55a7dcb0}


Definition at line 44 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ab97f392b7643cfba3b02f9cd5566b7cd}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-STAT2@{PARSER\_\-CODE\_\-STAT2}}
\index{PARSER\_\-CODE\_\-STAT2@{PARSER\_\-CODE\_\-STAT2}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-STAT2}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-STAT2~0x08}}
\label{_nonin_stream_parser_8h_ab97f392b7643cfba3b02f9cd5566b7cd}


Definition at line 48 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_a67533b37581ba6fe6c226f93ab2f5a57}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-TMRLSB@{PARSER\_\-CODE\_\-TMRLSB}}
\index{PARSER\_\-CODE\_\-TMRLSB@{PARSER\_\-CODE\_\-TMRLSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-TMRLSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-TMRLSB~0x07}}
\label{_nonin_stream_parser_8h_a67533b37581ba6fe6c226f93ab2f5a57}


Definition at line 47 of file NoninStreamParser.h.

\hypertarget{_nonin_stream_parser_8h_ab8361253bd093032caf87576270280e4}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!PARSER\_\-CODE\_\-TMRMSB@{PARSER\_\-CODE\_\-TMRMSB}}
\index{PARSER\_\-CODE\_\-TMRMSB@{PARSER\_\-CODE\_\-TMRMSB}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{PARSER\_\-CODE\_\-TMRMSB}]{\setlength{\rightskip}{0pt plus 5cm}\#define PARSER\_\-CODE\_\-TMRMSB~0x06}}
\label{_nonin_stream_parser_8h_ab8361253bd093032caf87576270280e4}


Definition at line 46 of file NoninStreamParser.h.



\subsection{Typedef Documentation}
\hypertarget{_nonin_stream_parser_8h_a483ace46b100770aae13858593a8c631}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!NoninStreamParser@{NoninStreamParser}}
\index{NoninStreamParser@{NoninStreamParser}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{NoninStreamParser}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct {\bf \_\-NoninStreamParser}  {\bf NoninStreamParser}}}
\label{_nonin_stream_parser_8h_a483ace46b100770aae13858593a8c631}
The Parser is a state machine that manages the parsing state. 

\subsection{Function Documentation}
\hypertarget{_nonin_stream_parser_8h_a0cc5cbccbd11322f158722e195f109b2}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!NONIN\_\-initParser@{NONIN\_\-initParser}}
\index{NONIN\_\-initParser@{NONIN\_\-initParser}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{NONIN\_\-initParser}]{\setlength{\rightskip}{0pt plus 5cm}int NONIN\_\-initParser ({\bf NoninStreamParser} $\ast$ {\em parser}, \/  void($\ast$)(unsigned char frame, unsigned char plethMSB, unsigned char plethLSB, unsigned char data, void $\ast$customData) {\em handleDataValueFunc}, \/  void $\ast$ {\em customData})}}
\label{_nonin_stream_parser_8h_a0cc5cbccbd11322f158722e195f109b2}

\begin{DoxyParams}{Parameters}
\item[{\em parser}]Pointer to a NoninStreamParser object. \item[{\em parserType}]One of the PARSER\_\-TYPE\_\-$\ast$ constants defined above: PARSER\_\-TYPE\_\-PACKETS or PARSER\_\-TYPE\_\-2BYTERAW. \item[{\em handleDataValueFunc}]A user-\/defined callback function that will be called whenever a data value is parsed from a Packet. \item[{\em customData}]A pointer to any arbitrary data that will also be passed to the handleDataValueFunc whenever a data value is parsed from a Packet.\end{DoxyParams}
\begin{DoxyReturn}{Returns}
-\/1 if {\ttfamily parser} is NULL. 

-\/2 if {\ttfamily parserType} is invalid. 

0 on success. 
\end{DoxyReturn}


Definition at line 48 of file NoninStreamParser.c.

\hypertarget{_nonin_stream_parser_8h_a2717b5eff125227fe4d340bacbd6f598}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!NONIN\_\-parseByte@{NONIN\_\-parseByte}}
\index{NONIN\_\-parseByte@{NONIN\_\-parseByte}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{NONIN\_\-parseByte}]{\setlength{\rightskip}{0pt plus 5cm}int NONIN\_\-parseByte ({\bf NoninStreamParser} $\ast$ {\em parser}, \/  unsigned char {\em byte})}}
\label{_nonin_stream_parser_8h_a2717b5eff125227fe4d340bacbd6f598}


Definition at line 69 of file NoninStreamParser.c.

\hypertarget{_nonin_stream_parser_8h_a1ed340264d37a7c5c79c24cbfd0c4e49}{
\index{NoninStreamParser.h@{NoninStreamParser.h}!parseFrame@{parseFrame}}
\index{parseFrame@{parseFrame}!NoninStreamParser.h@{NoninStreamParser.h}}
\subsubsection[{parseFrame}]{\setlength{\rightskip}{0pt plus 5cm}int parseFrame ({\bf NoninStreamParser} $\ast$ {\em parser})}}
\label{_nonin_stream_parser_8h_a1ed340264d37a7c5c79c24cbfd0c4e49}
Parses each row of data from the {\ttfamily packet's} Data\mbox{[}\mbox{]} block, updating the fields of {\ttfamily data} as appropriate. 

Definition at line 142 of file NoninStreamParser.c.

