\hypertarget{serial__lcd_8c}{
\section{serial\_\-lcd.c File Reference}
\label{serial__lcd_8c}\index{serial\_\-lcd.c@{serial\_\-lcd.c}}
}
{\ttfamily \#include $<$serial\_\-lcd.h$>$}\par
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{serial__lcd_8c_aa524e47ffcf33bbc39e5b6701ae33d51}{send\_\-byte\_\-to\_\-lcd} (uint8\_\-t rs, uint8\_\-t lcd\_\-data)
\begin{DoxyCompactList}\small\item\em Internal command used within the library to sens a byte over the two wire system. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_adc07a1584db766e7eca37f2c5974cbf9}{home\_\-lcd} ()
\begin{DoxyCompactList}\small\item\em Move the LCD cursor to the home position without otherwise changing the display. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_aea016d365b1fba7455561b8b8572229c}{clear\_\-lcd} ()
\begin{DoxyCompactList}\small\item\em clear the display, and home the cursor. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_ad3e2b36672ef781b62c0b2e9ce27b017}{scroll\_\-lcd\_\-left} ()
\begin{DoxyCompactList}\small\item\em Scroll the display left by 1 character, without otherwise changing the display. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a58d5d43c6b4fbff7f7d2bbb002743459}{scroll\_\-lcd\_\-right} ()
\begin{DoxyCompactList}\small\item\em Scroll the display right by 1 character, without otherwise changing the display. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a08fa8d3d065be0789b495fa4b0a3d5d5}{row2\_\-lcd} ()
\begin{DoxyCompactList}\small\item\em Move the LCD cursor to the second line of the display. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a57fea1304029ef913806072ea0ffd8d6}{setaddress\_\-lcd} (uint8\_\-t row, uint8\_\-t column)
\begin{DoxyCompactList}\small\item\em Move the address pointer to the memory address corresponding to the row and column specified. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_afc1884f887359519a64c720eeab2e661}{LCD\_\-display\_\-char} (char character)
\begin{DoxyCompactList}\small\item\em Display the specified character at the cursor position and move the cursor on 1 position. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_afa236a6c4808eee169b145f18c102094}{LCD\_\-display\_\-string} (char $\ast$string)
\begin{DoxyCompactList}\small\item\em Display the specified string at the cursor position and move the cursor on. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a4d61039cb6769fe87b56103ff17985ee}{LCD\_\-display\_\-uint8} (uint8\_\-t val)
\begin{DoxyCompactList}\small\item\em Display an 8 bit unsigned value as up to three characters. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_acd8f4f8903a3e085800f3fcdfb641366}{LCD\_\-display\_\-int8} (int8\_\-t val)
\begin{DoxyCompactList}\small\item\em Display a signed 8 bit value as an optional minus sign followed by up to three characters. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a12ba14009bb472bcee382aafc295a025}{LCD\_\-display\_\-int16} (int16\_\-t val)
\begin{DoxyCompactList}\small\item\em Display a signed 16 bit value as an optional minus sign followed by up to three characters. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a1eb88ab0e09abfd8211627b53e5ac78e}{LCD\_\-display\_\-uint16} (uint16\_\-t val)
\begin{DoxyCompactList}\small\item\em Display a 16 bit unsigned value as up to three characters. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a5bc0bd38f2bb43e138dc13a13500b252}{LCD\_\-display\_\-bin} (uint8\_\-t val)
\begin{DoxyCompactList}\small\item\em Display an 8 bit unsigned value as exactly eight characters of 0 or 1. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_ae7ef662298dd39771a15bfd347dfa9e5}{LCD\_\-display\_\-nibble} (uint8\_\-t nibble)
\begin{DoxyCompactList}\small\item\em Display the lowest 4 bits of an 8 bit unsigned value as one ASCII character 0-\/9,A-\/F. \item\end{DoxyCompactList}\item 
void \hyperlink{serial__lcd_8c_a2fc69fb0bb0c7c739aed3fd596c68163}{LCD\_\-display\_\-hex} (uint8\_\-t val)
\begin{DoxyCompactList}\small\item\em Display an 8 bit unsigned value as two ASCII characters 0-\/9,A-\/F. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Function Documentation}
\hypertarget{serial__lcd_8c_aea016d365b1fba7455561b8b8572229c}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!clear\_\-lcd@{clear\_\-lcd}}
\index{clear\_\-lcd@{clear\_\-lcd}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{clear\_\-lcd}]{\setlength{\rightskip}{0pt plus 5cm}void clear\_\-lcd (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_aea016d365b1fba7455561b8b8572229c}


clear the display, and home the cursor. 

Convenience function to issue the command 0x01 This function will return as soon as the command is issued, the display may internally take an unspecified time to execute the command. \hypertarget{serial__lcd_8c_adc07a1584db766e7eca37f2c5974cbf9}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!home\_\-lcd@{home\_\-lcd}}
\index{home\_\-lcd@{home\_\-lcd}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{home\_\-lcd}]{\setlength{\rightskip}{0pt plus 5cm}void home\_\-lcd (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_adc07a1584db766e7eca37f2c5974cbf9}


Move the LCD cursor to the home position without otherwise changing the display. 

Convenience function to issue the command 0x02 This function will return as soon as the command is issued, the display may internally take an unspecified time to execute the command. \hypertarget{serial__lcd_8c_a5bc0bd38f2bb43e138dc13a13500b252}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-bin@{LCD\_\-display\_\-bin}}
\index{LCD\_\-display\_\-bin@{LCD\_\-display\_\-bin}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-bin}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-bin (
\begin{DoxyParamCaption}
\item[{uint8\_\-t}]{ val}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a5bc0bd38f2bb43e138dc13a13500b252}


