\hypertarget{monitor_8h}{}\section{monitor.\+h File Reference} \label{monitor_8h}\index{monitor.\+h@{monitor.\+h}} Library for sending message to monitor or receiving message. {\ttfamily \#include $<$sys/types.\+h$>$}\newline {\ttfamily \#include $<$sys/socket.\+h$>$}\newline {\ttfamily \#include $<$netinet/in.\+h$>$}\newline {\ttfamily \#include $<$arpa/inet.\+h$>$}\newline {\ttfamily \#include $<$unistd.\+h$>$}\newline {\ttfamily \#include $<$signal.\+h$>$}\newline {\ttfamily \#include $<$stdlib.\+h$>$}\newline {\ttfamily \#include $<$stdio.\+h$>$}\newline {\ttfamily \#include $<$string.\+h$>$}\newline {\ttfamily \#include \char`\"{}image.\+h\char`\"{}}\newline {\ttfamily \#include \char`\"{}definitions.\+h\char`\"{}}\newline Include dependency graph for monitor.\+h\+:\nopagebreak \begin{figure}[H] \begin{center} \leavevmode \includegraphics[width=350pt]{monitor_8h__incl} \end{center} \end{figure} \subsection*{Classes} \begin{DoxyCompactItemize} \item struct \hyperlink{struct_message_from_mon}{Message\+From\+Mon} \end{DoxyCompactItemize} \subsection*{Macros} \begin{DoxyCompactItemize} \item \#define \hyperlink{monitor_8h_ad62b697bd25a71d171db46740aef2830}{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+I\+M\+A\+GE}~\char`\"{}I\+MG\char`\"{} \item \#define \hyperlink{monitor_8h_a0de226ae5af8b83f3b163ff4413eef95}{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+B\+AT}~\char`\"{}B\+AT\char`\"{} \item \#define \hyperlink{monitor_8h_a6a07aae2539981459edc8070a0f019db}{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+P\+OS}~\char`\"{}P\+OS\char`\"{} \item \#define \hyperlink{monitor_8h_ac2e64478522da4e3b45c139c0c72557f}{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+N\+O\+\_\+\+A\+CK}~\char`\"{}N\+AK\char`\"{} \item \#define \hyperlink{monitor_8h_af2325d19ae9da4310eb608c744149f53}{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+A\+CK}~\char`\"{}A\+CK\char`\"{} \item \#define \hyperlink{monitor_8h_ac1034bccb09918cccd3ba142377a6788}{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+M\+ES}~\char`\"{}M\+SG\char`\"{} \item \#define \hyperlink{monitor_8h_afe29ce74d16751828da8aec7e13ad06b}{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+L\+O\+S\+T\+\_\+\+D\+MB}~\char`\"{}L\+CD\char`\"{} \item \#define \hyperlink{monitor_8h_a980e8f9457e30018fddcd4d997f17a85}{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+M\+SG}~\char`\"{}M\+SG\char`\"{} \item \#define \hyperlink{monitor_8h_a5ccd30e6502bb94eaa13a597edb1f156}{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+D\+M\+B\+\_\+\+O\+R\+D\+ER}~\char`\"{}D\+MB\char`\"{} \item \#define \hyperlink{monitor_8h_a0c829d92889c5c9b2d485964ce933fab}{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+O\+M\+\_\+\+D\+MB}~\char`\"{}C\+OM\char`\"{} \item \#define \hyperlink{monitor_8h_a91e2658cf20010646211ba748885c180}{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+A\+M\+E\+RA}~\char`\"{}C\+AM\char`\"{} \item \#define \hyperlink{monitor_8h_a2be30c9a3e65eaf5502b8542a6ac6259}{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+S\+T\+OP}~\char`\"{}S\+TO\char`\"{} \item \#define \hyperlink{monitor_8h_a26769957ec1a2beaf223f33b66ee64ab}{I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+O\+C\+K\+ET}~-\/1 \item \#define \hyperlink{monitor_8h_a633b0396ff93d336a088412a190a5072}{S\+O\+C\+K\+E\+T\+\_\+\+E\+R\+R\+OR}~-\/1 \item \#define \hyperlink{monitor_8h_a16b710f592bf8f7900666392adc444dc}{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+O\+RT}~8080 \item \#define \hyperlink{monitor_8h_a939612a13947b5bb9fc848e3222a231d}{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+A\+R\+I\+TY}~0 \item \#define \hyperlink{monitor_8h_ab3be9ae187e8b98bb000ca0bca68e982}{D\+E\+T\+E\+C\+T\+\_\+\+A\+R\+E\+NA}~(1) \item \#define \hyperlink{monitor_8h_a22d20ac264e03c59d6941cb11386aa89}{C\+H\+E\+C\+K\+\_\+\+A\+R\+E\+NA}~(2) \item \#define \hyperlink{monitor_8h_a1d58e03abc2a587c7f0a0665c94c0e68}{N\+O\+\_\+\+A\+R\+E\+NA}~(3) \item \#define \hyperlink{monitor_8h_a2c47b710f0858fe41c544517c6b2a2fd}{D\+E\+F\+A\+U\+L\+T\+\_\+\+N\+O\+D\+E\+J\+S\+\_\+\+P\+A\+TH}~\char`\"{}/usr/bin/nodejs\char`\"{} \item \#define \hyperlink{monitor_8h_af533d8bd7d6a1d9f9efba3b259280e32}{D\+E\+F\+A\+U\+L\+T\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+F\+I\+LE}~\char`\"{}./interface.\+js\char`\"{} \item \#define \hyperlink{monitor_8h_ab6b45251e218af8f09c5d627b5262398}{closesocket}(param)~close(param) \end{DoxyCompactItemize} \subsection*{Typedefs} \begin{DoxyCompactItemize} \item typedef int \hyperlink{monitor_8h_a8dc8083897335125630f1af5dafd5831}{S\+O\+C\+K\+ET} \item typedef struct sockaddr\+\_\+in \hyperlink{monitor_8h_a29046dc0232f0e5c70adbc25090d77b8}{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN} \item typedef struct sockaddr \hyperlink{monitor_8h_ae334b73cedf7204187dce3f817576009}{S\+O\+C\+K\+A\+D\+DR} \end{DoxyCompactItemize} \subsection*{Functions} \begin{DoxyCompactItemize} \item int \hyperlink{monitor_8h_ac3d876b96642b6ee46f6a96b7ffcb864}{send\+\_\+message\+\_\+to\+\_\+monitor} (const char $\ast$type\+Message, const void $\ast$data=N\+U\+LL) \begin{DoxyCompactList}\small\item\em Envoi d\textquotesingle{}un message vers l\textquotesingle{}interface graphique. \end{DoxyCompactList}\item int \hyperlink{monitor_8h_a61eca0d5b49118350db39583e1bd1032}{receive\+\_\+message\+\_\+from\+\_\+monitor} (char $\ast$type\+Message, char $\ast$data) \begin{DoxyCompactList}\small\item\em Réception d\textquotesingle{}un message. La fonction est bloquante et retourne par référence le type de message reçu (D\+MB pour un ordre au robot, A\+RN pour la détection des arènes et P\+OS pour un calcul de position) ainsi que les données associées. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Detailed Description} Library for sending message to monitor or receiving message. \begin{DoxyAuthor}{Author} L.\+senaneuch \end{DoxyAuthor} \begin{DoxyVersion}{Version} 1.\+0 \end{DoxyVersion} \begin{DoxyDate}{Date} 06/06/2017 \end{DoxyDate} \subsection{Macro Definition Documentation} \mbox{\Hypertarget{monitor_8h_a22d20ac264e03c59d6941cb11386aa89}\label{monitor_8h_a22d20ac264e03c59d6941cb11386aa89}} \index{monitor.\+h@{monitor.\+h}!C\+H\+E\+C\+K\+\_\+\+A\+R\+E\+NA@{C\+H\+E\+C\+K\+\_\+\+A\+R\+E\+NA}} \index{C\+H\+E\+C\+K\+\_\+\+A\+R\+E\+NA@{C\+H\+E\+C\+K\+\_\+\+A\+R\+E\+NA}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{C\+H\+E\+C\+K\+\_\+\+A\+R\+E\+NA}{CHECK\_ARENA}} {\footnotesize\ttfamily \#define C\+H\+E\+C\+K\+\_\+\+A\+R\+E\+NA~(2)} Definition at line 62 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_ab6b45251e218af8f09c5d627b5262398}\label{monitor_8h_ab6b45251e218af8f09c5d627b5262398}} \index{monitor.\+h@{monitor.\+h}!closesocket@{closesocket}} \index{closesocket@{closesocket}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{closesocket}{closesocket}} {\footnotesize\ttfamily \#define closesocket(\begin{DoxyParamCaption}\item[{}]{param }\end{DoxyParamCaption})~close(param)} Definition at line 68 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_af533d8bd7d6a1d9f9efba3b259280e32}\label{monitor_8h_af533d8bd7d6a1d9f9efba3b259280e32}} \index{monitor.\+h@{monitor.\+h}!D\+E\+F\+A\+U\+L\+T\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+F\+I\+LE@{D\+E\+F\+A\+U\+L\+T\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+F\+I\+LE}} \index{D\+E\+F\+A\+U\+L\+T\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+F\+I\+LE@{D\+E\+F\+A\+U\+L\+T\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+F\+I\+LE}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{D\+E\+F\+A\+U\+L\+T\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+F\+I\+LE}{DEFAULT\_INTERFACE\_FILE}} {\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+I\+N\+T\+E\+R\+F\+A\+C\+E\+\_\+\+F\+I\+LE~\char`\"{}./interface.\+js\char`\"{}} Definition at line 66 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a2c47b710f0858fe41c544517c6b2a2fd}\label{monitor_8h_a2c47b710f0858fe41c544517c6b2a2fd}} \index{monitor.\+h@{monitor.\+h}!D\+E\+F\+A\+U\+L\+T\+\_\+\+N\+O\+D\+E\+J\+S\+\_\+\+P\+A\+TH@{D\+E\+F\+A\+U\+L\+T\+\_\+\+N\+O\+D\+E\+J\+S\+\_\+\+P\+A\+TH}} \index{D\+E\+F\+A\+U\+L\+T\+\_\+\+N\+O\+D\+E\+J\+S\+\_\+\+P\+A\+TH@{D\+E\+F\+A\+U\+L\+T\+\_\+\+N\+O\+D\+E\+J\+S\+\_\+\+P\+A\+TH}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{D\+E\+F\+A\+U\+L\+T\+\_\+\+N\+O\+D\+E\+J\+S\+\_\+\+P\+A\+TH}{DEFAULT\_NODEJS\_PATH}} {\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+N\+O\+D\+E\+J\+S\+\_\+\+P\+A\+TH~\char`\"{}/usr/bin/nodejs\char`\"{}} Definition at line 65 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a939612a13947b5bb9fc848e3222a231d}\label{monitor_8h_a939612a13947b5bb9fc848e3222a231d}} \index{monitor.\+h@{monitor.\+h}!D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+A\+R\+I\+TY@{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+A\+R\+I\+TY}} \index{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+A\+R\+I\+TY@{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+A\+R\+I\+TY}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+A\+R\+I\+TY}{DEFAULT\_PARITY}} {\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+A\+R\+I\+TY~0} Definition at line 59 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a16b710f592bf8f7900666392adc444dc}\label{monitor_8h_a16b710f592bf8f7900666392adc444dc}} \index{monitor.\+h@{monitor.\+h}!D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+O\+RT@{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+O\+RT}} \index{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+O\+RT@{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+O\+RT}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+O\+RT}{DEFAULT\_PORT}} {\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+P\+O\+RT~8080} Definition at line 58 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_ab3be9ae187e8b98bb000ca0bca68e982}\label{monitor_8h_ab3be9ae187e8b98bb000ca0bca68e982}} \index{monitor.\+h@{monitor.\+h}!D\+E\+T\+E\+C\+T\+\_\+\+A\+R\+E\+NA@{D\+E\+T\+E\+C\+T\+\_\+\+A\+R\+E\+NA}} \index{D\+E\+T\+E\+C\+T\+\_\+\+A\+R\+E\+NA@{D\+E\+T\+E\+C\+T\+\_\+\+A\+R\+E\+NA}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{D\+E\+T\+E\+C\+T\+\_\+\+A\+R\+E\+NA}{DETECT\_ARENA}} {\footnotesize\ttfamily \#define D\+E\+T\+E\+C\+T\+\_\+\+A\+R\+E\+NA~(1)} Definition at line 61 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a91e2658cf20010646211ba748885c180}\label{monitor_8h_a91e2658cf20010646211ba748885c180}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+A\+M\+E\+RA@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+A\+M\+E\+RA}} \index{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+A\+M\+E\+RA@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+A\+M\+E\+RA}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+A\+M\+E\+RA}{HEADER\_MTS\_CAMERA}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+A\+M\+E\+RA~\char`\"{}C\+AM\char`\"{}} Definition at line 52 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a0c829d92889c5c9b2d485964ce933fab}\label{monitor_8h_a0c829d92889c5c9b2d485964ce933fab}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+O\+M\+\_\+\+D\+MB@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+O\+M\+\_\+\+D\+MB}} \index{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+O\+M\+\_\+\+D\+MB@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+O\+M\+\_\+\+D\+MB}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+O\+M\+\_\+\+D\+MB}{HEADER\_MTS\_COM\_DMB}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+C\+O\+M\+\_\+\+D\+MB~\char`\"{}C\+OM\char`\"{}} Definition at line 51 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a5ccd30e6502bb94eaa13a597edb1f156}\label{monitor_8h_a5ccd30e6502bb94eaa13a597edb1f156}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+D\+M\+B\+\_\+\+O\+R\+D\+ER@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+D\+M\+B\+\_\+\+O\+R\+D\+ER}} \index{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+D\+M\+B\+\_\+\+O\+R\+D\+ER@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+D\+M\+B\+\_\+\+O\+R\+D\+ER}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+D\+M\+B\+\_\+\+O\+R\+D\+ER}{HEADER\_MTS\_DMB\_ORDER}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+D\+M\+B\+\_\+\+O\+R\+D\+ER~\char`\"{}D\+MB\char`\"{}} Definition at line 50 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a980e8f9457e30018fddcd4d997f17a85}\label{monitor_8h_a980e8f9457e30018fddcd4d997f17a85}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+M\+SG@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+M\+SG}} \index{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+M\+SG@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+M\+SG}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+M\+SG}{HEADER\_MTS\_MSG}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+M\+SG~\char`\"{}M\+SG\char`\"{}} Definition at line 49 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a2be30c9a3e65eaf5502b8542a6ac6259}\label{monitor_8h_a2be30c9a3e65eaf5502b8542a6ac6259}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+S\+T\+OP@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+S\+T\+OP}} \index{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+S\+T\+OP@{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+S\+T\+OP}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+S\+T\+OP}{HEADER\_MTS\_STOP}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+M\+T\+S\+\_\+\+S\+T\+OP~\char`\"{}S\+TO\char`\"{}} Definition at line 53 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_af2325d19ae9da4310eb608c744149f53}\label{monitor_8h_af2325d19ae9da4310eb608c744149f53}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+A\+CK@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+A\+CK}} \index{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+A\+CK@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+A\+CK}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+A\+CK}{HEADER\_STM\_ACK}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+A\+CK~\char`\"{}A\+CK\char`\"{}} Definition at line 45 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a0de226ae5af8b83f3b163ff4413eef95}\label{monitor_8h_a0de226ae5af8b83f3b163ff4413eef95}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+B\+AT@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+B\+AT}} \index{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+B\+AT@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+B\+AT}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+B\+AT}{HEADER\_STM\_BAT}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+B\+AT~\char`\"{}B\+AT\char`\"{}} Definition at line 42 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_ad62b697bd25a71d171db46740aef2830}\label{monitor_8h_ad62b697bd25a71d171db46740aef2830}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+I\+M\+A\+GE@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+I\+M\+A\+GE}} \index{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+I\+M\+A\+GE@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+I\+M\+A\+GE}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+I\+M\+A\+GE}{HEADER\_STM\_IMAGE}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+I\+M\+A\+GE~\char`\"{}I\+MG\char`\"{}} Definition at line 41 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_afe29ce74d16751828da8aec7e13ad06b}\label{monitor_8h_afe29ce74d16751828da8aec7e13ad06b}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+L\+O\+S\+T\+\_\+\+D\+MB@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+L\+O\+S\+T\+\_\+\+D\+MB}} \index{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+L\+O\+S\+T\+\_\+\+D\+MB@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+L\+O\+S\+T\+\_\+\+D\+MB}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+L\+O\+S\+T\+\_\+\+D\+MB}{HEADER\_STM\_LOST\_DMB}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+L\+O\+S\+T\+\_\+\+D\+MB~\char`\"{}L\+CD\char`\"{}} Definition at line 47 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_ac1034bccb09918cccd3ba142377a6788}\label{monitor_8h_ac1034bccb09918cccd3ba142377a6788}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+M\+ES@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+M\+ES}} \index{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+M\+ES@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+M\+ES}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+M\+ES}{HEADER\_STM\_MES}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+M\+ES~\char`\"{}M\+SG\char`\"{}} Definition at line 46 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_ac2e64478522da4e3b45c139c0c72557f}\label{monitor_8h_ac2e64478522da4e3b45c139c0c72557f}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+N\+O\+\_\+\+A\+CK@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+N\+O\+\_\+\+A\+CK}} \index{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+N\+O\+\_\+\+A\+CK@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+N\+O\+\_\+\+A\+CK}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+N\+O\+\_\+\+A\+CK}{HEADER\_STM\_NO\_ACK}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+N\+O\+\_\+\+A\+CK~\char`\"{}N\+AK\char`\"{}} Definition at line 44 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a6a07aae2539981459edc8070a0f019db}\label{monitor_8h_a6a07aae2539981459edc8070a0f019db}} \index{monitor.\+h@{monitor.\+h}!H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+P\+OS@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+P\+OS}} \index{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+P\+OS@{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+P\+OS}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+P\+OS}{HEADER\_STM\_POS}} {\footnotesize\ttfamily \#define H\+E\+A\+D\+E\+R\+\_\+\+S\+T\+M\+\_\+\+P\+OS~\char`\"{}P\+OS\char`\"{}} Definition at line 43 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a26769957ec1a2beaf223f33b66ee64ab}\label{monitor_8h_a26769957ec1a2beaf223f33b66ee64ab}} \index{monitor.\+h@{monitor.\+h}!I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+O\+C\+K\+ET@{I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+O\+C\+K\+ET}} \index{I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+O\+C\+K\+ET@{I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+O\+C\+K\+ET}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+O\+C\+K\+ET}{INVALID\_SOCKET}} {\footnotesize\ttfamily \#define I\+N\+V\+A\+L\+I\+D\+\_\+\+S\+O\+C\+K\+ET~-\/1} Definition at line 55 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a1d58e03abc2a587c7f0a0665c94c0e68}\label{monitor_8h_a1d58e03abc2a587c7f0a0665c94c0e68}} \index{monitor.\+h@{monitor.\+h}!N\+O\+\_\+\+A\+R\+E\+NA@{N\+O\+\_\+\+A\+R\+E\+NA}} \index{N\+O\+\_\+\+A\+R\+E\+NA@{N\+O\+\_\+\+A\+R\+E\+NA}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{N\+O\+\_\+\+A\+R\+E\+NA}{NO\_ARENA}} {\footnotesize\ttfamily \#define N\+O\+\_\+\+A\+R\+E\+NA~(3)} Definition at line 63 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a633b0396ff93d336a088412a190a5072}\label{monitor_8h_a633b0396ff93d336a088412a190a5072}} \index{monitor.\+h@{monitor.\+h}!S\+O\+C\+K\+E\+T\+\_\+\+E\+R\+R\+OR@{S\+O\+C\+K\+E\+T\+\_\+\+E\+R\+R\+OR}} \index{S\+O\+C\+K\+E\+T\+\_\+\+E\+R\+R\+OR@{S\+O\+C\+K\+E\+T\+\_\+\+E\+R\+R\+OR}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{S\+O\+C\+K\+E\+T\+\_\+\+E\+R\+R\+OR}{SOCKET\_ERROR}} {\footnotesize\ttfamily \#define S\+O\+C\+K\+E\+T\+\_\+\+E\+R\+R\+OR~-\/1} Definition at line 56 of file monitor.\+h. \subsection{Typedef Documentation} \mbox{\Hypertarget{monitor_8h_ae334b73cedf7204187dce3f817576009}\label{monitor_8h_ae334b73cedf7204187dce3f817576009}} \index{monitor.\+h@{monitor.\+h}!S\+O\+C\+K\+A\+D\+DR@{S\+O\+C\+K\+A\+D\+DR}} \index{S\+O\+C\+K\+A\+D\+DR@{S\+O\+C\+K\+A\+D\+DR}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{S\+O\+C\+K\+A\+D\+DR}{SOCKADDR}} {\footnotesize\ttfamily typedef struct sockaddr \hyperlink{monitor_8h_ae334b73cedf7204187dce3f817576009}{S\+O\+C\+K\+A\+D\+DR}} Definition at line 72 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a29046dc0232f0e5c70adbc25090d77b8}\label{monitor_8h_a29046dc0232f0e5c70adbc25090d77b8}} \index{monitor.\+h@{monitor.\+h}!S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN@{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN}} \index{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN@{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN}{SOCKADDR\_IN}} {\footnotesize\ttfamily typedef struct sockaddr\+\_\+in \hyperlink{monitor_8h_a29046dc0232f0e5c70adbc25090d77b8}{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN}} Definition at line 71 of file monitor.\+h. \mbox{\Hypertarget{monitor_8h_a8dc8083897335125630f1af5dafd5831}\label{monitor_8h_a8dc8083897335125630f1af5dafd5831}} \index{monitor.\+h@{monitor.\+h}!S\+O\+C\+K\+ET@{S\+O\+C\+K\+ET}} \index{S\+O\+C\+K\+ET@{S\+O\+C\+K\+ET}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{S\+O\+C\+K\+ET}{SOCKET}} {\footnotesize\ttfamily typedef int \hyperlink{monitor_8h_a8dc8083897335125630f1af5dafd5831}{S\+O\+C\+K\+ET}} Definition at line 70 of file monitor.\+h. \subsection{Function Documentation} \mbox{\Hypertarget{monitor_8h_a61eca0d5b49118350db39583e1bd1032}\label{monitor_8h_a61eca0d5b49118350db39583e1bd1032}} \index{monitor.\+h@{monitor.\+h}!receive\+\_\+message\+\_\+from\+\_\+monitor@{receive\+\_\+message\+\_\+from\+\_\+monitor}} \index{receive\+\_\+message\+\_\+from\+\_\+monitor@{receive\+\_\+message\+\_\+from\+\_\+monitor}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{receive\+\_\+message\+\_\+from\+\_\+monitor()}{receive\_message\_from\_monitor()}} {\footnotesize\ttfamily int receive\+\_\+message\+\_\+from\+\_\+monitor (\begin{DoxyParamCaption}\item[{char $\ast$}]{type\+Message, }\item[{char $\ast$}]{data }\end{DoxyParamCaption})} Réception d\textquotesingle{}un message. La fonction est bloquante et retourne par référence le type de message reçu (D\+MB pour un ordre au robot, A\+RN pour la détection des arènes et P\+OS pour un calcul de position) ainsi que les données associées. \begin{DoxyParams}{Parameters} {\em type\+Message} & Type du message reçu \+: D\+MB pour un ordre au robot, A\+RN pour la demande de détection de l\textquotesingle{}arène, P\+OS pour un calcul de position et M\+SG pour un message de l\textquotesingle{}interface \\ \hline {\em data} & données associées au message reçu. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Retourne 0 la taille du message reçu ou une valeur négative si la connexion est perdue. \end{DoxyReturn} \mbox{\Hypertarget{monitor_8h_ac3d876b96642b6ee46f6a96b7ffcb864}\label{monitor_8h_ac3d876b96642b6ee46f6a96b7ffcb864}} \index{monitor.\+h@{monitor.\+h}!send\+\_\+message\+\_\+to\+\_\+monitor@{send\+\_\+message\+\_\+to\+\_\+monitor}} \index{send\+\_\+message\+\_\+to\+\_\+monitor@{send\+\_\+message\+\_\+to\+\_\+monitor}!monitor.\+h@{monitor.\+h}} \subsubsection{\texorpdfstring{send\+\_\+message\+\_\+to\+\_\+monitor()}{send\_message\_to\_monitor()}} {\footnotesize\ttfamily int send\+\_\+message\+\_\+to\+\_\+monitor (\begin{DoxyParamCaption}\item[{const char $\ast$}]{type\+Message, }\item[{const void $\ast$}]{data = {\ttfamily NULL} }\end{DoxyParamCaption})} Envoi d\textquotesingle{}un message vers l\textquotesingle{}interface graphique. \begin{DoxyParams}{Parameters} {\em type\+Message} & Type du message envoyé. Les valeurs possibles sont I\+MG pour une image, M\+ES pour un message à afficher dans la console, P\+OS pour la position du robot, B\+AT pour une valeur de la batterie et A\+CK pour valider un message de l\textquotesingle{}interface. \\ \hline {\em data} & données associées au message. Le type de la donnée doit correspondre au message \+: Image pour I\+MG, char $\ast$ M\+ES, \hyperlink{struct_position}{Position} pour P\+OS, char $\ast$ pour B\+AT et rien pour A\+CK. Attention, il n\textquotesingle{}y a aucune vérification a posterio. \\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} Retourne 0 si l\textquotesingle{}envoie a bien été réalisé et -\/1 en cas de problème. \end{DoxyReturn}