\hypertarget{globals_8h}{}\doxysection{globals.\+h-\/Dateireferenz} \label{globals_8h}\index{globals.h@{globals.h}} Globale Variablen, Definitionen und Prototypen. {\ttfamily \#include $<$stdlib.\+h$>$}\newline {\ttfamily \#include $<$stdio.\+h$>$}\newline {\ttfamily \#include $<$stdint.\+h$>$}\newline {\ttfamily \#include $<$string.\+h$>$}\newline {\ttfamily \#include $<$math.\+h$>$}\newline {\ttfamily \#include $<$inttypes.\+h$>$}\newline {\ttfamily \#include $<$avr/io.\+h$>$}\newline {\ttfamily \#include $<$avr/pgmspace.\+h$>$}\newline {\ttfamily \#include $<$avr/wdt.\+h$>$}\newline {\ttfamily \#include $<$avr/interrupt.\+h$>$}\newline {\ttfamily \#include $<$avr/eeprom.\+h$>$}\newline {\ttfamily \#include $<$util/delay.\+h$>$}\newline {\ttfamily \#include $<$util/atomic.\+h$>$}\newline {\ttfamily \#include \char`\"{}oled/i2c.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}oled/lcd.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}oled/font.\+h\char`\"{}}\newline Include-\/\+Abhängigkeitsdiagramm für globals.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{globals_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=266pt]{globals_8h__dep__incl} \end{center} \end{figure} \doxysubsection*{Datenstrukturen} \begin{DoxyCompactItemize} \item struct \mbox{\hyperlink{structState}{State}} \item struct \mbox{\hyperlink{structMenuCtrl}{Menu\+Ctrl}} \item struct \mbox{\hyperlink{structConfig}{Config}} \item struct \mbox{\hyperlink{structMessage}{Message}} \end{DoxyCompactItemize} \doxysubsection*{Makrodefinitionen} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{globals_8h_a43bafb28b29491ec7f871319b5a3b2f8}\label{globals_8h_a43bafb28b29491ec7f871319b5a3b2f8}} \#define {\bfseries F\+\_\+\+CPU}~16000000\+UL \item \mbox{\Hypertarget{globals_8h_a0fac869d83ac1a584d6c45cf609f5fe7}\label{globals_8h_a0fac869d83ac1a584d6c45cf609f5fe7}} \#define {\bfseries PRESCALER}~8 \item \mbox{\Hypertarget{globals_8h_a89bbee3eaf4759d9c2bb75f2cc463c1c}\label{globals_8h_a89bbee3eaf4759d9c2bb75f2cc463c1c}} \#define {\bfseries SINEWAVELENGTH}~64 \item \mbox{\Hypertarget{globals_8h_a1ff3ba8cf4ac5bd14d4189d600c5d367}\label{globals_8h_a1ff3ba8cf4ac5bd14d4189d600c5d367}} \#define {\bfseries F\+\_\+\+CPUPRESIN}~(F\+\_\+\+CPU/(PRESCALER$\ast$SINEWAVELENGTH)) \item \mbox{\Hypertarget{globals_8h_a6a53a6c94a70cc286e300a0ea8f46ba4}\label{globals_8h_a6a53a6c94a70cc286e300a0ea8f46ba4}} \#define {\bfseries USART\+\_\+\+BAUDRATE}~9600 \item \mbox{\Hypertarget{globals_8h_a0b029ff580b042a27aaac4bd2ec925e2}\label{globals_8h_a0b029ff580b042a27aaac4bd2ec925e2}} \#define {\bfseries UBRR\+\_\+\+VALUE}~(((F\+\_\+\+CPU/(USART\+\_\+\+BAUDRATE$\ast$16UL)))-\/1) \item \mbox{\Hypertarget{globals_8h_ae70baf5399951da1e7ad45a0ed890832}\label{globals_8h_ae70baf5399951da1e7ad45a0ed890832}} \#define {\bfseries cbi}(sfr, bit)~(\+\_\+\+SFR\+\_\+\+BYTE(sfr) \&= $\sim$\+\_\+\+BV(bit)) \item \mbox{\Hypertarget{globals_8h_ac4a5536d9bf092116f88b94797ddc882}\label{globals_8h_ac4a5536d9bf092116f88b94797ddc882}} \#define {\bfseries sbi}(sfr, bit)~(\+\_\+\+SFR\+\_\+\+BYTE(sfr) $\vert$= \+\_\+\+BV(bit)) \item \mbox{\Hypertarget{globals_8h_a2a59d5a77252e56299995f56e137cac6}\label{globals_8h_a2a59d5a77252e56299995f56e137cac6}} \#define {\bfseries NOINIT}~\+\_\+\+\_\+attribute\+\_\+\+\_\+ ((section (\char`\"{}.noinit\char`\"{}))) \item \mbox{\Hypertarget{globals_8h_aa980b5e5e502cf62bdca6c0452b97516}\label{globals_8h_aa980b5e5e502cf62bdca6c0452b97516}} \#define {\bfseries CALL}~\char`\"{} DL7\+BJ \char`\"{} \item \mbox{\Hypertarget{globals_8h_a687ae7445182571cc179ad43ecd329e6}\label{globals_8h_a687ae7445182571cc179ad43ecd329e6}} \#define {\bfseries PRG}~\char`\"{} BJ-\/Keyer \char`\"{} \item \mbox{\Hypertarget{globals_8h_a98ed931f97fef7e06e3ea441d0326c67}\label{globals_8h_a98ed931f97fef7e06e3ea441d0326c67}} \#define {\bfseries VER}~\char`\"{} V1.\+03 \char`\"{} \item \#define \mbox{\hyperlink{globals_8h_aad4a7ebff687dc5228cc3fd4d25067f2}{NOTHING}}~0 \begin{DoxyCompactList}\small\item\em Keying states. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_a518c76a915f90d5175ce01e2007b62be}\label{globals_8h_a518c76a915f90d5175ce01e2007b62be}} \#define {\bfseries DIT\+\_\+\+DAH\+\_\+\+OFF}~1 \item \mbox{\Hypertarget{globals_8h_a2206cbd4be1ac8deb197ce07f11ee3e5}\label{globals_8h_a2206cbd4be1ac8deb197ce07f11ee3e5}} \#define {\bfseries DAH\+\_\+\+DIT\+\_\+\+OFF}~2 \item \mbox{\Hypertarget{globals_8h_a0486f3908c841216f2b7a08d8fde0098}\label{globals_8h_a0486f3908c841216f2b7a08d8fde0098}} \#define {\bfseries DIT\+\_\+\+DAH\+\_\+\+ON}~3 \item \mbox{\Hypertarget{globals_8h_a979c3e4f92443067e0d4844f11a11f47}\label{globals_8h_a979c3e4f92443067e0d4844f11a11f47}} \#define {\bfseries DAH\+\_\+\+DIT\+\_\+\+ON}~4 \item \#define \mbox{\hyperlink{globals_8h_ae5284d1a5b3e5a009614298e3e7730bc}{STRAIGHT}}~0 \begin{DoxyCompactList}\small\item\em Keyer mode. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_ab4856cba3700d9faf68f3c36c38a64d5}\label{globals_8h_ab4856cba3700d9faf68f3c36c38a64d5}} \#define {\bfseries IAMBIC\+\_\+B}~1 \item \mbox{\Hypertarget{globals_8h_a1887a861cea3b6644def420638c0fc98}\label{globals_8h_a1887a861cea3b6644def420638c0fc98}} \#define {\bfseries IAMBIC\+\_\+A}~2 \item \mbox{\Hypertarget{globals_8h_a37afa2db2d5b90d445555f29ed6d44a9}\label{globals_8h_a37afa2db2d5b90d445555f29ed6d44a9}} \#define {\bfseries ULTIMATIC}~3 \item \mbox{\Hypertarget{globals_8h_a21db5f41a6f17da0c82b95cda61b48ff}\label{globals_8h_a21db5f41a6f17da0c82b95cda61b48ff}} \#define {\bfseries SINGLE\+\_\+\+PADDLE}~4 \item \#define \mbox{\hyperlink{globals_8h_a0f491a526845fa7f262309a82a0d7190}{PADDLE\+\_\+\+NORMAL}}~0 \begin{DoxyCompactList}\small\item\em Paddle Mode. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_ab8fe6659548cbcff654c32b32903beab}\label{globals_8h_ab8fe6659548cbcff654c32b32903beab}} \#define {\bfseries PADDLE\+\_\+\+REVERSE}~1 \item \#define \mbox{\hyperlink{globals_8h_a26467aab195715bb21eca2df8d729078}{SENDING\+\_\+\+NOTHING}}~0 \begin{DoxyCompactList}\small\item\em Sending Mode. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_a153dd0d1d330ebe85d5681984b690f19}\label{globals_8h_a153dd0d1d330ebe85d5681984b690f19}} \#define {\bfseries SENDING\+\_\+\+DIT}~1 \item \mbox{\Hypertarget{globals_8h_accfd3eb8f7e07b630344f41ecafc6e79}\label{globals_8h_accfd3eb8f7e07b630344f41ecafc6e79}} \#define {\bfseries SENDING\+\_\+\+DAH}~2 \item \mbox{\Hypertarget{globals_8h_acfc4030c7ccaf6767ce25766c334c07b}\label{globals_8h_acfc4030c7ccaf6767ce25766c334c07b}} \#define {\bfseries SENDING\+\_\+\+SPC}~3 \item \mbox{\Hypertarget{globals_8h_a69c769033e48b3d24d40255e3811a068}\label{globals_8h_a69c769033e48b3d24d40255e3811a068}} \#define {\bfseries SENDING\+\_\+\+STRAIGHT}~4 \item \mbox{\Hypertarget{globals_8h_acbf37f526e50d2774c17f10d8d167532}\label{globals_8h_acbf37f526e50d2774c17f10d8d167532}} \#define {\bfseries SENDING\+\_\+\+AUTOMATIC}~5 \item \#define \mbox{\hyperlink{globals_8h_a0cc6f7717df9fbdc0f33efb88720a639}{AUTO}}~0 \begin{DoxyCompactList}\small\item\em Sending Type. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_accc898f427bcfab8f8554d0683a736de}\label{globals_8h_accc898f427bcfab8f8554d0683a736de}} \#define {\bfseries MAN}~1 \item \#define \mbox{\hyperlink{globals_8h_a8f0a217b99055286939b536efe9516f1}{LEFT\+\_\+\+PADDLE}}~PD2 \begin{DoxyCompactList}\small\item\em Ports. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_a2531fa489a13983ebf61c93e71ec43d5}\label{globals_8h_a2531fa489a13983ebf61c93e71ec43d5}} \#define {\bfseries RIGHT\+\_\+\+PADDLE}~PD3 \item \mbox{\Hypertarget{globals_8h_a7ce37f67d167ed8deb6c5e0e24c213d8}\label{globals_8h_a7ce37f67d167ed8deb6c5e0e24c213d8}} \#define {\bfseries STRAIGHT\+\_\+\+KEY}~PD4 \item \mbox{\Hypertarget{globals_8h_adb6b98f999edb7b4152f2e3f8785406a}\label{globals_8h_adb6b98f999edb7b4152f2e3f8785406a}} \#define {\bfseries MORSE\+\_\+\+LED}~PC3 \item \mbox{\Hypertarget{globals_8h_a5e91fefffdc4ae99555253d521d70d42}\label{globals_8h_a5e91fefffdc4ae99555253d521d70d42}} \#define {\bfseries MEM1}~PD5 \item \mbox{\Hypertarget{globals_8h_af81f3155e333a7c017258f1a69949b0b}\label{globals_8h_af81f3155e333a7c017258f1a69949b0b}} \#define {\bfseries MEM2}~PD6 \item \mbox{\Hypertarget{globals_8h_afbacae6e435d743bef46dfc8369bf7c5}\label{globals_8h_afbacae6e435d743bef46dfc8369bf7c5}} \#define {\bfseries MEM3}~PD7 \item \mbox{\Hypertarget{globals_8h_ab305dee14a45b9899420fb017b6b0838}\label{globals_8h_ab305dee14a45b9899420fb017b6b0838}} \#define {\bfseries MEM4}~PC0 \item \mbox{\Hypertarget{globals_8h_a25a135b8117cdf599cdfe176200df2fa}\label{globals_8h_a25a135b8117cdf599cdfe176200df2fa}} \#define {\bfseries MEM5}~PB5 \item \mbox{\Hypertarget{globals_8h_a23a8a741ec974d3d82de16f4a59af347}\label{globals_8h_a23a8a741ec974d3d82de16f4a59af347}} \#define {\bfseries TRX1}~PC1 \item \mbox{\Hypertarget{globals_8h_a8bf6fec9796ce1a4372b299d2ac6079e}\label{globals_8h_a8bf6fec9796ce1a4372b299d2ac6079e}} \#define {\bfseries TRX2}~PC2 \item \mbox{\Hypertarget{globals_8h_a73ed4be5c2afc6b3c6d872c67f06b27b}\label{globals_8h_a73ed4be5c2afc6b3c6d872c67f06b27b}} \#define {\bfseries AUDIO}~PB3 \item \mbox{\Hypertarget{globals_8h_a9aae0b11edb13ba23962062c6310b48a}\label{globals_8h_a9aae0b11edb13ba23962062c6310b48a}} \#define {\bfseries AUDIO\+\_\+\+EN}~PB4 \item \mbox{\Hypertarget{globals_8h_ab5ffc4751921608954bb7a5687566b2d}\label{globals_8h_ab5ffc4751921608954bb7a5687566b2d}} \#define {\bfseries SCL}~PC5 \item \mbox{\Hypertarget{globals_8h_a6890442e1cc24a0d61597a13576b8727}\label{globals_8h_a6890442e1cc24a0d61597a13576b8727}} \#define {\bfseries SDA}~PC4 \item \mbox{\Hypertarget{globals_8h_ad76d1750a6cdeebd506bfcd6752554d2}\label{globals_8h_ad76d1750a6cdeebd506bfcd6752554d2}} \#define {\bfseries ON}~1 \item \mbox{\Hypertarget{globals_8h_a29e413f6725b2ba32d165ffaa35b01e5}\label{globals_8h_a29e413f6725b2ba32d165ffaa35b01e5}} \#define {\bfseries OFF}~0 \item \mbox{\Hypertarget{globals_8h_a1d71d0c10cdc379fc3a1b2f029d3d9c9}\label{globals_8h_a1d71d0c10cdc379fc3a1b2f029d3d9c9}} \#define {\bfseries DIT}~1 \item \mbox{\Hypertarget{globals_8h_a3e7e891ff7a66fac8cbf2d81c91499a5}\label{globals_8h_a3e7e891ff7a66fac8cbf2d81c91499a5}} \#define {\bfseries DAH}~0 \item \mbox{\Hypertarget{globals_8h_aefdcc3e9dbabb74aeb89ff310722ba51}\label{globals_8h_aefdcc3e9dbabb74aeb89ff310722ba51}} \#define {\bfseries NO\+\_\+\+KEY\+\_\+\+PRESSED}~0 \item \mbox{\Hypertarget{globals_8h_a9e2cfe84dafa1c4834ff619652d9a64c}\label{globals_8h_a9e2cfe84dafa1c4834ff619652d9a64c}} \#define {\bfseries KEY\+\_\+\+PRESSED\+\_\+\+DEBOUNCE}~1 \item \mbox{\Hypertarget{globals_8h_a8386b89daf8ec3a1805554fd95b80a9e}\label{globals_8h_a8386b89daf8ec3a1805554fd95b80a9e}} \#define {\bfseries KEY\+\_\+\+PRESSED}~2 \item \mbox{\Hypertarget{globals_8h_ad54285de16d1e4eb57197272b15527c2}\label{globals_8h_ad54285de16d1e4eb57197272b15527c2}} \#define {\bfseries M\+\_\+\+TRX1}~1 \item \mbox{\Hypertarget{globals_8h_a57235a40744e5ada2d7597832be662f6}\label{globals_8h_a57235a40744e5ada2d7597832be662f6}} \#define {\bfseries M\+\_\+\+TRX2}~2 \item \mbox{\Hypertarget{globals_8h_a84501feff2919521b6051a205eb9467c}\label{globals_8h_a84501feff2919521b6051a205eb9467c}} \#define {\bfseries M\+\_\+\+TON}~3 \item \mbox{\Hypertarget{globals_8h_aa6f3b49681da4d4092468fb4dd1fe3d6}\label{globals_8h_aa6f3b49681da4d4092468fb4dd1fe3d6}} \#define {\bfseries M\+\_\+\+TON\+\_\+\+FREQ}~4 \item \mbox{\Hypertarget{globals_8h_ae27e8d0e9f4019e3317b663153269b59}\label{globals_8h_ae27e8d0e9f4019e3317b663153269b59}} \#define {\bfseries M\+\_\+\+IAMBICA}~5 \item \mbox{\Hypertarget{globals_8h_a799f279139320d58849c9b39873bed97}\label{globals_8h_a799f279139320d58849c9b39873bed97}} \#define {\bfseries M\+\_\+\+IAMBICB}~6 \item \mbox{\Hypertarget{globals_8h_a0ef7a9454ad52abf182e22a751f37e9d}\label{globals_8h_a0ef7a9454ad52abf182e22a751f37e9d}} \#define {\bfseries M\+\_\+\+ULTIMATIC}~7 \item \mbox{\Hypertarget{globals_8h_a0b7f5f1f400522efde7ac959d42e6acb}\label{globals_8h_a0b7f5f1f400522efde7ac959d42e6acb}} \#define {\bfseries M\+\_\+\+MEMORY}~8 \item \mbox{\Hypertarget{globals_8h_afa9ef2159f32ec11b39b7408a90d3cf9}\label{globals_8h_afa9ef2159f32ec11b39b7408a90d3cf9}} \#define {\bfseries M\+\_\+\+REVERSE}~9 \item \mbox{\Hypertarget{globals_8h_a935c2d21e455b9b554384acebcff05b0}\label{globals_8h_a935c2d21e455b9b554384acebcff05b0}} \#define {\bfseries M\+\_\+\+RATIO}~10 \item \mbox{\Hypertarget{globals_8h_a7cf02cee6c492d10d81fa7f8cd9e75d6}\label{globals_8h_a7cf02cee6c492d10d81fa7f8cd9e75d6}} \#define {\bfseries M\+\_\+\+WEIGHT}~11 \item \mbox{\Hypertarget{globals_8h_a3531d6078fac920f06b5d54f073c66c7}\label{globals_8h_a3531d6078fac920f06b5d54f073c66c7}} \#define {\bfseries M\+\_\+\+WPMBPM}~12 \item \mbox{\Hypertarget{globals_8h_a4ffa488bf9e0bec3211bfc7325ad1adc}\label{globals_8h_a4ffa488bf9e0bec3211bfc7325ad1adc}} \#define {\bfseries M\+\_\+\+MEMBUTTONMODE}~13 \item \mbox{\Hypertarget{globals_8h_aac1d2918a98167deeddc74dfb73e0515}\label{globals_8h_aac1d2918a98167deeddc74dfb73e0515}} \#define {\bfseries M\+\_\+\+RISETIME}~14 \item \mbox{\Hypertarget{globals_8h_a80ca77ca3492d1b5046c74dd71f3c0ba}\label{globals_8h_a80ca77ca3492d1b5046c74dd71f3c0ba}} \#define {\bfseries M\+\_\+\+DEBOUNCE}~15 \item \mbox{\Hypertarget{globals_8h_a61819141b0164a35f4d791b0e696721f}\label{globals_8h_a61819141b0164a35f4d791b0e696721f}} \#define {\bfseries M\+\_\+\+MAX}~15 \item \#define \mbox{\hyperlink{globals_8h_ae39a97a19b2e372929dabdc0e3822910}{CLEARLINE}}~\char`\"{} \char`\"{} \begin{DoxyCompactList}\small\item\em OLED. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_a1291f416b069313021b519eea62d5bf1}\label{globals_8h_a1291f416b069313021b519eea62d5bf1}} \#define {\bfseries NORMAL}~0 \item \#define \mbox{\hyperlink{globals_8h_a57332b76331a1bbe1d6807ddbb6d0522}{MSGSIZE}}~60 \begin{DoxyCompactList}\small\item\em 60 Zeichen für jeden Textspeicher \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection*{Variablen} \begin{DoxyCompactItemize} \item \mbox{\Hypertarget{globals_8h_a69df8d53e45e7fceeeca61ebeed0c249}\label{globals_8h_a69df8d53e45e7fceeeca61ebeed0c249}} uint8\+\_\+t {\bfseries Last\+PINDState} \item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a1756e538888c2c722809420489b62a53}{Encoder\+Timer}} \begin{DoxyCompactList}\small\item\em 10ms Timer for Encoder \end{DoxyCompactList}\item volatile int8\+\_\+t \mbox{\hyperlink{globals_8h_a426d3fb4cd1535f9e7616df2601f4ddc}{Encoder\+Counter}} \begin{DoxyCompactList}\small\item\em Vor/\+Rück Zähler. \end{DoxyCompactList}\item volatile int8\+\_\+t \mbox{\hyperlink{globals_8h_a3a1db669858552a5c21490149c648e12}{Encoder\+Pos}} \begin{DoxyCompactList}\small\item\em Encoderposition für Wp\+M/\+BpM. \end{DoxyCompactList}\item volatile int8\+\_\+t \mbox{\hyperlink{globals_8h_a2b61ba3fb70419b8b5151d7216f6ab87}{Encoder\+Pos\+Config}} \begin{DoxyCompactList}\small\item\em Encoderposition für Einstellungen. \end{DoxyCompactList}\item volatile int8\+\_\+t \mbox{\hyperlink{globals_8h_a2afbcb36398df196b3205ab28f612edf}{Encoder\+Pos\+Sub\+Config}} \begin{DoxyCompactList}\small\item\em Encoderposition für Submenues. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_a74c15b62456a6a231784b094c888bb24}\label{globals_8h_a74c15b62456a6a231784b094c888bb24}} uint16\+\_\+t {\bfseries Store\+EEprom\+Timer} \item uint8\+\_\+t \mbox{\hyperlink{globals_8h_a28fa6cb1767abefbe9c197700410d946}{WpM}} \begin{DoxyCompactList}\small\item\em Aktuelle Zeichengeschwindigkeit. \end{DoxyCompactList}\item uint8\+\_\+t \mbox{\hyperlink{globals_8h_ad7f78d2aebfab57b15aa5bf6e28d8723}{Paddle\+Mode}} \begin{DoxyCompactList}\small\item\em Merker für Links / Rechts vertauscht. \end{DoxyCompactList}\item uint8\+\_\+t \mbox{\hyperlink{globals_8h_a9a19b6437a6a56a5855dd3488c6428f8}{Keyer\+Mode}} \begin{DoxyCompactList}\small\item\em Merker für Iambic A, Iambic B oder Ultimatic. \end{DoxyCompactList}\item \mbox{\Hypertarget{globals_8h_ad1fad28daa019aa1084957dd6e7a808a}\label{globals_8h_ad1fad28daa019aa1084957dd6e7a808a}} uint8\+\_\+t {\bfseries Key\+TX} \item \mbox{\Hypertarget{globals_8h_a5a4807ab81f5583d7c509be8897714a1}\label{globals_8h_a5a4807ab81f5583d7c509be8897714a1}} volatile uint8\+\_\+t {\bfseries icnt} \item \mbox{\Hypertarget{globals_8h_a7f2869abff8463c80351c1a4dda05b0d}\label{globals_8h_a7f2869abff8463c80351c1a4dda05b0d}} volatile uint8\+\_\+t {\bfseries ocr2a} \item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_acee5a37cadaac095a39a4ae4d033df7d}{last\+Button}} \begin{DoxyCompactList}\small\item\em Wert der letzten Buttonabfrage. \end{DoxyCompactList}\item volatile uint16\+\_\+t \mbox{\hyperlink{globals_8h_a2f7701e9783a70804580512902c10ee7}{Dit\+Millis}} \begin{DoxyCompactList}\small\item\em Dauer eines Dits. \end{DoxyCompactList}\item volatile uint16\+\_\+t \mbox{\hyperlink{globals_8h_ad4e6326c3ab1d15391fcc416ff86c436}{Dah\+Millis}} \begin{DoxyCompactList}\small\item\em Dauer eines Dahs. \end{DoxyCompactList}\item volatile uint16\+\_\+t \mbox{\hyperlink{globals_8h_a7db74a7792308dd1d7c35be61d5ff9e8}{Spc\+Millis}} \begin{DoxyCompactList}\small\item\em Dauer einer Pause zwischen den Zeichen. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a39b1d9792105a52be2c2713ecf044a97}{State\+Straight\+Key\+Pressed}} \begin{DoxyCompactList}\small\item\em Merker für Straight\+Key betätigt. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a0ca92f009021ed55c2f9199cf5bf80c3}{Timer\+Straight\+Key\+Pressed}} \begin{DoxyCompactList}\small\item\em Timer Variable für Entprellung. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a9684e7a5392d3dc5b8436002c3ce1c85}{State\+Paddle\+Dit\+Key\+Pressed}} \begin{DoxyCompactList}\small\item\em Merker für Paddle betätigt. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a170fcf4ece2368541f1bcb04a3dd1511}{Timer\+Paddle\+Dit\+Key\+Pressed}} \begin{DoxyCompactList}\small\item\em Timer Variable für Entprellung. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a92483c848dd64122cc79472ad979f5e5}{State\+Paddle\+Dah\+Key\+Pressed}} \begin{DoxyCompactList}\small\item\em Merker für Paddle betätigt. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a57e73db78b59b4d79e72189fb0158f7a}{Timer\+Paddle\+Dah\+Key\+Pressed}} \begin{DoxyCompactList}\small\item\em Timer Variable für Entprellung. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a094f3d15714cd07a3536db03d58cb818}{State\+Button\+Pressed}} \begin{DoxyCompactList}\small\item\em Merker für Speichertaste betätigt. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a926757eaf37be188fd6e15410d83c953}{Timer\+Button\+Pressed}} \begin{DoxyCompactList}\small\item\em Timer Variable für Entprellung. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_a03249b48d31b6f929b91011f73c3eb56}{State\+Rise\+Time\+Counter}} \begin{DoxyCompactList}\small\item\em Zähler für Anstieg des Mithörtons. \end{DoxyCompactList}\item volatile uint8\+\_\+t \mbox{\hyperlink{globals_8h_ab36cf30c9e53f719929eba1f738e4b12}{State\+Rise\+Time}} \item uint16\+\_\+t \mbox{\hyperlink{globals_8h_a088c685d08447f6614b3aea76cd94582}{Menu\+Ctrl\+Timer}} \begin{DoxyCompactList}\small\item\em Diverse Zähler für Timer 0. \end{DoxyCompactList}\item volatile uint16\+\_\+t \mbox{\hyperlink{globals_8h_a4a4d36a87b010340a12f80300a0c5f76}{t\+\_\+delayms}} \begin{DoxyCompactList}\small\item\em Timer 0 max. 65535ms, all purpose timer variable. \end{DoxyCompactList}\item volatile uint16\+\_\+t \mbox{\hyperlink{globals_8h_a8a613665f46a0641e6dc293da130ab23}{t\+\_\+elementlength}} \begin{DoxyCompactList}\small\item\em Timer 0 max. 65535ms, element length of dit or dah. \end{DoxyCompactList}\end{DoxyCompactItemize} \doxysubsection{Ausführliche Beschreibung} Globale Variablen, Definitionen und Prototypen. \doxysubsection{Makro-\/\+Dokumentation} \mbox{\Hypertarget{globals_8h_a0cc6f7717df9fbdc0f33efb88720a639}\label{globals_8h_a0cc6f7717df9fbdc0f33efb88720a639}} \index{globals.h@{globals.h}!AUTO@{AUTO}} \index{AUTO@{AUTO}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{AUTO}{AUTO}} {\footnotesize\ttfamily \#define AUTO~0} Sending Type. \mbox{\Hypertarget{globals_8h_ae39a97a19b2e372929dabdc0e3822910}\label{globals_8h_ae39a97a19b2e372929dabdc0e3822910}} \index{globals.h@{globals.h}!CLEARLINE@{CLEARLINE}} \index{CLEARLINE@{CLEARLINE}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{CLEARLINE}{CLEARLINE}} {\footnotesize\ttfamily \#define CLEARLINE~\char`\"{} \char`\"{}} OLED. \mbox{\Hypertarget{globals_8h_a8f0a217b99055286939b536efe9516f1}\label{globals_8h_a8f0a217b99055286939b536efe9516f1}} \index{globals.h@{globals.h}!LEFT\_PADDLE@{LEFT\_PADDLE}} \index{LEFT\_PADDLE@{LEFT\_PADDLE}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{LEFT\_PADDLE}{LEFT\_PADDLE}} {\footnotesize\ttfamily \#define LEFT\+\_\+\+PADDLE~PD2} Ports. \mbox{\Hypertarget{globals_8h_a57332b76331a1bbe1d6807ddbb6d0522}\label{globals_8h_a57332b76331a1bbe1d6807ddbb6d0522}} \index{globals.h@{globals.h}!MSGSIZE@{MSGSIZE}} \index{MSGSIZE@{MSGSIZE}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{MSGSIZE}{MSGSIZE}} {\footnotesize\ttfamily \#define MSGSIZE~60} 60 Zeichen für jeden Textspeicher \mbox{\Hypertarget{globals_8h_aad4a7ebff687dc5228cc3fd4d25067f2}\label{globals_8h_aad4a7ebff687dc5228cc3fd4d25067f2}} \index{globals.h@{globals.h}!NOTHING@{NOTHING}} \index{NOTHING@{NOTHING}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{NOTHING}{NOTHING}} {\footnotesize\ttfamily \#define NOTHING~0} Keying states. \mbox{\Hypertarget{globals_8h_a0f491a526845fa7f262309a82a0d7190}\label{globals_8h_a0f491a526845fa7f262309a82a0d7190}} \index{globals.h@{globals.h}!PADDLE\_NORMAL@{PADDLE\_NORMAL}} \index{PADDLE\_NORMAL@{PADDLE\_NORMAL}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{PADDLE\_NORMAL}{PADDLE\_NORMAL}} {\footnotesize\ttfamily \#define PADDLE\+\_\+\+NORMAL~0} Paddle Mode. \mbox{\Hypertarget{globals_8h_a26467aab195715bb21eca2df8d729078}\label{globals_8h_a26467aab195715bb21eca2df8d729078}} \index{globals.h@{globals.h}!SENDING\_NOTHING@{SENDING\_NOTHING}} \index{SENDING\_NOTHING@{SENDING\_NOTHING}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{SENDING\_NOTHING}{SENDING\_NOTHING}} {\footnotesize\ttfamily \#define SENDING\+\_\+\+NOTHING~0} Sending Mode. \mbox{\Hypertarget{globals_8h_ae5284d1a5b3e5a009614298e3e7730bc}\label{globals_8h_ae5284d1a5b3e5a009614298e3e7730bc}} \index{globals.h@{globals.h}!STRAIGHT@{STRAIGHT}} \index{STRAIGHT@{STRAIGHT}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{STRAIGHT}{STRAIGHT}} {\footnotesize\ttfamily \#define STRAIGHT~0} Keyer mode. \doxysubsection{Variablen-\/\+Dokumentation} \mbox{\Hypertarget{globals_8h_ad4e6326c3ab1d15391fcc416ff86c436}\label{globals_8h_ad4e6326c3ab1d15391fcc416ff86c436}} \index{globals.h@{globals.h}!DahMillis@{DahMillis}} \index{DahMillis@{DahMillis}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{DahMillis}{DahMillis}} {\footnotesize\ttfamily volatile uint16\+\_\+t Dah\+Millis} Dauer eines Dahs. \mbox{\Hypertarget{globals_8h_a2f7701e9783a70804580512902c10ee7}\label{globals_8h_a2f7701e9783a70804580512902c10ee7}} \index{globals.h@{globals.h}!DitMillis@{DitMillis}} \index{DitMillis@{DitMillis}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{DitMillis}{DitMillis}} {\footnotesize\ttfamily volatile uint16\+\_\+t Dit\+Millis} Dauer eines Dits. \mbox{\Hypertarget{globals_8h_a426d3fb4cd1535f9e7616df2601f4ddc}\label{globals_8h_a426d3fb4cd1535f9e7616df2601f4ddc}} \index{globals.h@{globals.h}!EncoderCounter@{EncoderCounter}} \index{EncoderCounter@{EncoderCounter}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{EncoderCounter}{EncoderCounter}} {\footnotesize\ttfamily volatile int8\+\_\+t Encoder\+Counter} Vor/\+Rück Zähler. \mbox{\Hypertarget{globals_8h_a3a1db669858552a5c21490149c648e12}\label{globals_8h_a3a1db669858552a5c21490149c648e12}} \index{globals.h@{globals.h}!EncoderPos@{EncoderPos}} \index{EncoderPos@{EncoderPos}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{EncoderPos}{EncoderPos}} {\footnotesize\ttfamily volatile int8\+\_\+t Encoder\+Pos} Encoderposition für Wp\+M/\+BpM. \mbox{\Hypertarget{globals_8h_a2b61ba3fb70419b8b5151d7216f6ab87}\label{globals_8h_a2b61ba3fb70419b8b5151d7216f6ab87}} \index{globals.h@{globals.h}!EncoderPosConfig@{EncoderPosConfig}} \index{EncoderPosConfig@{EncoderPosConfig}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{EncoderPosConfig}{EncoderPosConfig}} {\footnotesize\ttfamily volatile int8\+\_\+t Encoder\+Pos\+Config} Encoderposition für Einstellungen. \mbox{\Hypertarget{globals_8h_a2afbcb36398df196b3205ab28f612edf}\label{globals_8h_a2afbcb36398df196b3205ab28f612edf}} \index{globals.h@{globals.h}!EncoderPosSubConfig@{EncoderPosSubConfig}} \index{EncoderPosSubConfig@{EncoderPosSubConfig}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{EncoderPosSubConfig}{EncoderPosSubConfig}} {\footnotesize\ttfamily volatile int8\+\_\+t Encoder\+Pos\+Sub\+Config} Encoderposition für Submenues. \mbox{\Hypertarget{globals_8h_a1756e538888c2c722809420489b62a53}\label{globals_8h_a1756e538888c2c722809420489b62a53}} \index{globals.h@{globals.h}!EncoderTimer@{EncoderTimer}} \index{EncoderTimer@{EncoderTimer}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{EncoderTimer}{EncoderTimer}} {\footnotesize\ttfamily volatile uint8\+\_\+t Encoder\+Timer} 10ms Timer for Encoder \mbox{\Hypertarget{globals_8h_a9a19b6437a6a56a5855dd3488c6428f8}\label{globals_8h_a9a19b6437a6a56a5855dd3488c6428f8}} \index{globals.h@{globals.h}!KeyerMode@{KeyerMode}} \index{KeyerMode@{KeyerMode}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{KeyerMode}{KeyerMode}} {\footnotesize\ttfamily uint8\+\_\+t Keyer\+Mode} Merker für Iambic A, Iambic B oder Ultimatic. \mbox{\Hypertarget{globals_8h_acee5a37cadaac095a39a4ae4d033df7d}\label{globals_8h_acee5a37cadaac095a39a4ae4d033df7d}} \index{globals.h@{globals.h}!lastButton@{lastButton}} \index{lastButton@{lastButton}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{lastButton}{lastButton}} {\footnotesize\ttfamily volatile uint8\+\_\+t last\+Button} Wert der letzten Buttonabfrage. \mbox{\Hypertarget{globals_8h_a088c685d08447f6614b3aea76cd94582}\label{globals_8h_a088c685d08447f6614b3aea76cd94582}} \index{globals.h@{globals.h}!MenuCtrlTimer@{MenuCtrlTimer}} \index{MenuCtrlTimer@{MenuCtrlTimer}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{MenuCtrlTimer}{MenuCtrlTimer}} {\footnotesize\ttfamily uint16\+\_\+t Menu\+Ctrl\+Timer} Diverse Zähler für Timer 0. Wartezeit bis zur Betriebsanzeige nach \mbox{\hyperlink{structConfig}{Config}} \mbox{\Hypertarget{globals_8h_ad7f78d2aebfab57b15aa5bf6e28d8723}\label{globals_8h_ad7f78d2aebfab57b15aa5bf6e28d8723}} \index{globals.h@{globals.h}!PaddleMode@{PaddleMode}} \index{PaddleMode@{PaddleMode}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{PaddleMode}{PaddleMode}} {\footnotesize\ttfamily uint8\+\_\+t Paddle\+Mode} Merker für Links / Rechts vertauscht. \mbox{\Hypertarget{globals_8h_a7db74a7792308dd1d7c35be61d5ff9e8}\label{globals_8h_a7db74a7792308dd1d7c35be61d5ff9e8}} \index{globals.h@{globals.h}!SpcMillis@{SpcMillis}} \index{SpcMillis@{SpcMillis}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{SpcMillis}{SpcMillis}} {\footnotesize\ttfamily volatile uint16\+\_\+t Spc\+Millis} Dauer einer Pause zwischen den Zeichen. \mbox{\Hypertarget{globals_8h_a094f3d15714cd07a3536db03d58cb818}\label{globals_8h_a094f3d15714cd07a3536db03d58cb818}} \index{globals.h@{globals.h}!StateButtonPressed@{StateButtonPressed}} \index{StateButtonPressed@{StateButtonPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{StateButtonPressed}{StateButtonPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t State\+Button\+Pressed} Merker für Speichertaste betätigt. \mbox{\Hypertarget{globals_8h_a92483c848dd64122cc79472ad979f5e5}\label{globals_8h_a92483c848dd64122cc79472ad979f5e5}} \index{globals.h@{globals.h}!StatePaddleDahKeyPressed@{StatePaddleDahKeyPressed}} \index{StatePaddleDahKeyPressed@{StatePaddleDahKeyPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{StatePaddleDahKeyPressed}{StatePaddleDahKeyPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t State\+Paddle\+Dah\+Key\+Pressed} Merker für Paddle betätigt. \mbox{\Hypertarget{globals_8h_a9684e7a5392d3dc5b8436002c3ce1c85}\label{globals_8h_a9684e7a5392d3dc5b8436002c3ce1c85}} \index{globals.h@{globals.h}!StatePaddleDitKeyPressed@{StatePaddleDitKeyPressed}} \index{StatePaddleDitKeyPressed@{StatePaddleDitKeyPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{StatePaddleDitKeyPressed}{StatePaddleDitKeyPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t State\+Paddle\+Dit\+Key\+Pressed} Merker für Paddle betätigt. \mbox{\Hypertarget{globals_8h_ab36cf30c9e53f719929eba1f738e4b12}\label{globals_8h_ab36cf30c9e53f719929eba1f738e4b12}} \index{globals.h@{globals.h}!StateRiseTime@{StateRiseTime}} \index{StateRiseTime@{StateRiseTime}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{StateRiseTime}{StateRiseTime}} {\footnotesize\ttfamily volatile uint8\+\_\+t State\+Rise\+Time} Timer für Anstieg des Mithörtons \mbox{\Hypertarget{globals_8h_a03249b48d31b6f929b91011f73c3eb56}\label{globals_8h_a03249b48d31b6f929b91011f73c3eb56}} \index{globals.h@{globals.h}!StateRiseTimeCounter@{StateRiseTimeCounter}} \index{StateRiseTimeCounter@{StateRiseTimeCounter}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{StateRiseTimeCounter}{StateRiseTimeCounter}} {\footnotesize\ttfamily volatile uint8\+\_\+t State\+Rise\+Time\+Counter} Zähler für Anstieg des Mithörtons. \mbox{\Hypertarget{globals_8h_a39b1d9792105a52be2c2713ecf044a97}\label{globals_8h_a39b1d9792105a52be2c2713ecf044a97}} \index{globals.h@{globals.h}!StateStraightKeyPressed@{StateStraightKeyPressed}} \index{StateStraightKeyPressed@{StateStraightKeyPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{StateStraightKeyPressed}{StateStraightKeyPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t State\+Straight\+Key\+Pressed} Merker für Straight\+Key betätigt. \mbox{\Hypertarget{globals_8h_a4a4d36a87b010340a12f80300a0c5f76}\label{globals_8h_a4a4d36a87b010340a12f80300a0c5f76}} \index{globals.h@{globals.h}!t\_delayms@{t\_delayms}} \index{t\_delayms@{t\_delayms}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{t\_delayms}{t\_delayms}} {\footnotesize\ttfamily volatile uint16\+\_\+t t\+\_\+delayms} Timer 0 max. 65535ms, all purpose timer variable. \mbox{\Hypertarget{globals_8h_a8a613665f46a0641e6dc293da130ab23}\label{globals_8h_a8a613665f46a0641e6dc293da130ab23}} \index{globals.h@{globals.h}!t\_elementlength@{t\_elementlength}} \index{t\_elementlength@{t\_elementlength}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{t\_elementlength}{t\_elementlength}} {\footnotesize\ttfamily volatile uint16\+\_\+t t\+\_\+elementlength} Timer 0 max. 65535ms, element length of dit or dah. \mbox{\Hypertarget{globals_8h_a926757eaf37be188fd6e15410d83c953}\label{globals_8h_a926757eaf37be188fd6e15410d83c953}} \index{globals.h@{globals.h}!TimerButtonPressed@{TimerButtonPressed}} \index{TimerButtonPressed@{TimerButtonPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{TimerButtonPressed}{TimerButtonPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t Timer\+Button\+Pressed} Timer Variable für Entprellung. \mbox{\Hypertarget{globals_8h_a57e73db78b59b4d79e72189fb0158f7a}\label{globals_8h_a57e73db78b59b4d79e72189fb0158f7a}} \index{globals.h@{globals.h}!TimerPaddleDahKeyPressed@{TimerPaddleDahKeyPressed}} \index{TimerPaddleDahKeyPressed@{TimerPaddleDahKeyPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{TimerPaddleDahKeyPressed}{TimerPaddleDahKeyPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t Timer\+Paddle\+Dah\+Key\+Pressed} Timer Variable für Entprellung. \mbox{\Hypertarget{globals_8h_a170fcf4ece2368541f1bcb04a3dd1511}\label{globals_8h_a170fcf4ece2368541f1bcb04a3dd1511}} \index{globals.h@{globals.h}!TimerPaddleDitKeyPressed@{TimerPaddleDitKeyPressed}} \index{TimerPaddleDitKeyPressed@{TimerPaddleDitKeyPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{TimerPaddleDitKeyPressed}{TimerPaddleDitKeyPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t Timer\+Paddle\+Dit\+Key\+Pressed} Timer Variable für Entprellung. \mbox{\Hypertarget{globals_8h_a0ca92f009021ed55c2f9199cf5bf80c3}\label{globals_8h_a0ca92f009021ed55c2f9199cf5bf80c3}} \index{globals.h@{globals.h}!TimerStraightKeyPressed@{TimerStraightKeyPressed}} \index{TimerStraightKeyPressed@{TimerStraightKeyPressed}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{TimerStraightKeyPressed}{TimerStraightKeyPressed}} {\footnotesize\ttfamily volatile uint8\+\_\+t Timer\+Straight\+Key\+Pressed} Timer Variable für Entprellung. \mbox{\Hypertarget{globals_8h_a28fa6cb1767abefbe9c197700410d946}\label{globals_8h_a28fa6cb1767abefbe9c197700410d946}} \index{globals.h@{globals.h}!WpM@{WpM}} \index{WpM@{WpM}!globals.h@{globals.h}} \doxysubsubsection{\texorpdfstring{WpM}{WpM}} {\footnotesize\ttfamily uint8\+\_\+t WpM} Aktuelle Zeichengeschwindigkeit.