Display an 8 bit unsigned value as exactly eight characters of 0 or 1. 


\begin{DoxyParams}{Parameters}
\item[{\em val}]The 8 bit value to be displayed\end{DoxyParams}
Display an 8 bit unsigned value as exactly eight characters of 0 or 1.

See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_afc1884f887359519a64c720eeab2e661}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-char@{LCD\_\-display\_\-char}}
\index{LCD\_\-display\_\-char@{LCD\_\-display\_\-char}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-char}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-char (
\begin{DoxyParamCaption}
\item[{char}]{ character}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_afc1884f887359519a64c720eeab2e661}


Display the specified character at the cursor position and move the cursor on 1 position. 


\begin{DoxyParams}{Parameters}
\item[{\em character}]The 8 bit character to be displayed\end{DoxyParams}
The display has 40 characters of memory for each line, irrespective of the number of characters displayed, so it is perfectly possible to write 'off the right' of a display. The characters there would be seen in a subsequent scroll left.

This function will return as soon as the command is issued, the display may internally take an unspecified time to execute the command. \hypertarget{serial__lcd_8c_a2fc69fb0bb0c7c739aed3fd596c68163}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-hex@{LCD\_\-display\_\-hex}}
\index{LCD\_\-display\_\-hex@{LCD\_\-display\_\-hex}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-hex}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-hex (
\begin{DoxyParamCaption}
\item[{uint8\_\-t}]{ val}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a2fc69fb0bb0c7c739aed3fd596c68163}


Display an 8 bit unsigned value as two ASCII characters 0-\/9,A-\/F. 


\begin{DoxyParams}{Parameters}
\item[{\em val}]The 8 bit value to be displayed\end{DoxyParams}
Display an 8 bit unsigned value as two ASCII characters 0-\/9,A-\/F, top 4 bits to ASCII first, then low 4 bits

See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_a12ba14009bb472bcee382aafc295a025}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-int16@{LCD\_\-display\_\-int16}}
\index{LCD\_\-display\_\-int16@{LCD\_\-display\_\-int16}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-int16}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-int16 (
\begin{DoxyParamCaption}
\item[{int16\_\-t}]{ val}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a12ba14009bb472bcee382aafc295a025}


Display a signed 16 bit value as an optional minus sign followed by up to three characters. 


\begin{DoxyParams}{Parameters}
\item[{\em val}]The 16 bit value to be displayed\end{DoxyParams}
Display an 16 bit signed integer on the LCD, as an optional minus sign followed by a series of up to five decimal characters. Doesn't output leading zeroes, so number of characters transmitted may vary.

