\hypertarget{dmx_8cpp}{}\doxysection{dmx.\+cpp File Reference} \label{dmx_8cpp}\index{dmx.cpp@{dmx.cpp}} {\ttfamily \#include \char`\"{}dmx.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}options.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}item.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}main.\+h\char`\"{}}\newline \doxysubsection*{Functions} \begin{DoxyCompactItemize} \item int \mbox{\hyperlink{dmx_8cpp_abbcd6bfbf8b1c05b00ba38459d41ff4d}{item\+Ctrl2}} (char $\ast$name, int r, int g, int \mbox{\hyperlink{item_8cpp_ab2d05693952610f937e5acb3c4a8fa1b}{b}}, int w) \item void \mbox{\hyperlink{dmx_8cpp_a5e41f4011e2b2e2d400e4ac43a6541b1}{D\+M\+X\+Immediate\+Update}} (short tch, short r, short g, short \mbox{\hyperlink{item_8cpp_ab2d05693952610f937e5acb3c4a8fa1b}{b}}, short w) \item void \mbox{\hyperlink{dmx_8cpp_ac68a7598c52a61fd8e6300149f466b97}{D\+M\+X\+Semi\+Immediate\+Update}} (short tch, short trh, int val) \item void \mbox{\hyperlink{dmx_8cpp_a9f36c84bdc0b4926f7d7b28bbe47cdc0}{D\+M\+Xput}} (void) \item void \mbox{\hyperlink{dmx_8cpp_a60c7644cd41f9525ada7b3799d015591}{D\+M\+X\+Update}} (void) \item void \mbox{\hyperlink{dmx_8cpp_a0d740c517b312806bd34e2ac3155c3a5}{D\+M\+X\+Check}} (void) \item void \mbox{\hyperlink{dmx_8cpp_a285d3a152ce7d118b6273c094110f742}{on\+Dmx\+Frame}} (uint16\+\_\+t universe, uint16\+\_\+t length, uint8\+\_\+t sequence, uint8\+\_\+t $\ast$\mbox{\hyperlink{out__ac_8cpp_a336725b3b566264f2223495f6294c3c7}{data}}, I\+P\+Address remote\+IP) \item void \mbox{\hyperlink{dmx_8cpp_a45b57fab4ca3a3f7d3491506945c6326}{D\+M\+Xin\+Setup}} (int channels) \item void \mbox{\hyperlink{dmx_8cpp_af5aeb81882ff7b4fe7cccb66a12539df}{D\+M\+Xout\+Setup}} (int channels) \item void \mbox{\hyperlink{dmx_8cpp_a7c166d810404d3d15f663706271de37f}{D\+M\+X\+O\+U\+T\+\_\+propagate}} () \item void \mbox{\hyperlink{dmx_8cpp_a384f51a65164f2d53600a2e2d62145b5}{artnet\+Setup}} () \item void \mbox{\hyperlink{dmx_8cpp_abdd33064131de0ec44f40f22ae979397}{artnet\+Set\+Chans}} (uint8\+\_\+t min\+Ch, uint8\+\_\+t max\+Ch) \item void \mbox{\hyperlink{dmx_8cpp_a3faac041a7441faf18a1ad72021be077}{Dmx\+Write\+Buf}} (uint16\+\_\+t chan, uint8\+\_\+t val) \end{DoxyCompactItemize} \doxysubsection*{Variables} \begin{DoxyCompactItemize} \item uint8\+\_\+t $\ast$ \mbox{\hyperlink{dmx_8cpp_adf18ba2ebc00417130f18dc9e34411c6}{D\+M\+Xin}} = N\+U\+LL \item volatile uint32\+\_\+t \mbox{\hyperlink{dmx_8cpp_a9003509a566769d080ca60443bd042b2}{D\+\_\+\+State}} =0 \item volatile unsigned long \mbox{\hyperlink{dmx_8cpp_af14e25d8ec87aea0648534b21733da2c}{D\+\_\+checkT}} =0 \item a\+Json\+Object $\ast$ \mbox{\hyperlink{dmx_8cpp_a012787f09a43864616e2b44349b29352}{items}} \item a\+Json\+Object $\ast$ \mbox{\hyperlink{dmx_8cpp_a077dba54087a1a3694f810ba9fd06933}{dmx\+Arr}} \item volatile uint8\+\_\+t \mbox{\hyperlink{dmx_8cpp_a08eb17abd1014ae770f606b8c92a7b80}{timer\+Handler\+Busy}} \item volatile int \mbox{\hyperlink{dmx_8cpp_a34e99db3444f7cb39e58961283eb5ab9}{D\+M\+Xin\+Doublecheck}} =0 \item volatile int8\+\_\+t \mbox{\hyperlink{dmx_8cpp_ac103409466e5765e514698ee20f901ce}{propagate\+Busy}} = 0 \end{DoxyCompactItemize} \doxysubsection{Function Documentation} \mbox{\Hypertarget{dmx_8cpp_abdd33064131de0ec44f40f22ae979397}\label{dmx_8cpp_abdd33064131de0ec44f40f22ae979397}} \index{dmx.cpp@{dmx.cpp}!artnetSetChans@{artnetSetChans}} \index{artnetSetChans@{artnetSetChans}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{artnetSetChans()}{artnetSetChans()}} {\footnotesize\ttfamily void artnet\+Set\+Chans (\begin{DoxyParamCaption}\item[{uint8\+\_\+t}]{min\+Ch, }\item[{uint8\+\_\+t}]{max\+Ch }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a384f51a65164f2d53600a2e2d62145b5}\label{dmx_8cpp_a384f51a65164f2d53600a2e2d62145b5}} \index{dmx.cpp@{dmx.cpp}!artnetSetup@{artnetSetup}} \index{artnetSetup@{artnetSetup}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{artnetSetup()}{artnetSetup()}} {\footnotesize\ttfamily void artnet\+Setup (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a0d740c517b312806bd34e2ac3155c3a5}\label{dmx_8cpp_a0d740c517b312806bd34e2ac3155c3a5}} \index{dmx.cpp@{dmx.cpp}!DMXCheck@{DMXCheck}} \index{DMXCheck@{DMXCheck}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXCheck()}{DMXCheck()}} {\footnotesize\ttfamily void D\+M\+X\+Check (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a5e41f4011e2b2e2d400e4ac43a6541b1}\label{dmx_8cpp_a5e41f4011e2b2e2d400e4ac43a6541b1}} \index{dmx.cpp@{dmx.cpp}!DMXImmediateUpdate@{DMXImmediateUpdate}} \index{DMXImmediateUpdate@{DMXImmediateUpdate}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXImmediateUpdate()}{DMXImmediateUpdate()}} {\footnotesize\ttfamily void D\+M\+X\+Immediate\+Update (\begin{DoxyParamCaption}\item[{short}]{tch, }\item[{short}]{r, }\item[{short}]{g, }\item[{short}]{b, }\item[{short}]{w }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a45b57fab4ca3a3f7d3491506945c6326}\label{dmx_8cpp_a45b57fab4ca3a3f7d3491506945c6326}} \index{dmx.cpp@{dmx.cpp}!DMXinSetup@{DMXinSetup}} \index{DMXinSetup@{DMXinSetup}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXinSetup()}{DMXinSetup()}} {\footnotesize\ttfamily void D\+M\+Xin\+Setup (\begin{DoxyParamCaption}\item[{int}]{channels }\end{DoxyParamCaption})} To\+Do\+: re-\/init\mbox{\Hypertarget{dmx_8cpp_a7c166d810404d3d15f663706271de37f}\label{dmx_8cpp_a7c166d810404d3d15f663706271de37f}} \index{dmx.cpp@{dmx.cpp}!DMXOUT\_propagate@{DMXOUT\_propagate}} \index{DMXOUT\_propagate@{DMXOUT\_propagate}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXOUT\_propagate()}{DMXOUT\_propagate()}} {\footnotesize\ttfamily void D\+M\+X\+O\+U\+T\+\_\+propagate (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_af5aeb81882ff7b4fe7cccb66a12539df}\label{dmx_8cpp_af5aeb81882ff7b4fe7cccb66a12539df}} \index{dmx.cpp@{dmx.cpp}!DMXoutSetup@{DMXoutSetup}} \index{DMXoutSetup@{DMXoutSetup}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXoutSetup()}{DMXoutSetup()}} {\footnotesize\ttfamily void D\+M\+Xout\+Setup (\begin{DoxyParamCaption}\item[{int}]{channels }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a9f36c84bdc0b4926f7d7b28bbe47cdc0}\label{dmx_8cpp_a9f36c84bdc0b4926f7d7b28bbe47cdc0}} \index{dmx.cpp@{dmx.cpp}!DMXput@{DMXput}} \index{DMXput@{DMXput}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXput()}{DMXput()}} {\footnotesize\ttfamily void D\+M\+Xput (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_ac68a7598c52a61fd8e6300149f466b97}\label{dmx_8cpp_ac68a7598c52a61fd8e6300149f466b97}} \index{dmx.cpp@{dmx.cpp}!DMXSemiImmediateUpdate@{DMXSemiImmediateUpdate}} \index{DMXSemiImmediateUpdate@{DMXSemiImmediateUpdate}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXSemiImmediateUpdate()}{DMXSemiImmediateUpdate()}} {\footnotesize\ttfamily void D\+M\+X\+Semi\+Immediate\+Update (\begin{DoxyParamCaption}\item[{short}]{tch, }\item[{short}]{trh, }\item[{int}]{val }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a60c7644cd41f9525ada7b3799d015591}\label{dmx_8cpp_a60c7644cd41f9525ada7b3799d015591}} \index{dmx.cpp@{dmx.cpp}!DMXUpdate@{DMXUpdate}} \index{DMXUpdate@{DMXUpdate}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXUpdate()}{DMXUpdate()}} {\footnotesize\ttfamily void D\+M\+X\+Update (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a3faac041a7441faf18a1ad72021be077}\label{dmx_8cpp_a3faac041a7441faf18a1ad72021be077}} \index{dmx.cpp@{dmx.cpp}!DmxWriteBuf@{DmxWriteBuf}} \index{DmxWriteBuf@{DmxWriteBuf}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DmxWriteBuf()}{DmxWriteBuf()}} {\footnotesize\ttfamily void Dmx\+Write\+Buf (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{chan, }\item[{uint8\+\_\+t}]{val }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_abbcd6bfbf8b1c05b00ba38459d41ff4d}\label{dmx_8cpp_abbcd6bfbf8b1c05b00ba38459d41ff4d}} \index{dmx.cpp@{dmx.cpp}!itemCtrl2@{itemCtrl2}} \index{itemCtrl2@{itemCtrl2}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{itemCtrl2()}{itemCtrl2()}} {\footnotesize\ttfamily int item\+Ctrl2 (\begin{DoxyParamCaption}\item[{char $\ast$}]{name, }\item[{int}]{r, }\item[{int}]{g, }\item[{int}]{b, }\item[{int}]{w }\end{DoxyParamCaption})} \mbox{\Hypertarget{dmx_8cpp_a285d3a152ce7d118b6273c094110f742}\label{dmx_8cpp_a285d3a152ce7d118b6273c094110f742}} \index{dmx.cpp@{dmx.cpp}!onDmxFrame@{onDmxFrame}} \index{onDmxFrame@{onDmxFrame}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{onDmxFrame()}{onDmxFrame()}} {\footnotesize\ttfamily void on\+Dmx\+Frame (\begin{DoxyParamCaption}\item[{uint16\+\_\+t}]{universe, }\item[{uint16\+\_\+t}]{length, }\item[{uint8\+\_\+t}]{sequence, }\item[{uint8\+\_\+t $\ast$}]{data, }\item[{I\+P\+Address}]{remote\+IP }\end{DoxyParamCaption})} \doxysubsection{Variable Documentation} \mbox{\Hypertarget{dmx_8cpp_af14e25d8ec87aea0648534b21733da2c}\label{dmx_8cpp_af14e25d8ec87aea0648534b21733da2c}} \index{dmx.cpp@{dmx.cpp}!D\_checkT@{D\_checkT}} \index{D\_checkT@{D\_checkT}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{D\_checkT}{D\_checkT}} {\footnotesize\ttfamily volatile unsigned long D\+\_\+checkT =0} \mbox{\Hypertarget{dmx_8cpp_a9003509a566769d080ca60443bd042b2}\label{dmx_8cpp_a9003509a566769d080ca60443bd042b2}} \index{dmx.cpp@{dmx.cpp}!D\_State@{D\_State}} \index{D\_State@{D\_State}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{D\_State}{D\_State}} {\footnotesize\ttfamily volatile uint32\+\_\+t D\+\_\+\+State =0} \mbox{\Hypertarget{dmx_8cpp_a077dba54087a1a3694f810ba9fd06933}\label{dmx_8cpp_a077dba54087a1a3694f810ba9fd06933}} \index{dmx.cpp@{dmx.cpp}!dmxArr@{dmxArr}} \index{dmxArr@{dmxArr}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{dmxArr}{dmxArr}} {\footnotesize\ttfamily a\+Json\+Object$\ast$ dmx\+Arr\hspace{0.3cm}{\ttfamily [extern]}} \mbox{\Hypertarget{dmx_8cpp_adf18ba2ebc00417130f18dc9e34411c6}\label{dmx_8cpp_adf18ba2ebc00417130f18dc9e34411c6}} \index{dmx.cpp@{dmx.cpp}!DMXin@{DMXin}} \index{DMXin@{DMXin}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXin}{DMXin}} {\footnotesize\ttfamily uint8\+\_\+t$\ast$ D\+M\+Xin = N\+U\+LL} \mbox{\Hypertarget{dmx_8cpp_a34e99db3444f7cb39e58961283eb5ab9}\label{dmx_8cpp_a34e99db3444f7cb39e58961283eb5ab9}} \index{dmx.cpp@{dmx.cpp}!DMXinDoublecheck@{DMXinDoublecheck}} \index{DMXinDoublecheck@{DMXinDoublecheck}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{DMXinDoublecheck}{DMXinDoublecheck}} {\footnotesize\ttfamily volatile int D\+M\+Xin\+Doublecheck =0} \mbox{\Hypertarget{dmx_8cpp_a012787f09a43864616e2b44349b29352}\label{dmx_8cpp_a012787f09a43864616e2b44349b29352}} \index{dmx.cpp@{dmx.cpp}!items@{items}} \index{items@{items}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{items}{items}} {\footnotesize\ttfamily a\+Json\+Object$\ast$ items\hspace{0.3cm}{\ttfamily [extern]}} \mbox{\Hypertarget{dmx_8cpp_ac103409466e5765e514698ee20f901ce}\label{dmx_8cpp_ac103409466e5765e514698ee20f901ce}} \index{dmx.cpp@{dmx.cpp}!propagateBusy@{propagateBusy}} \index{propagateBusy@{propagateBusy}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{propagateBusy}{propagateBusy}} {\footnotesize\ttfamily volatile int8\+\_\+t propagate\+Busy = 0} \mbox{\Hypertarget{dmx_8cpp_a08eb17abd1014ae770f606b8c92a7b80}\label{dmx_8cpp_a08eb17abd1014ae770f606b8c92a7b80}} \index{dmx.cpp@{dmx.cpp}!timerHandlerBusy@{timerHandlerBusy}} \index{timerHandlerBusy@{timerHandlerBusy}!dmx.cpp@{dmx.cpp}} \doxysubsubsection{\texorpdfstring{timerHandlerBusy}{timerHandlerBusy}} {\footnotesize\ttfamily volatile uint8\+\_\+t timer\+Handler\+Busy\hspace{0.3cm}{\ttfamily [extern]}}