\doxysection{BCCH channel coding}
\label{group__bcch}\index{BCCH channel coding@{BCCH channel coding}}
\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \textbf{ bcch.\+h}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 BCCH channel coding header. \end{DoxyCompactList}\item 
file \textbf{ bcch.\+c}
\begin{DoxyCompactList}\small\item\em Osmocom GMR-\/1 BCCH channel coding implementation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \textbf{ gmr1\+\_\+bcch\+\_\+encode} (\textbf{ ubit\+\_\+t} $\ast$bits\+\_\+e, const uint8\+\_\+t $\ast$l2)
\begin{DoxyCompactList}\small\item\em Stateless GMR-\/1 BCCH channel coder. \end{DoxyCompactList}\item 
int \textbf{ gmr1\+\_\+bcch\+\_\+decode} (uint8\+\_\+t $\ast$l2, const \textbf{ sbit\+\_\+t} $\ast$bits\+\_\+e, int $\ast$conv\+\_\+rv)
\begin{DoxyCompactList}\small\item\em Stateless GMR-\/1 BCCH channel decoder. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


\doxysubsection{Function Documentation}
\mbox{\label{group__bcch_ga73717708a391d84da44845fbaf2e73a4}} 
\index{BCCH channel coding@{BCCH channel coding}!gmr1\_bcch\_decode@{gmr1\_bcch\_decode}}
\index{gmr1\_bcch\_decode@{gmr1\_bcch\_decode}!BCCH channel coding@{BCCH channel coding}}
\doxysubsubsection{gmr1\_bcch\_decode()}
{\footnotesize\ttfamily int gmr1\+\_\+bcch\+\_\+decode (\begin{DoxyParamCaption}\item[{uint8\+\_\+t $\ast$}]{l2,  }\item[{const \textbf{ sbit\+\_\+t} $\ast$}]{bits\+\_\+e,  }\item[{int $\ast$}]{conv\+\_\+rv }\end{DoxyParamCaption})}



Stateless GMR-\/1 BCCH channel decoder. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em l2} & L2 packet data \\
\hline
\mbox{\texttt{ in}}  & {\em bits\+\_\+e} & Data bits of a burst \\
\hline
\mbox{\texttt{ out}}  & {\em conv\+\_\+rv} & Return of the convolutional decode (can be NULL) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 if CRC check pass, any other value for fail.
\end{DoxyReturn}
L2 data is 24 byte long, and bits\+\_\+e is a 424 soft bit array unmapped from a burst. 

References \textbf{ gmr1\+\_\+deinterleave\+\_\+intra()}, \textbf{ gmr1\+\_\+scramble\+\_\+sbit()}, and \textbf{ osmo\+\_\+conv\+\_\+decode()}.

\mbox{\label{group__bcch_ga7a8f900d4c5b81ad9a903ee9b7d6b9e7}} 
\index{BCCH channel coding@{BCCH channel coding}!gmr1\_bcch\_encode@{gmr1\_bcch\_encode}}
\index{gmr1\_bcch\_encode@{gmr1\_bcch\_encode}!BCCH channel coding@{BCCH channel coding}}
\doxysubsubsection{gmr1\_bcch\_encode()}
{\footnotesize\ttfamily void gmr1\+\_\+bcch\+\_\+encode (\begin{DoxyParamCaption}\item[{\textbf{ ubit\+\_\+t} $\ast$}]{bits\+\_\+e,  }\item[{const uint8\+\_\+t $\ast$}]{l2 }\end{DoxyParamCaption})}



Stateless GMR-\/1 BCCH channel coder. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ out}}  & {\em bits\+\_\+e} & Data bits of a burst \\
\hline
\mbox{\texttt{ in}}  & {\em l2} & L2 packet data\\
\hline
\end{DoxyParams}
L2 data is 24 byte long, and bits\+\_\+e is a 424 hard bit array to be mapped on a burst. 

References \textbf{ gmr1\+\_\+crc16}, \textbf{ osmo\+\_\+conv\+\_\+encode()}, \textbf{ osmo\+\_\+crc16gen\+\_\+set\+\_\+bits()}, and \textbf{ osmo\+\_\+pbit2ubit\+\_\+ext()}.