See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_acd8f4f8903a3e085800f3fcdfb641366}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-int8@{LCD\_\-display\_\-int8}}
\index{LCD\_\-display\_\-int8@{LCD\_\-display\_\-int8}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-int8}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-int8 (
\begin{DoxyParamCaption}
\item[{int8\_\-t}]{ val}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_acd8f4f8903a3e085800f3fcdfb641366}


Display a signed 8 bit value as an optional minus sign followed by up to three characters. 


\begin{DoxyParams}{Parameters}
\item[{\em val}]The 8 bit value to be displayed\end{DoxyParams}
Display an 8 bit signed integer on the LCD, as an optional minus sign followed by a series of up to three decimal characters. Doesn't output leading zeroes, so number of characters transmitted may vary.

See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_ae7ef662298dd39771a15bfd347dfa9e5}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-nibble@{LCD\_\-display\_\-nibble}}
\index{LCD\_\-display\_\-nibble@{LCD\_\-display\_\-nibble}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-nibble}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-nibble (
\begin{DoxyParamCaption}
\item[{uint8\_\-t}]{ nibble}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_ae7ef662298dd39771a15bfd347dfa9e5}


Display the lowest 4 bits of an 8 bit unsigned value as one ASCII character 0-\/9,A-\/F. 


\begin{DoxyParams}{Parameters}
\item[{\em nibble}]The 8 bit value to be displayed\end{DoxyParams}
Display the lowest 4 bits of an 8 bit unsigned value as one ASCII character 0-\/9,A-\/F The upper bits of the value are ignored.

See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_afa236a6c4808eee169b145f18c102094}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-string@{LCD\_\-display\_\-string}}
\index{LCD\_\-display\_\-string@{LCD\_\-display\_\-string}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-string}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-string (
\begin{DoxyParamCaption}
\item[{char $\ast$}]{ string}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_afa236a6c4808eee169b145f18c102094}


Display the specified string at the cursor position and move the cursor on. 


\begin{DoxyParams}{Parameters}
\item[{\em string}]pointer to the start of the string\end{DoxyParams}
See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_a1eb88ab0e09abfd8211627b53e5ac78e}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-uint16@{LCD\_\-display\_\-uint16}}
\index{LCD\_\-display\_\-uint16@{LCD\_\-display\_\-uint16}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-uint16}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-uint16 (
\begin{DoxyParamCaption}
\item[{uint16\_\-t}]{ val}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a1eb88ab0e09abfd8211627b53e5ac78e}


Display a 16 bit unsigned value as up to three characters. 


\begin{DoxyParams}{Parameters}
\item[{\em val}]The 16 bit value to be displayed\end{DoxyParams}
Display a 16 bit unsigned integer on the LCD, as a series of up to five decimal characters. Doesn't output leading zeroes, so number of characters transmitted may vary.

