Bibliotheques TP RT  1.0
Bibliotheque de support pour TP/RT
monitor.h File Reference

Library for sending message to monitor or receiving message. More...

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "image.h"
#include "definitions.h"
Include dependency graph for monitor.h:

Go to the source code of this file.

Classes

struct  MessageFromMon
 

Macros

#define HEADER_STM_IMAGE   "IMG"
 
#define HEADER_STM_BAT   "BAT"
 
#define HEADER_STM_POS   "POS"
 
#define HEADER_STM_NO_ACK   "NAK"
 
#define HEADER_STM_ACK   "ACK"
 
#define HEADER_STM_MES   "MSG"
 
#define HEADER_STM_LOST_DMB   "LCD"
 
#define HEADER_MTS_MSG   "MSG"
 
#define HEADER_MTS_DMB_ORDER   "DMB"
 
#define HEADER_MTS_COM_DMB   "COM"
 
#define HEADER_MTS_CAMERA   "CAM"
 
#define HEADER_MTS_STOP   "STO"
 
#define INVALID_SOCKET   -1
 
#define SOCKET_ERROR   -1
 
#define DEFAULT_PORT   8080
 
#define DEFAULT_PARITY   0
 
#define DETECT_ARENA   (1)
 
#define CHECK_ARENA   (2)
 
#define NO_ARENA   (3)
 
#define DEFAULT_NODEJS_PATH   "/usr/bin/nodejs"
 
#define DEFAULT_INTERFACE_FILE   "./interface.js"
 
#define closesocket(param)   close(param)
 

Typedefs

typedef int SOCKET
 
typedef struct sockaddr_in SOCKADDR_IN
 
typedef struct sockaddr SOCKADDR
 

Functions

int send_message_to_monitor (const char *typeMessage, const void *data=NULL)
 Envoi d'un message vers l'interface graphique. More...
 
int receive_message_from_monitor (char *typeMessage, char *data)
 Réception d'un message. La fonction est bloquante et retourne par référence le type de message reçu (DMB pour un ordre au robot, ARN pour la détection des arènes et POS pour un calcul de position) ainsi que les données associées. More...
 

Detailed Description

Library for sending message to monitor or receiving message.

Author
L.senaneuch
Version
1.0
Date
06/06/2017

Definition in file monitor.h.

Macro Definition Documentation

◆ CHECK_ARENA

#define CHECK_ARENA   (2)

Definition at line 62 of file monitor.h.

◆ closesocket

#define closesocket (   param)    close(param)

Definition at line 68 of file monitor.h.

◆ DEFAULT_INTERFACE_FILE

#define DEFAULT_INTERFACE_FILE   "./interface.js"

Definition at line 66 of file monitor.h.

◆ DEFAULT_NODEJS_PATH

#define DEFAULT_NODEJS_PATH   "/usr/bin/nodejs"

Definition at line 65 of file monitor.h.

◆ DEFAULT_PARITY

#define DEFAULT_PARITY   0

Definition at line 59 of file monitor.h.

◆ DEFAULT_PORT

#define DEFAULT_PORT   8080

Definition at line 58 of file monitor.h.

◆ DETECT_ARENA

#define DETECT_ARENA   (1)

Definition at line 61 of file monitor.h.

◆ HEADER_MTS_CAMERA

#define HEADER_MTS_CAMERA   "CAM"

Definition at line 52 of file monitor.h.

◆ HEADER_MTS_COM_DMB

#define HEADER_MTS_COM_DMB   "COM"

Definition at line 51 of file monitor.h.

◆ HEADER_MTS_DMB_ORDER

#define HEADER_MTS_DMB_ORDER   "DMB"

Definition at line 50 of file monitor.h.

◆ HEADER_MTS_MSG

#define HEADER_MTS_MSG   "MSG"

Definition at line 49 of file monitor.h.

◆ HEADER_MTS_STOP

#define HEADER_MTS_STOP   "STO"

Definition at line 53 of file monitor.h.

◆ HEADER_STM_ACK

#define HEADER_STM_ACK   "ACK"

Definition at line 45 of file monitor.h.

◆ HEADER_STM_BAT

#define HEADER_STM_BAT   "BAT"

Definition at line 42 of file monitor.h.

◆ HEADER_STM_IMAGE

#define HEADER_STM_IMAGE   "IMG"

Definition at line 41 of file monitor.h.

◆ HEADER_STM_LOST_DMB

#define HEADER_STM_LOST_DMB   "LCD"

Definition at line 47 of file monitor.h.

◆ HEADER_STM_MES

#define HEADER_STM_MES   "MSG"

Definition at line 46 of file monitor.h.

◆ HEADER_STM_NO_ACK

#define HEADER_STM_NO_ACK   "NAK"

Definition at line 44 of file monitor.h.

◆ HEADER_STM_POS

#define HEADER_STM_POS   "POS"

Definition at line 43 of file monitor.h.

◆ INVALID_SOCKET

#define INVALID_SOCKET   -1

Definition at line 55 of file monitor.h.

◆ NO_ARENA

#define NO_ARENA   (3)

Definition at line 63 of file monitor.h.

◆ SOCKET_ERROR

#define SOCKET_ERROR   -1

Definition at line 56 of file monitor.h.

Typedef Documentation

◆ SOCKADDR

typedef struct sockaddr SOCKADDR

Definition at line 72 of file monitor.h.

◆ SOCKADDR_IN

typedef struct sockaddr_in SOCKADDR_IN

Definition at line 71 of file monitor.h.

◆ SOCKET

typedef int SOCKET

Definition at line 70 of file monitor.h.

Function Documentation

◆ receive_message_from_monitor()

int receive_message_from_monitor ( char *  typeMessage,
char *  data 
)

Réception d'un message. La fonction est bloquante et retourne par référence le type de message reçu (DMB pour un ordre au robot, ARN pour la détection des arènes et POS pour un calcul de position) ainsi que les données associées.

Parameters
typeMessageType du message reçu : DMB pour un ordre au robot, ARN pour la demande de détection de l'arène, POS pour un calcul de position et MSG pour un message de l'interface
datadonnées associées au message reçu.
Returns
Retourne 0 la taille du message reçu ou une valeur négative si la connexion est perdue.

◆ send_message_to_monitor()

int send_message_to_monitor ( const char *  typeMessage,
const void *  data = NULL 
)

Envoi d'un message vers l'interface graphique.

Parameters
typeMessageType du message envoyé. Les valeurs possibles sont IMG pour une image, MES pour un message à afficher dans la console, POS pour la position du robot, BAT pour une valeur de la batterie et ACK pour valider un message de l'interface.
datadonnées associées au message. Le type de la donnée doit correspondre au message : Image pour IMG, char * MES, Position pour POS, char * pour BAT et rien pour ACK. Attention, il n'y a aucune vérification a posterio.
Returns
Retourne 0 si l'envoie a bien été réalisé et -1 en cas de problème.