\doxysection{BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t Struct Reference}
\hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t}{}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t}\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}


Holds context used to synchronize tasks and callback execution.  




{\ttfamily \#include $<$BNO08x\+Private\+Types.\+hpp$>$}

\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a3f9cea8f40f89200c93f2a4bf09039ac}{bno08x\+\_\+sync\+\_\+ctx\+\_\+t}} ()
\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
Semaphore\+Handle\+\_\+t \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a5433c33ca93bfd2be4a7575ddff7a8d9}{sh2\+\_\+\+HAL\+\_\+lock}}
\begin{DoxyCompactList}\small\item\em Mutex to prevent sh2 HAL lib functions from being accessed at same time. \end{DoxyCompactList}\item 
Semaphore\+Handle\+\_\+t \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a551d1eb66d239c54cffa96b558e40a15}{data\+\_\+lock}}
\begin{DoxyCompactList}\small\item\em Mutex to prevent user from reading data while data\+\_\+proc\+\_\+task() updates it, and vice versa. \end{DoxyCompactList}\item 
Event\+Group\+Handle\+\_\+t \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aeaeeb8fa04544f63b66c32f3adbb0041}{evt\+\_\+grp\+\_\+rpt\+\_\+en}}
\begin{DoxyCompactList}\small\item\em Event group for indicating which reports are currently enabled. \end{DoxyCompactList}\item 
Event\+Group\+Handle\+\_\+t \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a13f4a91c74fbf09059b5b136ed4f09ac}{evt\+\_\+grp\+\_\+rpt\+\_\+data\+\_\+available}}
\begin{DoxyCompactList}\small\item\em Event group for indicating to \doxylink{class_b_n_o08x_rpt_a74f6037286b51382535bab61680297ed}{BNO08x\+Rpt\+::has\+\_\+new\+\_\+data()} that a module received a new report. \end{DoxyCompactList}\item 
Event\+Group\+Handle\+\_\+t \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aacddf6425d126d8e854eff620a2dbec0}{evt\+\_\+grp\+\_\+task}}
\begin{DoxyCompactList}\small\item\em Event group for indicating various \doxylink{class_b_n_o08x}{BNO08x} related events between tasks. \end{DoxyCompactList}\item 
etl\+::vector$<$ uint8\+\_\+t, \mbox{\hyperlink{_b_n_o08x_global_types_8hpp_a9808babb45af9b32fc51cef8d50341be}{TOTAL\+\_\+\+RPT\+\_\+\+COUNT}} $>$ \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aa63f0d6aa9a27e2f6cdbef17c42c3289}{en\+\_\+report\+\_\+ids}}
\begin{DoxyCompactList}\small\item\em Vector to contain IDs of currently enabled reports. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespace_b_n_o08x_private_types_a72315cafa76ff8c07f84f03fc6b36bc2}{bno08x\+\_\+cb\+\_\+list\+\_\+t}} \mbox{\hyperlink{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_ad38bf7a37a5c9cae7c9d8725b23ff365}{cb\+\_\+list}}
\begin{DoxyCompactList}\small\item\em Vector to contain registered callbacks. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Holds context used to synchronize tasks and callback execution. 

\doxysubsection{Constructor \& Destructor Documentation}
\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a3f9cea8f40f89200c93f2a4bf09039ac}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a3f9cea8f40f89200c93f2a4bf09039ac} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!bno08x\_sync\_ctx\_t@{bno08x\_sync\_ctx\_t}}
\index{bno08x\_sync\_ctx\_t@{bno08x\_sync\_ctx\_t}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{bno08x\_sync\_ctx\_t()}{bno08x\_sync\_ctx\_t()}}
{\footnotesize\ttfamily BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}



\doxysubsection{Member Data Documentation}
\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_ad38bf7a37a5c9cae7c9d8725b23ff365}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_ad38bf7a37a5c9cae7c9d8725b23ff365} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!cb\_list@{cb\_list}}
\index{cb\_list@{cb\_list}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{cb\_list}{cb\_list}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespace_b_n_o08x_private_types_a72315cafa76ff8c07f84f03fc6b36bc2}{bno08x\+\_\+cb\+\_\+list\+\_\+t}} BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::cb\+\_\+list}



Vector to contain registered callbacks. 