See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_a4d61039cb6769fe87b56103ff17985ee}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!LCD\_\-display\_\-uint8@{LCD\_\-display\_\-uint8}}
\index{LCD\_\-display\_\-uint8@{LCD\_\-display\_\-uint8}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{LCD\_\-display\_\-uint8}]{\setlength{\rightskip}{0pt plus 5cm}void LCD\_\-display\_\-uint8 (
\begin{DoxyParamCaption}
\item[{uint8\_\-t}]{ val}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a4d61039cb6769fe87b56103ff17985ee}


Display an 8 bit unsigned value as up to three characters. 


\begin{DoxyParams}{Parameters}
\item[{\em val}]The 8 bit value to be displayed\end{DoxyParams}
Display an 8 bit unsigned integer on the LCD, as a series of up to three decimal characters. Doesn't output leading zeroes, so number of characters transmitted may vary.

See the documentation for LCD\_\-display\_\-char for more detail and limitations of these LCD devices, \hypertarget{serial__lcd_8c_a08fa8d3d065be0789b495fa4b0a3d5d5}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!row2\_\-lcd@{row2\_\-lcd}}
\index{row2\_\-lcd@{row2\_\-lcd}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{row2\_\-lcd}]{\setlength{\rightskip}{0pt plus 5cm}void row2\_\-lcd (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a08fa8d3d065be0789b495fa4b0a3d5d5}


Move the LCD cursor to the second line of the display. 

This function will return as soon as the command is issued, the display may internally take an unspecified time to execute the command. \hypertarget{serial__lcd_8c_ad3e2b36672ef781b62c0b2e9ce27b017}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!scroll\_\-lcd\_\-left@{scroll\_\-lcd\_\-left}}
\index{scroll\_\-lcd\_\-left@{scroll\_\-lcd\_\-left}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{scroll\_\-lcd\_\-left}]{\setlength{\rightskip}{0pt plus 5cm}void scroll\_\-lcd\_\-left (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_ad3e2b36672ef781b62c0b2e9ce27b017}


Scroll the display left by 1 character, without otherwise changing the display. 

Note that both lines scroll left on a multi line display. The display has 40 characters of memory for each line, irrespective of the number of characters displayed. This function will return as soon as the command is issued, the display may internally take an unspecified time to execute the command. \hypertarget{serial__lcd_8c_a58d5d43c6b4fbff7f7d2bbb002743459}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!scroll\_\-lcd\_\-right@{scroll\_\-lcd\_\-right}}
\index{scroll\_\-lcd\_\-right@{scroll\_\-lcd\_\-right}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{scroll\_\-lcd\_\-right}]{\setlength{\rightskip}{0pt plus 5cm}void scroll\_\-lcd\_\-right (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a58d5d43c6b4fbff7f7d2bbb002743459}


Scroll the display right by 1 character, without otherwise changing the display. 

Note that both lines scroll right on a multi line display, either wrapping or inserting blank chacters at the beginning of the line depending on the specific model of LCD. The display has 40 characters of memory for each line, irrespective of the number of characters displayed. This function will return as soon as the command is issued, the display may internally take an unspecified time to execute the command. \hypertarget{serial__lcd_8c_aa524e47ffcf33bbc39e5b6701ae33d51}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!send\_\-byte\_\-to\_\-lcd@{send\_\-byte\_\-to\_\-lcd}}
\index{send\_\-byte\_\-to\_\-lcd@{send\_\-byte\_\-to\_\-lcd}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{send\_\-byte\_\-to\_\-lcd}]{\setlength{\rightskip}{0pt plus 5cm}void send\_\-byte\_\-to\_\-lcd (
\begin{DoxyParamCaption}
\item[{uint8\_\-t}]{ rs, }
\item[{uint8\_\-t}]{ lcd\_\-data}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_aa524e47ffcf33bbc39e5b6701ae33d51}


Internal command used within the library to sens a byte over the two wire system. 


\begin{DoxyParams}{Parameters}
\item[{\em rs}]1=data, 0=control\item[{\em lcd\_\-data}]8 bit value to be sent to the LCD \end{DoxyParams}
\hypertarget{serial__lcd_8c_a57fea1304029ef913806072ea0ffd8d6}{
\index{serial\_\-lcd.c@{serial\_\-lcd.c}!setaddress\_\-lcd@{setaddress\_\-lcd}}
\index{setaddress\_\-lcd@{setaddress\_\-lcd}!serial_lcd.c@{serial\_\-lcd.c}}
\subsubsection[{setaddress\_\-lcd}]{\setlength{\rightskip}{0pt plus 5cm}void setaddress\_\-lcd (
\begin{DoxyParamCaption}
\item[{uint8\_\-t}]{ row, }
\item[{uint8\_\-t}]{ column}
\end{DoxyParamCaption}
)}}
\label{serial__lcd_8c_a57fea1304029ef913806072ea0ffd8d6}


Move the address pointer to the memory address corresponding to the row and column specified. 


\begin{DoxyParams}{Parameters}
\item[{\em row}]Row number counting from 0 \item[{\em column}]Column number counting from 0\end{DoxyParams}
Moves the address pointer to the address specified, so new text will be inserted at this new address. The blinking cursor will not be moved.

The display has 40 characters of memory for each line, irrespective of the number of characters displayed.

This function will return as soon as the command is issued, the display may internally take an unspecified time to execute the command. 