\hypertarget{__1wire__uart_8h}{}\section{include/utl/com/\+\_\+1wire\+\_\+uart.h File Reference}
\label{__1wire__uart_8h}\index{include/utl/com/\+\_\+1wire\+\_\+uart.\+h@{include/utl/com/\+\_\+1wire\+\_\+uart.\+h}}


A 1-\/wire implementation using a microprocessor\textquotesingle{}s uart for bit timing.  


{\ttfamily \#include $<$utl/core/impl.\+h$>$}\newline
{\ttfamily \#include $<$utl/core/crtp.\+h$>$}\newline
{\ttfamily \#include $<$utl/com/\+\_\+1wire.\+h$>$}\newline
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classutl_1_1__1wire__uart__i}{utl\+::\+\_\+1wire\+\_\+uart\+\_\+i$<$ Impl\+\_\+t $>$}}
\begin{DoxyCompactList}\small\item\em 1-\/wire U\+A\+RT interface template class using C\+R\+TP Using the private virtual interface we provide the interface from \+\_\+1wire\+\_\+i$<$$>$ \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classutl_1_1__1wire__uart__i_3_01virtual__tag_01_4}{utl\+::\+\_\+1wire\+\_\+uart\+\_\+i$<$ virtual\+\_\+tag $>$}}
\begin{DoxyCompactList}\small\item\em A virtual base class interface implementation. Using the private virtual interface we provide the interface from \mbox{\hyperlink{classutl_1_1__1wire__i_3_01virtual__tag_01_4}{\+\_\+1wire\+\_\+i$<$virtual\+\_\+tag$>$}} \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Namespaces}
\begin{DoxyCompactItemize}
\item 
 \mbox{\hyperlink{namespaceutl}{utl}}
\begin{DoxyCompactList}\small\item\em S\+TL\textquotesingle{}s core language concepts. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
A 1-\/wire implementation using a microprocessor\textquotesingle{}s uart for bit timing. 

\begin{DoxyNote}{Note}
This 1-\/wire implementation is based on M\+CU U\+A\+RT functionality. The implementation expects\+: 1) An Open drain tx and a floating(or pull-\/up) rx U\+A\+RT pin configuration with both pins connected to the 1-\/wire bus wire 2) A Transmit/receive function even in blocking/polling mode 3) A baudrate set function
\end{DoxyNote}
Copyright (C) 2018 Christos Choutouridis

This program is free software\+: you can redistribute it and/or modify it under the terms of the G\+NU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but W\+I\+T\+H\+O\+UT A\+NY W\+A\+R\+R\+A\+N\+TY; without even the implied warranty of M\+E\+R\+C\+H\+A\+N\+T\+A\+B\+I\+L\+I\+TY or F\+I\+T\+N\+E\+SS F\+OR A P\+A\+R\+T\+I\+C\+U\+L\+AR P\+U\+R\+P\+O\+SE. See the G\+NU Lesser General Public License for more details.

You should have received a copy of the G\+NU Lesser General Public License along with this program. If not, see \href{http://www.gnu.org/licenses/}{\tt http\+://www.\+gnu.\+org/licenses/}. 