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

  typeMessage | Type 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
  data | donné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

  typeMessage | Type 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.
  data | donné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.