\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a551d1eb66d239c54cffa96b558e40a15}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a551d1eb66d239c54cffa96b558e40a15} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!data\_lock@{data\_lock}}
\index{data\_lock@{data\_lock}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{data\_lock}{data\_lock}}
{\footnotesize\ttfamily Semaphore\+Handle\+\_\+t BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::data\+\_\+lock}



Mutex to prevent user from reading data while data\+\_\+proc\+\_\+task() updates it, and vice versa. 

\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aa63f0d6aa9a27e2f6cdbef17c42c3289}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aa63f0d6aa9a27e2f6cdbef17c42c3289} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!en\_report\_ids@{en\_report\_ids}}
\index{en\_report\_ids@{en\_report\_ids}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{en\_report\_ids}{en\_report\_ids}}
{\footnotesize\ttfamily etl\+::vector$<$uint8\+\_\+t, \mbox{\hyperlink{_b_n_o08x_global_types_8hpp_a9808babb45af9b32fc51cef8d50341be}{TOTAL\+\_\+\+RPT\+\_\+\+COUNT}}$>$ BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::en\+\_\+report\+\_\+ids}



Vector to contain IDs of currently enabled reports. 

\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a13f4a91c74fbf09059b5b136ed4f09ac}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a13f4a91c74fbf09059b5b136ed4f09ac} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!evt\_grp\_rpt\_data\_available@{evt\_grp\_rpt\_data\_available}}
\index{evt\_grp\_rpt\_data\_available@{evt\_grp\_rpt\_data\_available}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{evt\_grp\_rpt\_data\_available}{evt\_grp\_rpt\_data\_available}}
{\footnotesize\ttfamily Event\+Group\+Handle\+\_\+t BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::evt\+\_\+grp\+\_\+rpt\+\_\+data\+\_\+available}



Event group for indicating to \doxylink{class_b_n_o08x_rpt_a74f6037286b51382535bab61680297ed}{BNO08x\+Rpt\+::has\+\_\+new\+\_\+data()} that a module received a new report. 

\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aeaeeb8fa04544f63b66c32f3adbb0041}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aeaeeb8fa04544f63b66c32f3adbb0041} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!evt\_grp\_rpt\_en@{evt\_grp\_rpt\_en}}
\index{evt\_grp\_rpt\_en@{evt\_grp\_rpt\_en}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{evt\_grp\_rpt\_en}{evt\_grp\_rpt\_en}}
{\footnotesize\ttfamily Event\+Group\+Handle\+\_\+t BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::evt\+\_\+grp\+\_\+rpt\+\_\+en}



Event group for indicating which reports are currently enabled. 

\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aacddf6425d126d8e854eff620a2dbec0}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_aacddf6425d126d8e854eff620a2dbec0} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!evt\_grp\_task@{evt\_grp\_task}}
\index{evt\_grp\_task@{evt\_grp\_task}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{evt\_grp\_task}{evt\_grp\_task}}
{\footnotesize\ttfamily Event\+Group\+Handle\+\_\+t BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::evt\+\_\+grp\+\_\+task}



Event group for indicating various \doxylink{class_b_n_o08x}{BNO08x} related events between tasks. 

\Hypertarget{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a5433c33ca93bfd2be4a7575ddff7a8d9}\label{struct_b_n_o08x_private_types_1_1bno08x__sync__ctx__t_a5433c33ca93bfd2be4a7575ddff7a8d9} 
\index{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}!sh2\_HAL\_lock@{sh2\_HAL\_lock}}
\index{sh2\_HAL\_lock@{sh2\_HAL\_lock}!BNO08xPrivateTypes::bno08x\_sync\_ctx\_t@{BNO08xPrivateTypes::bno08x\_sync\_ctx\_t}}
\doxysubsubsection{\texorpdfstring{sh2\_HAL\_lock}{sh2\_HAL\_lock}}
{\footnotesize\ttfamily Semaphore\+Handle\+\_\+t BNO08x\+Private\+Types\+::bno08x\+\_\+sync\+\_\+ctx\+\_\+t\+::sh2\+\_\+\+HAL\+\_\+lock}



Mutex to prevent sh2 HAL lib functions from being accessed at same time. 



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
include/\mbox{\hyperlink{_b_n_o08x_private_types_8hpp}{BNO08x\+Private\+Types.\+hpp}}\end{DoxyCompactItemize}
