\hypertarget{controls_8h}{}\doxysection{controls.\+h-\/Dateireferenz} \label{controls_8h}\index{controls.h@{controls.h}} Headerdatei für \mbox{\hyperlink{controls_8c}{controls.\+c}}. {\ttfamily \#include \char`\"{}globals.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}encoder.\+h\char`\"{}}\newline Include-\/\+Abhängigkeitsdiagramm für controls.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{controls_8h__incl} \end{center} \end{figure} Dieser Graph zeigt, welche Datei direkt oder indirekt diese Datei enthält\+: \nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=268pt]{controls_8h__dep__incl} \end{center} \end{figure} \doxysubsection*{Funktionen} \begin{DoxyCompactItemize} \item void \mbox{\hyperlink{controls_8h_a0366eaeb4aab61562dcd5b24994d0103}{Boop}} (void) \begin{DoxyCompactList}\small\item\em Boop Ton ausgeben. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_a2f616a93763b4bc437c4311d653c0491}{Beep}} (void) \begin{DoxyCompactList}\small\item\em Beep Ton ausgeben. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_a586bc00ad3164def7ec76ac9bda4f1bc}{Write\+EEprom}} (void) \begin{DoxyCompactList}\small\item\em Akt. Einstellungen in EEPROM schreiben. \end{DoxyCompactList}\item \mbox{\Hypertarget{controls_8h_a543d0f249e5b505063a706525f99ff3a}\label{controls_8h_a543d0f249e5b505063a706525f99ff3a}} void {\bfseries Side\+Tone\+Off} (void) \item void \mbox{\hyperlink{controls_8h_a4e03330a0d63dbc5c8c0ce8a3ba10ff7}{Delay\+Milli\+Seconds}} (uint16\+\_\+t t) \begin{DoxyCompactList}\small\item\em Zeitschleife von 1-\/65535 Millisekunden. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_a378d56bf0e68310b700bd4dbdc652803}{Tone}} (uint16\+\_\+t f, uint8\+\_\+t t) \begin{DoxyCompactList}\small\item\em Ausgabe eines Tons mit Dauer und Frequenz. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_aa0e063cf32b840a3ed51ae9aa677e2be}{Set\+Ratio}} (void) \begin{DoxyCompactList}\small\item\em Berechnung der Zeitdauer für Punkt und Strich. \end{DoxyCompactList}\item \mbox{\Hypertarget{controls_8h_a7a31f60576d112eca1abddf447df8248}\label{controls_8h_a7a31f60576d112eca1abddf447df8248}} void {\bfseries Set\+Weight} (void) \item void \mbox{\hyperlink{controls_8h_ae8011166e9324f9f3c6948249eb15fd1}{Sidetone\+Disable}} (void) \begin{DoxyCompactList}\small\item\em Audioverstärker abschalten. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_a60f2f041b0803584ba5fc2e0a373ed50}{Sidetone\+Enable}} (void) \begin{DoxyCompactList}\small\item\em Audioverstärker einschalten. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_ad82537f7ea58b4eb375952ce52615c4d}{Sidetone\+Off}} (void) \begin{DoxyCompactList}\small\item\em Mithörton ausschalten. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_ac6dc8b683fdf1a5fc24b2a509279f887}{Drehencoder}} (void) \begin{DoxyCompactList}\small\item\em Mit dieser Funktion wird per Polling der Drehencoder abgefragt. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_a582148370499a6b91171ed6134cc7041}{Config\+Menue}} (void) \begin{DoxyCompactList}\small\item\em Ausgabe des Menues für die Einstellungen. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_ace58ee95637a8f220527dc8b20dbb662}{Update\+Display}} (void) \begin{DoxyCompactList}\small\item\em Update\+Display. \end{DoxyCompactList}\item void \mbox{\hyperlink{controls_8h_a9dec45875121142b6466b9475691b40a}{Display\+Version}} (void) \begin{DoxyCompactList}\small\item\em Ausgabe der Softwareversion des BJ-\/\+Keyers. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Variablen} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structConfig}{Config}} \mbox{\hyperlink{controls_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}{b\+Config}} \begin{DoxyCompactList}\small\item\em Struktur für die Einstellungen. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structMenuCtrl}{Menu\+Ctrl}} \mbox{\hyperlink{controls_8h_a885b2af021946a60a0bd2a271711c17a}{b\+Menu\+Ctrl}} \begin{DoxyCompactList}\small\item\em Struktur für die Menuesteuerung. \end{DoxyCompactList}\item struct \mbox{\hyperlink{structState}{State}} \mbox{\hyperlink{controls_8h_a44ef5c8aeac95b862dab43408c149f9a}{b\+State}} \begin{DoxyCompactList}\small\item\em Struktur für den aktuellen Status. \end{DoxyCompactList}\item uint16\+\_\+t \mbox{\hyperlink{controls_8h_a088c685d08447f6614b3aea76cd94582}{Menu\+Ctrl\+Timer}} \begin{DoxyCompactList}\small\item\em Wartezeit bis zur Betriebsanzeige nach \mbox{\hyperlink{structConfig}{Config}}. \end{DoxyCompactList}\item uint8\+\_\+t \mbox{\hyperlink{controls_8h_a28fa6cb1767abefbe9c197700410d946}{WpM}} \begin{DoxyCompactList}\small\item\em Aktuelle Zeichengeschwindigkeit. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Ausführliche Beschreibung} Headerdatei für \mbox{\hyperlink{controls_8c}{controls.\+c}}. \begin{DoxyAuthor}{Autor} Tom, DL7\+BJ \end{DoxyAuthor} \doxysubsection{Dokumentation der Funktionen} \mbox{\Hypertarget{controls_8h_a2f616a93763b4bc437c4311d653c0491}\label{controls_8h_a2f616a93763b4bc437c4311d653c0491}} \index{controls.h@{controls.h}!Beep@{Beep}} \index{Beep@{Beep}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{Beep()}{Beep()}} {\footnotesize\ttfamily void Beep (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Beep Ton ausgeben. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_a0366eaeb4aab61562dcd5b24994d0103}\label{controls_8h_a0366eaeb4aab61562dcd5b24994d0103}} \index{controls.h@{controls.h}!Boop@{Boop}} \index{Boop@{Boop}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{Boop()}{Boop()}} {\footnotesize\ttfamily void Boop (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Boop Ton ausgeben. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_a582148370499a6b91171ed6134cc7041}\label{controls_8h_a582148370499a6b91171ed6134cc7041}} \index{controls.h@{controls.h}!ConfigMenue@{ConfigMenue}} \index{ConfigMenue@{ConfigMenue}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{ConfigMenue()}{ConfigMenue()}} {\footnotesize\ttfamily void Config\+Menue (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Ausgabe des Menues für die Einstellungen. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_a4e03330a0d63dbc5c8c0ce8a3ba10ff7}\label{controls_8h_a4e03330a0d63dbc5c8c0ce8a3ba10ff7}} \index{controls.h@{controls.h}!DelayMilliSeconds@{DelayMilliSeconds}} \index{DelayMilliSeconds@{DelayMilliSeconds}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{DelayMilliSeconds()}{DelayMilliSeconds()}} {\footnotesize\ttfamily void Delay\+Milli\+Seconds (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{ms }\end{DoxyParamCaption})} Zeitschleife von 1-\/65535 Millisekunden. \begin{DoxyParams}{Parameter} {\em ms} & Anzahl Millisekunden \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_a9dec45875121142b6466b9475691b40a}\label{controls_8h_a9dec45875121142b6466b9475691b40a}} \index{controls.h@{controls.h}!DisplayVersion@{DisplayVersion}} \index{DisplayVersion@{DisplayVersion}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{DisplayVersion()}{DisplayVersion()}} {\footnotesize\ttfamily void Display\+Version (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Ausgabe der Softwareversion des BJ-\/\+Keyers. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_ac6dc8b683fdf1a5fc24b2a509279f887}\label{controls_8h_ac6dc8b683fdf1a5fc24b2a509279f887}} \index{controls.h@{controls.h}!Drehencoder@{Drehencoder}} \index{Drehencoder@{Drehencoder}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{Drehencoder()}{Drehencoder()}} {\footnotesize\ttfamily void Drehencoder (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Mit dieser Funktion wird per Polling der Drehencoder abgefragt. \begin{DoxyVerb} Es wird die Stellung des Encoders und der Status des Tasters abgefragt. Die Daten werden ausgewertet und die entsprechende Funktion aufgerufen \end{DoxyVerb} \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} neuen Wert in b\+Config speichern Status für Timer 0 setzen Status für Update\+Display setzen neuen Werte in Encoder\+Pos speichern neuen Wert in WpM übernehmen Timer 0 Variable löschen für Update EEprom\mbox{\Hypertarget{controls_8h_aa0e063cf32b840a3ed51ae9aa677e2be}\label{controls_8h_aa0e063cf32b840a3ed51ae9aa677e2be}} \index{controls.h@{controls.h}!SetRatio@{SetRatio}} \index{SetRatio@{SetRatio}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{SetRatio()}{SetRatio()}} {\footnotesize\ttfamily void Set\+Ratio (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Berechnung der Zeitdauer für Punkt und Strich. \begin{DoxyVerb} Die Länge eines Symbols ist abhängig von der eingestellten Geschwindigkeit. Intern wird immer mit Wörtern pro Minute gerechnet. Das normale Punkt/Strich Verhältnis ist 1:3. Dies kann durch den Parameter Ratio in den Einstellungen verändert werden. \end{DoxyVerb} \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_ae8011166e9324f9f3c6948249eb15fd1}\label{controls_8h_ae8011166e9324f9f3c6948249eb15fd1}} \index{controls.h@{controls.h}!SidetoneDisable@{SidetoneDisable}} \index{SidetoneDisable@{SidetoneDisable}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{SidetoneDisable()}{SidetoneDisable()}} {\footnotesize\ttfamily void Sidetone\+Disable (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Audioverstärker abschalten. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_a60f2f041b0803584ba5fc2e0a373ed50}\label{controls_8h_a60f2f041b0803584ba5fc2e0a373ed50}} \index{controls.h@{controls.h}!SidetoneEnable@{SidetoneEnable}} \index{SidetoneEnable@{SidetoneEnable}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{SidetoneEnable()}{SidetoneEnable()}} {\footnotesize\ttfamily void Sidetone\+Enable (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Audioverstärker einschalten. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_ad82537f7ea58b4eb375952ce52615c4d}\label{controls_8h_ad82537f7ea58b4eb375952ce52615c4d}} \index{controls.h@{controls.h}!SidetoneOff@{SidetoneOff}} \index{SidetoneOff@{SidetoneOff}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{SidetoneOff()}{SidetoneOff()}} {\footnotesize\ttfamily void Sidetone\+Off (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Mithörton ausschalten. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_a378d56bf0e68310b700bd4dbdc652803}\label{controls_8h_a378d56bf0e68310b700bd4dbdc652803}} \index{controls.h@{controls.h}!Tone@{Tone}} \index{Tone@{Tone}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{Tone()}{Tone()}} {\footnotesize\ttfamily void Tone (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{f, }\item[{uint8\+\_\+t}]{duration }\end{DoxyParamCaption})} Ausgabe eines Tons mit Dauer und Frequenz. \begin{DoxyParams}{Parameter} {\em f} & Frequenz des Tons \\ \hline {\em duration} & Dauer des Tons \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \mbox{\Hypertarget{controls_8h_ace58ee95637a8f220527dc8b20dbb662}\label{controls_8h_ace58ee95637a8f220527dc8b20dbb662}} \index{controls.h@{controls.h}!UpdateDisplay@{UpdateDisplay}} \index{UpdateDisplay@{UpdateDisplay}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{UpdateDisplay()}{UpdateDisplay()}} {\footnotesize\ttfamily void Update\+Display (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Update\+Display. \begin{DoxyVerb} Aktualisierung der Anzeigen auf dem Display je nach aktueller Funktion. \end{DoxyVerb} DOUBLESIZE 4x10 character NORMALSIZE 8x21 character \mbox{\Hypertarget{controls_8h_a586bc00ad3164def7ec76ac9bda4f1bc}\label{controls_8h_a586bc00ad3164def7ec76ac9bda4f1bc}} \index{controls.h@{controls.h}!WriteEEprom@{WriteEEprom}} \index{WriteEEprom@{WriteEEprom}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{WriteEEprom()}{WriteEEprom()}} {\footnotesize\ttfamily void Write\+EEprom (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} Akt. Einstellungen in EEPROM schreiben. \begin{DoxyParams}{Parameter} {\em none} & \\ \hline \end{DoxyParams} \begin{DoxyRetVals}{Rückgabewerte} {\em none} & \\ \hline \end{DoxyRetVals} \doxysubsection{Variablen-\/\+Dokumentation} \mbox{\Hypertarget{controls_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}\label{controls_8h_a8c3e2d3135447df0d9e7057fea4ff5b0}} \index{controls.h@{controls.h}!bConfig@{bConfig}} \index{bConfig@{bConfig}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{bConfig}{bConfig}} {\footnotesize\ttfamily struct \mbox{\hyperlink{structConfig}{Config}} b\+Config\hspace{0.3cm}{\ttfamily [extern]}} Struktur für die Einstellungen. \mbox{\Hypertarget{controls_8h_a885b2af021946a60a0bd2a271711c17a}\label{controls_8h_a885b2af021946a60a0bd2a271711c17a}} \index{controls.h@{controls.h}!bMenuCtrl@{bMenuCtrl}} \index{bMenuCtrl@{bMenuCtrl}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{bMenuCtrl}{bMenuCtrl}} {\footnotesize\ttfamily struct \mbox{\hyperlink{structMenuCtrl}{Menu\+Ctrl}} b\+Menu\+Ctrl\hspace{0.3cm}{\ttfamily [extern]}} Struktur für die Menuesteuerung. \mbox{\Hypertarget{controls_8h_a44ef5c8aeac95b862dab43408c149f9a}\label{controls_8h_a44ef5c8aeac95b862dab43408c149f9a}} \index{controls.h@{controls.h}!bState@{bState}} \index{bState@{bState}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{bState}{bState}} {\footnotesize\ttfamily struct \mbox{\hyperlink{structState}{State}} b\+State\hspace{0.3cm}{\ttfamily [extern]}} Struktur für den aktuellen Status. \mbox{\Hypertarget{controls_8h_a088c685d08447f6614b3aea76cd94582}\label{controls_8h_a088c685d08447f6614b3aea76cd94582}} \index{controls.h@{controls.h}!MenuCtrlTimer@{MenuCtrlTimer}} \index{MenuCtrlTimer@{MenuCtrlTimer}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{MenuCtrlTimer}{MenuCtrlTimer}} {\footnotesize\ttfamily uint16\+\_\+t Menu\+Ctrl\+Timer\hspace{0.3cm}{\ttfamily [extern]}} Wartezeit bis zur Betriebsanzeige nach \mbox{\hyperlink{structConfig}{Config}}. \mbox{\Hypertarget{controls_8h_a28fa6cb1767abefbe9c197700410d946}\label{controls_8h_a28fa6cb1767abefbe9c197700410d946}} \index{controls.h@{controls.h}!WpM@{WpM}} \index{WpM@{WpM}!controls.h@{controls.h}} \doxysubsubsection{\texorpdfstring{WpM}{WpM}} {\footnotesize\ttfamily uint8\+\_\+t WpM\hspace{0.3cm}{\ttfamily [extern]}} Aktuelle Zeichengeschwindigkeit.