diff --git a/software/raspberry/superviseur-robot/.dep.inc b/software/raspberry/superviseur-robot/.dep.inc new file mode 100644 index 0000000..38ba445 --- /dev/null +++ b/software/raspberry/superviseur-robot/.dep.inc @@ -0,0 +1,5 @@ +# This code depends on make tool being used +DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES} ${TESTOBJECTFILES})) +ifneq (${DEPFILES},) +include ${DEPFILES} +endif diff --git a/software/raspberry/superviseur-robot/lib/TPRT.Doxyfile b/software/raspberry/superviseur-robot/TPRT.Doxyfile similarity index 100% rename from software/raspberry/superviseur-robot/lib/TPRT.Doxyfile rename to software/raspberry/superviseur-robot/TPRT.Doxyfile diff --git a/software/raspberry/superviseur-robot/dist/Debug/GNU-Linux/superviseur b/software/raspberry/superviseur-robot/dist/Debug/GNU-Linux/superviseur new file mode 100755 index 0000000..190e299 Binary files /dev/null and b/software/raspberry/superviseur-robot/dist/Debug/GNU-Linux/superviseur differ diff --git a/software/raspberry/superviseur-robot/dist/Debug/GNU-Linux/superviseur-robot b/software/raspberry/superviseur-robot/dist/Debug/GNU-Linux/superviseur-robot new file mode 100755 index 0000000..8010f7f Binary files /dev/null and b/software/raspberry/superviseur-robot/dist/Debug/GNU-Linux/superviseur-robot differ diff --git a/software/raspberry/superviseur-robot/superviseur/gdbsudo.sh b/software/raspberry/superviseur-robot/gdbsudo.sh similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/gdbsudo.sh rename to software/raspberry/superviseur-robot/gdbsudo.sh diff --git a/software/raspberry/superviseur-robot/lib/camera.cpp b/software/raspberry/superviseur-robot/lib/camera.cpp new file mode 100644 index 0000000..f14155a --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/camera.cpp @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "camera.h" +#include "img.h" + +using namespace cv; + +void Camera::setSize(int size) { + this->size = size; + switch (size){ + case xs: + this->width = 480; + this->height = 360; + break; + case sm: + this->width = 640; + this->height = 480; + break; + case md: + this->width = 1024; + this->height = 768; + break; + case lg: + this->width = 1280; + this->height = 960; + break; + default: + this->width = 480; + this->height = 360; + + } +} + + +int Camera::open_camera() { + this->cap.open(0); +} + +Camera::Camera(int size) { + this->setSize(size); + this->cap.set(CV_CAP_PROP_FORMAT, CV_8UC3); + this->cap.set(CV_CAP_PROP_FRAME_WIDTH,width); + this->cap.set(CV_CAP_PROP_FRAME_HEIGHT,height); +} + +int Camera::close_camera() { + cap.release(); + return 0; +} + +Img Camera::grab_image() { + ImageMat frame; + cap >> frame; + Img capture = Img(frame); + return capture; +} + + +bool Camera::isOpen() { + return cap.isOpened(); +} + +int Camera::getWidth() const { + return width; +} + +int Camera::getHeight() const { + return height; +} + + diff --git a/software/raspberry/superviseur-robot/lib/camera.h b/software/raspberry/superviseur-robot/lib/camera.h new file mode 100644 index 0000000..3857657 --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/camera.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef __CAMERA_H__ +#define __CAMERA_H__ + +#include +#include + +#include "img.h" + +enum captureSize {xs, sm, md, lg}; + +class Camera { +public: + + Camera(int size); + + int open_camera(); + + int getWidth() const; + + int getHeight() const; + + bool isOpen(); + void setSize(int size); + + int close_camera(); + Img grab_image(); + +private: + cv::VideoCapture cap; + int size = sm; + int width; + int height; +}; + +#endif //__CAMERA_H__ diff --git a/software/raspberry/superviseur-robot/lib/comgui.cpp b/software/raspberry/superviseur-robot/lib/comgui.cpp new file mode 100644 index 0000000..0ad3141 --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/comgui.cpp @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "comgui.h" +#include +#include + +#include +#include +#include +#include + +#include +#include +#include + +/* + * Constants used for sending commands to gui + */ +const string LABEL_GUI_ANGULAR_POSITION = "AngularPosition"; +const string LABEL_GUI_ANGULAR_SPEED = "AngularSpeed"; +const string LABEL_GUI_BATTERY_LEVEL = "Battery"; +const string LABEL_GUI_LINEAR_SPEED = "LinearSpeed"; +const string LABEL_GUI_USER_PRESENCE = "User"; +const string LABEL_GUI_BETA_ANGLE = "Beta"; +const string LABEL_GUI_TORQUE = "Torque"; +const string LABEL_GUI_EMERGENCY_STOP = "Emergency"; +const string LABEL_GUI_LOG = "Log"; + +/** + * Create a server and open a socket over TCP + * + * @param port Port used for communication + * @return Socket number + * @throw std::runtime_error if it fails + */ +int ComGui::Open(int port) { + struct sockaddr_in server; + + socketFD = socket(AF_INET, SOCK_STREAM, 0); + if (socketFD < 0) { + throw std::runtime_error{"ComGui::Open : Can not create socket"}; + } + + server.sin_addr.s_addr = INADDR_ANY; + server.sin_family = AF_INET; + server.sin_port = htons(port); + + if (bind(socketFD, (struct sockaddr *) &server, sizeof (server)) < 0) { + throw std::runtime_error{"ComGui::Open : Can not bind socket on port " + std::to_string(port)}; + } + + listen(socketFD, 1); + + return socketFD; +} + +/** + * Close socket and server + */ +void ComGui::Close() { + close(socketFD); + + socketFD = -1; +} + +/** + * Wait for a client to connect + * @return Client number + * @throw std::runtime_error if it fails + */ +int ComGui::AcceptClient() { + struct sockaddr_in client; + int c = sizeof (struct sockaddr_in); + + clientID = accept(socketFD, (struct sockaddr *) &client, (socklen_t*) & c); + + if (clientID < 0) + throw std::runtime_error { + "ComGui::AcceptClient : Accept failed" + }; + + return clientID; +} + +/** + * Send a message to GUI + * + * @param msg Message to send to GUI + * @attention Message given in parameter will be destroyed (delete) after being sent. No need for user to delete message after that. + * @warning Write is not thread safe : check that multiple tasks can't access this method simultaneously + */ +void ComGui::Write(Message* msg) { + string *str; + + // Call user method before Write + Write_Pre(); + + /* Convert message to string to send to GUI */ + str = MessageToString(msg); + + //cout << "Message sent to GUI: " << str->c_str() << endl; + write(clientID, str->c_str(), str->length()); + + delete(str); + + // Call user method after write + Write_Post(); +} + +/** + * Method used internally to convert a message content to a string that can be sent over TCP + * @param msg Message to be converted + * @return A string, image of the message + */ +string *ComGui::MessageToString(Message *msg) { + int id; + string *str; + + if (msg != NULL) { + id = msg->GetID(); + + switch (id) { + case MESSAGE_ANGLE_POSITION: + str = new string(LABEL_GUI_ANGULAR_POSITION + "=" + to_string(((MessageFloat*) msg)->GetValue()) + "\n"); + replace(str->begin(), str->end(), '.', ','); // Mono C# require float to have a , instead of a . + break; + case MESSAGE_ANGULAR_SPEED: + str = new string(LABEL_GUI_ANGULAR_SPEED + "=" + to_string(((MessageFloat*) msg)->GetValue()) + "\n"); + replace(str->begin(), str->end(), '.', ','); // Mono C# require float to have a , instead of a . + break; + case MESSAGE_BATTERY: + str = new string(LABEL_GUI_BATTERY_LEVEL + "=" + to_string(((MessageFloat*) msg)->GetValue()) + "\n"); + replace(str->begin(), str->end(), '.', ','); // Mono C# require float to have a , instead of a . + break; + case MESSAGE_BETA: + str = new string(LABEL_GUI_BETA_ANGLE + "=" + to_string(((MessageFloat*) msg)->GetValue()) + "\n"); + replace(str->begin(), str->end(), '.', ','); // Mono C# require float to have a , instead of a . + break; + case MESSAGE_LINEAR_SPEED: + str = new string(LABEL_GUI_LINEAR_SPEED + "=" + to_string(((MessageFloat*) msg)->GetValue()) + "\n"); + replace(str->begin(), str->end(), '.', ','); // Mono C# require float to have a , instead of a . + break; + case MESSAGE_TORQUE: + str = new string(LABEL_GUI_TORQUE + "=" + to_string(((MessageFloat*) msg)->GetValue()) + "\n"); + replace(str->begin(), str->end(), '.', ','); // Mono C# require float to have a , instead of a . + break; + case MESSAGE_EMERGENCY_STOP: + str = new string(LABEL_GUI_EMERGENCY_STOP + "="); + if (((MessageBool*) msg)->GetState()) + str->append("True\n"); + else + str->append("False\n"); + break; + case MESSAGE_USER_PRESENCE: + str = new string(LABEL_GUI_USER_PRESENCE + "="); + if (((MessageBool*) msg)->GetState()) + str->append("True\n"); + else + str->append("False\n"); + break; + case MESSAGE_EMPTY: + str = new string(""); //empty string + break; + case MESSAGE_LOG: + str = new string(LABEL_GUI_LOG + "=" + ((MessageString*) msg)->GetString() + "\n"); + break; + default: + str = new string(""); //empty string + break; + } + } + + return str; +} diff --git a/software/raspberry/superviseur-robot/lib/comgui.h b/software/raspberry/superviseur-robot/lib/comgui.h new file mode 100644 index 0000000..351a0d7 --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/comgui.h @@ -0,0 +1,104 @@ + /* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef __COMGUI_H__ +#define __COMGUI_H__ + +#include "messages.h" +#include + +using namespace std; + +/** + * Class used for generating a server and communicating through it with GUI + * + * @brief Communication class with GUI (server) + * + */ +class ComGui { +public: + /** + * Constructor + */ + ComGui() {} + + /** + * Destructor + */ + virtual ~ComGui() {} + + /** + * Create a server and open a socket over TCP + * + * @param port Port used for communication + * @return Socket number + * @throw std::runtime_error if it fails + */ + int Open(int port); + + /** + * Close socket and server + */ + void Close(); + + /** + * Wait for a client to connect + * @return Client number + * @throw std::runtime_error if it fails + */ + int AcceptClient(); + + /** + * Send a message to GUI + * + * @param msg Message to send to GUI + * @attention Message given in parameter will be destroyed (delete) after being sent. No need for user to delete message after that. + * @warning Write is not thread safe : check that multiple tasks can't access this method simultaneously + */ + void Write(Message* msg); + + /** + * Function called at beginning of Write method + * Use it to do some synchronization (call of mutex, for example) + */ + virtual void Write_Pre() {} + + /** + * Function called at end of Write method + * Use it to do some synchronization (release of mutex, for example) + */ + virtual void Write_Post() {} +protected: + /** + * Socket descriptor + */ + int socketFD = -1; + + /** + * Socket descriptor + */ + int clientID = -1; + + /** + * Method used internally to convert a message content to a string that can be sent over TCP + * @param msg Message to be converted + * @return A string, image of the message + */ + string *MessageToString(Message *msg); +}; + +#endif /* __COMGUI_H__ */ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/annotated.html b/software/raspberry/superviseur-robot/lib/doc/html/annotated.html deleted file mode 100644 index b29162e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/annotated.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Class List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Class List
-
-
-
Here are the classes, structs, unions and interfaces with brief descriptions:
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/annotated_dup.js b/software/raspberry/superviseur-robot/lib/doc/html/annotated_dup.js deleted file mode 100644 index f1dedf8..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/annotated_dup.js +++ /dev/null @@ -1,7 +0,0 @@ -var annotated_dup = -[ - [ "MessageFromMon", "struct_message_from_mon.html", "struct_message_from_mon" ], - [ "MessageToMon", "struct_message_to_mon.html", "struct_message_to_mon" ], - [ "MessageToRobot", "struct_message_to_robot.html", "struct_message_to_robot" ], - [ "Position", "struct_position.html", "struct_position" ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/bc_s.png b/software/raspberry/superviseur-robot/lib/doc/html/bc_s.png deleted file mode 100644 index 224b29a..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/bc_s.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/bdwn.png b/software/raspberry/superviseur-robot/lib/doc/html/bdwn.png deleted file mode 100644 index 940a0b9..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/bdwn.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/classes.html b/software/raspberry/superviseur-robot/lib/doc/html/classes.html deleted file mode 100644 index 9463d6d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/classes.html +++ /dev/null @@ -1,110 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Class Index - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Class Index
-
-
-
m | p
- - - - - -
  m  
-
MessageToMon   
  p  
-
MessageToRobot   
MessageFromMon   Position   
-
m | p
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/closed.png b/software/raspberry/superviseur-robot/lib/doc/html/closed.png deleted file mode 100644 index 98cc2c9..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/closed.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h.html b/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h.html deleted file mode 100644 index 57016e4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h.html +++ /dev/null @@ -1,723 +0,0 @@ - - - - - - - -Bibliotheques TP RT: definitions.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
definitions.h File Reference
-
-
- -

Various constants used in destjil project. -More...

-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - -
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Macros

#define OPEN_COM_DMB   'o'
 
#define CLOSE_COM_DMB   'C'
 
#define DMB_PING   'p'
 
#define DMB_IDLE   'r'
 
#define DMB_START_WITHOUT_WD   'u'
 
#define DMB_START_WITH_WD   'W'
 
#define DMB_RELOAD_WD   'w'
 
#define DMB_GET_VBAT   'v'
 
#define DMB_IS_BUSY   'b'
 
#define DMB_MOVE   'M'
 
#define DMB_TURN   'T'
 
#define DMB_GO_FORWARD   'F'
 
#define DMB_GO_BACK   'B'
 
#define DMB_GO_LEFT   'L'
 
#define DMB_GO_RIGHT   'R'
 
#define DMB_STOP_MOVE   'S'
 
#define ROBOT_TIMED_OUT   -3
 
#define ROBOT_UKNOWN_CMD   -2
 
#define ROBOT_ERROR   -1
 
#define ROBOT_CHECKSUM   -4
 
#define ROBOT_OK   0
 
#define CAM_OPEN   'A'
 
#define CAM_CLOSE   'I'
 
#define CAM_ASK_ARENA   'y'
 
#define CAM_ARENA_CONFIRM   'x'
 
#define CAM_ARENA_INFIRM   'z'
 
#define CAM_COMPUTE_POSITION   'p'
 
#define CAM_STOP_COMPUTE_POSITION   's'
 
#define DMB_BAT_LOW   0
 
#define DMB_BAT_MEDIUM   1
 
#define DMB_BAT_HIGH   2
 
#define DMB_BUSY   1
 
#define DMB_DO_NOTHING   0
 
-

Detailed Description

-

Various constants used in destjil project.

-
Author
PE.Hladik
-
Version
1.0
-
Date
06/06/2017
- -

Definition in file definitions.h.

-

Macro Definition Documentation

- -

◆ CAM_ARENA_CONFIRM

- -
-
- - - - -
#define CAM_ARENA_CONFIRM   'x'
-
- -

Definition at line 57 of file definitions.h.

- -
-
- -

◆ CAM_ARENA_INFIRM

- -
-
- - - - -
#define CAM_ARENA_INFIRM   'z'
-
- -

Definition at line 58 of file definitions.h.

- -
-
- -

◆ CAM_ASK_ARENA

- -
-
- - - - -
#define CAM_ASK_ARENA   'y'
-
- -

Definition at line 56 of file definitions.h.

- -
-
- -

◆ CAM_CLOSE

- -
-
- - - - -
#define CAM_CLOSE   'I'
-
- -

Definition at line 55 of file definitions.h.

- -
-
- -

◆ CAM_COMPUTE_POSITION

- -
-
- - - - -
#define CAM_COMPUTE_POSITION   'p'
-
- -

Definition at line 59 of file definitions.h.

- -
-
- -

◆ CAM_OPEN

- -
-
- - - - -
#define CAM_OPEN   'A'
-
- -

Definition at line 54 of file definitions.h.

- -
-
- -

◆ CAM_STOP_COMPUTE_POSITION

- -
-
- - - - -
#define CAM_STOP_COMPUTE_POSITION   's'
-
- -

Definition at line 60 of file definitions.h.

- -
-
- -

◆ CLOSE_COM_DMB

- -
-
- - - - -
#define CLOSE_COM_DMB   'C'
-
- -

Definition at line 31 of file definitions.h.

- -
-
- -

◆ DMB_BAT_HIGH

- -
-
- - - - -
#define DMB_BAT_HIGH   2
-
- -

Definition at line 64 of file definitions.h.

- -
-
- -

◆ DMB_BAT_LOW

- -
-
- - - - -
#define DMB_BAT_LOW   0
-
- -

Definition at line 62 of file definitions.h.

- -
-
- -

◆ DMB_BAT_MEDIUM

- -
-
- - - - -
#define DMB_BAT_MEDIUM   1
-
- -

Definition at line 63 of file definitions.h.

- -
-
- -

◆ DMB_BUSY

- -
-
- - - - -
#define DMB_BUSY   1
-
- -

Definition at line 66 of file definitions.h.

- -
-
- -

◆ DMB_DO_NOTHING

- -
-
- - - - -
#define DMB_DO_NOTHING   0
-
- -

Definition at line 67 of file definitions.h.

- -
-
- -

◆ DMB_GET_VBAT

- -
-
- - - - -
#define DMB_GET_VBAT   'v'
-
- -

Definition at line 38 of file definitions.h.

- -
-
- -

◆ DMB_GO_BACK

- -
-
- - - - -
#define DMB_GO_BACK   'B'
-
- -

Definition at line 43 of file definitions.h.

- -
-
- -

◆ DMB_GO_FORWARD

- -
-
- - - - -
#define DMB_GO_FORWARD   'F'
-
- -

Definition at line 42 of file definitions.h.

- -
-
- -

◆ DMB_GO_LEFT

- -
-
- - - - -
#define DMB_GO_LEFT   'L'
-
- -

Definition at line 44 of file definitions.h.

- -
-
- -

◆ DMB_GO_RIGHT

- -
-
- - - - -
#define DMB_GO_RIGHT   'R'
-
- -

Definition at line 45 of file definitions.h.

- -
-
- -

◆ DMB_IDLE

- -
-
- - - - -
#define DMB_IDLE   'r'
-
- -

Definition at line 34 of file definitions.h.

- -
-
- -

◆ DMB_IS_BUSY

- -
-
- - - - -
#define DMB_IS_BUSY   'b'
-
- -

Definition at line 39 of file definitions.h.

- -
-
- -

◆ DMB_MOVE

- -
-
- - - - -
#define DMB_MOVE   'M'
-
- -

Definition at line 40 of file definitions.h.

- -
-
- -

◆ DMB_PING

- -
-
- - - - -
#define DMB_PING   'p'
-
- -

Definition at line 33 of file definitions.h.

- -
-
- -

◆ DMB_RELOAD_WD

- -
-
- - - - -
#define DMB_RELOAD_WD   'w'
-
- -

Definition at line 37 of file definitions.h.

- -
-
- -

◆ DMB_START_WITH_WD

- -
-
- - - - -
#define DMB_START_WITH_WD   'W'
-
- -

Definition at line 36 of file definitions.h.

- -
-
- -

◆ DMB_START_WITHOUT_WD

- -
-
- - - - -
#define DMB_START_WITHOUT_WD   'u'
-
- -

Definition at line 35 of file definitions.h.

- -
-
- -

◆ DMB_STOP_MOVE

- -
-
- - - - -
#define DMB_STOP_MOVE   'S'
-
- -

Definition at line 46 of file definitions.h.

- -
-
- -

◆ DMB_TURN

- -
-
- - - - -
#define DMB_TURN   'T'
-
- -

Definition at line 41 of file definitions.h.

- -
-
- -

◆ OPEN_COM_DMB

- -
-
- - - - -
#define OPEN_COM_DMB   'o'
-
- -

Definition at line 30 of file definitions.h.

- -
-
- -

◆ ROBOT_CHECKSUM

- -
-
- - - - -
#define ROBOT_CHECKSUM   -4
-
- -

Definition at line 51 of file definitions.h.

- -
-
- -

◆ ROBOT_ERROR

- -
-
- - - - -
#define ROBOT_ERROR   -1
-
- -

Definition at line 50 of file definitions.h.

- -
-
- -

◆ ROBOT_OK

- -
-
- - - - -
#define ROBOT_OK   0
-
- -

Definition at line 52 of file definitions.h.

- -
-
- -

◆ ROBOT_TIMED_OUT

- -
-
- - - - -
#define ROBOT_TIMED_OUT   -3
-
- -

Definition at line 48 of file definitions.h.

- -
-
- -

◆ ROBOT_UKNOWN_CMD

- -
-
- - - - -
#define ROBOT_UKNOWN_CMD   -2
-
- -

Definition at line 49 of file definitions.h.

- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h.js b/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h.js deleted file mode 100644 index 5bd2440..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h.js +++ /dev/null @@ -1,36 +0,0 @@ -var definitions_8h = -[ - [ "CAM_ARENA_CONFIRM", "definitions_8h.html#a15d9063cd3c60755685ceb75df4a7354", null ], - [ "CAM_ARENA_INFIRM", "definitions_8h.html#ac836c6abc7e32d2cf7f59ed2a8383ca7", null ], - [ "CAM_ASK_ARENA", "definitions_8h.html#a6418778d1f34e618aebd9ca1861ab500", null ], - [ "CAM_CLOSE", "definitions_8h.html#a675009273c3923e8ad1a6d2818063b61", null ], - [ "CAM_COMPUTE_POSITION", "definitions_8h.html#a74fdb9d00556feb699d3c72bd7b5d5e5", null ], - [ "CAM_OPEN", "definitions_8h.html#a2a7149bbe097fae8e799ce2ab6f69390", null ], - [ "CAM_STOP_COMPUTE_POSITION", "definitions_8h.html#ae864cfaefbf5a210e67678b2144a289f", null ], - [ "CLOSE_COM_DMB", "definitions_8h.html#a1b18773c1ce9068c4d38c2cbd2900263", null ], - [ "DMB_BAT_HIGH", "definitions_8h.html#ab34c46794a9de6746a96752668c73754", null ], - [ "DMB_BAT_LOW", "definitions_8h.html#a66c0c4960c1e81c8da8c8e1d4a202352", null ], - [ "DMB_BAT_MEDIUM", "definitions_8h.html#aea6ef1c13db1a8a4a29b065d0c3f73e4", null ], - [ "DMB_BUSY", "definitions_8h.html#a3327443cd321f0c356a5d3d74377892b", null ], - [ "DMB_DO_NOTHING", "definitions_8h.html#a07650c5f6647c5143bac535fdbeb77d5", null ], - [ "DMB_GET_VBAT", "definitions_8h.html#af1737e8fe4da4e8bc2d5db9d26c42462", null ], - [ "DMB_GO_BACK", "definitions_8h.html#a499f41cc19a4459de033687049cbbe71", null ], - [ "DMB_GO_FORWARD", "definitions_8h.html#ae363a29a4961cd8a646a0ca9199bc6cf", null ], - [ "DMB_GO_LEFT", "definitions_8h.html#aefcb838e73a335f1a2a6c914ee2ff752", null ], - [ "DMB_GO_RIGHT", "definitions_8h.html#ad681962f7b8cf4797ebd48be0405d1b9", null ], - [ "DMB_IDLE", "definitions_8h.html#a82b279c49221d3cd3d875d521dfb97b9", null ], - [ "DMB_IS_BUSY", "definitions_8h.html#ad58c241121e685f26a291aa4bd5f9c80", null ], - [ "DMB_MOVE", "definitions_8h.html#ac48dee90eb71d036d001321674abbb8b", null ], - [ "DMB_PING", "definitions_8h.html#acf7d51360dcb103fc57604725ec2816d", null ], - [ "DMB_RELOAD_WD", "definitions_8h.html#a2ca219902014ffb39aab27cca08a948f", null ], - [ "DMB_START_WITH_WD", "definitions_8h.html#adee1628bbc796ba55f4a349895f4e0fa", null ], - [ "DMB_START_WITHOUT_WD", "definitions_8h.html#a5ebbd37042a6244b4f9d473ae7132780", null ], - [ "DMB_STOP_MOVE", "definitions_8h.html#a7308179907a0a2989c162865e7a7979a", null ], - [ "DMB_TURN", "definitions_8h.html#ac6c5492c8100e73f8d30ed36072684db", null ], - [ "OPEN_COM_DMB", "definitions_8h.html#aac798eaf6994ddcadd8a38ad8aba234f", null ], - [ "ROBOT_CHECKSUM", "definitions_8h.html#af1118b8a83d446b4965347bba126a488", null ], - [ "ROBOT_ERROR", "definitions_8h.html#a4aefbbdd5d35999aa0575ab7183148d4", null ], - [ "ROBOT_OK", "definitions_8h.html#ad7b2f95c0b423fb9784acb897b910c36", null ], - [ "ROBOT_TIMED_OUT", "definitions_8h.html#a624686d3af63394ee02f0a197967d44a", null ], - [ "ROBOT_UKNOWN_CMD", "definitions_8h.html#a70a2d5db14b900843364adb7cfe53ac8", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.map deleted file mode 100644 index c63aab4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.md5 deleted file mode 100644 index b2447d2..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -f6420b77d2a0fdb7b89a101437d0222b \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.png deleted file mode 100644 index f981d80..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h__dep__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h_source.html b/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h_source.html deleted file mode 100644 index b923bc0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/definitions_8h_source.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - -Bibliotheques TP RT: definitions.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
definitions.h
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
27 #ifndef DEFINITIONS_H
28 #define DEFINITIONS_H
29 
30 #define OPEN_COM_DMB 'o'
31 #define CLOSE_COM_DMB 'C'
32 
33 #define DMB_PING 'p'
34 #define DMB_IDLE 'r'
35 #define DMB_START_WITHOUT_WD 'u'
36 #define DMB_START_WITH_WD 'W'
37 #define DMB_RELOAD_WD 'w'
38 #define DMB_GET_VBAT 'v'
39 #define DMB_IS_BUSY 'b'
40 #define DMB_MOVE 'M'
41 #define DMB_TURN 'T'
42 #define DMB_GO_FORWARD 'F'
43 #define DMB_GO_BACK 'B'
44 #define DMB_GO_LEFT 'L'
45 #define DMB_GO_RIGHT 'R'
46 #define DMB_STOP_MOVE 'S'
47 
48 #define ROBOT_TIMED_OUT -3
49 #define ROBOT_UKNOWN_CMD -2
50 #define ROBOT_ERROR -1
51 #define ROBOT_CHECKSUM -4
52 #define ROBOT_OK 0
53 
54 #define CAM_OPEN 'A'
55 #define CAM_CLOSE 'I'
56 #define CAM_ASK_ARENA 'y'
57 #define CAM_ARENA_CONFIRM 'x'
58 #define CAM_ARENA_INFIRM 'z'
59 #define CAM_COMPUTE_POSITION 'p'
60 #define CAM_STOP_COMPUTE_POSITION 's'
61 
62 #define DMB_BAT_LOW 0
63 #define DMB_BAT_MEDIUM 1
64 #define DMB_BAT_HIGH 2
65 
66 #define DMB_BUSY 1
67 #define DMB_DO_NOTHING 0
68 
69 #endif /* MSG_H */
70 
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/software/raspberry/superviseur-robot/lib/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html deleted file mode 100644 index ba86990..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src Directory Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
src Directory Reference
-
-
- - - - - - - - - - - - - - - - -

-Files

file  image.cpp [code]
 Fonctions de traitement d'image utilisable pour la détection du robot.
 
file  message.cpp [code]
 Functions for sending message to monitor.
 
file  monitor.cpp [code]
 Library for sending message to monitor or receiving message.
 
file  robot.cpp [code]
 
file  server.cpp [code]
 Library for opening a TCP server, receiving data and sending message to monitor.
 
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js b/software/raspberry/superviseur-robot/lib/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js deleted file mode 100644 index b7c5ab2..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.js +++ /dev/null @@ -1,8 +0,0 @@ -var dir_68267d1309a1af8e8297ef4c3efbcdba = -[ - [ "image.cpp", "image_8cpp.html", "image_8cpp" ], - [ "message.cpp", "message_8cpp.html", "message_8cpp" ], - [ "monitor.cpp", "monitor_8cpp.html", "monitor_8cpp" ], - [ "robot.cpp", "robot_8cpp.html", "robot_8cpp" ], - [ "server.cpp", "server_8cpp.html", "server_8cpp" ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/doc.png b/software/raspberry/superviseur-robot/lib/doc/html/doc.png deleted file mode 100644 index 17edabf..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/doc.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/doxygen.css b/software/raspberry/superviseur-robot/lib/doc/html/doxygen.css deleted file mode 100644 index 4f1ab91..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/doxygen.css +++ /dev/null @@ -1,1596 +0,0 @@ -/* The standard CSS for doxygen 1.8.13 */ - -body, table, div, p, dl { - font: 400 14px/22px Roboto,sans-serif; -} - -p.reference, p.definition { - font: 400 14px/22px Roboto,sans-serif; -} - -/* @group Heading Levels */ - -h1.groupheader { - font-size: 150%; -} - -.title { - font: 400 14px/28px Roboto,sans-serif; - font-size: 150%; - font-weight: bold; - margin: 10px 2px; -} - -h2.groupheader { - border-bottom: 1px solid #879ECB; - color: #354C7B; - font-size: 150%; - font-weight: normal; - margin-top: 1.75em; - padding-top: 8px; - padding-bottom: 4px; - width: 100%; -} - -h3.groupheader { - font-size: 100%; -} - -h1, h2, h3, h4, h5, h6 { - -webkit-transition: text-shadow 0.5s linear; - -moz-transition: text-shadow 0.5s linear; - -ms-transition: text-shadow 0.5s linear; - -o-transition: text-shadow 0.5s linear; - transition: text-shadow 0.5s linear; - margin-right: 15px; -} - -h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { - text-shadow: 0 0 15px cyan; -} - -dt { - font-weight: bold; -} - -div.multicol { - -moz-column-gap: 1em; - -webkit-column-gap: 1em; - -moz-column-count: 3; - -webkit-column-count: 3; -} - -p.startli, p.startdd { - margin-top: 2px; -} - -p.starttd { - margin-top: 0px; -} - -p.endli { - margin-bottom: 0px; -} - -p.enddd { - margin-bottom: 4px; -} - -p.endtd { - margin-bottom: 2px; -} - -/* @end */ - -caption { - font-weight: bold; -} - -span.legend { - font-size: 70%; - text-align: center; -} - -h3.version { - font-size: 90%; - text-align: center; -} - -div.qindex, div.navtab{ - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; -} - -div.qindex, div.navpath { - width: 100%; - line-height: 140%; -} - -div.navtab { - margin-right: 15px; -} - -/* @group Link Styling */ - -a { - color: #3D578C; - font-weight: normal; - text-decoration: none; -} - -.contents a:visited { - color: #4665A2; -} - -a:hover { - text-decoration: underline; -} - -a.qindex { - font-weight: bold; -} - -a.qindexHL { - font-weight: bold; - background-color: #9CAFD4; - color: #ffffff; - border: 1px double #869DCA; -} - -.contents a.qindexHL:visited { - color: #ffffff; -} - -a.el { - font-weight: bold; -} - -a.elRef { -} - -a.code, a.code:visited, a.line, a.line:visited { - color: #4665A2; -} - -a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { - color: #4665A2; -} - -/* @end */ - -dl.el { - margin-left: -1cm; -} - -pre.fragment { - border: 1px solid #C4CFE5; - background-color: #FBFCFD; - padding: 4px 6px; - margin: 4px 8px 4px 2px; - overflow: auto; - word-wrap: break-word; - font-size: 9pt; - line-height: 125%; - font-family: monospace, fixed; - font-size: 105%; -} - -div.fragment { - padding: 0px; - margin: 4px 8px 4px 2px; - background-color: #FBFCFD; - border: 1px solid #C4CFE5; -} - -div.line { - font-family: monospace, fixed; - font-size: 13px; - min-height: 13px; - line-height: 1.0; - text-wrap: unrestricted; - white-space: -moz-pre-wrap; /* Moz */ - white-space: -pre-wrap; /* Opera 4-6 */ - white-space: -o-pre-wrap; /* Opera 7 */ - white-space: pre-wrap; /* CSS3 */ - word-wrap: break-word; /* IE 5.5+ */ - text-indent: -53px; - padding-left: 53px; - padding-bottom: 0px; - margin: 0px; - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -div.line:after { - content:"\000A"; - white-space: pre; -} - -div.line.glow { - background-color: cyan; - box-shadow: 0 0 10px cyan; -} - - -span.lineno { - padding-right: 4px; - text-align: right; - border-right: 2px solid #0F0; - background-color: #E8E8E8; - white-space: pre; -} -span.lineno a { - background-color: #D8D8D8; -} - -span.lineno a:hover { - background-color: #C8C8C8; -} - -.lineno { - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -div.ah, span.ah { - background-color: black; - font-weight: bold; - color: #ffffff; - margin-bottom: 3px; - margin-top: 3px; - padding: 0.2em; - border: solid thin #333; - border-radius: 0.5em; - -webkit-border-radius: .5em; - -moz-border-radius: .5em; - box-shadow: 2px 2px 3px #999; - -webkit-box-shadow: 2px 2px 3px #999; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); - background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); -} - -div.classindex ul { - list-style: none; - padding-left: 0; -} - -div.classindex span.ai { - display: inline-block; -} - -div.groupHeader { - margin-left: 16px; - margin-top: 12px; - font-weight: bold; -} - -div.groupText { - margin-left: 16px; - font-style: italic; -} - -body { - background-color: white; - color: black; - margin: 0; -} - -div.contents { - margin-top: 10px; - margin-left: 12px; - margin-right: 8px; -} - -td.indexkey { - background-color: #EBEFF6; - font-weight: bold; - border: 1px solid #C4CFE5; - margin: 2px 0px 2px 0; - padding: 2px 10px; - white-space: nowrap; - vertical-align: top; -} - -td.indexvalue { - background-color: #EBEFF6; - border: 1px solid #C4CFE5; - padding: 2px 10px; - margin: 2px 0px; -} - -tr.memlist { - background-color: #EEF1F7; -} - -p.formulaDsp { - text-align: center; -} - -img.formulaDsp { - -} - -img.formulaInl { - vertical-align: middle; -} - -div.center { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; - padding: 0px; -} - -div.center img { - border: 0px; -} - -address.footer { - text-align: right; - padding-right: 12px; -} - -img.footer { - border: 0px; - vertical-align: middle; -} - -/* @group Code Colorization */ - -span.keyword { - color: #008000 -} - -span.keywordtype { - color: #604020 -} - -span.keywordflow { - color: #e08000 -} - -span.comment { - color: #800000 -} - -span.preprocessor { - color: #806020 -} - -span.stringliteral { - color: #002080 -} - -span.charliteral { - color: #008080 -} - -span.vhdldigit { - color: #ff00ff -} - -span.vhdlchar { - color: #000000 -} - -span.vhdlkeyword { - color: #700070 -} - -span.vhdllogic { - color: #ff0000 -} - -blockquote { - background-color: #F7F8FB; - border-left: 2px solid #9CAFD4; - margin: 0 24px 0 4px; - padding: 0 12px 0 16px; -} - -/* @end */ - -/* -.search { - color: #003399; - font-weight: bold; -} - -form.search { - margin-bottom: 0px; - margin-top: 0px; -} - -input.search { - font-size: 75%; - color: #000080; - font-weight: normal; - background-color: #e8eef2; -} -*/ - -td.tiny { - font-size: 75%; -} - -.dirtab { - padding: 4px; - border-collapse: collapse; - border: 1px solid #A3B4D7; -} - -th.dirtab { - background: #EBEFF6; - font-weight: bold; -} - -hr { - height: 0px; - border: none; - border-top: 1px solid #4A6AAA; -} - -hr.footer { - height: 1px; -} - -/* @group Member Descriptions */ - -table.memberdecls { - border-spacing: 0px; - padding: 0px; -} - -.memberdecls td, .fieldtable tr { - -webkit-transition-property: background-color, box-shadow; - -webkit-transition-duration: 0.5s; - -moz-transition-property: background-color, box-shadow; - -moz-transition-duration: 0.5s; - -ms-transition-property: background-color, box-shadow; - -ms-transition-duration: 0.5s; - -o-transition-property: background-color, box-shadow; - -o-transition-duration: 0.5s; - transition-property: background-color, box-shadow; - transition-duration: 0.5s; -} - -.memberdecls td.glow, .fieldtable tr.glow { - background-color: cyan; - box-shadow: 0 0 15px cyan; -} - -.mdescLeft, .mdescRight, -.memItemLeft, .memItemRight, -.memTemplItemLeft, .memTemplItemRight, .memTemplParams { - background-color: #F9FAFC; - border: none; - margin: 4px; - padding: 1px 0 0 8px; -} - -.mdescLeft, .mdescRight { - padding: 0px 8px 4px 8px; - color: #555; -} - -.memSeparator { - border-bottom: 1px solid #DEE4F0; - line-height: 1px; - margin: 0px; - padding: 0px; -} - -.memItemLeft, .memTemplItemLeft { - white-space: nowrap; -} - -.memItemRight { - width: 100%; -} - -.memTemplParams { - color: #4665A2; - white-space: nowrap; - font-size: 80%; -} - -/* @end */ - -/* @group Member Details */ - -/* Styles for detailed member documentation */ - -.memtitle { - padding: 8px; - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - border-top-right-radius: 4px; - border-top-left-radius: 4px; - margin-bottom: -1px; - background-image: url('nav_f.png'); - background-repeat: repeat-x; - background-color: #E2E8F2; - line-height: 1.25; - font-weight: 300; - float:left; -} - -.permalink -{ - font-size: 65%; - display: inline-block; - vertical-align: middle; -} - -.memtemplate { - font-size: 80%; - color: #4665A2; - font-weight: normal; - margin-left: 9px; -} - -.memnav { - background-color: #EBEFF6; - border: 1px solid #A3B4D7; - text-align: center; - margin: 2px; - margin-right: 15px; - padding: 2px; -} - -.mempage { - width: 100%; -} - -.memitem { - padding: 0; - margin-bottom: 10px; - margin-right: 5px; - -webkit-transition: box-shadow 0.5s linear; - -moz-transition: box-shadow 0.5s linear; - -ms-transition: box-shadow 0.5s linear; - -o-transition: box-shadow 0.5s linear; - transition: box-shadow 0.5s linear; - display: table !important; - width: 100%; -} - -.memitem.glow { - box-shadow: 0 0 15px cyan; -} - -.memname { - font-weight: 400; - margin-left: 6px; -} - -.memname td { - vertical-align: bottom; -} - -.memproto, dl.reflist dt { - border-top: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 0px 6px 0px; - color: #253555; - font-weight: bold; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - background-color: #DFE5F1; - /* opera specific markup */ - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - border-top-right-radius: 4px; - /* firefox specific markup */ - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - -moz-border-radius-topright: 4px; - /* webkit specific markup */ - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - -webkit-border-top-right-radius: 4px; - -} - -.overload { - font-family: "courier new",courier,monospace; - font-size: 65%; -} - -.memdoc, dl.reflist dd { - border-bottom: 1px solid #A8B8D9; - border-left: 1px solid #A8B8D9; - border-right: 1px solid #A8B8D9; - padding: 6px 10px 2px 10px; - background-color: #FBFCFD; - border-top-width: 0; - background-image:url('nav_g.png'); - background-repeat:repeat-x; - background-color: #FFFFFF; - /* opera specific markup */ - border-bottom-left-radius: 4px; - border-bottom-right-radius: 4px; - box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); - /* firefox specific markup */ - -moz-border-radius-bottomleft: 4px; - -moz-border-radius-bottomright: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; - /* webkit specific markup */ - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -dl.reflist dt { - padding: 5px; -} - -dl.reflist dd { - margin: 0px 0px 10px 0px; - padding: 5px; -} - -.paramkey { - text-align: right; -} - -.paramtype { - white-space: nowrap; -} - -.paramname { - color: #602020; - white-space: nowrap; -} -.paramname em { - font-style: normal; -} -.paramname code { - line-height: 14px; -} - -.params, .retval, .exception, .tparams { - margin-left: 0px; - padding-left: 0px; -} - -.params .paramname, .retval .paramname { - font-weight: bold; - vertical-align: top; -} - -.params .paramtype { - font-style: italic; - vertical-align: top; -} - -.params .paramdir { - font-family: "courier new",courier,monospace; - vertical-align: top; -} - -table.mlabels { - border-spacing: 0px; -} - -td.mlabels-left { - width: 100%; - padding: 0px; -} - -td.mlabels-right { - vertical-align: bottom; - padding: 0px; - white-space: nowrap; -} - -span.mlabels { - margin-left: 8px; -} - -span.mlabel { - background-color: #728DC1; - border-top:1px solid #5373B4; - border-left:1px solid #5373B4; - border-right:1px solid #C4CFE5; - border-bottom:1px solid #C4CFE5; - text-shadow: none; - color: white; - margin-right: 4px; - padding: 2px 3px; - border-radius: 3px; - font-size: 7pt; - white-space: nowrap; - vertical-align: middle; -} - - - -/* @end */ - -/* these are for tree view inside a (index) page */ - -div.directory { - margin: 10px 0px; - border-top: 1px solid #9CAFD4; - border-bottom: 1px solid #9CAFD4; - width: 100%; -} - -.directory table { - border-collapse:collapse; -} - -.directory td { - margin: 0px; - padding: 0px; - vertical-align: top; -} - -.directory td.entry { - white-space: nowrap; - padding-right: 6px; - padding-top: 3px; -} - -.directory td.entry a { - outline:none; -} - -.directory td.entry a img { - border: none; -} - -.directory td.desc { - width: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 3px; - border-left: 1px solid rgba(0,0,0,0.05); -} - -.directory tr.even { - padding-left: 6px; - background-color: #F7F8FB; -} - -.directory img { - vertical-align: -30%; -} - -.directory .levels { - white-space: nowrap; - width: 100%; - text-align: right; - font-size: 9pt; -} - -.directory .levels span { - cursor: pointer; - padding-left: 2px; - padding-right: 2px; - color: #3D578C; -} - -.arrow { - color: #9CAFD4; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - cursor: pointer; - font-size: 80%; - display: inline-block; - width: 16px; - height: 22px; -} - -.icon { - font-family: Arial, Helvetica; - font-weight: bold; - font-size: 12px; - height: 14px; - width: 16px; - display: inline-block; - background-color: #728DC1; - color: white; - text-align: center; - border-radius: 4px; - margin-left: 2px; - margin-right: 2px; -} - -.icona { - width: 24px; - height: 22px; - display: inline-block; -} - -.iconfopen { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderopen.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.iconfclosed { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('folderclosed.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -.icondoc { - width: 24px; - height: 18px; - margin-bottom: 4px; - background-image:url('doc.png'); - background-position: 0px -4px; - background-repeat: repeat-y; - vertical-align:top; - display: inline-block; -} - -table.directory { - font: 400 14px Roboto,sans-serif; -} - -/* @end */ - -div.dynheader { - margin-top: 8px; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -address { - font-style: normal; - color: #2A3D61; -} - -table.doxtable caption { - caption-side: top; -} - -table.doxtable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.doxtable td, table.doxtable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.doxtable th { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -table.fieldtable { - /*width: 100%;*/ - margin-bottom: 10px; - border: 1px solid #A8B8D9; - border-spacing: 0px; - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; - -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); - box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); -} - -.fieldtable td, .fieldtable th { - padding: 3px 7px 2px; -} - -.fieldtable td.fieldtype, .fieldtable td.fieldname { - white-space: nowrap; - border-right: 1px solid #A8B8D9; - border-bottom: 1px solid #A8B8D9; - vertical-align: top; -} - -.fieldtable td.fieldname { - padding-top: 3px; -} - -.fieldtable td.fielddoc { - border-bottom: 1px solid #A8B8D9; - /*width: 100%;*/ -} - -.fieldtable td.fielddoc p:first-child { - margin-top: 0px; -} - -.fieldtable td.fielddoc p:last-child { - margin-bottom: 2px; -} - -.fieldtable tr:last-child td { - border-bottom: none; -} - -.fieldtable th { - background-image:url('nav_f.png'); - background-repeat:repeat-x; - background-color: #E2E8F2; - font-size: 90%; - color: #253555; - padding-bottom: 4px; - padding-top: 5px; - text-align:left; - font-weight: 400; - -moz-border-radius-topleft: 4px; - -moz-border-radius-topright: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - border-top-left-radius: 4px; - border-top-right-radius: 4px; - border-bottom: 1px solid #A8B8D9; -} - - -.tabsearch { - top: 0px; - left: 10px; - height: 36px; - background-image: url('tab_b.png'); - z-index: 101; - overflow: hidden; - font-size: 13px; -} - -.navpath ul -{ - font-size: 11px; - background-image:url('tab_b.png'); - background-repeat:repeat-x; - background-position: 0 -5px; - height:30px; - line-height:30px; - color:#8AA0CC; - border:solid 1px #C2CDE4; - overflow:hidden; - margin:0px; - padding:0px; -} - -.navpath li -{ - list-style-type:none; - float:left; - padding-left:10px; - padding-right:15px; - background-image:url('bc_s.png'); - background-repeat:no-repeat; - background-position:right; - color:#364D7C; -} - -.navpath li.navelem a -{ - height:32px; - display:block; - text-decoration: none; - outline: none; - color: #283A5D; - font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; - text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); - text-decoration: none; -} - -.navpath li.navelem a:hover -{ - color:#6884BD; -} - -.navpath li.footer -{ - list-style-type:none; - float:right; - padding-left:10px; - padding-right:15px; - background-image:none; - background-repeat:no-repeat; - background-position:right; - color:#364D7C; - font-size: 8pt; -} - - -div.summary -{ - float: right; - font-size: 8pt; - padding-right: 5px; - width: 50%; - text-align: right; -} - -div.summary a -{ - white-space: nowrap; -} - -table.classindex -{ - margin: 10px; - white-space: nowrap; - margin-left: 3%; - margin-right: 3%; - width: 94%; - border: 0; - border-spacing: 0; - padding: 0; -} - -div.ingroups -{ - font-size: 8pt; - width: 50%; - text-align: left; -} - -div.ingroups a -{ - white-space: nowrap; -} - -div.header -{ - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - margin: 0px; - border-bottom: 1px solid #C4CFE5; -} - -div.headertitle -{ - padding: 5px 5px 5px 10px; -} - -dl -{ - padding: 0 0 0 10px; -} - -/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ -dl.section -{ - margin-left: 0px; - padding-left: 0px; -} - -dl.note -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #D0C000; -} - -dl.warning, dl.attention -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #FF0000; -} - -dl.pre, dl.post, dl.invariant -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00D000; -} - -dl.deprecated -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #505050; -} - -dl.todo -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #00C0E0; -} - -dl.test -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #3030E0; -} - -dl.bug -{ - margin-left:-7px; - padding-left: 3px; - border-left:4px solid; - border-color: #C08050; -} - -dl.section dd { - margin-bottom: 6px; -} - - -#projectlogo -{ - text-align: center; - vertical-align: bottom; - border-collapse: separate; -} - -#projectlogo img -{ - border: 0px none; -} - -#projectalign -{ - vertical-align: middle; -} - -#projectname -{ - font: 300% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 2px 0px; -} - -#projectbrief -{ - font: 120% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#projectnumber -{ - font: 50% Tahoma, Arial,sans-serif; - margin: 0px; - padding: 0px; -} - -#titlearea -{ - padding: 0px; - margin: 0px; - width: 100%; - border-bottom: 1px solid #5373B4; -} - -.image -{ - text-align: center; -} - -.dotgraph -{ - text-align: center; -} - -.mscgraph -{ - text-align: center; -} - -.plantumlgraph -{ - text-align: center; -} - -.diagraph -{ - text-align: center; -} - -.caption -{ - font-weight: bold; -} - -div.zoom -{ - border: 1px solid #90A5CE; -} - -dl.citelist { - margin-bottom:50px; -} - -dl.citelist dt { - color:#334975; - float:left; - font-weight:bold; - margin-right:10px; - padding:5px; -} - -dl.citelist dd { - margin:2px 0; - padding:5px 0; -} - -div.toc { - padding: 14px 25px; - background-color: #F4F6FA; - border: 1px solid #D8DFEE; - border-radius: 7px 7px 7px 7px; - float: right; - height: auto; - margin: 0 8px 10px 10px; - width: 200px; -} - -div.toc li { - background: url("bdwn.png") no-repeat scroll 0 5px transparent; - font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; - margin-top: 5px; - padding-left: 10px; - padding-top: 2px; -} - -div.toc h3 { - font: bold 12px/1.2 Arial,FreeSans,sans-serif; - color: #4665A2; - border-bottom: 0 none; - margin: 0; -} - -div.toc ul { - list-style: none outside none; - border: medium none; - padding: 0px; -} - -div.toc li.level1 { - margin-left: 0px; -} - -div.toc li.level2 { - margin-left: 15px; -} - -div.toc li.level3 { - margin-left: 30px; -} - -div.toc li.level4 { - margin-left: 45px; -} - -.inherit_header { - font-weight: bold; - color: gray; - cursor: pointer; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} - -.inherit_header td { - padding: 6px 0px 2px 5px; -} - -.inherit { - display: none; -} - -tr.heading h2 { - margin-top: 12px; - margin-bottom: 4px; -} - -/* tooltip related style info */ - -.ttc { - position: absolute; - display: none; -} - -#powerTip { - cursor: default; - white-space: nowrap; - background-color: white; - border: 1px solid gray; - border-radius: 4px 4px 4px 4px; - box-shadow: 1px 1px 7px gray; - display: none; - font-size: smaller; - max-width: 80%; - opacity: 0.9; - padding: 1ex 1em 1em; - position: absolute; - z-index: 2147483647; -} - -#powerTip div.ttdoc { - color: grey; - font-style: italic; -} - -#powerTip div.ttname a { - font-weight: bold; -} - -#powerTip div.ttname { - font-weight: bold; -} - -#powerTip div.ttdeci { - color: #006318; -} - -#powerTip div { - margin: 0px; - padding: 0px; - font: 12px/16px Roboto,sans-serif; -} - -#powerTip:before, #powerTip:after { - content: ""; - position: absolute; - margin: 0px; -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.s:after, #powerTip.s:before, -#powerTip.w:after, #powerTip.w:before, -#powerTip.e:after, #powerTip.e:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.nw:after, #powerTip.nw:before, -#powerTip.sw:after, #powerTip.sw:before { - border: solid transparent; - content: " "; - height: 0; - width: 0; - position: absolute; -} - -#powerTip.n:after, #powerTip.s:after, -#powerTip.w:after, #powerTip.e:after, -#powerTip.nw:after, #powerTip.ne:after, -#powerTip.sw:after, #powerTip.se:after { - border-color: rgba(255, 255, 255, 0); -} - -#powerTip.n:before, #powerTip.s:before, -#powerTip.w:before, #powerTip.e:before, -#powerTip.nw:before, #powerTip.ne:before, -#powerTip.sw:before, #powerTip.se:before { - border-color: rgba(128, 128, 128, 0); -} - -#powerTip.n:after, #powerTip.n:before, -#powerTip.ne:after, #powerTip.ne:before, -#powerTip.nw:after, #powerTip.nw:before { - top: 100%; -} - -#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { - border-top-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} -#powerTip.n:before { - border-top-color: #808080; - border-width: 11px; - margin: 0px -11px; -} -#powerTip.n:after, #powerTip.n:before { - left: 50%; -} - -#powerTip.nw:after, #powerTip.nw:before { - right: 14px; -} - -#powerTip.ne:after, #powerTip.ne:before { - left: 14px; -} - -#powerTip.s:after, #powerTip.s:before, -#powerTip.se:after, #powerTip.se:before, -#powerTip.sw:after, #powerTip.sw:before { - bottom: 100%; -} - -#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { - border-bottom-color: #ffffff; - border-width: 10px; - margin: 0px -10px; -} - -#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { - border-bottom-color: #808080; - border-width: 11px; - margin: 0px -11px; -} - -#powerTip.s:after, #powerTip.s:before { - left: 50%; -} - -#powerTip.sw:after, #powerTip.sw:before { - right: 14px; -} - -#powerTip.se:after, #powerTip.se:before { - left: 14px; -} - -#powerTip.e:after, #powerTip.e:before { - left: 100%; -} -#powerTip.e:after { - border-left-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.e:before { - border-left-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -#powerTip.w:after, #powerTip.w:before { - right: 100%; -} -#powerTip.w:after { - border-right-color: #ffffff; - border-width: 10px; - top: 50%; - margin-top: -10px; -} -#powerTip.w:before { - border-right-color: #808080; - border-width: 11px; - top: 50%; - margin-top: -11px; -} - -@media print -{ - #top { display: none; } - #side-nav { display: none; } - #nav-path { display: none; } - body { overflow:visible; } - h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } - .summary { display: none; } - .memitem { page-break-inside: avoid; } - #doc-content - { - margin-left:0 !important; - height:auto !important; - width:auto !important; - overflow:inherit; - display:inline; - } -} - -/* @group Markdown */ - -/* -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTableHead tr { -} - -table.markdownTableBodyLeft td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft { - text-align: left -} - -th.markdownTableHeadRight { - text-align: right -} - -th.markdownTableHeadCenter { - text-align: center -} -*/ - -table.markdownTable { - border-collapse:collapse; - margin-top: 4px; - margin-bottom: 4px; -} - -table.markdownTable td, table.markdownTable th { - border: 1px solid #2D4068; - padding: 3px 7px 2px; -} - -table.markdownTable tr { -} - -th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { - background-color: #374F7F; - color: #FFFFFF; - font-size: 110%; - padding-bottom: 4px; - padding-top: 5px; -} - -th.markdownTableHeadLeft, td.markdownTableBodyLeft { - text-align: left -} - -th.markdownTableHeadRight, td.markdownTableBodyRight { - text-align: right -} - -th.markdownTableHeadCenter, td.markdownTableBodyCenter { - text-align: center -} - - -/* @end */ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/doxygen.png b/software/raspberry/superviseur-robot/lib/doc/html/doxygen.png deleted file mode 100644 index 3ff17d8..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/doxygen.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/dynsections.js b/software/raspberry/superviseur-robot/lib/doc/html/dynsections.js deleted file mode 100644 index 1e6bf07..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/dynsections.js +++ /dev/null @@ -1,104 +0,0 @@ -function toggleVisibility(linkObj) -{ - var base = $(linkObj).attr('id'); - var summary = $('#'+base+'-summary'); - var content = $('#'+base+'-content'); - var trigger = $('#'+base+'-trigger'); - var src=$(trigger).attr('src'); - if (content.is(':visible')===true) { - content.hide(); - summary.show(); - $(linkObj).addClass('closed').removeClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); - } else { - content.show(); - summary.hide(); - $(linkObj).removeClass('closed').addClass('opened'); - $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); - } - return false; -} - -function updateStripes() -{ - $('table.directory tr'). - removeClass('even').filter(':visible:even').addClass('even'); -} - -function toggleLevel(level) -{ - $('table.directory tr').each(function() { - var l = this.id.split('_').length-1; - var i = $('#img'+this.id.substring(3)); - var a = $('#arr'+this.id.substring(3)); - if (l - - - - - - -Bibliotheques TP RT: File List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
File List
-
-
-
Here is a list of all files with brief descriptions:
- - - - - - - -
 definitions.hVarious constants used in destjil project
 image.hFunctions for image treatment
 message.hFunctions for sending message to monitor
 monitor.hLibrary for sending message to monitor or receiving message
 robot.hFonctions for communicating with robot
 server.hLibrary for opening a TCP server, receiving data and sending message to monitor
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/files.js b/software/raspberry/superviseur-robot/lib/doc/html/files.js deleted file mode 100644 index f86eaca..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/files.js +++ /dev/null @@ -1,9 +0,0 @@ -var files = -[ - [ "definitions.h", "definitions_8h.html", "definitions_8h" ], - [ "image.h", "image_8h.html", "image_8h" ], - [ "message.h", "message_8h.html", "message_8h" ], - [ "monitor.h", "monitor_8h.html", "monitor_8h" ], - [ "robot.h", "robot_8h.html", "robot_8h" ], - [ "server.h", "server_8h.html", "server_8h" ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/folderclosed.png b/software/raspberry/superviseur-robot/lib/doc/html/folderclosed.png deleted file mode 100644 index bb8ab35..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/folderclosed.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/folderopen.png b/software/raspberry/superviseur-robot/lib/doc/html/folderopen.png deleted file mode 100644 index d6c7f67..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/folderopen.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/functions.html b/software/raspberry/superviseur-robot/lib/doc/html/functions.html deleted file mode 100644 index e609b89..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/functions.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Class Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all class members with links to the classes they belong to:
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/functions_vars.html b/software/raspberry/superviseur-robot/lib/doc/html/functions_vars.html deleted file mode 100644 index 0df06be..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/functions_vars.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Class Members - Variables - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/globals.html b/software/raspberry/superviseur-robot/lib/doc/html/globals.html deleted file mode 100644 index 3d2daf4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/globals.html +++ /dev/null @@ -1,425 +0,0 @@ - - - - - - - -Bibliotheques TP RT: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
Here is a list of all file members with links to the files they belong to:
- -

- a -

- - -

- c -

- - -

- d -

- - -

- f -

- - -

- g -

- - -

- h -

- - -

- i -

- - -

- j -

- - -

- n -

- - -

- o -

- - -

- p -

- - -

- r -

- - -

- s -

- - -

- w -

-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/globals_defs.html b/software/raspberry/superviseur-robot/lib/doc/html/globals_defs.html deleted file mode 100644 index 7d928d5..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/globals_defs.html +++ /dev/null @@ -1,309 +0,0 @@ - - - - - - - -Bibliotheques TP RT: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-  - -

- c -

- - -

- d -

- - -

- h -

- - -

- i -

- - -

- n -

- - -

- o -

- - -

- r -

- - -

- s -

- - -

- w -

-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/globals_func.html b/software/raspberry/superviseur-robot/lib/doc/html/globals_func.html deleted file mode 100644 index 457f629..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/globals_func.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - -Bibliotheques TP RT: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/globals_type.html b/software/raspberry/superviseur-robot/lib/doc/html/globals_type.html deleted file mode 100644 index 30eae68..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/globals_type.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - - -Bibliotheques TP RT: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/globals_vars.html b/software/raspberry/superviseur-robot/lib/doc/html/globals_vars.html deleted file mode 100644 index 282556a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/globals_vars.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - - - - -Bibliotheques TP RT: File Members - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.html b/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.html deleted file mode 100644 index 3ce4503..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Graph Legend - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Graph Legend
-
-
-

This page explains how to interpret the graphs that are generated by doxygen.

-

Consider the following example:

/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};

This will result in the following graph:

-
- -
-

The boxes in the above graph have the following meaning:

-
    -
  • -A filled gray box represents the struct or class for which the graph is generated.
  • -
  • -A box with a black border denotes a documented struct or class.
  • -
  • -A box with a gray border denotes an undocumented struct or class.
  • -
  • -A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
  • -
-

The arrows have the following meaning:

-
    -
  • -A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • -
  • -A dark green arrow is used for protected inheritance.
  • -
  • -A dark red arrow is used for private inheritance.
  • -
  • -A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • -
  • -A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • -
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.md5 b/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.md5 deleted file mode 100644 index a06ed05..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.md5 +++ /dev/null @@ -1 +0,0 @@ -387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.png b/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.png deleted file mode 100644 index 81788d8..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/graph_legend.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp.html b/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp.html deleted file mode 100644 index 842d893..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp.html +++ /dev/null @@ -1,574 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/image.cpp File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
image.cpp File Reference
-
-
- -

Fonctions de traitement d'image utilisable pour la détection du robot. -More...

-
#include "image.h"
-#include <iostream>
-
-Include dependency graph for image.cpp:
-
-
- - - -
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

float calculAngle (Position *positionRobot)
 
int cropArena (Image *imgInput, Image *imgOutput, Arene *AreneInput)
 
float euclideanDist (Point &p, Point &q)
 
void draw_arena (Image *imgInput, Image *imgOutput, Arene *monArene)
 Dessine le plus petit rectangle contenant l'arène. More...
 
int open_camera (Camera *camera)
 Ouvre une camera. More...
 
void get_image (Camera *camera, Image *monImage, const char *fichier)
 Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image. More...
 
void close_camera (Camera *camera)
 Ferme la camera passé en paramètre. More...
 
int detect_arena (Image *monImage, Arene *rectangle)
 Détecte une arène dans une image fournis en paramètre. More...
 
void compress_image (Image *imgInput, Jpg *imageCompress)
 Détecte la position d'un robot. More...
 
int detect_position (Image *imgInput, Position *posTriangle, Arene *monArene)
 Détecte la position d'un robot. More...
 
void draw_position (Image *imgInput, Image *imgOutput, Position *positionRobot)
 Dessine sur une image en entrée la position d'un robot et sa direction. More...
 
-

Detailed Description

-

Fonctions de traitement d'image utilisable pour la détection du robot.

-
Author
L.Senaneuch
-
Version
1.0
-
Date
06/06/2017
-

Ce fichier utilise la libraire openCV2 pour faciliter le traitement d'image dans le projet Destijl. Il permet de faciliter la détection de l'arène et la détection du robot. /!\ Attention Bien que celui-ci soit un .cpp la structure du code n'est pas sous forme d'objet.

- -

Definition in file image.cpp.

-

Function Documentation

- -

◆ calculAngle()

- -
-
- - - - - - - - -
float calculAngle (PositionpositionRobot)
-
- -

Definition at line 253 of file image.cpp.

- -
-
- -

◆ close_camera()

- -
-
- - - - - - - - -
void close_camera (Cameracamera)
-
- -

Ferme la camera passé en paramètre.

-
Parameters
- - -
*CameraPointeur sur la camera à fermer
-
-
- -

Definition at line 112 of file image.cpp.

- -
-
- -

◆ compress_image()

- -
-
- - - - - - - - - - - - - - - - - - -
void compress_image (ImageimgInput,
JpgimageCompress 
)
-
- -

Détecte la position d'un robot.

-

Détecte la position de triangles blanc sur une image /a imgInput passé en paramètre d'entrer.

-
Parameters
- - - -
*imgInputPointeur sur l'image à sauvegarder en mémoire sous format jpg.
*imageCompressPointeur sur une image .jpg.
-
-
- -

Definition at line 164 of file image.cpp.

- -
-
- -

◆ cropArena()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int cropArena (ImageimgInput,
ImageimgOutput,
AreneAreneInput 
)
-
- -

Definition at line 150 of file image.cpp.

- -
-
- -

◆ detect_arena()

- -
-
- - - - - - - - - - - - - - - - - - -
int detect_arena (ImagemonImage,
Arenerectangle 
)
-
- -

Détecte une arène dans une image fournis en paramètre.

-
Parameters
- - - -
*monImagePointeur sur l'image d'entrée
*rectanglePointeur sur les coordonnées du rectangles trouvé.
-
-
-
Returns
Retourne -1 si aucune arène n'est détectée. Sinon retourne 0
- -

Definition at line 126 of file image.cpp.

- -
-
- -

◆ detect_position()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int detect_position (ImageimgInput,
PositionposTriangle,
ArenemonArene = NULL 
)
-
- -

Détecte la position d'un robot.

-

Détecte la position de triangles blanc sur une image /a imgInput passé en paramètre d'entrer.

-
Parameters
- - - - -
*imgInputPointeur sur l'image sur laquelle chercher la position du des robots.
*posTrianglePointeur sur un tableau de position ou seront stocké les positions des triangles détectés.
*monArenePointeur de type Arène si nécessaire d'affiner la recherche (optionnel)
-
-
-
Returns
Le nombre de triangles détectés.
- -

Definition at line 170 of file image.cpp.

- -
-
- -

◆ draw_arena()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void draw_arena (ImageimgInput,
ImageimgOutput,
ArenemonArene 
)
-
- -

Dessine le plus petit rectangle contenant l'arène.

-
Parameters
- - - - -
*imgInputPointeur sur l'image d'entrée.
*imgOutputPointeur sur l'image de sortie (image d'entrée + arène marquée)
*monArenePointeur de type Arène contenant les information à dessiner
-
-
- -

Definition at line 51 of file image.cpp.

- -
-
- -

◆ draw_position()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void draw_position (ImageimgInput,
ImageimgOutput,
PositionpositionRobot 
)
-
- -

Dessine sur une image en entrée la position d'un robot et sa direction.

-

Sauvegarde l'image des coordonnées passées par positionRobot superposée à l'image d'entrée sur imgOutput.

-
Parameters
- - - - -
*imgInputPointeur sur l'image d'entrée
*imgOutputPointeur sur l'image de sortie ( image d'entrée + dessin de la position)
*positionRobotPointeur sur la structure position d'un robot.
-
-
- -

Definition at line 244 of file image.cpp.

- -
-
- -

◆ euclideanDist()

- -
-
- - - - - - - - - - - - - - - - - - -
float euclideanDist (Point & p,
Point & q 
)
-
- -

Definition at line 159 of file image.cpp.

- -
-
- -

◆ get_image()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void get_image (Cameracamera,
ImagemonImage,
const char * fichier = NULL 
)
-
- -

Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image.

-

La camera doit préalablement être ouverte via openCamera(...)

-
Parameters
- - - - -
*CameraPointeur sur la camera passée en entrée.
*monImagePointeur sur une image capturée.
*fichierchemin du fichier d'image
-
-
-
Returns
Retourne -1 si une erreur survient.
- -

Definition at line 93 of file image.cpp.

- -
-
- -

◆ open_camera()

- -
-
- - - - - - - - -
int open_camera (Cameracamera)
-
- -

Ouvre une camera.

-

Met à jour le descripteur de fichier passé en paramètre pour correspondre à la camera ouverte

-
Parameters
- - -
*CameraPointeur d'un file descriptor d'une camera ouverte
-
-
-
Returns
retourne 0 si la camera a été ouverte correctement et -1 si une erreur survient.
- -

Definition at line 58 of file image.cpp.

- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp.js b/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp.js deleted file mode 100644 index 7f75d1a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp.js +++ /dev/null @@ -1,14 +0,0 @@ -var image_8cpp = -[ - [ "calculAngle", "image_8cpp.html#afe015c86402c7d09d9d7b28587c7fd1b", null ], - [ "close_camera", "image_8cpp.html#a19eac11a04cb4b86fd32e6a36445ad5d", null ], - [ "compress_image", "image_8cpp.html#a909ca7577f0ac2e4bd0ea21291690dce", null ], - [ "cropArena", "image_8cpp.html#a41fa265b5f57fcd2a13e726880297d12", null ], - [ "detect_arena", "image_8cpp.html#acad45df4061a55f17be0db97c1406249", null ], - [ "detect_position", "image_8cpp.html#ac813f76084a0d9d252fb5c01830ab7df", null ], - [ "draw_arena", "image_8cpp.html#a5ffd032a466af45a505fb46252194bbf", null ], - [ "draw_position", "image_8cpp.html#a869c3946d4a414b8730ca4f91fbd9556", null ], - [ "euclideanDist", "image_8cpp.html#a73f53d1da08f1f8123da89585d16c7ef", null ], - [ "get_image", "image_8cpp.html#a864afddf57678b37b99d9eca70405d63", null ], - [ "open_camera", "image_8cpp.html#aca0662ab31eac7fdb2d64fecc52ff1da", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.map deleted file mode 100644 index 2c1582b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.md5 deleted file mode 100644 index 1fa5ecc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -8d1fd0d08f8afb309e7fa9c4bc3d5303 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.png deleted file mode 100644 index a22f156..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp_source.html b/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp_source.html deleted file mode 100644 index 8e0789c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8cpp_source.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/image.cpp Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
image.cpp
-
-
-Go to the documentation of this file.
1 
2 /*
3  * Copyright (C) 2018 dimercur
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
31 #include "image.h"
32 #include <iostream>
33 
34 using namespace cv;
35 #ifndef __STUB__
36 #ifdef __FOR_PC__
37 VideoCapture cap;
38 #else
39 using namespace raspicam;
40 #endif /* __FOR_PC__ */
41 #else
42 Image stubImg;
43 
44 #endif
45 using namespace std;
46 
47 float calculAngle(Position * positionRobot);
48 int cropArena(Image *imgInput, Image *imgOutput, Arene *AreneInput);
49 float euclideanDist(Point& p, Point& q);
50 
51 void draw_arena(Image *imgInput, Image *imgOutput, Arene *monArene)
52 {
53  if(imgInput!=imgOutput)
54  *imgOutput=imgInput->clone();
55  rectangle(*imgOutput,monArene->tl(),monArene->br(),Scalar(0,0,125),2,8,0);
56 }
57 
58 int open_camera(Camera *camera)
59 {
60 #ifndef __STUB__
61 #ifdef __FOR_PC__
62  // open the default camera, use something different from 0 otherwise;
63  // Check VideoCapture documentation.
64  printf("Opening Camera...\n");
65  if(!cap.open(0))
66  return -1;
67 
68  return 0;
69 #else // for raspberry
70 
71  camera->set(CV_CAP_PROP_FORMAT, CV_8UC3);
72  camera->set(CV_CAP_PROP_FRAME_WIDTH,WIDTH);
73  camera->set(CV_CAP_PROP_FRAME_HEIGHT,HEIGHT);
74 
75  printf("Opening Camera...\n");
76  if (!(camera->open())) {
77  perror("Can't open Camera\n") ;
78  return -1;
79  }
80  else
81  {
82  printf("Camera warmup 2sec\n");
83  sleep(2);
84  printf("Start capture\n");
85  return 0;
86  }
87 #endif /* __FOR_PC__ */
88 #else
89  return 0;
90 #endif
91 }
92 
93 void get_image(Camera *camera, Image * monImage, const char * fichier) // getImg(Camera, Image img);
94 {
95 #ifndef __STUB__
96 #ifdef __FOR_PC__
97  if (monImage != NULL)
98  {
99  cap>>*monImage;
100  }
101 #else // for raspberry
102  camera->grab();
103  camera->retrieve(*monImage);
104  cvtColor(*monImage,*monImage,CV_BGR2RGB);
105 #endif /* __FOR_PC__ */
106 #else
107  stubImg = imread(fichier, CV_LOAD_IMAGE_COLOR);
108  stubImg.copyTo(*monImage);
109 #endif
110 }
111 
112 void close_camera(Camera *camera) // closeCam(Camera) : camera Entrer
113 {
114 #ifndef __STUB__
115 #ifdef __FOR_PC__
116  cap.release();
117 #else // for raspberry
118  camera->release();
119 #endif /* __FOR_PC__ */
120 #else
121 
122 #endif
123 }
124 
125 
126 int detect_arena(Image *monImage, Arene *rectangle) // Image en entrée // rectangle en sortie
127 {
128  vector<vector<Point> > contours;
129  vector<Point> approx;
130  vector<Vec4i> hierarchy;
131 
132  Image imageTrt;
133  cvtColor(*monImage,imageTrt,CV_RGB2GRAY); // conversion en niveau de gris
134  threshold(imageTrt,imageTrt,128,255,CV_THRESH_BINARY); // Threshold les éléments les plus clair
135  Canny(imageTrt, imageTrt, 100,200,3); // detection d'angle
136 
137  findContours(imageTrt, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
138  for(unsigned int i = 0; i < contours.size();i++)
139  {
140  approxPolyDP(Image(contours[i]), approx, arcLength(Image(contours[i]), true)*0.1, true);
141  if(approx.size()==4 && fabs(cv::contourArea(contours[i])) > 100000)
142  {
143  *rectangle = boundingRect(Image(contours[i]));
144  return 0;
145  }
146  }
147  return -1;
148 }
149 
150 int cropArena(Image *imgInput, Image *imgOutput, Arene *areneInput) // image // rectangle // image2
151 {
152  Image img;
153  img=imgInput->clone();
154 
155  *imgOutput = img(*areneInput);
156  return 0;
157 }
158 
159 float euclideanDist(Point& p, Point& q) {
160  Point diff = p - q;
161  return cv::sqrt(diff.x*diff.x + diff.y*diff.y);
162 }
163 
164 void compress_image(Image *imgInput, Jpg *imageCompress) // image entrée // imageEncodé en sortie
165 {
166  imencode(".jpg",*imgInput,*imageCompress);
167 }
168 
169 
170 int detect_position(Image *imgInput, Position *posTriangle, Arene * monArene) // entree : image / sortie tab pos
171 {
172  vector<vector<Point> > contours;
173  vector<Point> approx;
174  vector<Vec4i> hierarchy;
175 
176  Image imgTraitment;
177 
178  if(monArene==NULL)
179  imgTraitment=imgInput->clone();
180  else
181  cropArena(imgInput,&imgTraitment, monArene);
182 
183  cvtColor(imgTraitment,imgTraitment,CV_RGB2GRAY);
184  threshold(imgTraitment,imgTraitment,128,255,CV_THRESH_BINARY);
185  findContours(imgTraitment, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));
186 
187  int nbrTriangle = 0;
188  for(unsigned int i = 0;i < contours.size();i++)
189  {
190  approxPolyDP(Mat(contours[i]), approx, arcLength(Mat(contours[i]), true)*0.17, true);
191  if(approx.size() == 3 && fabs(contourArea(contours[i])) > 200 && fabs(contourArea(contours[i])) < 700)
192  {
193 
194  Point a,b,c;
195  Point center;
196 
197 
198  a = approx[0];
199  b = approx[1];
200  c = approx[2];
201 
202 
203  if(monArene !=NULL) // ajout de l'offset de l'arène
204  {
205  a.x += monArene->x;
206  a.y += monArene->y;
207  b.x += monArene->x;
208  b.y += monArene->y;
209  c.x += monArene->x;
210  c.y += monArene->y;
211  }
212 
213  center.x = (a.x + b.x + c.x)/3;
214  center.y = (a.y + b.y + c.y)/3;
215 
216  posTriangle[nbrTriangle].center=center;
217 
218  if(euclideanDist(center,b) > euclideanDist(center,a) && euclideanDist(center,b) > euclideanDist(center,c) )
219  {
220 
221  posTriangle[nbrTriangle].direction=b;
222  //line(img,center,b,Scalar(0,125,0),2,8,0);
223  }
224  else if(euclideanDist(center,a) > euclideanDist(center,c))
225  {
226  posTriangle[nbrTriangle].direction=a;
227  //line(img,center,a,Scalar(0,125,0),2,8,0);
228 
229  }
230  else
231  {
232  posTriangle[nbrTriangle].direction=c;
233  //line(img,center,c,Scalar(0,125,0),2,8,0);
234  }
235  posTriangle[nbrTriangle].angle=calculAngle(&posTriangle[nbrTriangle]);
236 
237  nbrTriangle++;
238 
239  }
240  }
241  return nbrTriangle;
242 }
243 
244 void draw_position(Image *imgInput, Image *imgOutput, Position *positionRobot) // img E/S pos : E
245 {
246  if(imgInput!=imgOutput)
247  {
248  *imgOutput=imgInput->clone();
249  }
250  line(*imgOutput,positionRobot->center,positionRobot->direction,Scalar(0,125,0),2,8,0);
251 }
252 
253 float calculAngle(Position * positionRobot) // position en entree
254 {
255  float a = positionRobot->direction.x - positionRobot->center.x;
256  float b = positionRobot->direction.y - positionRobot->center.y ;
257  float angle = atan2(b,a);
258  return angle * 180.f/M_PI;
259 
260 }
void compress_image(Image *imgInput, Jpg *imageCompress)
Détecte la position d&#39;un robot.
Definition: image.cpp:164
-
void get_image(Camera *camera, Image *monImage, const char *fichier)
Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une...
Definition: image.cpp:93
-
Point center
Definition: image.h:70
-
float angle
Definition: image.h:72
-
#define WIDTH
Definition: image.h:44
-
void close_camera(Camera *camera)
Ferme la camera passé en paramètre.
Definition: image.cpp:112
-
int cropArena(Image *imgInput, Image *imgOutput, Arene *AreneInput)
Definition: image.cpp:150
-
Rect Arene
Definition: image.h:66
- -
Mat Image
Definition: image.h:55
- -
int detect_arena(Image *monImage, Arene *rectangle)
Détecte une arène dans une image fournis en paramètre.
Definition: image.cpp:126
-
int open_camera(Camera *camera)
Ouvre une camera.
Definition: image.cpp:58
-
Functions for image treatment.
-
Definition: image.h:69
-
int detect_position(Image *imgInput, Position *posTriangle, Arene *monArene)
Détecte la position d&#39;un robot.
Definition: image.cpp:170
-
void draw_arena(Image *imgInput, Image *imgOutput, Arene *monArene)
Dessine le plus petit rectangle contenant l&#39;arène.
Definition: image.cpp:51
-
float euclideanDist(Point &p, Point &q)
Definition: image.cpp:159
-
vector< unsigned char > Jpg
Definition: image.h:67
-
RaspiCam_Cv Camera
Definition: image.h:58
- -
float calculAngle(Position *positionRobot)
Definition: image.cpp:253
-
#define HEIGHT
Definition: image.h:45
-
void draw_position(Image *imgInput, Image *imgOutput, Position *positionRobot)
Dessine sur une image en entrée la position d&#39;un robot et sa direction.
Definition: image.cpp:244
-
Point direction
Definition: image.h:71
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h.html b/software/raspberry/superviseur-robot/lib/doc/html/image_8h.html deleted file mode 100644 index 6fbd968..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8h.html +++ /dev/null @@ -1,598 +0,0 @@ - - - - - - - -Bibliotheques TP RT: image.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
image.h File Reference
-
-
- -

Functions for image treatment. -More...

-
#include <raspicam/raspicam_cv.h>
-#include "opencv2/imgproc/imgproc.hpp"
-#include <unistd.h>
-#include <math.h>
-
-Include dependency graph for image.h:
-
-
-
-
-This graph shows which files directly or indirectly include this file:
-
-
- - - - -
-
-

Go to the source code of this file.

- - - - -

-Classes

struct  Position
 
- - - - - -

-Macros

#define WIDTH   480
 
#define HEIGHT   360
 
- - - - - - - - - -

-Typedefs

typedef Mat Image
 
typedef RaspiCam_Cv Camera
 
typedef Rect Arene
 
typedef vector< unsigned char > Jpg
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

int open_camera (Camera *camera)
 Ouvre une camera. More...
 
void close_camera (Camera *camera)
 Ferme la camera passé en paramètre. More...
 
void get_image (Camera *camera, Image *monImage, const char *fichier=NULL)
 Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image. More...
 
int detect_arena (Image *monImage, Arene *rectangle)
 Détecte une arène dans une image fournis en paramètre. More...
 
void draw_arena (Image *imgInput, Image *imgOutput, Arene *monArene)
 Dessine le plus petit rectangle contenant l'arène. More...
 
int detect_position (Image *imgInput, Position *posTriangle, Arene *monArene=NULL)
 Détecte la position d'un robot. More...
 
void draw_position (Image *imgInput, Image *imgOutput, Position *positionRobot)
 Dessine sur une image en entrée la position d'un robot et sa direction. More...
 
void compress_image (Image *imgInput, Jpg *imageCompress)
 Détecte la position d'un robot. More...
 
-

Detailed Description

-

Functions for image treatment.

-
Author
L.Senaneuch
-
Version
1.0
-
Date
06/06/2017
-

This file use openCV2 library for picture processing. This allow to detect arena and robot.

- -

Definition in file image.h.

-

Macro Definition Documentation

- -

◆ HEIGHT

- -
-
- - - - -
#define HEIGHT   360
-
- -

Definition at line 45 of file image.h.

- -
-
- -

◆ WIDTH

- -
-
- - - - -
#define WIDTH   480
-
- -

Definition at line 44 of file image.h.

- -
-
-

Typedef Documentation

- -

◆ Arene

- -
-
- - - - -
typedef Rect Arene
-
- -

Definition at line 66 of file image.h.

- -
-
- -

◆ Camera

- -
-
- - - - -
typedef RaspiCam_Cv Camera
-
- -

Definition at line 58 of file image.h.

- -
-
- -

◆ Image

- -
-
- - - - -
typedef Mat Image
-
- -

Definition at line 55 of file image.h.

- -
-
- -

◆ Jpg

- -
-
- - - - -
typedef vector<unsigned char> Jpg
-
- -

Definition at line 67 of file image.h.

- -
-
-

Function Documentation

- -

◆ close_camera()

- -
-
- - - - - - - - -
void close_camera (Cameracamera)
-
- -

Ferme la camera passé en paramètre.

-
Parameters
- - -
cameraPointeur sur la camera à fermer
-
-
- -
-
- -

◆ compress_image()

- -
-
- - - - - - - - - - - - - - - - - - -
void compress_image (ImageimgInput,
JpgimageCompress 
)
-
- -

Détecte la position d'un robot.

-

Détecte la position de triangles blanc sur une image /a imgInput passé en paramètre d'entrer.

-
Parameters
- - - -
imgInputPointeur sur l'image à sauvegarder en mémoire sous format jpg.
imageCompressPointeur sur une image .jpg.
-
-
- -
-
- -

◆ detect_arena()

- -
-
- - - - - - - - - - - - - - - - - - -
int detect_arena (ImagemonImage,
Arenerectangle 
)
-
- -

Détecte une arène dans une image fournis en paramètre.

-
Parameters
- - - -
monImagePointeur sur l'image d'entrée
rectanglePointeur sur les coordonnées du rectangles trouvé.
-
-
-
Returns
Retourne -1 si aucune arène n'est détectée. Sinon retourne 0
- -
-
- -

◆ detect_position()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int detect_position (ImageimgInput,
PositionposTriangle,
ArenemonArene = NULL 
)
-
- -

Détecte la position d'un robot.

-

Détecte la position de triangles blanc sur une image /a imgInput passé en paramètre d'entrer.

-
Parameters
- - - - -
imgInputPointeur sur l'image sur laquelle chercher la position du des robots.
posTrianglePointeur sur un tableau de position ou seront stocké les positions des triangles détectés.
monArenePointeur de type Arène si nécessaire d'affiner la recherche (optionnel)
-
-
-
Returns
Le nombre de triangles détectés.
- -
-
- -

◆ draw_arena()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void draw_arena (ImageimgInput,
ImageimgOutput,
ArenemonArene 
)
-
- -

Dessine le plus petit rectangle contenant l'arène.

-
Parameters
- - - - -
imgInputPointeur sur l'image d'entrée.
imgOutputPointeur sur l'image de sortie (image d'entrée + arène marquée)
monArenePointeur de type Arène contenant les information à dessiner
-
-
- -
-
- -

◆ draw_position()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void draw_position (ImageimgInput,
ImageimgOutput,
PositionpositionRobot 
)
-
- -

Dessine sur une image en entrée la position d'un robot et sa direction.

-

Sauvegarde l'image des coordonnées passées par positionRobot superposée à l'image d'entrée sur imgOutput.

-
Parameters
- - - - -
imgInputPointeur sur l'image d'entrée
imgOutputPointeur sur l'image de sortie ( image d'entrée + dessin de la position)
positionRobotPointeur sur la structure position d'un robot.
-
-
- -
-
- -

◆ get_image()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void get_image (Cameracamera,
ImagemonImage,
const char * fichier = NULL 
)
-
- -

Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image.

-

La camera doit préalablement être ouverte via openCamera(...)

-
Parameters
- - - - -
cameraPointeur sur la camera passée en entrée.
monImagePointeur sur une image capturée.
fichierChemin du fichier d'image
-
-
-
Returns
Retourne -1 si une erreur survient.
- -
-
- -

◆ open_camera()

- -
-
- - - - - - - - -
int open_camera (Cameracamera)
-
- -

Ouvre une camera.

-

Met à jour le descripteur de fichier passé en paramètre pour correspondre à la camera ouverte

-
Parameters
- - -
cameraPointeur d'un file descriptor d'une camera ouverte
-
-
-
Returns
Retourne 0 si la camera a été ouverte correctement et -1 si une erreur survient.
- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h.js b/software/raspberry/superviseur-robot/lib/doc/html/image_8h.js deleted file mode 100644 index a0e4d8a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8h.js +++ /dev/null @@ -1,18 +0,0 @@ -var image_8h = -[ - [ "Position", "struct_position.html", "struct_position" ], - [ "HEIGHT", "image_8h.html#aed89bd71aee8be823e8a20ec4e093c1e", null ], - [ "WIDTH", "image_8h.html#a241aeeb764887ae5e3de58b98f04b16d", null ], - [ "Arene", "image_8h.html#aa856a7cb8a1535c9f13096bede6c8586", null ], - [ "Camera", "image_8h.html#a739dda3f6f6ddbab22617837b43a692a", null ], - [ "Image", "image_8h.html#a466446fef9c0348568bc6743186d1a38", null ], - [ "Jpg", "image_8h.html#a9ac2855e21920c676a108df386ff9415", null ], - [ "close_camera", "image_8h.html#a19eac11a04cb4b86fd32e6a36445ad5d", null ], - [ "compress_image", "image_8h.html#a909ca7577f0ac2e4bd0ea21291690dce", null ], - [ "detect_arena", "image_8h.html#acad45df4061a55f17be0db97c1406249", null ], - [ "detect_position", "image_8h.html#af9f6e2dd4409486f2f6446d1a8a02c40", null ], - [ "draw_arena", "image_8h.html#a5ffd032a466af45a505fb46252194bbf", null ], - [ "draw_position", "image_8h.html#a869c3946d4a414b8730ca4f91fbd9556", null ], - [ "get_image", "image_8h.html#ad904f3348c2d44f9c82435c94cd83844", null ], - [ "open_camera", "image_8h.html#aca0662ab31eac7fdb2d64fecc52ff1da", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.map deleted file mode 100644 index ad8be09..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.md5 deleted file mode 100644 index 4bfff62..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6d313bbb80eb53df241801f919256cc4 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.png deleted file mode 100644 index ca00376..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__dep__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.map deleted file mode 100644 index f61b8e0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.map +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.md5 deleted file mode 100644 index 6bc96f3..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -be279fa48d3144e7371470f8b4a81b94 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.png deleted file mode 100644 index 63e6ec9..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/image_8h__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/image_8h_source.html b/software/raspberry/superviseur-robot/lib/doc/html/image_8h_source.html deleted file mode 100644 index 329f243..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/image_8h_source.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - -Bibliotheques TP RT: image.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
image.h
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
28 #ifndef _IMAGE_H_
29 #define _IMAGE_H_
30 
31 #ifndef __STUB__
32 #ifndef __FOR_PC__
33 #include <raspicam/raspicam_cv.h>
34 #else
35 #include <opencv2/highgui/highgui.hpp>
36 #endif /* __FOR_PC__ */
37 #else
38 #include <opencv2/highgui/highgui.hpp>
39 #endif
40 #include "opencv2/imgproc/imgproc.hpp"
41 #include <unistd.h>
42 #include <math.h>
43 
44 #define WIDTH 480 //1280 1024 640 480
45 #define HEIGHT 360 // 960 768 480 360
46 
47 using namespace std;
48 using namespace cv;
49 #ifndef __STUB__
50 #ifndef __FOR_PC__
51 using namespace raspicam;
52 #endif /* __FOR_PC__ */
53 #endif
54 
55 typedef Mat Image;
56 #ifndef __STUB__
57 #ifndef __FOR_PC__
58 typedef RaspiCam_Cv Camera;
59 #else
60 typedef int Camera;
61 #endif /* __FOR_PC__ */
62 #else
63 typedef int Camera;
64 #endif
65 
66 typedef Rect Arene;
67 typedef vector<unsigned char> Jpg;
68 
69 struct Position {
70  Point center;
71  Point direction;
72  float angle;
73 };
74 
82 int open_camera(Camera *camera);
83 
89 void close_camera(Camera *camera);
90 
100 void get_image(Camera *camera, Image * monImage, const char *fichier = NULL);
101 
109 int detect_arena(Image *monImage, Arene *rectangle);
110 
118 void draw_arena(Image *imgInput, Image *imgOutput, Arene *monArene);
119 
129 int detect_position(Image *imgInput, Position *posTriangle, Arene * monArene = NULL);
130 
139 void draw_position(Image *imgInput, Image *imgOutput, Position *positionRobot);
140 
148 void compress_image(Image *imgInput, Jpg *imageCompress);
149 
150 #endif // _IMAGE_H_
Point center
Definition: image.h:70
-
float angle
Definition: image.h:72
-
void draw_position(Image *imgInput, Image *imgOutput, Position *positionRobot)
Dessine sur une image en entrée la position d&#39;un robot et sa direction.
-
Rect Arene
Definition: image.h:66
-
int open_camera(Camera *camera)
Ouvre une camera.
-
void close_camera(Camera *camera)
Ferme la camera passé en paramètre.
- -
Mat Image
Definition: image.h:55
-
int detect_position(Image *imgInput, Position *posTriangle, Arene *monArene=NULL)
Détecte la position d&#39;un robot.
- -
void get_image(Camera *camera, Image *monImage, const char *fichier=NULL)
Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une...
-
Definition: image.h:69
-
vector< unsigned char > Jpg
Definition: image.h:67
-
void draw_arena(Image *imgInput, Image *imgOutput, Arene *monArene)
Dessine le plus petit rectangle contenant l&#39;arène.
-
RaspiCam_Cv Camera
Definition: image.h:58
-
void compress_image(Image *imgInput, Jpg *imageCompress)
Détecte la position d&#39;un robot.
- -
int detect_arena(Image *monImage, Arene *rectangle)
Détecte une arène dans une image fournis en paramètre.
-
Point direction
Definition: image.h:71
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/index.html b/software/raspberry/superviseur-robot/lib/doc/html/index.html deleted file mode 100644 index 7637cf7..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/index.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Main Page - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Bibliotheques TP RT Documentation
-
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/jquery.js b/software/raspberry/superviseur-robot/lib/doc/html/jquery.js deleted file mode 100644 index f5343ed..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/jquery.js +++ /dev/null @@ -1,87 +0,0 @@ -/*! - * jQuery JavaScript Library v1.7.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Mon Nov 21 21:11:03 2011 -0500 - */ -(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! - * jQuery UI 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! - * jQuery UI Widget 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Widget - */ -(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! - * jQuery UI Mouse 1.8.18 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Mouse - * - * Depends: - * jquery.ui.widget.js - */ -(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! - * jQuery hashchange event - v1.3 - 7/21/2010 - * http://benalman.com/projects/jquery-hashchange-plugin/ - * - * Copyright (c) 2010 "Cowboy" Ben Alman - * Dual licensed under the MIT and GPL licenses. - * http://benalman.com/about/license/ - */ -(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' - - -
- -
-
message.cpp File Reference
-
-
- -

Functions for sending message to monitor. -More...

-
#include "message.h"
-
-Include dependency graph for message.cpp:
-
-
- - - -
-
-

Go to the source code of this file.

-
- - - - - - - - - -

-Functions

void set_msgToMon_header (MessageToMon *msg, char *header)
 
void set_msgToMon_data (MessageToMon *msg, void *data)
 
void free_msgToMon_data (MessageToMon *msg)
 
void print_msgToMon (MessageToMon *msg)
 
-

Detailed Description

-

Functions for sending message to monitor.

-
Author
PE.Hladik
-
Version
1.0
-
Date
06/06/2017
- -

Definition in file message.cpp.

-

Function Documentation

- -

◆ free_msgToMon_data()

- -
-
- - - - - - - - -
void free_msgToMon_data (MessageToMonmsg)
-
- -

Definition at line 40 of file message.cpp.

- -
-
- -

◆ print_msgToMon()

- -
-
- - - - - - - - -
void print_msgToMon (MessageToMonmsg)
-
- -

Definition at line 46 of file message.cpp.

- -
-
- -

◆ set_msgToMon_data()

- -
-
- - - - - - - - - - - - - - - - - - -
void set_msgToMon_data (MessageToMonmsg,
void * data 
)
-
- -

Definition at line 32 of file message.cpp.

- -
-
- -

◆ set_msgToMon_header()

- -
-
- - - - - - - - - - - - - - - - - - -
void set_msgToMon_header (MessageToMonmsg,
char * header 
)
-
- -

Definition at line 28 of file message.cpp.

- -
-
- - - - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp.js b/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp.js deleted file mode 100644 index 7291dec..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp.js +++ /dev/null @@ -1,7 +0,0 @@ -var message_8cpp = -[ - [ "free_msgToMon_data", "message_8cpp.html#a285193a5a9d3b142f3f1c53c471d3173", null ], - [ "print_msgToMon", "message_8cpp.html#ae409e822d69cee7483a2d41c62698a85", null ], - [ "set_msgToMon_data", "message_8cpp.html#aa938f8156bfca7379f533b751334ca6f", null ], - [ "set_msgToMon_header", "message_8cpp.html#a8c768ba3ccfd64ba1e39079c967aff26", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.map deleted file mode 100644 index de5e1b6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.md5 deleted file mode 100644 index 37edc4c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -a433a31a7bc3c2aef43f09a76b51be72 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.png deleted file mode 100644 index 128eb06..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp_source.html b/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp_source.html deleted file mode 100644 index 6286ab4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8cpp_source.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/message.cpp Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
message.cpp
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #include "message.h"
27 
28 void set_msgToMon_header(MessageToMon *msg, char *header) {
29  memcpy(msg->header, header, sizeof (header));
30 }
31 
32 void set_msgToMon_data(MessageToMon *msg, void * data) {
33  if (msg->data != NULL) {
34  free(msg->data);
35  }
36  msg->data = malloc(sizeof (data));
37  memcpy(msg->data, data, sizeof (data));
38 }
39 
41  if (msg->data != NULL) {
42  free(msg->data);
43  }
44 }
45 
47  printf("header: %s\n", msg->header);
48  printf("data: %s\n", (char*)msg->data);
49 }
void * data
Definition: message.h:36
-
void set_msgToMon_header(MessageToMon *msg, char *header)
Definition: message.cpp:28
- -
Functions for sending message to monitor.
-
void free_msgToMon_data(MessageToMon *msg)
Definition: message.cpp:40
-
void set_msgToMon_data(MessageToMon *msg, void *data)
Definition: message.cpp:32
-
void print_msgToMon(MessageToMon *msg)
Definition: message.cpp:46
-
char header[4]
Definition: message.h:35
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h.html b/software/raspberry/superviseur-robot/lib/doc/html/message_8h.html deleted file mode 100644 index 60686fb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8h.html +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - - -Bibliotheques TP RT: message.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
message.h File Reference
-
-
- -

Functions for sending message to monitor. -More...

-
#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <string.h>
-
-Include dependency graph for message.h:
-
-
-
-
-

Go to the source code of this file.

- - - - -

-Classes

struct  MessageToMon
 
- - - - - - - - - - - - - -

-Functions

void set_msgToMon_header (MessageToMon *msg, char *header)
 Set header part of monitor message. More...
 
void set_msgToMon_data (MessageToMon *msg, void *data)
 Set data part of monitor message. More...
 
void free_msgToMon_data (MessageToMon *msg)
 Dealocate moemory pointed by data part of message. More...
 
void print_msgToMon (MessageToMon *msg)
 Print message, header and data. More...
 
-

Detailed Description

-

Functions for sending message to monitor.

-
Author
PE.Hladik
-
Version
1.0
-
Date
06/06/2017
- -

Definition in file message.h.

-

Function Documentation

- -

◆ free_msgToMon_data()

- -
-
- - - - - - - - -
void free_msgToMon_data (MessageToMonmsg)
-
- -

Dealocate moemory pointed by data part of message.

- -
-
- -

◆ print_msgToMon()

- -
-
- - - - - - - - -
void print_msgToMon (MessageToMonmsg)
-
- -

Print message, header and data.

- -
-
- -

◆ set_msgToMon_data()

- -
-
- - - - - - - - - - - - - - - - - - -
void set_msgToMon_data (MessageToMonmsg,
void * data 
)
-
- -

Set data part of monitor message.

- -
-
- -

◆ set_msgToMon_header()

- -
-
- - - - - - - - - - - - - - - - - - -
void set_msgToMon_header (MessageToMonmsg,
char * header 
)
-
- -

Set header part of monitor message.

- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h.js b/software/raspberry/superviseur-robot/lib/doc/html/message_8h.js deleted file mode 100644 index f86e346..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8h.js +++ /dev/null @@ -1,8 +0,0 @@ -var message_8h = -[ - [ "MessageToMon", "struct_message_to_mon.html", "struct_message_to_mon" ], - [ "free_msgToMon_data", "message_8h.html#a285193a5a9d3b142f3f1c53c471d3173", null ], - [ "print_msgToMon", "message_8h.html#ae409e822d69cee7483a2d41c62698a85", null ], - [ "set_msgToMon_data", "message_8h.html#aa938f8156bfca7379f533b751334ca6f", null ], - [ "set_msgToMon_header", "message_8h.html#a8c768ba3ccfd64ba1e39079c967aff26", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.map deleted file mode 100644 index 060d5dc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.md5 deleted file mode 100644 index dfa0241..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c1360d1270504b5d3b306b1d19fd7c40 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.png deleted file mode 100644 index 8451547..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__dep__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.map deleted file mode 100644 index 4409cbb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.map +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.md5 deleted file mode 100644 index aabbc0c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ebcc455136b13afe425b1f9aff59117a \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.png deleted file mode 100644 index 243f16f..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/message_8h__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/message_8h_source.html b/software/raspberry/superviseur-robot/lib/doc/html/message_8h_source.html deleted file mode 100644 index c335eae..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/message_8h_source.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Bibliotheques TP RT: message.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
message.h
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #ifndef MESSAGE_H
27 #define MESSAGE_H
28 
29 #include <stdio.h>
30 #include <stdlib.h>
31 #include <unistd.h>
32 #include <string.h>
33 
34 typedef struct {
35  char header[4];
36  void *data = NULL;
37 } MessageToMon;
38 
43 void set_msgToMon_header(MessageToMon *msg, char *header);
44 
48 void set_msgToMon_data(MessageToMon *msg, void *data);
49 
54 
58 void print_msgToMon(MessageToMon *msg);
59 
60 #endif /* MESSAGE_H */
61 
-
void set_msgToMon_header(MessageToMon *msg, char *header)
Set header part of monitor message.
-
void free_msgToMon_data(MessageToMon *msg)
Dealocate moemory pointed by data part of message.
-
void set_msgToMon_data(MessageToMon *msg, void *data)
Set data part of monitor message.
-
void print_msgToMon(MessageToMon *msg)
Print message, header and data.
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp.html b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp.html deleted file mode 100644 index 236cc89..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp.html +++ /dev/null @@ -1,352 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/monitor.cpp File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
monitor.cpp File Reference
-
-
- -

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

-
#include "monitor.h"
-#include "server.h"
-
-Include dependency graph for monitor.cpp:
-
-
- - - - - - -
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - -

-Functions

string serverReceive (int size)
 
int sendMessage (const char *data, int dataLength)
 
int receive (char *data)
 
int send_message_to_monitor (const char *typeMessage, const void *data)
 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...
 
- - - - - - - -

-Variables

SOCKADDR_IN ssin
 
SOCKET sock
 
socklen_t recsize = sizeof (ssin)
 
-

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.cpp.

-

Function Documentation

- -

◆ receive()

- -
-
- - - - - - - - -
int receive (char * data)
-
- -

Definition at line 90 of file monitor.cpp.

- -
-
- -

◆ 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.
- -

Definition at line 83 of file monitor.cpp.

- -
-
- -

◆ 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.
- -

Definition at line 40 of file monitor.cpp.

- -
-
- -

◆ sendMessage()

- -
-
- - - - - - - - - - - - - - - - - - -
int sendMessage (const char * data,
int dataLength 
)
-
- -

Definition at line 97 of file monitor.cpp.

- -
-
- -

◆ serverReceive()

- -
-
- - - - - - - - -
string serverReceive (int size)
-
- -
-
-

Variable Documentation

- -

◆ recsize

- -
-
- - - - -
socklen_t recsize = sizeof (ssin)
-
- -

Definition at line 33 of file monitor.cpp.

- -
-
- -

◆ sock

- -
-
- - - - -
SOCKET sock
-
- -

Definition at line 32 of file monitor.cpp.

- -
-
- -

◆ ssin

- -
-
- - - - -
SOCKADDR_IN ssin
-
- -

Definition at line 31 of file monitor.cpp.

- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp.js b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp.js deleted file mode 100644 index f8cf8e1..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp.js +++ /dev/null @@ -1,11 +0,0 @@ -var monitor_8cpp = -[ - [ "receive", "monitor_8cpp.html#aef87d80a1e44bf1953b3282967282ef0", null ], - [ "receive_message_from_monitor", "monitor_8cpp.html#a61eca0d5b49118350db39583e1bd1032", null ], - [ "send_message_to_monitor", "monitor_8cpp.html#af49d46447ce41019bd13a2c07a000644", null ], - [ "sendMessage", "monitor_8cpp.html#a7265ec937de7d9ca68b81e5bd8203962", null ], - [ "serverReceive", "monitor_8cpp.html#a04c8d7ed93b301fafe6dcc08d64ba21b", null ], - [ "recsize", "monitor_8cpp.html#acd1a03adb2455aaacbd886642518d569", null ], - [ "sock", "monitor_8cpp.html#a6e91849780a994f2adde299b33642829", null ], - [ "ssin", "monitor_8cpp.html#a1f38ae3a59ce304779ebbca10378654a", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.map deleted file mode 100644 index 3ac074b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.map +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.md5 deleted file mode 100644 index 9e15c25..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4999ec1ece0fdb669cb1fb59d50df9ee \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.png deleted file mode 100644 index 9ef4963..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp_source.html b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp_source.html deleted file mode 100644 index 23bf7f4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8cpp_source.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/monitor.cpp Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
monitor.cpp
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #include "monitor.h"
27 #include "server.h"
28 
29 using namespace std;
30 
33 socklen_t recsize = sizeof (ssin);
34 
35 
36 string serverReceive(int size);
37 int sendMessage(const char *data, int dataLength);
38 int receive(char *data);
39 
40 int send_message_to_monitor(const char* typeMessage, const void * data) {
41  if ((string) typeMessage == HEADER_STM_IMAGE) {
42  Jpg * imgC = (Jpg*) data;
43  sendMessage("IMG", 3);
44  sendMessage((const char*) imgC->data(), imgC->size());
45  sendMessage("TRAME", 5);
46  return 0;
47  } else if ((string) typeMessage == HEADER_STM_POS) {
48  char buffer[400];
49  Position * maPosition = (Position*) data;
50  sprintf(buffer, "POScenter: %3d;%3d | %.1fTRAME", maPosition->center.x, maPosition->center.y, maPosition->angle);
51  sendMessage(buffer, strlen(buffer));
52  return 0;
53  } else if ((string) typeMessage == HEADER_STM_MES) {
54  char buffer[50];
55  sprintf(buffer, "MSG%sTRAME", (const char*) data);
56  sendMessage(buffer, strlen(buffer));
57  return 0;
58  } else if ((string) typeMessage == HEADER_STM_ACK) {
59  char buffer[50];
60  sprintf(buffer, "ACK%sTRAME", (const char*) data);
61  sendMessage(buffer, strlen(buffer));
62  return 0;
63  } else if ((string) typeMessage == HEADER_STM_BAT) {
64  char buffer[50];
65  sprintf(buffer, "BAT%sTRAME", (const char*) data);
66  sendMessage(buffer, strlen(buffer));
67  return 0;
68  } else if ((string) typeMessage == HEADER_STM_NO_ACK) {
69  char buffer[50];
70  sprintf(buffer, "NAK%sTRAME", (const char*) data);
71  sendMessage(buffer, strlen(buffer));
72  return 0;
73  } else if ((string) typeMessage == HEADER_STM_LOST_DMB) {
74  char buffer[50];
75  sprintf(buffer, "LCD%sTRAME", (const char*) data);
76  sendMessage(buffer, strlen(buffer));
77  return 0;
78  } else {
79  return -1;
80  }
81 }
82 
83 int receive_message_from_monitor(char *typeMessage, char *data) {
84  char buffer[20];
85  int tBuffer = receive(buffer);
86  sscanf(buffer, "%3s:%s", typeMessage, data);
87  return tBuffer;
88 }
89 
90 int receive(char *data) {
91  int result;
92  result = receiveDataFromServer(data, 20);
93  //cout <<"Data : " << data << endl;
94  return result;
95 }
96 
97 int sendMessage(const char *data, int dataLength) {
98  if (sendDataToServer((char*) data, dataLength) != dataLength) {
99  perror("Send failed : ");
100  return false;
101  }
102 
103  return true;
104 }
Point center
Definition: image.h:70
-
#define HEADER_STM_POS
Definition: monitor.h:43
-
float angle
Definition: image.h:72
-
int receive(char *data)
Definition: monitor.cpp:90
-
int SOCKET
Definition: monitor.h:70
-
#define HEADER_STM_NO_ACK
Definition: monitor.h:44
-
#define HEADER_STM_ACK
Definition: monitor.h:45
- -
int receive_message_from_monitor(char *typeMessage, char *data)
Réception d&#39;un message. La fonction est bloquante et retourne par référence le type de message reçu (...
Definition: monitor.cpp:83
-
int send_message_to_monitor(const char *typeMessage, const void *data)
Envoi d&#39;un message vers l&#39;interface graphique.
Definition: monitor.cpp:40
-
#define HEADER_STM_LOST_DMB
Definition: monitor.h:47
-
#define HEADER_STM_BAT
Definition: monitor.h:42
-
socklen_t recsize
Definition: monitor.cpp:33
- -
Definition: image.h:69
-
SOCKADDR_IN ssin
Definition: monitor.cpp:31
-
int sendMessage(const char *data, int dataLength)
Definition: monitor.cpp:97
-
vector< unsigned char > Jpg
Definition: image.h:67
-
int receiveDataFromServer(char *data, int size)
Definition: server.cpp:95
-
#define HEADER_STM_MES
Definition: monitor.h:46
-
int sendDataToServer(char *data, int length)
Definition: server.cpp:85
-
SOCKET sock
Definition: monitor.cpp:32
-
struct sockaddr_in SOCKADDR_IN
Definition: monitor.h:71
-
Library for sending message to monitor or receiving message.
-
string serverReceive(int size)
-
#define HEADER_STM_IMAGE
Definition: monitor.h:41
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h.html b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h.html deleted file mode 100644 index c5f6229..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h.html +++ /dev/null @@ -1,692 +0,0 @@ - - - - - - - -Bibliotheques TP RT: monitor.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
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.
- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h.js b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h.js deleted file mode 100644 index 2b37a12..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h.js +++ /dev/null @@ -1,31 +0,0 @@ -var monitor_8h = -[ - [ "MessageFromMon", "struct_message_from_mon.html", "struct_message_from_mon" ], - [ "CHECK_ARENA", "monitor_8h.html#a22d20ac264e03c59d6941cb11386aa89", null ], - [ "closesocket", "monitor_8h.html#ab6b45251e218af8f09c5d627b5262398", null ], - [ "DEFAULT_INTERFACE_FILE", "monitor_8h.html#af533d8bd7d6a1d9f9efba3b259280e32", null ], - [ "DEFAULT_NODEJS_PATH", "monitor_8h.html#a2c47b710f0858fe41c544517c6b2a2fd", null ], - [ "DEFAULT_PARITY", "monitor_8h.html#a939612a13947b5bb9fc848e3222a231d", null ], - [ "DEFAULT_PORT", "monitor_8h.html#a16b710f592bf8f7900666392adc444dc", null ], - [ "DETECT_ARENA", "monitor_8h.html#ab3be9ae187e8b98bb000ca0bca68e982", null ], - [ "HEADER_MTS_CAMERA", "monitor_8h.html#a91e2658cf20010646211ba748885c180", null ], - [ "HEADER_MTS_COM_DMB", "monitor_8h.html#a0c829d92889c5c9b2d485964ce933fab", null ], - [ "HEADER_MTS_DMB_ORDER", "monitor_8h.html#a5ccd30e6502bb94eaa13a597edb1f156", null ], - [ "HEADER_MTS_MSG", "monitor_8h.html#a980e8f9457e30018fddcd4d997f17a85", null ], - [ "HEADER_MTS_STOP", "monitor_8h.html#a2be30c9a3e65eaf5502b8542a6ac6259", null ], - [ "HEADER_STM_ACK", "monitor_8h.html#af2325d19ae9da4310eb608c744149f53", null ], - [ "HEADER_STM_BAT", "monitor_8h.html#a0de226ae5af8b83f3b163ff4413eef95", null ], - [ "HEADER_STM_IMAGE", "monitor_8h.html#ad62b697bd25a71d171db46740aef2830", null ], - [ "HEADER_STM_LOST_DMB", "monitor_8h.html#afe29ce74d16751828da8aec7e13ad06b", null ], - [ "HEADER_STM_MES", "monitor_8h.html#ac1034bccb09918cccd3ba142377a6788", null ], - [ "HEADER_STM_NO_ACK", "monitor_8h.html#ac2e64478522da4e3b45c139c0c72557f", null ], - [ "HEADER_STM_POS", "monitor_8h.html#a6a07aae2539981459edc8070a0f019db", null ], - [ "INVALID_SOCKET", "monitor_8h.html#a26769957ec1a2beaf223f33b66ee64ab", null ], - [ "NO_ARENA", "monitor_8h.html#a1d58e03abc2a587c7f0a0665c94c0e68", null ], - [ "SOCKET_ERROR", "monitor_8h.html#a633b0396ff93d336a088412a190a5072", null ], - [ "SOCKADDR", "monitor_8h.html#ae334b73cedf7204187dce3f817576009", null ], - [ "SOCKADDR_IN", "monitor_8h.html#a29046dc0232f0e5c70adbc25090d77b8", null ], - [ "SOCKET", "monitor_8h.html#a8dc8083897335125630f1af5dafd5831", null ], - [ "receive_message_from_monitor", "monitor_8h.html#a61eca0d5b49118350db39583e1bd1032", null ], - [ "send_message_to_monitor", "monitor_8h.html#ac3d876b96642b6ee46f6a96b7ffcb864", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.map deleted file mode 100644 index a3a58b4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.md5 deleted file mode 100644 index 2f64a62..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -d46874b82f54f2c9defe2fbbe4cec067 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.png deleted file mode 100644 index 8680c1c..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__dep__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.map deleted file mode 100644 index 89823df..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.md5 deleted file mode 100644 index 87065f1..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c1de6fe6f1b534c65a34631cbb9641a2 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.png deleted file mode 100644 index 2ab2aec..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h_source.html b/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h_source.html deleted file mode 100644 index 04399a2..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/monitor_8h_source.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - -Bibliotheques TP RT: monitor.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
monitor.h
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #ifndef _MONITOR_H_
27 #define _MONITOR_H_
28 
29 #include <sys/types.h>
30 #include <sys/socket.h>
31 #include <netinet/in.h>
32 #include <arpa/inet.h>
33 #include <unistd.h>
34 #include <signal.h>
35 #include <stdlib.h>
36 #include <stdio.h>
37 #include <string.h>
38 #include "image.h"
39 #include "definitions.h"
40 
41 #define HEADER_STM_IMAGE "IMG" // Envoi d'une image
42 #define HEADER_STM_BAT "BAT" // Envoi de l'état de la batterie
43 #define HEADER_STM_POS "POS" // Envoi de la position
44 #define HEADER_STM_NO_ACK "NAK" // Acquittement d'un échec
45 #define HEADER_STM_ACK "ACK" // Acquittement d'un succès
46 #define HEADER_STM_MES "MSG" // Message textuel
47 #define HEADER_STM_LOST_DMB "LCD" // Perte de la communication avec le robot
48 
49 #define HEADER_MTS_MSG "MSG" // Message directe pour Console Dumber
50 #define HEADER_MTS_DMB_ORDER "DMB" // Message d'ordre pour le robot
51 #define HEADER_MTS_COM_DMB "COM" // Message de gestion de la communication avec le robot
52 #define HEADER_MTS_CAMERA "CAM" // Message de gestion de la camera
53 #define HEADER_MTS_STOP "STO" // Message d'arrêt du system
54 
55 #define INVALID_SOCKET -1
56 #define SOCKET_ERROR -1
57 
58 #define DEFAULT_PORT 8080
59 #define DEFAULT_PARITY 0
60 
61 #define DETECT_ARENA (1)
62 #define CHECK_ARENA (2)
63 #define NO_ARENA (3)
64 
65 #define DEFAULT_NODEJS_PATH "/usr/bin/nodejs"
66 #define DEFAULT_INTERFACE_FILE "./interface.js"
67 
68 #define closesocket(param) close(param)
69 
70 typedef int SOCKET;
71 typedef struct sockaddr_in SOCKADDR_IN;
72 typedef struct sockaddr SOCKADDR;
73 
74 typedef struct {
75  char header[4];
76  char data[100];
78 
91 int send_message_to_monitor(const char* typeMessage, const void * data = NULL);
92 
105 int receive_message_from_monitor(char *typeMessage, char *data);
106 
107 
108 #endif // _MONITOR_H_
int send_message_to_monitor(const char *typeMessage, const void *data=NULL)
Envoi d&#39;un message vers l&#39;interface graphique.
-
int SOCKET
Definition: monitor.h:70
-
struct sockaddr SOCKADDR
Definition: monitor.h:72
-
Functions for image treatment.
-
int receive_message_from_monitor(char *typeMessage, char *data)
Réception d&#39;un message. La fonction est bloquante et retourne par référence le type de message reçu (...
-
Various constants used in destjil project.
- -
struct sockaddr_in SOCKADDR_IN
Definition: monitor.h:71
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/nav_f.png b/software/raspberry/superviseur-robot/lib/doc/html/nav_f.png deleted file mode 100644 index 72a58a5..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/nav_f.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/nav_g.png b/software/raspberry/superviseur-robot/lib/doc/html/nav_g.png deleted file mode 100644 index 2093a23..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/nav_g.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/nav_h.png b/software/raspberry/superviseur-robot/lib/doc/html/nav_h.png deleted file mode 100644 index 33389b1..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/nav_h.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/navtree.css b/software/raspberry/superviseur-robot/lib/doc/html/navtree.css deleted file mode 100644 index 0cc7e77..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/navtree.css +++ /dev/null @@ -1,146 +0,0 @@ -#nav-tree .children_ul { - margin:0; - padding:4px; -} - -#nav-tree ul { - list-style:none outside none; - margin:0px; - padding:0px; -} - -#nav-tree li { - white-space:nowrap; - margin:0px; - padding:0px; -} - -#nav-tree .plus { - margin:0px; -} - -#nav-tree .selected { - background-image: url('tab_a.png'); - background-repeat:repeat-x; - color: #fff; - text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); -} - -#nav-tree img { - margin:0px; - padding:0px; - border:0px; - vertical-align: middle; -} - -#nav-tree a { - text-decoration:none; - padding:0px; - margin:0px; - outline:none; -} - -#nav-tree .label { - margin:0px; - padding:0px; - font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; -} - -#nav-tree .label a { - padding:2px; -} - -#nav-tree .selected a { - text-decoration:none; - color:#fff; -} - -#nav-tree .children_ul { - margin:0px; - padding:0px; -} - -#nav-tree .item { - margin:0px; - padding:0px; -} - -#nav-tree { - padding: 0px 0px; - background-color: #FAFAFF; - font-size:14px; - overflow:auto; -} - -#doc-content { - overflow:auto; - display:block; - padding:0px; - margin:0px; - -webkit-overflow-scrolling : touch; /* iOS 5+ */ -} - -#side-nav { - padding:0 6px 0 0; - margin: 0px; - display:block; - position: absolute; - left: 0px; - width: 250px; -} - -.ui-resizable .ui-resizable-handle { - display:block; -} - -.ui-resizable-e { - background-image:url("splitbar.png"); - background-size:100%; - background-repeat:no-repeat; - background-attachment: scroll; - cursor:ew-resize; - height:100%; - right:0; - top:0; - width:6px; -} - -.ui-resizable-handle { - display:none; - font-size:0.1px; - position:absolute; - z-index:1; -} - -#nav-tree-contents { - margin: 6px 0px 0px 0px; -} - -#nav-tree { - background-image:url('nav_h.png'); - background-repeat:repeat-x; - background-color: #F9FAFC; - -webkit-overflow-scrolling : touch; /* iOS 5+ */ -} - -#nav-sync { - position:absolute; - top:5px; - right:24px; - z-index:0; -} - -#nav-sync img { - opacity:0.3; -} - -#nav-sync img:hover { - opacity:0.9; -} - -@media print -{ - #nav-tree { display: none; } - div.ui-resizable-handle { display: none; position: relative; } -} - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/navtree.js b/software/raspberry/superviseur-robot/lib/doc/html/navtree.js deleted file mode 100644 index e6d31b0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/navtree.js +++ /dev/null @@ -1,517 +0,0 @@ -var navTreeSubIndices = new Array(); -var arrowDown = '▼'; -var arrowRight = '►'; - -function getData(varName) -{ - var i = varName.lastIndexOf('/'); - var n = i>=0 ? varName.substring(i+1) : varName; - return eval(n.replace(/\-/g,'_')); -} - -function stripPath(uri) -{ - return uri.substring(uri.lastIndexOf('/')+1); -} - -function stripPath2(uri) -{ - var i = uri.lastIndexOf('/'); - var s = uri.substring(i+1); - var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); - return m ? uri.substring(i-6) : s; -} - -function hashValue() -{ - return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); -} - -function hashUrl() -{ - return '#'+hashValue(); -} - -function pathName() -{ - return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); -} - -function localStorageSupported() -{ - try { - return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; - } - catch(e) { - return false; - } -} - - -function storeLink(link) -{ - if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { - window.localStorage.setItem('navpath',link); - } -} - -function deleteLink() -{ - if (localStorageSupported()) { - window.localStorage.setItem('navpath',''); - } -} - -function cachedLink() -{ - if (localStorageSupported()) { - return window.localStorage.getItem('navpath'); - } else { - return ''; - } -} - -function getScript(scriptName,func,show) -{ - var head = document.getElementsByTagName("head")[0]; - var script = document.createElement('script'); - script.id = scriptName; - script.type = 'text/javascript'; - script.onload = func; - script.src = scriptName+'.js'; - if ($.browser.msie && $.browser.version<=8) { - // script.onload does not work with older versions of IE - script.onreadystatechange = function() { - if (script.readyState=='complete' || script.readyState=='loaded') { - func(); if (show) showRoot(); - } - } - } - head.appendChild(script); -} - -function createIndent(o,domNode,node,level) -{ - var level=-1; - var n = node; - while (n.parentNode) { level++; n=n.parentNode; } - if (node.childrenData) { - var imgNode = document.createElement("span"); - imgNode.className = 'arrow'; - imgNode.style.paddingLeft=(16*level).toString()+'px'; - imgNode.innerHTML=arrowRight; - node.plus_img = imgNode; - node.expandToggle = document.createElement("a"); - node.expandToggle.href = "javascript:void(0)"; - node.expandToggle.onclick = function() { - if (node.expanded) { - $(node.getChildrenUL()).slideUp("fast"); - node.plus_img.innerHTML=arrowRight; - node.expanded = false; - } else { - expandNode(o, node, false, false); - } - } - node.expandToggle.appendChild(imgNode); - domNode.appendChild(node.expandToggle); - } else { - var span = document.createElement("span"); - span.className = 'arrow'; - span.style.width = 16*(level+1)+'px'; - span.innerHTML = ' '; - domNode.appendChild(span); - } -} - -var animationInProgress = false; - -function gotoAnchor(anchor,aname,updateLocation) -{ - var pos, docContent = $('#doc-content'); - var ancParent = $(anchor.parent()); - if (ancParent.hasClass('memItemLeft') || - ancParent.hasClass('fieldname') || - ancParent.hasClass('fieldtype') || - ancParent.is(':header')) - { - pos = ancParent.position().top; - } else if (anchor.position()) { - pos = anchor.position().top; - } - if (pos) { - var dist = Math.abs(Math.min( - pos-docContent.offset().top, - docContent[0].scrollHeight- - docContent.height()-docContent.scrollTop())); - animationInProgress=true; - docContent.animate({ - scrollTop: pos + docContent.scrollTop() - docContent.offset().top - },Math.max(50,Math.min(500,dist)),function(){ - if (updateLocation) window.location.href=aname; - animationInProgress=false; - }); - } -} - -function newNode(o, po, text, link, childrenData, lastNode) -{ - var node = new Object(); - node.children = Array(); - node.childrenData = childrenData; - node.depth = po.depth + 1; - node.relpath = po.relpath; - node.isLast = lastNode; - - node.li = document.createElement("li"); - po.getChildrenUL().appendChild(node.li); - node.parentNode = po; - - node.itemDiv = document.createElement("div"); - node.itemDiv.className = "item"; - - node.labelSpan = document.createElement("span"); - node.labelSpan.className = "label"; - - createIndent(o,node.itemDiv,node,0); - node.itemDiv.appendChild(node.labelSpan); - node.li.appendChild(node.itemDiv); - - var a = document.createElement("a"); - node.labelSpan.appendChild(a); - node.label = document.createTextNode(text); - node.expanded = false; - a.appendChild(node.label); - if (link) { - var url; - if (link.substring(0,1)=='^') { - url = link.substring(1); - link = url; - } else { - url = node.relpath+link; - } - a.className = stripPath(link.replace('#',':')); - if (link.indexOf('#')!=-1) { - var aname = '#'+link.split('#')[1]; - var srcPage = stripPath(pathName()); - var targetPage = stripPath(link.split('#')[0]); - a.href = srcPage!=targetPage ? url : "javascript:void(0)"; - a.onclick = function(){ - storeLink(link); - if (!$(a).parent().parent().hasClass('selected')) - { - $('.item').removeClass('selected'); - $('.item').removeAttr('id'); - $(a).parent().parent().addClass('selected'); - $(a).parent().parent().attr('id','selected'); - } - var anchor = $(aname); - gotoAnchor(anchor,aname,true); - }; - } else { - a.href = url; - a.onclick = function() { storeLink(link); } - } - } else { - if (childrenData != null) - { - a.className = "nolink"; - a.href = "javascript:void(0)"; - a.onclick = node.expandToggle.onclick; - } - } - - node.childrenUL = null; - node.getChildrenUL = function() { - if (!node.childrenUL) { - node.childrenUL = document.createElement("ul"); - node.childrenUL.className = "children_ul"; - node.childrenUL.style.display = "none"; - node.li.appendChild(node.childrenUL); - } - return node.childrenUL; - }; - - return node; -} - -function showRoot() -{ - var headerHeight = $("#top").height(); - var footerHeight = $("#nav-path").height(); - var windowHeight = $(window).height() - headerHeight - footerHeight; - (function (){ // retry until we can scroll to the selected item - try { - var navtree=$('#nav-tree'); - navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); - } catch (err) { - setTimeout(arguments.callee, 0); - } - })(); -} - -function expandNode(o, node, imm, showRoot) -{ - if (node.childrenData && !node.expanded) { - if (typeof(node.childrenData)==='string') { - var varName = node.childrenData; - getScript(node.relpath+varName,function(){ - node.childrenData = getData(varName); - expandNode(o, node, imm, showRoot); - }, showRoot); - } else { - if (!node.childrenVisited) { - getNode(o, node); - } if (imm || ($.browser.msie && $.browser.version>8)) { - // somehow slideDown jumps to the start of tree for IE9 :-( - $(node.getChildrenUL()).show(); - } else { - $(node.getChildrenUL()).slideDown("fast"); - } - node.plus_img.innerHTML = arrowDown; - node.expanded = true; - } - } -} - -function glowEffect(n,duration) -{ - n.addClass('glow').delay(duration).queue(function(next){ - $(this).removeClass('glow');next(); - }); -} - -function highlightAnchor() -{ - var aname = hashUrl(); - var anchor = $(aname); - if (anchor.parent().attr('class')=='memItemLeft'){ - var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); - glowEffect(rows.children(),300); // member without details - } else if (anchor.parent().attr('class')=='fieldname'){ - glowEffect(anchor.parent().parent(),1000); // enum value - } else if (anchor.parent().attr('class')=='fieldtype'){ - glowEffect(anchor.parent().parent(),1000); // struct field - } else if (anchor.parent().is(":header")) { - glowEffect(anchor.parent(),1000); // section header - } else { - glowEffect(anchor.next(),1000); // normal member - } - gotoAnchor(anchor,aname,false); -} - -function selectAndHighlight(hash,n) -{ - var a; - if (hash) { - var link=stripPath(pathName())+':'+hash.substring(1); - a=$('.item a[class$="'+link+'"]'); - } - if (a && a.length) { - a.parent().parent().addClass('selected'); - a.parent().parent().attr('id','selected'); - highlightAnchor(); - } else if (n) { - $(n.itemDiv).addClass('selected'); - $(n.itemDiv).attr('id','selected'); - } - if ($('#nav-tree-contents .item:first').hasClass('selected')) { - $('#nav-sync').css('top','30px'); - } else { - $('#nav-sync').css('top','5px'); - } - showRoot(); -} - -function showNode(o, node, index, hash) -{ - if (node && node.childrenData) { - if (typeof(node.childrenData)==='string') { - var varName = node.childrenData; - getScript(node.relpath+varName,function(){ - node.childrenData = getData(varName); - showNode(o,node,index,hash); - },true); - } else { - if (!node.childrenVisited) { - getNode(o, node); - } - $(node.getChildrenUL()).css({'display':'block'}); - node.plus_img.innerHTML = arrowDown; - node.expanded = true; - var n = node.children[o.breadcrumbs[index]]; - if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); - else hash=''; - } - if (hash.match(/^#l\d+$/)) { - var anchor=$('a[name='+hash.substring(1)+']'); - glowEffect(anchor.parent(),1000); // line number - hash=''; // strip line number anchors - } - var url=root+hash; - var i=-1; - while (NAVTREEINDEX[i+1]<=url) i++; - if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath) - } else { - getScript(relpath+'navtreeindex'+i,function(){ - navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); - if (navTreeSubIndices[i]) { - gotoNode(o,i,root,hash,relpath); - } - },true); - } -} - -function showSyncOff(n,relpath) -{ - n.html(''); -} - -function showSyncOn(n,relpath) -{ - n.html(''); -} - -function toggleSyncButton(relpath) -{ - var navSync = $('#nav-sync'); - if (navSync.hasClass('sync')) { - navSync.removeClass('sync'); - showSyncOff(navSync,relpath); - storeLink(stripPath2(pathName())+hashUrl()); - } else { - navSync.addClass('sync'); - showSyncOn(navSync,relpath); - deleteLink(); - } -} - -function initNavTree(toroot,relpath) -{ - var o = new Object(); - o.toroot = toroot; - o.node = new Object(); - o.node.li = document.getElementById("nav-tree-contents"); - o.node.childrenData = NAVTREE; - o.node.children = new Array(); - o.node.childrenUL = document.createElement("ul"); - o.node.getChildrenUL = function() { return o.node.childrenUL; }; - o.node.li.appendChild(o.node.childrenUL); - o.node.depth = 0; - o.node.relpath = relpath; - o.node.expanded = false; - o.node.isLast = true; - o.node.plus_img = document.createElement("span"); - o.node.plus_img.className = 'arrow'; - o.node.plus_img.innerHTML = arrowRight; - - if (localStorageSupported()) { - var navSync = $('#nav-sync'); - if (cachedLink()) { - showSyncOff(navSync,relpath); - navSync.removeClass('sync'); - } else { - showSyncOn(navSync,relpath); - } - navSync.click(function(){ toggleSyncButton(relpath); }); - } - - $(window).load(function(){ - navTo(o,toroot,hashUrl(),relpath); - showRoot(); - }); - - $(window).bind('hashchange', function(){ - if (window.location.hash && window.location.hash.length>1){ - var a; - if ($(location).attr('hash')){ - var clslink=stripPath(pathName())+':'+hashValue(); - a=$('.item a[class$="'+clslink.replace(/=desktop_vp) { - if (!collapsed) { - collapseExpand(); - } - } else if (width>desktop_vp && collapsedWidth0) { - restoreWidth(0); - collapsed=true; - } - else { - var width = readCookie('width'); - if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } - collapsed=false; - } - } - - header = $("#top"); - sidenav = $("#side-nav"); - content = $("#doc-content"); - navtree = $("#nav-tree"); - footer = $("#nav-path"); - $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); - $(sidenav).resizable({ minWidth: 0 }); - $(window).resize(function() { resizeHeight(); }); - var device = navigator.userAgent.toLowerCase(); - var touch_device = device.match(/(iphone|ipod|ipad|android)/); - if (touch_device) { /* wider split bar for touch only devices */ - $(sidenav).css({ paddingRight:'20px' }); - $('.ui-resizable-e').css({ width:'20px' }); - $('#nav-sync').css({ right:'34px' }); - barWidth=20; - } - var width = readCookie('width'); - if (width) { restoreWidth(width); } else { resizeWidth(); } - resizeHeight(); - var url = location.href; - var i=url.indexOf("#"); - if (i>=0) window.location.hash=url.substr(i); - var _preventDefault = function(evt) { evt.preventDefault(); }; - $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); - $(".ui-resizable-handle").dblclick(collapseExpand); - $(window).load(resizeHeight); -} - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot-icon.resized.png b/software/raspberry/superviseur-robot/lib/doc/html/robot-icon.resized.png deleted file mode 100644 index e464bd0..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/robot-icon.resized.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp.html b/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp.html deleted file mode 100644 index 16ff475..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp.html +++ /dev/null @@ -1,373 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/robot.cpp File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
robot.cpp File Reference
-
-
-
#include "robot.h"
-
-Include dependency graph for robot.cpp:
-
-
- - - - -
-
-

Go to the source code of this file.

- - - - - - - - - - - - - - - - - - - - - -

-Functions

int getChar (char *c)
 
int readSerial (char *msg)
 
char checkSumGO (char *msg)
 
int receiveMsg (void)
 
int sendCmd (char cmd, const char *arg)
 
int open_communication_robot (const char *path)
 Ouvre la communication avec le robot. More...
 
int close_communication_robot (void)
 Ferme la communication avec le robot. More...
 
int send_command_to_robot (char cmd, const char *arg)
 Envoi une commande au robot et attends sa réponse. More...
 
- - - -

-Variables

int fd
 
-

Function Documentation

- -

◆ checkSumGO()

- -
-
- - - - - - - - -
char checkSumGO (char * msg)
-
- -

Definition at line 237 of file robot.cpp.

- -
-
- -

◆ close_communication_robot()

- -
-
- - - - - - - - -
int close_communication_robot (void )
-
- -

Ferme la communication avec le robot.

-

Ferme le descripteur de fichier du port serie contrôlant le robot.

-
Parameters
- - -
voidaucun
-
-
-
Returns
Retourne -1 en cas d'erreur ou 0 en cas de fermeture effectué
- -

Definition at line 64 of file robot.cpp.

- -
-
- -

◆ getChar()

- -
-
- - - - - - - - -
int getChar (char * c)
-
- -

Definition at line 199 of file robot.cpp.

- -
-
- -

◆ open_communication_robot()

- -
-
- - - - - - - - -
int open_communication_robot (const char * path = serialPort)
-
- -

Ouvre la communication avec le robot.

-

Ouvre le serial port passé en paramétre. Par defaut cette fonction ouvre le port ttySO connecté au module xbee.

-
Parameters
- - -
*pathchaine de caractère indiquant le path du port serie à ouvrir.
-
-
-
Returns
Return -1 si l'ouverture c'est mal passé et 0 si le port est ouvert.
- -

Definition at line 36 of file robot.cpp.

- -
-
- -

◆ readSerial()

- -
-
- - - - - - - - -
int readSerial (char * msg)
-
- -

Definition at line 216 of file robot.cpp.

- -
-
- -

◆ receiveMsg()

- -
-
- - - - - - - - -
int receiveMsg (void )
-
- -

Definition at line 168 of file robot.cpp.

- -
-
- -

◆ send_command_to_robot()

- -
-
- - - - - - - - - - - - - - - - - - -
int send_command_to_robot (char cmd,
const char * arg = NULL 
)
-
- -

Envoi une commande au robot et attends sa réponse.

-

Envoi une commande au robot en ajoutant le checksum et lis la réponse du robot en verifiant le checksum. Le premier paramétre cmd correspond au type de commande ex : PING, SETMOVE ... Le second paramétre *arg correspond aux arguments à la commande ex : SETMOVE, "100" La fonction retourne un code confirmation transmise par le robot (ROBOT_CHEKSUM, ROBOT_ERROR, ROBOT_TIMED_OUT, ROBOT_OK, ROBOT_UKNOW_CMD)

-
Parameters
- - - -
cmdEntête de la commande
*argArgument de la commande
-
-
-
Returns
retourne un code confirmation.
- -

Definition at line 74 of file robot.cpp.

- -
-
- -

◆ sendCmd()

- -
-
- - - - - - - - - - - - - - - - - - -
int sendCmd (char cmd,
const char * arg 
)
-
- -

Definition at line 138 of file robot.cpp.

- -
-
-

Variable Documentation

- -

◆ fd

- -
-
- - - - -
int fd
-
- -

Definition at line 28 of file robot.cpp.

- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp.js b/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp.js deleted file mode 100644 index 627339f..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp.js +++ /dev/null @@ -1,12 +0,0 @@ -var robot_8cpp = -[ - [ "checkSumGO", "robot_8cpp.html#ab87123df26d91967d4d7507ad10326ac", null ], - [ "close_communication_robot", "robot_8cpp.html#a3fbce7530a62f9287f8a3b85b9c7e4d7", null ], - [ "getChar", "robot_8cpp.html#a116eceb372bf4bda7e6a360286e762b1", null ], - [ "open_communication_robot", "robot_8cpp.html#a9360e75fe324da14faaa87105771140e", null ], - [ "readSerial", "robot_8cpp.html#a2e1339c58b604c970f67096c7d143c2a", null ], - [ "receiveMsg", "robot_8cpp.html#adf885bd17005f841896acf2e49350db7", null ], - [ "send_command_to_robot", "robot_8cpp.html#a68c01c5d6226d21fc0d141f681806677", null ], - [ "sendCmd", "robot_8cpp.html#ac9d64c6d05c20ae9fdb8c158e2ee7098", null ], - [ "fd", "robot_8cpp.html#a6f8059414f0228f0256115e024eeed4b", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.map deleted file mode 100644 index 26cd87c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.md5 deleted file mode 100644 index 6738806..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6d74266766829eaadc434cde424d0c03 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.png deleted file mode 100644 index febe531..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp_source.html b/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp_source.html deleted file mode 100644 index 37a66e7..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8cpp_source.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/robot.cpp Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
robot.cpp
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #include "robot.h"
27 
28 int fd;
29 
30 int getChar(char * c);
31 int readSerial(char * msg);
32 char checkSumGO(char * msg);
33 int receiveMsg(void);
34 int sendCmd(char cmd, const char * arg);
35 
36 int open_communication_robot(const char * path)
37 {
38 #ifndef __STUB__
39  struct termios options;
40  fd = open(path, O_RDWR | O_NOCTTY | O_NDELAY);
41  if(fd !=-1)
42  {
43  fcntl(fd, F_SETFL, 0);
44  tcgetattr(fd, &options);
45  options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
46  cfsetospeed (&options, B9600);
47  cfsetispeed (&options, B9600);
48  options.c_cc[VMIN]=0;
49  options.c_cc[VTIME]=0;
50  tcsetattr(fd, TCSANOW, &options);
51  return 0;
52  }
53  else
54  {
55  perror("can't openSerial");
56  return -1;
57  }
58 #else
59  return 0;
60 #endif
61 }
62 
63 
65 {
66 #ifndef __STUB__
67  return close(fd);
68 #else
69  return 0;
70 #endif
71 }
72 
73 
74 int send_command_to_robot(char cmd, const char * arg)
75 {
76 #ifndef __STUB__
77  sendCmd(cmd,arg);
78  // TODO : check return from sendCmd
79  return receiveMsg();
80 #else
81  int reponse;
82  switch(cmd)
83  {
84  case DMB_PING:
85  reponse = 0;
86  break;
87  case DMB_IDLE:
88  reponse = 0;
89  break;
90  case DMB_START_WITH_WD:
91  reponse = 0;
92  break;
93  case DMB_RELOAD_WD:
94  reponse = 0;
95  break;
96  case DMB_GET_VBAT:
97  reponse = 2;
98  break;
99  case DMB_IS_BUSY:
100  reponse = 1;
101  break;
103  reponse = 0;
104  break;
105  case DMB_MOVE:
106  reponse = 0;
107  break;
108  case DMB_TURN:
109  reponse = 0;
110  break;
111  case DMB_GO_FORWARD:
112  reponse = 0;
113  break;
114  case DMB_GO_BACK:
115  reponse = 0;
116  break;
117  case DMB_GO_LEFT:
118  reponse = 0;
119  break;
120  case DMB_GO_RIGHT:
121  reponse = 0;
122  break;
123  case DMB_STOP_MOVE:
124  reponse = 0;
125  break;
126  default:
127  reponse = 0;
128  break;
129  }
130  return reponse;
131 #endif
132 }
133 
134 /****************************/
135 /* PRIVATE */
136 /****************************/
137 
138 int sendCmd(char cmd, const char * arg)
139 {
140  char cmdWithArg[20]={};
141  cmdWithArg[0]=cmd;
142  switch(cmd)
143  {
144  case DMB_GO_FORWARD: strcpy(cmdWithArg,"M=+64000");
145  break;
146  case DMB_GO_BACK: strcpy(cmdWithArg,"M=-64000");
147  break;
148  case DMB_GO_LEFT: strcpy(cmdWithArg,"T=+64000");
149  break;
150  case DMB_GO_RIGHT: strcpy(cmdWithArg,"T=-64000");
151  break;
152  case DMB_STOP_MOVE: strcpy(cmdWithArg,"M=0");
153  break;
154  case DMB_MOVE: strcat(cmdWithArg,"=");
155  strcat(cmdWithArg,arg);
156  break;
157  case DMB_TURN: strcat(cmdWithArg,"=");
158  strcat(cmdWithArg,arg);
159  break;
160  }
161  int sizeCmd = strlen(cmdWithArg);
162  cmdWithArg[sizeCmd] = checkSumGO(cmdWithArg);
163  cmdWithArg[sizeCmd+1] = '\r';
164  cmdWithArg[sizeCmd+2] = '\0';
165  return write(fd,cmdWithArg,strlen(cmdWithArg));
166 }
167 
168 int receiveMsg(void)
169 {
170  char msg[20];
171  int b;
172  if((b = readSerial(msg))!=ROBOT_TIMED_OUT)
173  {
174  int taille = strlen(msg);
175  char checksum = msg[taille-2];
176  msg[taille-1] = 0;
177  msg[taille-2] = 0;
178  if(checksum!=checkSumGO(msg))
179  {
180  return ROBOT_CHECKSUM;
181  }
182  else
183  {
184  switch(msg[0])
185  {
186  case 'O' : return 0;
187  case 'E' : return ROBOT_ERROR;
188  case 'C' : return ROBOT_UKNOWN_CMD;
189  default : return atoi(&msg[0]);
190  }
191  }
192  }
193  else
194  {
195  return ROBOT_TIMED_OUT;
196  }
197 }
198 
199 int getChar(char * c)
200 {
201  int n =0;
202  int delay =0;
203  while((n=read(fd,c,1)) <=0)
204  {
205  usleep(5000);
206  delay++;
207  if(delay > 10)
208  {
209  return ROBOT_TIMED_OUT;
210  }
211 
212  }
213  return n;
214 }
215 
216 int readSerial(char * msg)
217 {
218  char car=0;
219  int i=0;
220  for(int j = 0 ; j < 20 ; j++)
221  msg[j]=0;
222 
223  while(car !='\r' && car!='\n') {
224  if(i>=20)
225  return -5;
226 
227  if(getChar(&car)==ROBOT_TIMED_OUT) {
228  return ROBOT_TIMED_OUT;
229  }
230 
231  msg[i] = car;
232  i++;
233  }
234  return i;
235 }
236 
237 char checkSumGO(char * msg)
238 {
239  char resultat = 0;
240  int i = 0;
241  int taille = strlen(msg);
242  for(i=0;i<taille;i++)
243  {
244  resultat^=msg[i];
245  }
246  return resultat;
247 
248 }
249 
250 
251 
#define DMB_PING
Definition: definitions.h:33
-
#define DMB_RELOAD_WD
Definition: definitions.h:37
-
#define DMB_GO_LEFT
Definition: definitions.h:44
-
#define DMB_START_WITH_WD
Definition: definitions.h:36
-
#define DMB_GO_BACK
Definition: definitions.h:43
-
Fonctions for communicating with robot.
-
char checkSumGO(char *msg)
Definition: robot.cpp:237
-
int readSerial(char *msg)
Definition: robot.cpp:216
-
#define ROBOT_ERROR
Definition: definitions.h:50
-
#define ROBOT_CHECKSUM
Definition: definitions.h:51
-
#define DMB_START_WITHOUT_WD
Definition: definitions.h:35
-
int receiveMsg(void)
Definition: robot.cpp:168
-
int getChar(char *c)
Definition: robot.cpp:199
-
#define ROBOT_UKNOWN_CMD
Definition: definitions.h:49
-
#define DMB_IDLE
Definition: definitions.h:34
-
#define DMB_GO_RIGHT
Definition: definitions.h:45
-
int sendCmd(char cmd, const char *arg)
Definition: robot.cpp:138
-
#define DMB_IS_BUSY
Definition: definitions.h:39
-
#define DMB_GET_VBAT
Definition: definitions.h:38
-
#define ROBOT_TIMED_OUT
Definition: definitions.h:48
-
#define DMB_GO_FORWARD
Definition: definitions.h:42
-
int send_command_to_robot(char cmd, const char *arg)
Envoi une commande au robot et attends sa réponse.
Definition: robot.cpp:74
-
int fd
Definition: robot.cpp:28
-
int open_communication_robot(const char *path)
Ouvre la communication avec le robot.
Definition: robot.cpp:36
-
#define DMB_STOP_MOVE
Definition: definitions.h:46
-
int close_communication_robot(void)
Ferme la communication avec le robot.
Definition: robot.cpp:64
-
#define DMB_TURN
Definition: definitions.h:41
-
#define DMB_MOVE
Definition: definitions.h:40
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h.html b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h.html deleted file mode 100644 index 258c699..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h.html +++ /dev/null @@ -1,262 +0,0 @@ - - - - - - - -Bibliotheques TP RT: robot.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
robot.h File Reference
-
-
- -

Fonctions for communicating with robot. -More...

-
#include <stdio.h>
-#include <unistd.h>
-#include <fcntl.h>
-#include <termios.h>
-#include <string.h>
-#include <stdlib.h>
-#include "definitions.h"
-
-Include dependency graph for robot.h:
-
-
- - - -
-
-

Go to the source code of this file.

- - - - -

-Classes

struct  MessageToRobot
 
- - - -

-Macros

#define serialPort   "/dev/ttyS0"
 
- - - - - - - - - - -

-Functions

int open_communication_robot (const char *path=serialPort)
 Ouvre la communication avec le robot. More...
 
int close_communication_robot (void)
 Ferme la communication avec le robot. More...
 
int send_command_to_robot (char cmd, const char *arg=NULL)
 Envoi une commande au robot et attends sa réponse. More...
 
-

Detailed Description

-

Fonctions for communicating with robot.

-
Author
L.Senaneuch
-
Version
1.0
-
Date
06/06/2017
- -

Definition in file robot.h.

-

Macro Definition Documentation

- -

◆ serialPort

- -
-
- - - - -
#define serialPort   "/dev/ttyS0"
-
- -

Definition at line 40 of file robot.h.

- -
-
-

Function Documentation

- -

◆ close_communication_robot()

- -
-
- - - - - - - - -
int close_communication_robot (void )
-
- -

Ferme la communication avec le robot.

-

Ferme le descripteur de fichier du port serie contrôlant le robot.

-
Returns
Retourne -1 en cas d'erreur ou 0 en cas de fermeture effectué
- -
-
- -

◆ open_communication_robot()

- -
-
- - - - - - - - -
int open_communication_robot (const char * path = serialPort)
-
- -

Ouvre la communication avec le robot.

-

Ouvre le serial port passé en paramétre. Par defaut cette fonction ouvre le port ttySO connecté au module xbee.

-
Parameters
- - -
pathChaine de caractère contenant le path du port serie à ouvrir.
-
-
-
Returns
Return -1 si l'ouverture c'est mal passé et 0 si le port est ouvert.
- -
-
- -

◆ send_command_to_robot()

- -
-
- - - - - - - - - - - - - - - - - - -
int send_command_to_robot (char cmd,
const char * arg = NULL 
)
-
- -

Envoi une commande au robot et attends sa réponse.

-

Envoi une commande au robot en ajoutant le checksum et lis la réponse du robot en verifiant le checksum. Le premier paramétre cmd correspond au type de commande ex : PING, SETMOVE ... Le second paramétre *arg correspond aux arguments à la commande ex : SETMOVE, "100" La fonction retourne un code confirmation transmise par le robot (ROBOT_CHEKSUM, ROBOT_ERROR, ROBOT_TIMED_OUT, ROBOT_OK, ROBOT_UKNOW_CMD)

-
Parameters
- - - -
cmdEntête de la commande
argArgument de la commande
-
-
-
Returns
Retourne un code confirmation.
- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h.js b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h.js deleted file mode 100644 index 9c39a86..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h.js +++ /dev/null @@ -1,8 +0,0 @@ -var robot_8h = -[ - [ "MessageToRobot", "struct_message_to_robot.html", "struct_message_to_robot" ], - [ "serialPort", "robot_8h.html#a32c8768c18732c59b503f8ee7515a693", null ], - [ "close_communication_robot", "robot_8h.html#a3fbce7530a62f9287f8a3b85b9c7e4d7", null ], - [ "open_communication_robot", "robot_8h.html#a0e70fa821a04d349552b8bd54f6935db", null ], - [ "send_command_to_robot", "robot_8h.html#abe88fd581be321a9d86ae7063abd2f65", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.map deleted file mode 100644 index 5726183..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.md5 deleted file mode 100644 index bfa5d8b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9dee0b0a6e7c8cd2ba54606b5bd229ef \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.png deleted file mode 100644 index a9d0df2..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__dep__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.map deleted file mode 100644 index 5487954..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.md5 deleted file mode 100644 index fc67b70..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ae0d08dc648656936c7f6ca3272fd6a3 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.png deleted file mode 100644 index 28bfa1c..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h_source.html b/software/raspberry/superviseur-robot/lib/doc/html/robot_8h_source.html deleted file mode 100644 index 4692fe3..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/robot_8h_source.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - -Bibliotheques TP RT: robot.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
robot.h
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #ifndef _ROBOT_H_
27 #define _ROBOT_H_
28 
29 #include <stdio.h>
30 #include <unistd.h>
31 #include <fcntl.h>
32 #include <termios.h>
33 #include <string.h>
34 #include <stdlib.h>
35 #include "definitions.h"
36 
37 #ifdef __FOR_PC__
38 #define serialPort "/dev/ttyUSB0"
39 #else
40 #define serialPort "/dev/ttyS0"
41 #endif /* __FOR_PC__ */
42 
43 typedef struct
44  {
45  char header[4];
46  char data[20];
48 
56 int open_communication_robot(const char * path=serialPort);
57 
65 
77 int send_command_to_robot(char cmd, const char * arg=NULL);
78 
79 #endif //_ROBOT_H_
int close_communication_robot(void)
Ferme la communication avec le robot.
-
#define serialPort
Definition: robot.h:40
- -
Various constants used in destjil project.
-
int open_communication_robot(const char *path=serialPort)
Ouvre la communication avec le robot.
-
int send_command_to_robot(char cmd, const char *arg=NULL)
Envoi une commande au robot et attends sa réponse.
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_0.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_0.html deleted file mode 100644 index f25360b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_0.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_0.js deleted file mode 100644 index f3a2382..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['acceptclient',['acceptClient',['../server_8h.html#abff9f8e931ecce919588b371dc511857',1,'server.h']]], - ['angle',['angle',['../struct_position.html#a733540df6c0f832676dc0846b34bb1e2',1,'Position']]], - ['arene',['Arene',['../image_8h.html#aa856a7cb8a1535c9f13096bede6c8586',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_1.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_1.html deleted file mode 100644 index b13f0f7..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_1.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_1.js deleted file mode 100644 index bc0e698..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_1.js +++ /dev/null @@ -1,19 +0,0 @@ -var searchData= -[ - ['cam_5farena_5fconfirm',['CAM_ARENA_CONFIRM',['../definitions_8h.html#a15d9063cd3c60755685ceb75df4a7354',1,'definitions.h']]], - ['cam_5farena_5finfirm',['CAM_ARENA_INFIRM',['../definitions_8h.html#ac836c6abc7e32d2cf7f59ed2a8383ca7',1,'definitions.h']]], - ['cam_5fask_5farena',['CAM_ASK_ARENA',['../definitions_8h.html#a6418778d1f34e618aebd9ca1861ab500',1,'definitions.h']]], - ['cam_5fclose',['CAM_CLOSE',['../definitions_8h.html#a675009273c3923e8ad1a6d2818063b61',1,'definitions.h']]], - ['cam_5fcompute_5fposition',['CAM_COMPUTE_POSITION',['../definitions_8h.html#a74fdb9d00556feb699d3c72bd7b5d5e5',1,'definitions.h']]], - ['cam_5fopen',['CAM_OPEN',['../definitions_8h.html#a2a7149bbe097fae8e799ce2ab6f69390',1,'definitions.h']]], - ['cam_5fstop_5fcompute_5fposition',['CAM_STOP_COMPUTE_POSITION',['../definitions_8h.html#ae864cfaefbf5a210e67678b2144a289f',1,'definitions.h']]], - ['camera',['Camera',['../image_8h.html#a739dda3f6f6ddbab22617837b43a692a',1,'image.h']]], - ['center',['center',['../struct_position.html#aa56444be37071311cfa11aae3e2c2f64',1,'Position']]], - ['check_5farena',['CHECK_ARENA',['../monitor_8h.html#a22d20ac264e03c59d6941cb11386aa89',1,'monitor.h']]], - ['close_5fcamera',['close_camera',['../image_8h.html#a19eac11a04cb4b86fd32e6a36445ad5d',1,'image.h']]], - ['close_5fcom_5fdmb',['CLOSE_COM_DMB',['../definitions_8h.html#a1b18773c1ce9068c4d38c2cbd2900263',1,'definitions.h']]], - ['close_5fcommunication_5frobot',['close_communication_robot',['../robot_8h.html#a3fbce7530a62f9287f8a3b85b9c7e4d7',1,'robot.h']]], - ['closeserver',['closeServer',['../server_8h.html#ab65b2df50051036defe0f35366f5a3d6',1,'server.h']]], - ['closesocket',['closesocket',['../monitor_8h.html#ab6b45251e218af8f09c5d627b5262398',1,'monitor.h']]], - ['compress_5fimage',['compress_image',['../image_8h.html#a909ca7577f0ac2e4bd0ea21291690dce',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_2.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_2.html deleted file mode 100644 index 9543c57..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_2.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_2.js deleted file mode 100644 index 6d49e77..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_2.js +++ /dev/null @@ -1,34 +0,0 @@ -var searchData= -[ - ['data',['data',['../struct_message_to_mon.html#a4e5977ba9fb3fa07d435155731944d15',1,'MessageToMon::data()'],['../struct_message_from_mon.html#a1aea445500b0fa020a1b08eaff791107',1,'MessageFromMon::data()'],['../struct_message_to_robot.html#abf7dafbba72784855abd50469ba82705',1,'MessageToRobot::data()']]], - ['default_5finterface_5ffile',['DEFAULT_INTERFACE_FILE',['../monitor_8h.html#af533d8bd7d6a1d9f9efba3b259280e32',1,'monitor.h']]], - ['default_5fnodejs_5fpath',['DEFAULT_NODEJS_PATH',['../monitor_8h.html#a2c47b710f0858fe41c544517c6b2a2fd',1,'monitor.h']]], - ['default_5fparity',['DEFAULT_PARITY',['../monitor_8h.html#a939612a13947b5bb9fc848e3222a231d',1,'monitor.h']]], - ['default_5fport',['DEFAULT_PORT',['../monitor_8h.html#a16b710f592bf8f7900666392adc444dc',1,'monitor.h']]], - ['default_5fserver_5fport',['DEFAULT_SERVER_PORT',['../server_8h.html#af257e2a3e091629829857a2eb8931a7a',1,'server.h']]], - ['definitions_2eh',['definitions.h',['../definitions_8h.html',1,'']]], - ['detect_5farena',['detect_arena',['../image_8h.html#acad45df4061a55f17be0db97c1406249',1,'detect_arena(Image *monImage, Arene *rectangle): image.h'],['../monitor_8h.html#ab3be9ae187e8b98bb000ca0bca68e982',1,'DETECT_ARENA(): monitor.h']]], - ['detect_5fposition',['detect_position',['../image_8h.html#af9f6e2dd4409486f2f6446d1a8a02c40',1,'image.h']]], - ['direction',['direction',['../struct_position.html#a780d124971951424c0c63f6d81bb4d92',1,'Position']]], - ['dmb_5fbat_5fhigh',['DMB_BAT_HIGH',['../definitions_8h.html#ab34c46794a9de6746a96752668c73754',1,'definitions.h']]], - ['dmb_5fbat_5flow',['DMB_BAT_LOW',['../definitions_8h.html#a66c0c4960c1e81c8da8c8e1d4a202352',1,'definitions.h']]], - ['dmb_5fbat_5fmedium',['DMB_BAT_MEDIUM',['../definitions_8h.html#aea6ef1c13db1a8a4a29b065d0c3f73e4',1,'definitions.h']]], - ['dmb_5fbusy',['DMB_BUSY',['../definitions_8h.html#a3327443cd321f0c356a5d3d74377892b',1,'definitions.h']]], - ['dmb_5fdo_5fnothing',['DMB_DO_NOTHING',['../definitions_8h.html#a07650c5f6647c5143bac535fdbeb77d5',1,'definitions.h']]], - ['dmb_5fget_5fvbat',['DMB_GET_VBAT',['../definitions_8h.html#af1737e8fe4da4e8bc2d5db9d26c42462',1,'definitions.h']]], - ['dmb_5fgo_5fback',['DMB_GO_BACK',['../definitions_8h.html#a499f41cc19a4459de033687049cbbe71',1,'definitions.h']]], - ['dmb_5fgo_5fforward',['DMB_GO_FORWARD',['../definitions_8h.html#ae363a29a4961cd8a646a0ca9199bc6cf',1,'definitions.h']]], - ['dmb_5fgo_5fleft',['DMB_GO_LEFT',['../definitions_8h.html#aefcb838e73a335f1a2a6c914ee2ff752',1,'definitions.h']]], - ['dmb_5fgo_5fright',['DMB_GO_RIGHT',['../definitions_8h.html#ad681962f7b8cf4797ebd48be0405d1b9',1,'definitions.h']]], - ['dmb_5fidle',['DMB_IDLE',['../definitions_8h.html#a82b279c49221d3cd3d875d521dfb97b9',1,'definitions.h']]], - ['dmb_5fis_5fbusy',['DMB_IS_BUSY',['../definitions_8h.html#ad58c241121e685f26a291aa4bd5f9c80',1,'definitions.h']]], - ['dmb_5fmove',['DMB_MOVE',['../definitions_8h.html#ac48dee90eb71d036d001321674abbb8b',1,'definitions.h']]], - ['dmb_5fping',['DMB_PING',['../definitions_8h.html#acf7d51360dcb103fc57604725ec2816d',1,'definitions.h']]], - ['dmb_5freload_5fwd',['DMB_RELOAD_WD',['../definitions_8h.html#a2ca219902014ffb39aab27cca08a948f',1,'definitions.h']]], - ['dmb_5fstart_5fwith_5fwd',['DMB_START_WITH_WD',['../definitions_8h.html#adee1628bbc796ba55f4a349895f4e0fa',1,'definitions.h']]], - ['dmb_5fstart_5fwithout_5fwd',['DMB_START_WITHOUT_WD',['../definitions_8h.html#a5ebbd37042a6244b4f9d473ae7132780',1,'definitions.h']]], - ['dmb_5fstop_5fmove',['DMB_STOP_MOVE',['../definitions_8h.html#a7308179907a0a2989c162865e7a7979a',1,'definitions.h']]], - ['dmb_5fturn',['DMB_TURN',['../definitions_8h.html#ac6c5492c8100e73f8d30ed36072684db',1,'definitions.h']]], - ['draw_5farena',['draw_arena',['../image_8h.html#a5ffd032a466af45a505fb46252194bbf',1,'image.h']]], - ['draw_5fposition',['draw_position',['../image_8h.html#a869c3946d4a414b8730ca4f91fbd9556',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_3.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_3.html deleted file mode 100644 index 03405c0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_3.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_3.js deleted file mode 100644 index 8d4acc0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['free_5fmsgtomon_5fdata',['free_msgToMon_data',['../message_8h.html#a285193a5a9d3b142f3f1c53c471d3173',1,'message.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_4.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_4.html deleted file mode 100644 index 8e1f4b9..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_4.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_4.js deleted file mode 100644 index 55d5041..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['get_5fimage',['get_image',['../image_8h.html#ad904f3348c2d44f9c82435c94cd83844',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_5.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_5.html deleted file mode 100644 index 89a879e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_5.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_5.js deleted file mode 100644 index 51ee71d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_5.js +++ /dev/null @@ -1,17 +0,0 @@ -var searchData= -[ - ['header',['header',['../struct_message_to_mon.html#acb1096bef5e5c300f3d795556fda852a',1,'MessageToMon::header()'],['../struct_message_from_mon.html#ad46f6e6dd24be5cb2bc5eae5b3cdd095',1,'MessageFromMon::header()'],['../struct_message_to_robot.html#ab00202c6cfdd86ea4cd891c972405db6',1,'MessageToRobot::header()']]], - ['header_5fmts_5fcamera',['HEADER_MTS_CAMERA',['../monitor_8h.html#a91e2658cf20010646211ba748885c180',1,'monitor.h']]], - ['header_5fmts_5fcom_5fdmb',['HEADER_MTS_COM_DMB',['../monitor_8h.html#a0c829d92889c5c9b2d485964ce933fab',1,'monitor.h']]], - ['header_5fmts_5fdmb_5forder',['HEADER_MTS_DMB_ORDER',['../monitor_8h.html#a5ccd30e6502bb94eaa13a597edb1f156',1,'monitor.h']]], - ['header_5fmts_5fmsg',['HEADER_MTS_MSG',['../monitor_8h.html#a980e8f9457e30018fddcd4d997f17a85',1,'monitor.h']]], - ['header_5fmts_5fstop',['HEADER_MTS_STOP',['../monitor_8h.html#a2be30c9a3e65eaf5502b8542a6ac6259',1,'monitor.h']]], - ['header_5fstm_5fack',['HEADER_STM_ACK',['../monitor_8h.html#af2325d19ae9da4310eb608c744149f53',1,'monitor.h']]], - ['header_5fstm_5fbat',['HEADER_STM_BAT',['../monitor_8h.html#a0de226ae5af8b83f3b163ff4413eef95',1,'monitor.h']]], - ['header_5fstm_5fimage',['HEADER_STM_IMAGE',['../monitor_8h.html#ad62b697bd25a71d171db46740aef2830',1,'monitor.h']]], - ['header_5fstm_5flost_5fdmb',['HEADER_STM_LOST_DMB',['../monitor_8h.html#afe29ce74d16751828da8aec7e13ad06b',1,'monitor.h']]], - ['header_5fstm_5fmes',['HEADER_STM_MES',['../monitor_8h.html#ac1034bccb09918cccd3ba142377a6788',1,'monitor.h']]], - ['header_5fstm_5fno_5fack',['HEADER_STM_NO_ACK',['../monitor_8h.html#ac2e64478522da4e3b45c139c0c72557f',1,'monitor.h']]], - ['header_5fstm_5fpos',['HEADER_STM_POS',['../monitor_8h.html#a6a07aae2539981459edc8070a0f019db',1,'monitor.h']]], - ['height',['HEIGHT',['../image_8h.html#aed89bd71aee8be823e8a20ec4e093c1e',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_6.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_6.html deleted file mode 100644 index 6afac06..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_6.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_6.js deleted file mode 100644 index e32b970..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_6.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['image',['Image',['../image_8h.html#a466446fef9c0348568bc6743186d1a38',1,'image.h']]], - ['image_2eh',['image.h',['../image_8h.html',1,'']]], - ['invalid_5fsocket',['INVALID_SOCKET',['../monitor_8h.html#a26769957ec1a2beaf223f33b66ee64ab',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_7.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_7.html deleted file mode 100644 index de19107..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_7.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_7.js deleted file mode 100644 index 2199e13..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_7.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['jpg',['Jpg',['../image_8h.html#a9ac2855e21920c676a108df386ff9415',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_8.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_8.html deleted file mode 100644 index 11e27cd..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_8.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_8.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_8.js deleted file mode 100644 index 89bc51f..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_8.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['message_2eh',['message.h',['../message_8h.html',1,'']]], - ['messagefrommon',['MessageFromMon',['../struct_message_from_mon.html',1,'']]], - ['messagetomon',['MessageToMon',['../struct_message_to_mon.html',1,'']]], - ['messagetorobot',['MessageToRobot',['../struct_message_to_robot.html',1,'']]], - ['monitor_2eh',['monitor.h',['../monitor_8h.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_9.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_9.html deleted file mode 100644 index f8abbbe..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_9.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_9.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_9.js deleted file mode 100644 index 052c117..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_9.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['no_5farena',['NO_ARENA',['../monitor_8h.html#a1d58e03abc2a587c7f0a0665c94c0e68',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_a.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_a.html deleted file mode 100644 index 9601fce..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_a.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_a.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_a.js deleted file mode 100644 index dea0584..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_a.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['open_5fcamera',['open_camera',['../image_8h.html#aca0662ab31eac7fdb2d64fecc52ff1da',1,'image.h']]], - ['open_5fcom_5fdmb',['OPEN_COM_DMB',['../definitions_8h.html#aac798eaf6994ddcadd8a38ad8aba234f',1,'definitions.h']]], - ['open_5fcommunication_5frobot',['open_communication_robot',['../robot_8h.html#a0e70fa821a04d349552b8bd54f6935db',1,'robot.h']]], - ['openserver',['openServer',['../server_8h.html#a99b54d5b3404766f906f49605a4aa0e3',1,'server.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_b.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_b.html deleted file mode 100644 index 0814e4e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_b.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_b.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_b.js deleted file mode 100644 index 3648385..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_b.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['position',['Position',['../struct_position.html',1,'']]], - ['print_5fmsgtomon',['print_msgToMon',['../message_8h.html#ae409e822d69cee7483a2d41c62698a85',1,'message.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_c.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_c.html deleted file mode 100644 index da08c38..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_c.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_c.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_c.js deleted file mode 100644 index 4ce452a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_c.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['receive_5fmessage_5ffrom_5fmonitor',['receive_message_from_monitor',['../monitor_8h.html#a61eca0d5b49118350db39583e1bd1032',1,'monitor.h']]], - ['receivedatafromserver',['receiveDataFromServer',['../server_8h.html#a8b66a2007f3f9ed8538428a309c9d368',1,'server.h']]], - ['receivedatafromserverfromclient',['receiveDataFromServerFromClient',['../server_8h.html#a247e0124af257d0cc7abc25a7c448d1b',1,'server.h']]], - ['robot_2eh',['robot.h',['../robot_8h.html',1,'']]], - ['robot_5fchecksum',['ROBOT_CHECKSUM',['../definitions_8h.html#af1118b8a83d446b4965347bba126a488',1,'definitions.h']]], - ['robot_5ferror',['ROBOT_ERROR',['../definitions_8h.html#a4aefbbdd5d35999aa0575ab7183148d4',1,'definitions.h']]], - ['robot_5fok',['ROBOT_OK',['../definitions_8h.html#ad7b2f95c0b423fb9784acb897b910c36',1,'definitions.h']]], - ['robot_5ftimed_5fout',['ROBOT_TIMED_OUT',['../definitions_8h.html#a624686d3af63394ee02f0a197967d44a',1,'definitions.h']]], - ['robot_5fuknown_5fcmd',['ROBOT_UKNOWN_CMD',['../definitions_8h.html#a70a2d5db14b900843364adb7cfe53ac8',1,'definitions.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_d.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_d.html deleted file mode 100644 index 9986c9c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_d.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_d.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_d.js deleted file mode 100644 index 6238e8a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_d.js +++ /dev/null @@ -1,16 +0,0 @@ -var searchData= -[ - ['send_5fcommand_5fto_5frobot',['send_command_to_robot',['../robot_8h.html#abe88fd581be321a9d86ae7063abd2f65',1,'robot.h']]], - ['send_5fmessage_5fto_5fmonitor',['send_message_to_monitor',['../monitor_8h.html#ac3d876b96642b6ee46f6a96b7ffcb864',1,'monitor.h']]], - ['senddatatoserver',['sendDataToServer',['../server_8h.html#a8d865d29914b980fd71ed8d347e4ec50',1,'server.h']]], - ['senddatatoserverforclient',['sendDataToServerForClient',['../server_8h.html#a4c2df7961aa7379ac79d80980a1c537b',1,'server.h']]], - ['sendimage',['sendImage',['../server_8h.html#a51b9372f5467705aa81d76ae034c7628',1,'server.h']]], - ['serialport',['serialPort',['../robot_8h.html#a32c8768c18732c59b503f8ee7515a693',1,'robot.h']]], - ['server_2eh',['server.h',['../server_8h.html',1,'']]], - ['set_5fmsgtomon_5fdata',['set_msgToMon_data',['../message_8h.html#aa938f8156bfca7379f533b751334ca6f',1,'message.h']]], - ['set_5fmsgtomon_5fheader',['set_msgToMon_header',['../message_8h.html#a8c768ba3ccfd64ba1e39079c967aff26',1,'message.h']]], - ['sockaddr',['SOCKADDR',['../monitor_8h.html#ae334b73cedf7204187dce3f817576009',1,'monitor.h']]], - ['sockaddr_5fin',['SOCKADDR_IN',['../monitor_8h.html#a29046dc0232f0e5c70adbc25090d77b8',1,'monitor.h']]], - ['socket',['SOCKET',['../monitor_8h.html#a8dc8083897335125630f1af5dafd5831',1,'monitor.h']]], - ['socket_5ferror',['SOCKET_ERROR',['../monitor_8h.html#a633b0396ff93d336a088412a190a5072',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_e.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_e.html deleted file mode 100644 index 9fa42bb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_e.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_e.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_e.js deleted file mode 100644 index 247fadb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_e.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['width',['WIDTH',['../image_8h.html#a241aeeb764887ae5e3de58b98f04b16d',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_f.html b/software/raspberry/superviseur-robot/lib/doc/html/search/all_f.html deleted file mode 100644 index 6ecfc0e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_f.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/all_f.js b/software/raspberry/superviseur-robot/lib/doc/html/search/all_f.js deleted file mode 100644 index 247fadb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/all_f.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['width',['WIDTH',['../image_8h.html#a241aeeb764887ae5e3de58b98f04b16d',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_0.html b/software/raspberry/superviseur-robot/lib/doc/html/search/classes_0.html deleted file mode 100644 index 1c3e406..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_0.js b/software/raspberry/superviseur-robot/lib/doc/html/search/classes_0.js deleted file mode 100644 index 380aa44..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_0.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['messagefrommon',['MessageFromMon',['../struct_message_from_mon.html',1,'']]], - ['messagetomon',['MessageToMon',['../struct_message_to_mon.html',1,'']]], - ['messagetorobot',['MessageToRobot',['../struct_message_to_robot.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_1.html b/software/raspberry/superviseur-robot/lib/doc/html/search/classes_1.html deleted file mode 100644 index a8e7069..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_1.js b/software/raspberry/superviseur-robot/lib/doc/html/search/classes_1.js deleted file mode 100644 index c314d7e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/classes_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['position',['Position',['../struct_position.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/close.png b/software/raspberry/superviseur-robot/lib/doc/html/search/close.png deleted file mode 100644 index 9342d3d..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/search/close.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_0.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_0.html deleted file mode 100644 index 5b25204..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_0.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_0.js deleted file mode 100644 index 389746a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_0.js +++ /dev/null @@ -1,13 +0,0 @@ -var searchData= -[ - ['cam_5farena_5fconfirm',['CAM_ARENA_CONFIRM',['../definitions_8h.html#a15d9063cd3c60755685ceb75df4a7354',1,'definitions.h']]], - ['cam_5farena_5finfirm',['CAM_ARENA_INFIRM',['../definitions_8h.html#ac836c6abc7e32d2cf7f59ed2a8383ca7',1,'definitions.h']]], - ['cam_5fask_5farena',['CAM_ASK_ARENA',['../definitions_8h.html#a6418778d1f34e618aebd9ca1861ab500',1,'definitions.h']]], - ['cam_5fclose',['CAM_CLOSE',['../definitions_8h.html#a675009273c3923e8ad1a6d2818063b61',1,'definitions.h']]], - ['cam_5fcompute_5fposition',['CAM_COMPUTE_POSITION',['../definitions_8h.html#a74fdb9d00556feb699d3c72bd7b5d5e5',1,'definitions.h']]], - ['cam_5fopen',['CAM_OPEN',['../definitions_8h.html#a2a7149bbe097fae8e799ce2ab6f69390',1,'definitions.h']]], - ['cam_5fstop_5fcompute_5fposition',['CAM_STOP_COMPUTE_POSITION',['../definitions_8h.html#ae864cfaefbf5a210e67678b2144a289f',1,'definitions.h']]], - ['check_5farena',['CHECK_ARENA',['../monitor_8h.html#a22d20ac264e03c59d6941cb11386aa89',1,'monitor.h']]], - ['close_5fcom_5fdmb',['CLOSE_COM_DMB',['../definitions_8h.html#a1b18773c1ce9068c4d38c2cbd2900263',1,'definitions.h']]], - ['closesocket',['closesocket',['../monitor_8h.html#ab6b45251e218af8f09c5d627b5262398',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_1.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_1.html deleted file mode 100644 index 91488cb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_1.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_1.js deleted file mode 100644 index 8a476cc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_1.js +++ /dev/null @@ -1,28 +0,0 @@ -var searchData= -[ - ['default_5finterface_5ffile',['DEFAULT_INTERFACE_FILE',['../monitor_8h.html#af533d8bd7d6a1d9f9efba3b259280e32',1,'monitor.h']]], - ['default_5fnodejs_5fpath',['DEFAULT_NODEJS_PATH',['../monitor_8h.html#a2c47b710f0858fe41c544517c6b2a2fd',1,'monitor.h']]], - ['default_5fparity',['DEFAULT_PARITY',['../monitor_8h.html#a939612a13947b5bb9fc848e3222a231d',1,'monitor.h']]], - ['default_5fport',['DEFAULT_PORT',['../monitor_8h.html#a16b710f592bf8f7900666392adc444dc',1,'monitor.h']]], - ['default_5fserver_5fport',['DEFAULT_SERVER_PORT',['../server_8h.html#af257e2a3e091629829857a2eb8931a7a',1,'server.h']]], - ['detect_5farena',['DETECT_ARENA',['../monitor_8h.html#ab3be9ae187e8b98bb000ca0bca68e982',1,'monitor.h']]], - ['dmb_5fbat_5fhigh',['DMB_BAT_HIGH',['../definitions_8h.html#ab34c46794a9de6746a96752668c73754',1,'definitions.h']]], - ['dmb_5fbat_5flow',['DMB_BAT_LOW',['../definitions_8h.html#a66c0c4960c1e81c8da8c8e1d4a202352',1,'definitions.h']]], - ['dmb_5fbat_5fmedium',['DMB_BAT_MEDIUM',['../definitions_8h.html#aea6ef1c13db1a8a4a29b065d0c3f73e4',1,'definitions.h']]], - ['dmb_5fbusy',['DMB_BUSY',['../definitions_8h.html#a3327443cd321f0c356a5d3d74377892b',1,'definitions.h']]], - ['dmb_5fdo_5fnothing',['DMB_DO_NOTHING',['../definitions_8h.html#a07650c5f6647c5143bac535fdbeb77d5',1,'definitions.h']]], - ['dmb_5fget_5fvbat',['DMB_GET_VBAT',['../definitions_8h.html#af1737e8fe4da4e8bc2d5db9d26c42462',1,'definitions.h']]], - ['dmb_5fgo_5fback',['DMB_GO_BACK',['../definitions_8h.html#a499f41cc19a4459de033687049cbbe71',1,'definitions.h']]], - ['dmb_5fgo_5fforward',['DMB_GO_FORWARD',['../definitions_8h.html#ae363a29a4961cd8a646a0ca9199bc6cf',1,'definitions.h']]], - ['dmb_5fgo_5fleft',['DMB_GO_LEFT',['../definitions_8h.html#aefcb838e73a335f1a2a6c914ee2ff752',1,'definitions.h']]], - ['dmb_5fgo_5fright',['DMB_GO_RIGHT',['../definitions_8h.html#ad681962f7b8cf4797ebd48be0405d1b9',1,'definitions.h']]], - ['dmb_5fidle',['DMB_IDLE',['../definitions_8h.html#a82b279c49221d3cd3d875d521dfb97b9',1,'definitions.h']]], - ['dmb_5fis_5fbusy',['DMB_IS_BUSY',['../definitions_8h.html#ad58c241121e685f26a291aa4bd5f9c80',1,'definitions.h']]], - ['dmb_5fmove',['DMB_MOVE',['../definitions_8h.html#ac48dee90eb71d036d001321674abbb8b',1,'definitions.h']]], - ['dmb_5fping',['DMB_PING',['../definitions_8h.html#acf7d51360dcb103fc57604725ec2816d',1,'definitions.h']]], - ['dmb_5freload_5fwd',['DMB_RELOAD_WD',['../definitions_8h.html#a2ca219902014ffb39aab27cca08a948f',1,'definitions.h']]], - ['dmb_5fstart_5fwith_5fwd',['DMB_START_WITH_WD',['../definitions_8h.html#adee1628bbc796ba55f4a349895f4e0fa',1,'definitions.h']]], - ['dmb_5fstart_5fwithout_5fwd',['DMB_START_WITHOUT_WD',['../definitions_8h.html#a5ebbd37042a6244b4f9d473ae7132780',1,'definitions.h']]], - ['dmb_5fstop_5fmove',['DMB_STOP_MOVE',['../definitions_8h.html#a7308179907a0a2989c162865e7a7979a',1,'definitions.h']]], - ['dmb_5fturn',['DMB_TURN',['../definitions_8h.html#ac6c5492c8100e73f8d30ed36072684db',1,'definitions.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_2.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_2.html deleted file mode 100644 index 8655993..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_2.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_2.js deleted file mode 100644 index 25b8007..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_2.js +++ /dev/null @@ -1,16 +0,0 @@ -var searchData= -[ - ['header_5fmts_5fcamera',['HEADER_MTS_CAMERA',['../monitor_8h.html#a91e2658cf20010646211ba748885c180',1,'monitor.h']]], - ['header_5fmts_5fcom_5fdmb',['HEADER_MTS_COM_DMB',['../monitor_8h.html#a0c829d92889c5c9b2d485964ce933fab',1,'monitor.h']]], - ['header_5fmts_5fdmb_5forder',['HEADER_MTS_DMB_ORDER',['../monitor_8h.html#a5ccd30e6502bb94eaa13a597edb1f156',1,'monitor.h']]], - ['header_5fmts_5fmsg',['HEADER_MTS_MSG',['../monitor_8h.html#a980e8f9457e30018fddcd4d997f17a85',1,'monitor.h']]], - ['header_5fmts_5fstop',['HEADER_MTS_STOP',['../monitor_8h.html#a2be30c9a3e65eaf5502b8542a6ac6259',1,'monitor.h']]], - ['header_5fstm_5fack',['HEADER_STM_ACK',['../monitor_8h.html#af2325d19ae9da4310eb608c744149f53',1,'monitor.h']]], - ['header_5fstm_5fbat',['HEADER_STM_BAT',['../monitor_8h.html#a0de226ae5af8b83f3b163ff4413eef95',1,'monitor.h']]], - ['header_5fstm_5fimage',['HEADER_STM_IMAGE',['../monitor_8h.html#ad62b697bd25a71d171db46740aef2830',1,'monitor.h']]], - ['header_5fstm_5flost_5fdmb',['HEADER_STM_LOST_DMB',['../monitor_8h.html#afe29ce74d16751828da8aec7e13ad06b',1,'monitor.h']]], - ['header_5fstm_5fmes',['HEADER_STM_MES',['../monitor_8h.html#ac1034bccb09918cccd3ba142377a6788',1,'monitor.h']]], - ['header_5fstm_5fno_5fack',['HEADER_STM_NO_ACK',['../monitor_8h.html#ac2e64478522da4e3b45c139c0c72557f',1,'monitor.h']]], - ['header_5fstm_5fpos',['HEADER_STM_POS',['../monitor_8h.html#a6a07aae2539981459edc8070a0f019db',1,'monitor.h']]], - ['height',['HEIGHT',['../image_8h.html#aed89bd71aee8be823e8a20ec4e093c1e',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_3.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_3.html deleted file mode 100644 index a55d3ff..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_3.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_3.js deleted file mode 100644 index 8b56e7a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['invalid_5fsocket',['INVALID_SOCKET',['../monitor_8h.html#a26769957ec1a2beaf223f33b66ee64ab',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_4.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_4.html deleted file mode 100644 index 54da39a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_4.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_4.js deleted file mode 100644 index 052c117..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['no_5farena',['NO_ARENA',['../monitor_8h.html#a1d58e03abc2a587c7f0a0665c94c0e68',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_5.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_5.html deleted file mode 100644 index dd7bfdc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_5.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_5.js deleted file mode 100644 index 5761a1f..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['open_5fcom_5fdmb',['OPEN_COM_DMB',['../definitions_8h.html#aac798eaf6994ddcadd8a38ad8aba234f',1,'definitions.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_6.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_6.html deleted file mode 100644 index 58d00e9..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_6.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_6.js deleted file mode 100644 index b08650f..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_6.js +++ /dev/null @@ -1,8 +0,0 @@ -var searchData= -[ - ['robot_5fchecksum',['ROBOT_CHECKSUM',['../definitions_8h.html#af1118b8a83d446b4965347bba126a488',1,'definitions.h']]], - ['robot_5ferror',['ROBOT_ERROR',['../definitions_8h.html#a4aefbbdd5d35999aa0575ab7183148d4',1,'definitions.h']]], - ['robot_5fok',['ROBOT_OK',['../definitions_8h.html#ad7b2f95c0b423fb9784acb897b910c36',1,'definitions.h']]], - ['robot_5ftimed_5fout',['ROBOT_TIMED_OUT',['../definitions_8h.html#a624686d3af63394ee02f0a197967d44a',1,'definitions.h']]], - ['robot_5fuknown_5fcmd',['ROBOT_UKNOWN_CMD',['../definitions_8h.html#a70a2d5db14b900843364adb7cfe53ac8',1,'definitions.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_7.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_7.html deleted file mode 100644 index 275e1b3..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_7.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_7.js deleted file mode 100644 index 691f001..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_7.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['serialport',['serialPort',['../robot_8h.html#a32c8768c18732c59b503f8ee7515a693',1,'robot.h']]], - ['socket_5ferror',['SOCKET_ERROR',['../monitor_8h.html#a633b0396ff93d336a088412a190a5072',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_8.html b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_8.html deleted file mode 100644 index de651d9..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_8.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_8.js b/software/raspberry/superviseur-robot/lib/doc/html/search/defines_8.js deleted file mode 100644 index 247fadb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/defines_8.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['width',['WIDTH',['../image_8h.html#a241aeeb764887ae5e3de58b98f04b16d',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_0.html b/software/raspberry/superviseur-robot/lib/doc/html/search/files_0.html deleted file mode 100644 index 4f272b8..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_0.js b/software/raspberry/superviseur-robot/lib/doc/html/search/files_0.js deleted file mode 100644 index 2d98f03..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['definitions_2eh',['definitions.h',['../definitions_8h.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_1.html b/software/raspberry/superviseur-robot/lib/doc/html/search/files_1.html deleted file mode 100644 index dcce422..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_1.js b/software/raspberry/superviseur-robot/lib/doc/html/search/files_1.js deleted file mode 100644 index a609633..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['image_2eh',['image.h',['../image_8h.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_2.html b/software/raspberry/superviseur-robot/lib/doc/html/search/files_2.html deleted file mode 100644 index d5c6c3b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_2.js b/software/raspberry/superviseur-robot/lib/doc/html/search/files_2.js deleted file mode 100644 index e3d443c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['message_2eh',['message.h',['../message_8h.html',1,'']]], - ['monitor_2eh',['monitor.h',['../monitor_8h.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_3.html b/software/raspberry/superviseur-robot/lib/doc/html/search/files_3.html deleted file mode 100644 index d5a9528..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_3.js b/software/raspberry/superviseur-robot/lib/doc/html/search/files_3.js deleted file mode 100644 index afe17a9..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['robot_2eh',['robot.h',['../robot_8h.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_4.html b/software/raspberry/superviseur-robot/lib/doc/html/search/files_4.html deleted file mode 100644 index 7b4c42a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/files_4.js b/software/raspberry/superviseur-robot/lib/doc/html/search/files_4.js deleted file mode 100644 index ef3bc5e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/files_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['server_2eh',['server.h',['../server_8h.html',1,'']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_0.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_0.html deleted file mode 100644 index 4e6d87d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_0.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_0.js deleted file mode 100644 index e82f937..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['acceptclient',['acceptClient',['../server_8h.html#abff9f8e931ecce919588b371dc511857',1,'server.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_1.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_1.html deleted file mode 100644 index b343e2d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_1.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_1.js deleted file mode 100644 index 07615ce..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_1.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['close_5fcamera',['close_camera',['../image_8h.html#a19eac11a04cb4b86fd32e6a36445ad5d',1,'image.h']]], - ['close_5fcommunication_5frobot',['close_communication_robot',['../robot_8h.html#a3fbce7530a62f9287f8a3b85b9c7e4d7',1,'robot.h']]], - ['closeserver',['closeServer',['../server_8h.html#ab65b2df50051036defe0f35366f5a3d6',1,'server.h']]], - ['compress_5fimage',['compress_image',['../image_8h.html#a909ca7577f0ac2e4bd0ea21291690dce',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_2.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_2.html deleted file mode 100644 index ecce2f3..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_2.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_2.js deleted file mode 100644 index 36d5731..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_2.js +++ /dev/null @@ -1,7 +0,0 @@ -var searchData= -[ - ['detect_5farena',['detect_arena',['../image_8h.html#acad45df4061a55f17be0db97c1406249',1,'image.h']]], - ['detect_5fposition',['detect_position',['../image_8h.html#af9f6e2dd4409486f2f6446d1a8a02c40',1,'image.h']]], - ['draw_5farena',['draw_arena',['../image_8h.html#a5ffd032a466af45a505fb46252194bbf',1,'image.h']]], - ['draw_5fposition',['draw_position',['../image_8h.html#a869c3946d4a414b8730ca4f91fbd9556',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_3.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_3.html deleted file mode 100644 index 15f06ab..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_3.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_3.js deleted file mode 100644 index 8d4acc0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['free_5fmsgtomon_5fdata',['free_msgToMon_data',['../message_8h.html#a285193a5a9d3b142f3f1c53c471d3173',1,'message.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_4.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_4.html deleted file mode 100644 index 8985ff2..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_4.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_4.js deleted file mode 100644 index 55d5041..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['get_5fimage',['get_image',['../image_8h.html#ad904f3348c2d44f9c82435c94cd83844',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_5.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_5.html deleted file mode 100644 index 0314918..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_5.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_5.js deleted file mode 100644 index 74d8e89..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_5.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['open_5fcamera',['open_camera',['../image_8h.html#aca0662ab31eac7fdb2d64fecc52ff1da',1,'image.h']]], - ['open_5fcommunication_5frobot',['open_communication_robot',['../robot_8h.html#a0e70fa821a04d349552b8bd54f6935db',1,'robot.h']]], - ['openserver',['openServer',['../server_8h.html#a99b54d5b3404766f906f49605a4aa0e3',1,'server.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_6.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_6.html deleted file mode 100644 index c506123..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_6.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_6.js deleted file mode 100644 index 1efaebf..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_6.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['print_5fmsgtomon',['print_msgToMon',['../message_8h.html#ae409e822d69cee7483a2d41c62698a85',1,'message.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_7.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_7.html deleted file mode 100644 index 83a7b84..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_7.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_7.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_7.js deleted file mode 100644 index c0610c4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_7.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['receive_5fmessage_5ffrom_5fmonitor',['receive_message_from_monitor',['../monitor_8h.html#a61eca0d5b49118350db39583e1bd1032',1,'monitor.h']]], - ['receivedatafromserver',['receiveDataFromServer',['../server_8h.html#a8b66a2007f3f9ed8538428a309c9d368',1,'server.h']]], - ['receivedatafromserverfromclient',['receiveDataFromServerFromClient',['../server_8h.html#a247e0124af257d0cc7abc25a7c448d1b',1,'server.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_8.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_8.html deleted file mode 100644 index b55f0e6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_8.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_8.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_8.js deleted file mode 100644 index 116bbfc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_8.js +++ /dev/null @@ -1,10 +0,0 @@ -var searchData= -[ - ['send_5fcommand_5fto_5frobot',['send_command_to_robot',['../robot_8h.html#abe88fd581be321a9d86ae7063abd2f65',1,'robot.h']]], - ['send_5fmessage_5fto_5fmonitor',['send_message_to_monitor',['../monitor_8h.html#ac3d876b96642b6ee46f6a96b7ffcb864',1,'monitor.h']]], - ['senddatatoserver',['sendDataToServer',['../server_8h.html#a8d865d29914b980fd71ed8d347e4ec50',1,'server.h']]], - ['senddatatoserverforclient',['sendDataToServerForClient',['../server_8h.html#a4c2df7961aa7379ac79d80980a1c537b',1,'server.h']]], - ['sendimage',['sendImage',['../server_8h.html#a51b9372f5467705aa81d76ae034c7628',1,'server.h']]], - ['set_5fmsgtomon_5fdata',['set_msgToMon_data',['../message_8h.html#aa938f8156bfca7379f533b751334ca6f',1,'message.h']]], - ['set_5fmsgtomon_5fheader',['set_msgToMon_header',['../message_8h.html#a8c768ba3ccfd64ba1e39079c967aff26',1,'message.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_9.html b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_9.html deleted file mode 100644 index c73f07b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_9.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_9.js b/software/raspberry/superviseur-robot/lib/doc/html/search/functions_9.js deleted file mode 100644 index 229021e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/functions_9.js +++ /dev/null @@ -1,12 +0,0 @@ -var searchData= -[ - ['send_5fcommand_5fto_5frobot',['send_command_to_robot',['../robot_8h.html#abe88fd581be321a9d86ae7063abd2f65',1,'send_command_to_robot(char cmd, const char *arg=NULL): robot.cpp'],['../robot_8cpp.html#a68c01c5d6226d21fc0d141f681806677',1,'send_command_to_robot(char cmd, const char *arg): robot.cpp']]], - ['send_5fmessage_5fto_5fmonitor',['send_message_to_monitor',['../monitor_8h.html#ac3d876b96642b6ee46f6a96b7ffcb864',1,'send_message_to_monitor(const char *typeMessage, const void *data=NULL): monitor.cpp'],['../monitor_8cpp.html#af49d46447ce41019bd13a2c07a000644',1,'send_message_to_monitor(const char *typeMessage, const void *data): monitor.cpp']]], - ['sendcmd',['sendCmd',['../robot_8cpp.html#ac9d64c6d05c20ae9fdb8c158e2ee7098',1,'robot.cpp']]], - ['senddatatoserver',['sendDataToServer',['../server_8h.html#a8d865d29914b980fd71ed8d347e4ec50',1,'sendDataToServer(char *data, int length): server.cpp'],['../server_8cpp.html#a8d865d29914b980fd71ed8d347e4ec50',1,'sendDataToServer(char *data, int length): server.cpp']]], - ['senddatatoserverforclient',['sendDataToServerForClient',['../server_8h.html#a4c2df7961aa7379ac79d80980a1c537b',1,'sendDataToServerForClient(int client, char *data, int length): server.cpp'],['../server_8cpp.html#a4c2df7961aa7379ac79d80980a1c537b',1,'sendDataToServerForClient(int client, char *data, int length): server.cpp']]], - ['sendmessage',['sendMessage',['../monitor_8cpp.html#a7265ec937de7d9ca68b81e5bd8203962',1,'monitor.cpp']]], - ['serverreceive',['serverReceive',['../monitor_8cpp.html#a04c8d7ed93b301fafe6dcc08d64ba21b',1,'monitor.cpp']]], - ['set_5fmsgtomon_5fdata',['set_msgToMon_data',['../message_8h.html#aa938f8156bfca7379f533b751334ca6f',1,'set_msgToMon_data(MessageToMon *msg, void *data): message.cpp'],['../message_8cpp.html#aa938f8156bfca7379f533b751334ca6f',1,'set_msgToMon_data(MessageToMon *msg, void *data): message.cpp']]], - ['set_5fmsgtomon_5fheader',['set_msgToMon_header',['../message_8h.html#a8c768ba3ccfd64ba1e39079c967aff26',1,'set_msgToMon_header(MessageToMon *msg, char *header): message.cpp'],['../message_8cpp.html#a8c768ba3ccfd64ba1e39079c967aff26',1,'set_msgToMon_header(MessageToMon *msg, char *header): message.cpp']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/mag_sel.png b/software/raspberry/superviseur-robot/lib/doc/html/search/mag_sel.png deleted file mode 100644 index 81f6040..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/search/mag_sel.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/nomatches.html b/software/raspberry/superviseur-robot/lib/doc/html/search/nomatches.html deleted file mode 100644 index b1ded27..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/nomatches.html +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - -
-
No Matches
-
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/search.css b/software/raspberry/superviseur-robot/lib/doc/html/search/search.css deleted file mode 100644 index 3cf9df9..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/search.css +++ /dev/null @@ -1,271 +0,0 @@ -/*---------------- Search Box */ - -#FSearchBox { - float: left; -} - -#MSearchBox { - white-space : nowrap; - float: none; - margin-top: 8px; - right: 0px; - width: 170px; - height: 24px; - z-index: 102; -} - -#MSearchBox .left -{ - display:block; - position:absolute; - left:10px; - width:20px; - height:19px; - background:url('search_l.png') no-repeat; - background-position:right; -} - -#MSearchSelect { - display:block; - position:absolute; - width:20px; - height:19px; -} - -.left #MSearchSelect { - left:4px; -} - -.right #MSearchSelect { - right:5px; -} - -#MSearchField { - display:block; - position:absolute; - height:19px; - background:url('search_m.png') repeat-x; - border:none; - width:115px; - margin-left:20px; - padding-left:4px; - color: #909090; - outline: none; - font: 9pt Arial, Verdana, sans-serif; - -webkit-border-radius: 0px; -} - -#FSearchBox #MSearchField { - margin-left:15px; -} - -#MSearchBox .right { - display:block; - position:absolute; - right:10px; - top:8px; - width:20px; - height:19px; - background:url('search_r.png') no-repeat; - background-position:left; -} - -#MSearchClose { - display: none; - position: absolute; - top: 4px; - background : none; - border: none; - margin: 0px 4px 0px 0px; - padding: 0px 0px; - outline: none; -} - -.left #MSearchClose { - left: 6px; -} - -.right #MSearchClose { - right: 2px; -} - -.MSearchBoxActive #MSearchField { - color: #000000; -} - -/*---------------- Search filter selection */ - -#MSearchSelectWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #90A5CE; - background-color: #F9FAFC; - z-index: 10001; - padding-top: 4px; - padding-bottom: 4px; - -moz-border-radius: 4px; - -webkit-border-top-left-radius: 4px; - -webkit-border-top-right-radius: 4px; - -webkit-border-bottom-left-radius: 4px; - -webkit-border-bottom-right-radius: 4px; - -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); -} - -.SelectItem { - font: 8pt Arial, Verdana, sans-serif; - padding-left: 2px; - padding-right: 12px; - border: 0px; -} - -span.SelectionMark { - margin-right: 4px; - font-family: monospace; - outline-style: none; - text-decoration: none; -} - -a.SelectItem { - display: block; - outline-style: none; - color: #000000; - text-decoration: none; - padding-left: 6px; - padding-right: 12px; -} - -a.SelectItem:focus, -a.SelectItem:active { - color: #000000; - outline-style: none; - text-decoration: none; -} - -a.SelectItem:hover { - color: #FFFFFF; - background-color: #3D578C; - outline-style: none; - text-decoration: none; - cursor: pointer; - display: block; -} - -/*---------------- Search results window */ - -iframe#MSearchResults { - width: 60ex; - height: 15em; -} - -#MSearchResultsWindow { - display: none; - position: absolute; - left: 0; top: 0; - border: 1px solid #000; - background-color: #EEF1F7; - z-index:10000; -} - -/* ----------------------------------- */ - - -#SRIndex { - clear:both; - padding-bottom: 15px; -} - -.SREntry { - font-size: 10pt; - padding-left: 1ex; -} - -.SRPage .SREntry { - font-size: 8pt; - padding: 1px 5px; -} - -body.SRPage { - margin: 5px 2px; -} - -.SRChildren { - padding-left: 3ex; padding-bottom: .5em -} - -.SRPage .SRChildren { - display: none; -} - -.SRSymbol { - font-weight: bold; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRScope { - display: block; - color: #425E97; - font-family: Arial, Verdana, sans-serif; - text-decoration: none; - outline: none; -} - -a.SRSymbol:focus, a.SRSymbol:active, -a.SRScope:focus, a.SRScope:active { - text-decoration: underline; -} - -span.SRScope { - padding-left: 4px; -} - -.SRPage .SRStatus { - padding: 2px 5px; - font-size: 8pt; - font-style: italic; -} - -.SRResult { - display: none; -} - -DIV.searchresults { - margin-left: 10px; - margin-right: 10px; -} - -/*---------------- External search page results */ - -.searchresult { - background-color: #F0F3F8; -} - -.pages b { - color: white; - padding: 5px 5px 3px 5px; - background-image: url("../tab_a.png"); - background-repeat: repeat-x; - text-shadow: 0 1px 1px #000000; -} - -.pages { - line-height: 17px; - margin-left: 4px; - text-decoration: none; -} - -.hl { - font-weight: bold; -} - -#searchresults { - margin-bottom: 20px; -} - -.searchpages { - margin-top: 10px; -} - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/search.js b/software/raspberry/superviseur-robot/lib/doc/html/search/search.js deleted file mode 100644 index dedce3b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/search.js +++ /dev/null @@ -1,791 +0,0 @@ -function convertToId(search) -{ - var result = ''; - for (i=0;i do a search - { - this.Search(); - } - } - - this.OnSearchSelectKey = function(evt) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==40 && this.searchIndex0) // Up - { - this.searchIndex--; - this.OnSelectItem(this.searchIndex); - } - else if (e.keyCode==13 || e.keyCode==27) - { - this.OnSelectItem(this.searchIndex); - this.CloseSelectionWindow(); - this.DOMSearchField().focus(); - } - return false; - } - - // --------- Actions - - // Closes the results window. - this.CloseResultsWindow = function() - { - this.DOMPopupSearchResultsWindow().style.display = 'none'; - this.DOMSearchClose().style.display = 'none'; - this.Activate(false); - } - - this.CloseSelectionWindow = function() - { - this.DOMSearchSelectWindow().style.display = 'none'; - } - - // Performs a search. - this.Search = function() - { - this.keyTimeout = 0; - - // strip leading whitespace - var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); - - var code = searchValue.toLowerCase().charCodeAt(0); - var idxChar = searchValue.substr(0, 1).toLowerCase(); - if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair - { - idxChar = searchValue.substr(0, 2); - } - - var resultsPage; - var resultsPageWithSearch; - var hasResultsPage; - - var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); - if (idx!=-1) - { - var hexCode=idx.toString(16); - resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; - resultsPageWithSearch = resultsPage+'?'+escape(searchValue); - hasResultsPage = true; - } - else // nothing available for this search term - { - resultsPage = this.resultsPath + '/nomatches.html'; - resultsPageWithSearch = resultsPage; - hasResultsPage = false; - } - - window.frames.MSearchResults.location = resultsPageWithSearch; - var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); - - if (domPopupSearchResultsWindow.style.display!='block') - { - var domSearchBox = this.DOMSearchBox(); - this.DOMSearchClose().style.display = 'inline'; - if (this.insideFrame) - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - domPopupSearchResultsWindow.style.position = 'relative'; - domPopupSearchResultsWindow.style.display = 'block'; - var width = document.body.clientWidth - 8; // the -8 is for IE :-( - domPopupSearchResultsWindow.style.width = width + 'px'; - domPopupSearchResults.style.width = width + 'px'; - } - else - { - var domPopupSearchResults = this.DOMPopupSearchResults(); - var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; - var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; - domPopupSearchResultsWindow.style.display = 'block'; - left -= domPopupSearchResults.offsetWidth; - domPopupSearchResultsWindow.style.top = top + 'px'; - domPopupSearchResultsWindow.style.left = left + 'px'; - } - } - - this.lastSearchValue = searchValue; - this.lastResultsPage = resultsPage; - } - - // -------- Activation Functions - - // Activates or deactivates the search panel, resetting things to - // their default values if necessary. - this.Activate = function(isActive) - { - if (isActive || // open it - this.DOMPopupSearchResultsWindow().style.display == 'block' - ) - { - this.DOMSearchBox().className = 'MSearchBoxActive'; - - var searchField = this.DOMSearchField(); - - if (searchField.value == this.searchLabel) // clear "Search" term upon entry - { - searchField.value = ''; - this.searchActive = true; - } - } - else if (!isActive) // directly remove the panel - { - this.DOMSearchBox().className = 'MSearchBoxInactive'; - this.DOMSearchField().value = this.searchLabel; - this.searchActive = false; - this.lastSearchValue = '' - this.lastResultsPage = ''; - } - } -} - -// ----------------------------------------------------------------------- - -// The class that handles everything on the search results page. -function SearchResults(name) -{ - // The number of matches from the last run of . - this.lastMatchCount = 0; - this.lastKey = 0; - this.repeatOn = false; - - // Toggles the visibility of the passed element ID. - this.FindChildElement = function(id) - { - var parentElement = document.getElementById(id); - var element = parentElement.firstChild; - - while (element && element!=parentElement) - { - if (element.nodeName == 'DIV' && element.className == 'SRChildren') - { - return element; - } - - if (element.nodeName == 'DIV' && element.hasChildNodes()) - { - element = element.firstChild; - } - else if (element.nextSibling) - { - element = element.nextSibling; - } - else - { - do - { - element = element.parentNode; - } - while (element && element!=parentElement && !element.nextSibling); - - if (element && element!=parentElement) - { - element = element.nextSibling; - } - } - } - } - - this.Toggle = function(id) - { - var element = this.FindChildElement(id); - if (element) - { - if (element.style.display == 'block') - { - element.style.display = 'none'; - } - else - { - element.style.display = 'block'; - } - } - } - - // Searches for the passed string. If there is no parameter, - // it takes it from the URL query. - // - // Always returns true, since other documents may try to call it - // and that may or may not be possible. - this.Search = function(search) - { - if (!search) // get search word from URL - { - search = window.location.search; - search = search.substring(1); // Remove the leading '?' - search = unescape(search); - } - - search = search.replace(/^ +/, ""); // strip leading spaces - search = search.replace(/ +$/, ""); // strip trailing spaces - search = search.toLowerCase(); - search = convertToId(search); - - var resultRows = document.getElementsByTagName("div"); - var matches = 0; - - var i = 0; - while (i < resultRows.length) - { - var row = resultRows.item(i); - if (row.className == "SRResult") - { - var rowMatchName = row.id.toLowerCase(); - rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' - - if (search.length<=rowMatchName.length && - rowMatchName.substr(0, search.length)==search) - { - row.style.display = 'block'; - matches++; - } - else - { - row.style.display = 'none'; - } - } - i++; - } - document.getElementById("Searching").style.display='none'; - if (matches == 0) // no results - { - document.getElementById("NoMatches").style.display='block'; - } - else // at least one result - { - document.getElementById("NoMatches").style.display='none'; - } - this.lastMatchCount = matches; - return true; - } - - // return the first item with index index or higher that is visible - this.NavNext = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index++; - } - return focusItem; - } - - this.NavPrev = function(index) - { - var focusItem; - while (1) - { - var focusName = 'Item'+index; - focusItem = document.getElementById(focusName); - if (focusItem && focusItem.parentNode.parentNode.style.display=='block') - { - break; - } - else if (!focusItem) // last element - { - break; - } - focusItem=null; - index--; - } - return focusItem; - } - - this.ProcessKeys = function(e) - { - if (e.type == "keydown") - { - this.repeatOn = false; - this.lastKey = e.keyCode; - } - else if (e.type == "keypress") - { - if (!this.repeatOn) - { - if (this.lastKey) this.repeatOn = true; - return false; // ignore first keypress after keydown - } - } - else if (e.type == "keyup") - { - this.lastKey = 0; - this.repeatOn = false; - } - return this.lastKey!=0; - } - - this.Nav = function(evt,itemIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - var newIndex = itemIndex-1; - var focusItem = this.NavPrev(newIndex); - if (focusItem) - { - var child = this.FindChildElement(focusItem.parentNode.parentNode.id); - if (child && child.style.display == 'block') // children visible - { - var n=0; - var tmpElem; - while (1) // search for last child - { - tmpElem = document.getElementById('Item'+newIndex+'_c'+n); - if (tmpElem) - { - focusItem = tmpElem; - } - else // found it! - { - break; - } - n++; - } - } - } - if (focusItem) - { - focusItem.focus(); - } - else // return focus to search field - { - parent.document.getElementById("MSearchField").focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = itemIndex+1; - var focusItem; - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem && elem.style.display == 'block') // children visible - { - focusItem = document.getElementById('Item'+itemIndex+'_c0'); - } - if (!focusItem) focusItem = this.NavNext(newIndex); - if (focusItem) focusItem.focus(); - } - else if (this.lastKey==39) // Right - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'block'; - } - else if (this.lastKey==37) // Left - { - var item = document.getElementById('Item'+itemIndex); - var elem = this.FindChildElement(item.parentNode.parentNode.id); - if (elem) elem.style.display = 'none'; - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } - - this.NavChild = function(evt,itemIndex,childIndex) - { - var e = (evt) ? evt : window.event; // for IE - if (e.keyCode==13) return true; - if (!this.ProcessKeys(e)) return false; - - if (this.lastKey==38) // Up - { - if (childIndex>0) - { - var newIndex = childIndex-1; - document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); - } - else // already at first child, jump to parent - { - document.getElementById('Item'+itemIndex).focus(); - } - } - else if (this.lastKey==40) // Down - { - var newIndex = childIndex+1; - var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); - if (!elem) // last child, jump to parent next parent - { - elem = this.NavNext(itemIndex+1); - } - if (elem) - { - elem.focus(); - } - } - else if (this.lastKey==27) // Escape - { - parent.searchBox.CloseResultsWindow(); - parent.document.getElementById("MSearchField").focus(); - } - else if (this.lastKey==13) // Enter - { - return true; - } - return false; - } -} - -function setKeyActions(elem,action) -{ - elem.setAttribute('onkeydown',action); - elem.setAttribute('onkeypress',action); - elem.setAttribute('onkeyup',action); -} - -function setClassAttr(elem,attr) -{ - elem.setAttribute('class',attr); - elem.setAttribute('className',attr); -} - -function createResults() -{ - var results = document.getElementById("SRResults"); - for (var e=0; e - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_0.js b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_0.js deleted file mode 100644 index 3df5a05..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['arene',['Arene',['../image_8h.html#aa856a7cb8a1535c9f13096bede6c8586',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_1.html b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_1.html deleted file mode 100644 index b77c533..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_1.js b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_1.js deleted file mode 100644 index 3c0e5c9..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['camera',['Camera',['../image_8h.html#a739dda3f6f6ddbab22617837b43a692a',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_2.html b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_2.html deleted file mode 100644 index 076311d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_2.js b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_2.js deleted file mode 100644 index a5f6dfc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_2.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['image',['Image',['../image_8h.html#a466446fef9c0348568bc6743186d1a38',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_3.html b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_3.html deleted file mode 100644 index a4a727f..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_3.js b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_3.js deleted file mode 100644 index 2199e13..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['jpg',['Jpg',['../image_8h.html#a9ac2855e21920c676a108df386ff9415',1,'image.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_4.html b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_4.html deleted file mode 100644 index be033cd..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_4.js b/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_4.js deleted file mode 100644 index a21c8be..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/typedefs_4.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['sockaddr',['SOCKADDR',['../monitor_8h.html#ae334b73cedf7204187dce3f817576009',1,'monitor.h']]], - ['sockaddr_5fin',['SOCKADDR_IN',['../monitor_8h.html#a29046dc0232f0e5c70adbc25090d77b8',1,'monitor.h']]], - ['socket',['SOCKET',['../monitor_8h.html#a8dc8083897335125630f1af5dafd5831',1,'monitor.h']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_0.html b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_0.html deleted file mode 100644 index 74ce807..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_0.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_0.js b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_0.js deleted file mode 100644 index 5d2223d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_0.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['angle',['angle',['../struct_position.html#a733540df6c0f832676dc0846b34bb1e2',1,'Position']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_1.html b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_1.html deleted file mode 100644 index 84237b6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_1.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_1.js b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_1.js deleted file mode 100644 index bb7f6a4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_1.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['center',['center',['../struct_position.html#aa56444be37071311cfa11aae3e2c2f64',1,'Position']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_2.html b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_2.html deleted file mode 100644 index 5c9de1a..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_2.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_2.js b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_2.js deleted file mode 100644 index 1abf9b6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_2.js +++ /dev/null @@ -1,5 +0,0 @@ -var searchData= -[ - ['data',['data',['../struct_message_to_mon.html#a4e5977ba9fb3fa07d435155731944d15',1,'MessageToMon::data()'],['../struct_message_from_mon.html#a1aea445500b0fa020a1b08eaff791107',1,'MessageFromMon::data()'],['../struct_message_to_robot.html#abf7dafbba72784855abd50469ba82705',1,'MessageToRobot::data()']]], - ['direction',['direction',['../struct_position.html#a780d124971951424c0c63f6d81bb4d92',1,'Position']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_3.html b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_3.html deleted file mode 100644 index f95e34c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_3.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_3.js b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_3.js deleted file mode 100644 index 1a30264..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_3.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['header',['header',['../struct_message_to_mon.html#acb1096bef5e5c300f3d795556fda852a',1,'MessageToMon::header()'],['../struct_message_from_mon.html#ad46f6e6dd24be5cb2bc5eae5b3cdd095',1,'MessageFromMon::header()'],['../struct_message_to_robot.html#ab00202c6cfdd86ea4cd891c972405db6',1,'MessageToRobot::header()']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_4.html b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_4.html deleted file mode 100644 index d7db285..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_4.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_4.js b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_4.js deleted file mode 100644 index 1a30264..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_4.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['header',['header',['../struct_message_to_mon.html#acb1096bef5e5c300f3d795556fda852a',1,'MessageToMon::header()'],['../struct_message_from_mon.html#ad46f6e6dd24be5cb2bc5eae5b3cdd095',1,'MessageFromMon::header()'],['../struct_message_to_robot.html#ab00202c6cfdd86ea4cd891c972405db6',1,'MessageToRobot::header()']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_5.html b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_5.html deleted file mode 100644 index 7bbceeb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_5.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_5.js b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_5.js deleted file mode 100644 index 35e2e9d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_5.js +++ /dev/null @@ -1,4 +0,0 @@ -var searchData= -[ - ['recsize',['recsize',['../monitor_8cpp.html#acd1a03adb2455aaacbd886642518d569',1,'monitor.cpp']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_6.html b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_6.html deleted file mode 100644 index 4eb162d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_6.html +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - -
-
Loading...
-
- -
Searching...
-
No Matches
- -
- - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_6.js b/software/raspberry/superviseur-robot/lib/doc/html/search/variables_6.js deleted file mode 100644 index 3eb3616..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/search/variables_6.js +++ /dev/null @@ -1,6 +0,0 @@ -var searchData= -[ - ['sock',['sock',['../monitor_8cpp.html#a6e91849780a994f2adde299b33642829',1,'monitor.cpp']]], - ['socketfd',['socketFD',['../server_8cpp.html#a67917b0d31c20024dba33363eb8db5a2',1,'server.cpp']]], - ['ssin',['ssin',['../monitor_8cpp.html#a1f38ae3a59ce304779ebbca10378654a',1,'monitor.cpp']]] -]; diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp.html b/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp.html deleted file mode 100644 index 239257b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp.html +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/server.cpp File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
server.cpp File Reference
-
-
- -

Library for opening a TCP server, receiving data and sending message to monitor. -More...

-
#include "server.h"
-#include <sys/socket.h>
-#include <arpa/inet.h>
-#include <netinet/in.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-
-Include dependency graph for server.cpp:
-
-
- - - -
-
-

Go to the source code of this file.

- - - - -

-Macros

#define NB_CONNECTION_MAX   1
 
- - - - - - - - - - - - - - - -

-Functions

int openServer (int port)
 
int closeServer ()
 
int acceptClient ()
 
int sendDataToServer (char *data, int length)
 
int sendDataToServerForClient (int client, char *data, int length)
 
int receiveDataFromServer (char *data, int size)
 
int receiveDataFromServerFromClient (int client, char *data, int size)
 
- - - - - -

-Variables

int socketFD = -1
 
int clientID = -1
 
-

Detailed Description

-

Library for opening a TCP server, receiving data and sending message to monitor.

-
Author
PE.Hladik
-
Version
1.0
-
Date
06/06/2017
- -

Definition in file server.cpp.

-

Macro Definition Documentation

- -

◆ NB_CONNECTION_MAX

- -
-
- - - - -
#define NB_CONNECTION_MAX   1
-
- -

Definition at line 35 of file server.cpp.

- -
-
-

Function Documentation

- -

◆ acceptClient()

- -
-
- - - - - - - -
int acceptClient ()
-
- -

Definition at line 71 of file server.cpp.

- -
-
- -

◆ closeServer()

- -
-
- - - - - - - -
int closeServer ()
-
- -

Definition at line 63 of file server.cpp.

- -
-
- -

◆ openServer()

- -
-
- - - - - - - - -
int openServer (int port)
-
- -

Definition at line 40 of file server.cpp.

- -
-
- -

◆ receiveDataFromServer()

- -
-
- - - - - - - - - - - - - - - - - - -
int receiveDataFromServer (char * data,
int size 
)
-
- -

Definition at line 95 of file server.cpp.

- -
-
- -

◆ receiveDataFromServerFromClient()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int receiveDataFromServerFromClient (int client,
char * data,
int size 
)
-
- -

Definition at line 99 of file server.cpp.

- -
-
- -

◆ sendDataToServer()

- -
-
- - - - - - - - - - - - - - - - - - -
int sendDataToServer (char * data,
int length 
)
-
- -

Definition at line 85 of file server.cpp.

- -
-
- -

◆ sendDataToServerForClient()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int sendDataToServerForClient (int client,
char * data,
int length 
)
-
- -

Definition at line 89 of file server.cpp.

- -
-
-

Variable Documentation

- -

◆ clientID

- -
-
- - - - -
int clientID = -1
-
- -

Definition at line 38 of file server.cpp.

- -
-
- -

◆ socketFD

- -
-
- - - - -
int socketFD = -1
-
- -

Definition at line 37 of file server.cpp.

- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp.js b/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp.js deleted file mode 100644 index c22f2e6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp.js +++ /dev/null @@ -1,13 +0,0 @@ -var server_8cpp = -[ - [ "NB_CONNECTION_MAX", "server_8cpp.html#ad1106125b13c36a78d012177dc2aa67c", null ], - [ "acceptClient", "server_8cpp.html#abff9f8e931ecce919588b371dc511857", null ], - [ "closeServer", "server_8cpp.html#ab65b2df50051036defe0f35366f5a3d6", null ], - [ "openServer", "server_8cpp.html#a99b54d5b3404766f906f49605a4aa0e3", null ], - [ "receiveDataFromServer", "server_8cpp.html#a8b66a2007f3f9ed8538428a309c9d368", null ], - [ "receiveDataFromServerFromClient", "server_8cpp.html#a247e0124af257d0cc7abc25a7c448d1b", null ], - [ "sendDataToServer", "server_8cpp.html#a8d865d29914b980fd71ed8d347e4ec50", null ], - [ "sendDataToServerForClient", "server_8cpp.html#a4c2df7961aa7379ac79d80980a1c537b", null ], - [ "clientID", "server_8cpp.html#a2e938cd63a2404d0902c57205706872a", null ], - [ "socketFD", "server_8cpp.html#a67917b0d31c20024dba33363eb8db5a2", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.map deleted file mode 100644 index 8d35f84..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.md5 deleted file mode 100644 index 1a78bf6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -51d07197f818cd5682cf375b3f0bed2e \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.png deleted file mode 100644 index d75f091..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp_source.html b/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp_source.html deleted file mode 100644 index 2daf759..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8cpp_source.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - - - - -Bibliotheques TP RT: src/server.cpp Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
server.cpp
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #include "server.h"
27 #include <sys/socket.h>
28 #include <arpa/inet.h>
29 #include <netinet/in.h>
30 
31 #include <stdio.h>
32 #include <stdlib.h>
33 #include <unistd.h>
34 
35 #define NB_CONNECTION_MAX 1
36 
37 int socketFD = -1;
38 int clientID = -1;
39 
40 int openServer(int port) {
41  struct sockaddr_in server;
42 
43  socketFD = socket(AF_INET, SOCK_STREAM, 0);
44  if (socketFD < 0) {
45  perror("Can not create socket");
46  exit(-1);
47  }
48 
49  server.sin_addr.s_addr = INADDR_ANY;
50  server.sin_family = AF_INET;
51  server.sin_port = htons(port);
52 
53  if (bind(socketFD, (struct sockaddr *) &server, sizeof (server)) < 0) {
54  perror("Can not bind socket");
55  exit(-1);
56  }
57 
58  listen(socketFD, NB_CONNECTION_MAX);
59 
60  return socketFD;
61 }
62 
63 int closeServer() {
64  close(socketFD);
65 
66  socketFD = -1;
67 
68  return 0;
69 }
70 
71 int acceptClient() {
72  struct sockaddr_in client;
73  int c = sizeof (struct sockaddr_in);
74 
75  clientID = accept(socketFD, (struct sockaddr *) &client, (socklen_t*) & c);
76 
77  if (clientID < 0) {
78  perror("Accept failed in acceptClient");
79  exit(-1);
80  }
81 
82  return clientID;
83 }
84 
85 int sendDataToServer(char *data, int length) {
86  return sendDataToServerForClient(clientID, data, length);
87 }
88 
89 int sendDataToServerForClient(int client, char *data, int length) {
90  if (client >= 0)
91  return write(client, (void*)data, length);
92  else return 0;
93 }
94 
95 int receiveDataFromServer(char *data, int size) {
96  return receiveDataFromServerFromClient(clientID, data, size);
97 }
98 
99 int receiveDataFromServerFromClient(int client, char *data, int size) {
100  char length = 0;
101 
102  if (client > 0) {
103  if ((length = recv(client, (void*)data, size, 0)) > 0) {
104  data[length] = 0;
105  }
106  }
107 
108  return length;
109 }
110 
111 
112 
113 
int receiveDataFromServerFromClient(int client, char *data, int size)
Definition: server.cpp:99
-
int closeServer()
Definition: server.cpp:63
-
#define NB_CONNECTION_MAX
Definition: server.cpp:35
-
int clientID
Definition: server.cpp:38
- -
int receiveDataFromServer(char *data, int size)
Definition: server.cpp:95
-
int openServer(int port)
Definition: server.cpp:40
-
int acceptClient()
Definition: server.cpp:71
-
int socketFD
Definition: server.cpp:37
-
int sendDataToServerForClient(int client, char *data, int length)
Definition: server.cpp:89
-
int sendDataToServer(char *data, int length)
Definition: server.cpp:85
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h.html b/software/raspberry/superviseur-robot/lib/doc/html/server_8h.html deleted file mode 100644 index d060c12..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8h.html +++ /dev/null @@ -1,441 +0,0 @@ - - - - - - - -Bibliotheques TP RT: server.h File Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
server.h File Reference
-
-
- -

Library for opening a TCP server, receiving data and sending message to monitor. -More...

-
#include "image.h"
-
-Include dependency graph for server.h:
-
-
- - - -
-
-

Go to the source code of this file.

- - - - -

-Macros

#define DEFAULT_SERVER_PORT   2323
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-Functions

int openServer (int port)
 Open server port, connect and listen to given port. More...
 
int closeServer ()
 Close server. More...
 
int acceptClient ()
 Wait for a client to connect. More...
 
int sendDataToServer (char *data, int length)
 Send given data to monitor. More...
 
int sendDataToServerForClient (int client, char *data, int length)
 Send given data to monitor, using specific client ID. More...
 
int receiveDataFromServer (char *data, int size)
 Read data from monitor. More...
 
int receiveDataFromServerFromClient (int client, char *data, int size)
 Read data from monitor, using specific client ID. More...
 
int sendImage (Jpg *image)
 Send image to monitor using default client ID. More...
 
-

Detailed Description

-

Library for opening a TCP server, receiving data and sending message to monitor.

-
Author
PE.Hladik
-
Version
1.0
-
Date
06/06/2017
- -

Definition in file server.h.

-

Macro Definition Documentation

- -

◆ DEFAULT_SERVER_PORT

- -
-
- - - - -
#define DEFAULT_SERVER_PORT   2323
-
- -

Definition at line 30 of file server.h.

- -
-
-

Function Documentation

- -

◆ acceptClient()

- -
-
- - - - - - - -
int acceptClient ()
-
- -

Wait for a client to connect.

-
Returns
Return client Id or -1 if it failed
- -
-
- -

◆ closeServer()

- -
-
- - - - - - - -
int closeServer ()
-
- -

Close server.

-
Returns
-1 if closing failed , 0 otherwise
- -
-
- -

◆ openServer()

- -
-
- - - - - - - - -
int openServer (int port)
-
- -

Open server port, connect and listen to given port.

-
Parameters
- - -
portA valid port number (1024 - 65535)
-
-
-
Returns
-1 if opening failed or the socket number
- -
-
- -

◆ receiveDataFromServer()

- -
-
- - - - - - - - - - - - - - - - - - -
int receiveDataFromServer (char * data,
int size 
)
-
- -

Read data from monitor.

-

Read, at most, size data from monitor. Data must be a valid pointer to a buffer large enough.

-
Parameters
- - - -
dataA valid pointer to a buffer
sizeAmount of data to read
-
-
-
Returns
Return amount of data really received. 0 if communication is broken
- -
-
- -

◆ receiveDataFromServerFromClient()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int receiveDataFromServerFromClient (int client,
char * data,
int size 
)
-
- -

Read data from monitor, using specific client ID.

-

Read, at most, size data from monitor. Data must be a valid pointer to a buffer large enough.

-
Parameters
- - - - -
clientClient Id to receive from
dataA valid pointer to a buffer
sizeAmount of data to read
-
-
-
Returns
Return amount of data really received. 0 if communication is broken
- -
-
- -

◆ sendDataToServer()

- -
-
- - - - - - - - - - - - - - - - - - -
int sendDataToServer (char * data,
int length 
)
-
- -

Send given data to monitor.

-

Send given data to monitor using default client ID

-
Parameters
- - - -
dataA valid pointer to a buffer
lengthAmount of data to send
-
-
-
Returns
Return amount of data really written. 0 if communication is broken
- -
-
- -

◆ sendDataToServerForClient()

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int sendDataToServerForClient (int client,
char * data,
int length 
)
-
- -

Send given data to monitor, using specific client ID.

-

Send given data to monitor using given client ID.

-
Parameters
- - - - -
clientClient Id to send data to
dataA valid pointer to a buffer
lengthAmount of data to send
-
-
-
Returns
Return amount of data really written. 0 if communication is broken
- -
-
- -

◆ sendImage()

- -
-
- - - - - - - - -
int sendImage (Jpgimage)
-
- -

Send image to monitor using default client ID.

-

Convert image to raw data, and add correct header before sending to monitor

-
Parameters
- - -
imageAn image object after compression
-
-
-
Returns
Return amount of data really received. 0 if communication is broken
- -
-
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h.js b/software/raspberry/superviseur-robot/lib/doc/html/server_8h.js deleted file mode 100644 index 02acab3..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8h.js +++ /dev/null @@ -1,12 +0,0 @@ -var server_8h = -[ - [ "DEFAULT_SERVER_PORT", "server_8h.html#af257e2a3e091629829857a2eb8931a7a", null ], - [ "acceptClient", "server_8h.html#abff9f8e931ecce919588b371dc511857", null ], - [ "closeServer", "server_8h.html#ab65b2df50051036defe0f35366f5a3d6", null ], - [ "openServer", "server_8h.html#a99b54d5b3404766f906f49605a4aa0e3", null ], - [ "receiveDataFromServer", "server_8h.html#a8b66a2007f3f9ed8538428a309c9d368", null ], - [ "receiveDataFromServerFromClient", "server_8h.html#a247e0124af257d0cc7abc25a7c448d1b", null ], - [ "sendDataToServer", "server_8h.html#a8d865d29914b980fd71ed8d347e4ec50", null ], - [ "sendDataToServerForClient", "server_8h.html#a4c2df7961aa7379ac79d80980a1c537b", null ], - [ "sendImage", "server_8h.html#a51b9372f5467705aa81d76ae034c7628", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.map deleted file mode 100644 index 363b09e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.map +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.md5 deleted file mode 100644 index 9f4d061..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -2b1d20aa36893ad804427c79a70e4ebe \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.png deleted file mode 100644 index c1e4185..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__dep__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.map b/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.map deleted file mode 100644 index 70c40e7..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.map +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.md5 deleted file mode 100644 index bafbd82..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -d7f1f00c08ba5d2485254fbdd765c26a \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.png b/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.png deleted file mode 100644 index 1d0f122..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/server_8h__incl.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/server_8h_source.html b/software/raspberry/superviseur-robot/lib/doc/html/server_8h_source.html deleted file mode 100644 index 0d9d1a3..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/server_8h_source.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - -Bibliotheques TP RT: server.h Source File - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
server.h
-
-
-Go to the documentation of this file.
1 /*
2  * Copyright (C) 2018 dimercur
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program. If not, see <http://www.gnu.org/licenses/>.
16  */
17 
26 #ifndef _SERVER_H_
27 #define _SERVER_H_
28 
29 #include "image.h"
30 #define DEFAULT_SERVER_PORT 2323
31 
38 int openServer (int port);
39 
45 int closeServer();
46 
52 int acceptClient();
53 
62 int sendDataToServer(char *data, int length);
63 
73 int sendDataToServerForClient(int client, char *data, int length);
74 
83 int receiveDataFromServer(char *data, int size);
84 
94 int receiveDataFromServerFromClient(int client, char *data, int size);
95 
103 int sendImage(Jpg *image);
104 #endif /* _SERVER_H_ */
105 
int openServer(int port)
Open server port, connect and listen to given port.
-
Functions for image treatment.
-
int closeServer()
Close server.
-
int sendImage(Jpg *image)
Send image to monitor using default client ID.
-
vector< unsigned char > Jpg
Definition: image.h:67
-
int receiveDataFromServerFromClient(int client, char *data, int size)
Read data from monitor, using specific client ID.
-
int receiveDataFromServer(char *data, int size)
Read data from monitor.
-
int sendDataToServer(char *data, int length)
Send given data to monitor.
-
int sendDataToServerForClient(int client, char *data, int length)
Send given data to monitor, using specific client ID.
-
int acceptClient()
Wait for a client to connect.
-
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/splitbar.png b/software/raspberry/superviseur-robot/lib/doc/html/splitbar.png deleted file mode 100644 index fe895f2..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/splitbar.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon-members.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon-members.html deleted file mode 100644 index 432e716..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
MessageFromMon Member List
-
-
- -

This is the complete list of members for MessageFromMon, including all inherited members.

- - - -
dataMessageFromMon
headerMessageFromMon
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon.html deleted file mode 100644 index c1ea325..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -Bibliotheques TP RT: MessageFromMon Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
MessageFromMon Struct Reference
-
-
- -

#include <monitor.h>

- - - - - - -

-Public Attributes

char header [4]
 
char data [100]
 
-

Detailed Description

-
-

Definition at line 74 of file monitor.h.

-

Member Data Documentation

- -

◆ data

- -
-
- - - - -
char MessageFromMon::data[100]
-
- -

Definition at line 76 of file monitor.h.

- -
-
- -

◆ header

- -
-
- - - - -
char MessageFromMon::header[4]
-
- -

Definition at line 75 of file monitor.h.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon.js b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon.js deleted file mode 100644 index d4dc39f..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_from_mon.js +++ /dev/null @@ -1,5 +0,0 @@ -var struct_message_from_mon = -[ - [ "data", "struct_message_from_mon.html#a1aea445500b0fa020a1b08eaff791107", null ], - [ "header", "struct_message_from_mon.html#ad46f6e6dd24be5cb2bc5eae5b3cdd095", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon-members.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon-members.html deleted file mode 100644 index 5205875..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
MessageToMon Member List
-
-
- -

This is the complete list of members for MessageToMon, including all inherited members.

- - - -
dataMessageToMon
headerMessageToMon
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon.html deleted file mode 100644 index 586e861..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -Bibliotheques TP RT: MessageToMon Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
MessageToMon Struct Reference
-
-
- -

#include <message.h>

- - - - - - -

-Public Attributes

char header [4]
 
void * data = NULL
 
-

Detailed Description

-
-

Definition at line 34 of file message.h.

-

Member Data Documentation

- -

◆ data

- -
-
- - - - -
void* MessageToMon::data = NULL
-
- -

Definition at line 36 of file message.h.

- -
-
- -

◆ header

- -
-
- - - - -
char MessageToMon::header[4]
-
- -

Definition at line 35 of file message.h.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon.js b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon.js deleted file mode 100644 index 6e05a04..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_mon.js +++ /dev/null @@ -1,5 +0,0 @@ -var struct_message_to_mon = -[ - [ "data", "struct_message_to_mon.html#a4e5977ba9fb3fa07d435155731944d15", null ], - [ "header", "struct_message_to_mon.html#acb1096bef5e5c300f3d795556fda852a", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot-members.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot-members.html deleted file mode 100644 index edcc384..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot-members.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
MessageToRobot Member List
-
-
- -

This is the complete list of members for MessageToRobot, including all inherited members.

- - - -
dataMessageToRobot
headerMessageToRobot
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot.html deleted file mode 100644 index fca57de..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - - - -Bibliotheques TP RT: MessageToRobot Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
MessageToRobot Struct Reference
-
-
- -

#include <robot.h>

- - - - - - -

-Public Attributes

char header [4]
 
char data [20]
 
-

Detailed Description

-
-

Definition at line 43 of file robot.h.

-

Member Data Documentation

- -

◆ data

- -
-
- - - - -
char MessageToRobot::data[20]
-
- -

Definition at line 46 of file robot.h.

- -
-
- -

◆ header

- -
-
- - - - -
char MessageToRobot::header[4]
-
- -

Definition at line 45 of file robot.h.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot.js b/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot.js deleted file mode 100644 index a544900..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_message_to_robot.js +++ /dev/null @@ -1,5 +0,0 @@ -var struct_message_to_robot = -[ - [ "data", "struct_message_to_robot.html#abf7dafbba72784855abd50469ba82705", null ], - [ "header", "struct_message_to_robot.html#ab00202c6cfdd86ea4cd891c972405db6", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_position-members.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_position-members.html deleted file mode 100644 index 66b16f0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_position-members.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Member List - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
-
-
Position Member List
-
-
- -

This is the complete list of members for Position, including all inherited members.

- - - - -
anglePosition
centerPosition
directionPosition
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_position.html b/software/raspberry/superviseur-robot/lib/doc/html/struct_position.html deleted file mode 100644 index cfcb856..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_position.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - -Bibliotheques TP RT: Position Struct Reference - - - - - - - - - - - - - - -
-
- - - - - - - -
-
Bibliotheques TP RT -  1.0 -
-
Bibliotheque de support pour TP/RT
-
-
- - - - - - - -
-
- -
-
-
- -
- -
-
- - -
- -
- -
- -
-
Position Struct Reference
-
-
- -

#include <image.h>

- - - - - - - - -

-Public Attributes

Point center
 
Point direction
 
float angle
 
-

Detailed Description

-
-

Definition at line 69 of file image.h.

-

Member Data Documentation

- -

◆ angle

- -
-
- - - - -
float Position::angle
-
- -

Definition at line 72 of file image.h.

- -
-
- -

◆ center

- -
-
- - - - -
Point Position::center
-
- -

Definition at line 70 of file image.h.

- -
-
- -

◆ direction

- -
-
- - - - -
Point Position::direction
-
- -

Definition at line 71 of file image.h.

- -
-
-
The documentation for this struct was generated from the following file: -
-
- - - - diff --git a/software/raspberry/superviseur-robot/lib/doc/html/struct_position.js b/software/raspberry/superviseur-robot/lib/doc/html/struct_position.js deleted file mode 100644 index f2d0da1..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/struct_position.js +++ /dev/null @@ -1,6 +0,0 @@ -var struct_position = -[ - [ "angle", "struct_position.html#a733540df6c0f832676dc0846b34bb1e2", null ], - [ "center", "struct_position.html#aa56444be37071311cfa11aae3e2c2f64", null ], - [ "direction", "struct_position.html#a780d124971951424c0c63f6d81bb4d92", null ] -]; \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/html/sync_off.png b/software/raspberry/superviseur-robot/lib/doc/html/sync_off.png deleted file mode 100644 index 3b443fc..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/sync_off.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/sync_on.png b/software/raspberry/superviseur-robot/lib/doc/html/sync_on.png deleted file mode 100644 index e08320f..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/sync_on.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/tab_a.png b/software/raspberry/superviseur-robot/lib/doc/html/tab_a.png deleted file mode 100644 index 3b725c4..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/tab_a.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/tab_b.png b/software/raspberry/superviseur-robot/lib/doc/html/tab_b.png deleted file mode 100644 index e2b4a86..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/tab_b.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/tab_h.png b/software/raspberry/superviseur-robot/lib/doc/html/tab_h.png deleted file mode 100644 index fd5cb70..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/tab_h.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/tab_s.png b/software/raspberry/superviseur-robot/lib/doc/html/tab_s.png deleted file mode 100644 index ab478c9..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/html/tab_s.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/html/tabs.css b/software/raspberry/superviseur-robot/lib/doc/html/tabs.css deleted file mode 100644 index bbde11e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/html/tabs.css +++ /dev/null @@ -1 +0,0 @@ -.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/annotated.tex b/software/raspberry/superviseur-robot/lib/doc/latex/annotated.tex deleted file mode 100644 index cbbe8b0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/annotated.tex +++ /dev/null @@ -1,7 +0,0 @@ -\section{Class List} -Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\hyperlink{struct_message_from_mon}{Message\+From\+Mon} }{\pageref{struct_message_from_mon}}{} -\item\contentsline{section}{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} }{\pageref{struct_message_to_mon}}{} -\item\contentsline{section}{\hyperlink{struct_message_to_robot}{Message\+To\+Robot} }{\pageref{struct_message_to_robot}}{} -\item\contentsline{section}{\hyperlink{struct_position}{Position} }{\pageref{struct_position}}{} -\end{DoxyCompactList} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h.tex b/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h.tex deleted file mode 100644 index aaba1f1..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h.tex +++ /dev/null @@ -1,430 +0,0 @@ -\hypertarget{definitions_8h}{}\section{definitions.\+h File Reference} -\label{definitions_8h}\index{definitions.\+h@{definitions.\+h}} - - -Various constants used in destjil project. - - -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=202pt]{definitions_8h__dep__incl} -\end{center} -\end{figure} -\subsection*{Macros} -\begin{DoxyCompactItemize} -\item -\#define \hyperlink{definitions_8h_aac798eaf6994ddcadd8a38ad8aba234f}{O\+P\+E\+N\+\_\+\+C\+O\+M\+\_\+\+D\+MB}~\textquotesingle{}o\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a1b18773c1ce9068c4d38c2cbd2900263}{C\+L\+O\+S\+E\+\_\+\+C\+O\+M\+\_\+\+D\+MB}~\textquotesingle{}C\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_acf7d51360dcb103fc57604725ec2816d}{D\+M\+B\+\_\+\+P\+I\+NG}~\textquotesingle{}p\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a82b279c49221d3cd3d875d521dfb97b9}{D\+M\+B\+\_\+\+I\+D\+LE}~\textquotesingle{}r\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a5ebbd37042a6244b4f9d473ae7132780}{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+O\+U\+T\+\_\+\+WD}~\textquotesingle{}u\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_adee1628bbc796ba55f4a349895f4e0fa}{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+\_\+\+WD}~\textquotesingle{}W\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a2ca219902014ffb39aab27cca08a948f}{D\+M\+B\+\_\+\+R\+E\+L\+O\+A\+D\+\_\+\+WD}~\textquotesingle{}w\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_af1737e8fe4da4e8bc2d5db9d26c42462}{D\+M\+B\+\_\+\+G\+E\+T\+\_\+\+V\+B\+AT}~\textquotesingle{}v\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_ad58c241121e685f26a291aa4bd5f9c80}{D\+M\+B\+\_\+\+I\+S\+\_\+\+B\+U\+SY}~\textquotesingle{}b\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_ac48dee90eb71d036d001321674abbb8b}{D\+M\+B\+\_\+\+M\+O\+VE}~\textquotesingle{}M\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_ac6c5492c8100e73f8d30ed36072684db}{D\+M\+B\+\_\+\+T\+U\+RN}~\textquotesingle{}T\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_ae363a29a4961cd8a646a0ca9199bc6cf}{D\+M\+B\+\_\+\+G\+O\+\_\+\+F\+O\+R\+W\+A\+RD}~\textquotesingle{}F\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a499f41cc19a4459de033687049cbbe71}{D\+M\+B\+\_\+\+G\+O\+\_\+\+B\+A\+CK}~\textquotesingle{}B\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_aefcb838e73a335f1a2a6c914ee2ff752}{D\+M\+B\+\_\+\+G\+O\+\_\+\+L\+E\+FT}~\textquotesingle{}L\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_ad681962f7b8cf4797ebd48be0405d1b9}{D\+M\+B\+\_\+\+G\+O\+\_\+\+R\+I\+G\+HT}~\textquotesingle{}R\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a7308179907a0a2989c162865e7a7979a}{D\+M\+B\+\_\+\+S\+T\+O\+P\+\_\+\+M\+O\+VE}~\textquotesingle{}S\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a624686d3af63394ee02f0a197967d44a}{R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}~-\/3 -\item -\#define \hyperlink{definitions_8h_a70a2d5db14b900843364adb7cfe53ac8}{R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+N\+\_\+\+C\+MD}~-\/2 -\item -\#define \hyperlink{definitions_8h_a4aefbbdd5d35999aa0575ab7183148d4}{R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR}~-\/1 -\item -\#define \hyperlink{definitions_8h_af1118b8a83d446b4965347bba126a488}{R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+C\+K\+S\+UM}~-\/4 -\item -\#define \hyperlink{definitions_8h_ad7b2f95c0b423fb9784acb897b910c36}{R\+O\+B\+O\+T\+\_\+\+OK}~0 -\item -\#define \hyperlink{definitions_8h_a2a7149bbe097fae8e799ce2ab6f69390}{C\+A\+M\+\_\+\+O\+P\+EN}~\textquotesingle{}A\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a675009273c3923e8ad1a6d2818063b61}{C\+A\+M\+\_\+\+C\+L\+O\+SE}~\textquotesingle{}I\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a6418778d1f34e618aebd9ca1861ab500}{C\+A\+M\+\_\+\+A\+S\+K\+\_\+\+A\+R\+E\+NA}~\textquotesingle{}y\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a15d9063cd3c60755685ceb75df4a7354}{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+C\+O\+N\+F\+I\+RM}~\textquotesingle{}x\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_ac836c6abc7e32d2cf7f59ed2a8383ca7}{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+I\+N\+F\+I\+RM}~\textquotesingle{}z\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a74fdb9d00556feb699d3c72bd7b5d5e5}{C\+A\+M\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}~\textquotesingle{}p\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_ae864cfaefbf5a210e67678b2144a289f}{C\+A\+M\+\_\+\+S\+T\+O\+P\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}~\textquotesingle{}s\textquotesingle{} -\item -\#define \hyperlink{definitions_8h_a66c0c4960c1e81c8da8c8e1d4a202352}{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+L\+OW}~0 -\item -\#define \hyperlink{definitions_8h_aea6ef1c13db1a8a4a29b065d0c3f73e4}{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+M\+E\+D\+I\+UM}~1 -\item -\#define \hyperlink{definitions_8h_ab34c46794a9de6746a96752668c73754}{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+H\+I\+GH}~2 -\item -\#define \hyperlink{definitions_8h_a3327443cd321f0c356a5d3d74377892b}{D\+M\+B\+\_\+\+B\+U\+SY}~1 -\item -\#define \hyperlink{definitions_8h_a07650c5f6647c5143bac535fdbeb77d5}{D\+M\+B\+\_\+\+D\+O\+\_\+\+N\+O\+T\+H\+I\+NG}~0 -\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Various constants used in destjil project. - -\begin{DoxyAuthor}{Author} -P\+E.\+Hladik -\end{DoxyAuthor} -\begin{DoxyVersion}{Version} -1.\+0 -\end{DoxyVersion} -\begin{DoxyDate}{Date} -06/06/2017 -\end{DoxyDate} - - -\subsection{Macro Definition Documentation} -\mbox{\Hypertarget{definitions_8h_a15d9063cd3c60755685ceb75df4a7354}\label{definitions_8h_a15d9063cd3c60755685ceb75df4a7354}} -\index{definitions.\+h@{definitions.\+h}!C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+C\+O\+N\+F\+I\+RM@{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+C\+O\+N\+F\+I\+RM}} -\index{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+C\+O\+N\+F\+I\+RM@{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+C\+O\+N\+F\+I\+RM}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+C\+O\+N\+F\+I\+RM}{CAM\_ARENA\_CONFIRM}} -{\footnotesize\ttfamily \#define C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+C\+O\+N\+F\+I\+RM~\textquotesingle{}x\textquotesingle{}} - - - -Definition at line 57 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ac836c6abc7e32d2cf7f59ed2a8383ca7}\label{definitions_8h_ac836c6abc7e32d2cf7f59ed2a8383ca7}} -\index{definitions.\+h@{definitions.\+h}!C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+I\+N\+F\+I\+RM@{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+I\+N\+F\+I\+RM}} -\index{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+I\+N\+F\+I\+RM@{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+I\+N\+F\+I\+RM}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+I\+N\+F\+I\+RM}{CAM\_ARENA\_INFIRM}} -{\footnotesize\ttfamily \#define C\+A\+M\+\_\+\+A\+R\+E\+N\+A\+\_\+\+I\+N\+F\+I\+RM~\textquotesingle{}z\textquotesingle{}} - - - -Definition at line 58 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a6418778d1f34e618aebd9ca1861ab500}\label{definitions_8h_a6418778d1f34e618aebd9ca1861ab500}} -\index{definitions.\+h@{definitions.\+h}!C\+A\+M\+\_\+\+A\+S\+K\+\_\+\+A\+R\+E\+NA@{C\+A\+M\+\_\+\+A\+S\+K\+\_\+\+A\+R\+E\+NA}} -\index{C\+A\+M\+\_\+\+A\+S\+K\+\_\+\+A\+R\+E\+NA@{C\+A\+M\+\_\+\+A\+S\+K\+\_\+\+A\+R\+E\+NA}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+A\+M\+\_\+\+A\+S\+K\+\_\+\+A\+R\+E\+NA}{CAM\_ASK\_ARENA}} -{\footnotesize\ttfamily \#define C\+A\+M\+\_\+\+A\+S\+K\+\_\+\+A\+R\+E\+NA~\textquotesingle{}y\textquotesingle{}} - - - -Definition at line 56 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a675009273c3923e8ad1a6d2818063b61}\label{definitions_8h_a675009273c3923e8ad1a6d2818063b61}} -\index{definitions.\+h@{definitions.\+h}!C\+A\+M\+\_\+\+C\+L\+O\+SE@{C\+A\+M\+\_\+\+C\+L\+O\+SE}} -\index{C\+A\+M\+\_\+\+C\+L\+O\+SE@{C\+A\+M\+\_\+\+C\+L\+O\+SE}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+A\+M\+\_\+\+C\+L\+O\+SE}{CAM\_CLOSE}} -{\footnotesize\ttfamily \#define C\+A\+M\+\_\+\+C\+L\+O\+SE~\textquotesingle{}I\textquotesingle{}} - - - -Definition at line 55 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a74fdb9d00556feb699d3c72bd7b5d5e5}\label{definitions_8h_a74fdb9d00556feb699d3c72bd7b5d5e5}} -\index{definitions.\+h@{definitions.\+h}!C\+A\+M\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON@{C\+A\+M\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}} -\index{C\+A\+M\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON@{C\+A\+M\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+A\+M\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}{CAM\_COMPUTE\_POSITION}} -{\footnotesize\ttfamily \#define C\+A\+M\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON~\textquotesingle{}p\textquotesingle{}} - - - -Definition at line 59 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a2a7149bbe097fae8e799ce2ab6f69390}\label{definitions_8h_a2a7149bbe097fae8e799ce2ab6f69390}} -\index{definitions.\+h@{definitions.\+h}!C\+A\+M\+\_\+\+O\+P\+EN@{C\+A\+M\+\_\+\+O\+P\+EN}} -\index{C\+A\+M\+\_\+\+O\+P\+EN@{C\+A\+M\+\_\+\+O\+P\+EN}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+A\+M\+\_\+\+O\+P\+EN}{CAM\_OPEN}} -{\footnotesize\ttfamily \#define C\+A\+M\+\_\+\+O\+P\+EN~\textquotesingle{}A\textquotesingle{}} - - - -Definition at line 54 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ae864cfaefbf5a210e67678b2144a289f}\label{definitions_8h_ae864cfaefbf5a210e67678b2144a289f}} -\index{definitions.\+h@{definitions.\+h}!C\+A\+M\+\_\+\+S\+T\+O\+P\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON@{C\+A\+M\+\_\+\+S\+T\+O\+P\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}} -\index{C\+A\+M\+\_\+\+S\+T\+O\+P\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON@{C\+A\+M\+\_\+\+S\+T\+O\+P\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+A\+M\+\_\+\+S\+T\+O\+P\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON}{CAM\_STOP\_COMPUTE\_POSITION}} -{\footnotesize\ttfamily \#define C\+A\+M\+\_\+\+S\+T\+O\+P\+\_\+\+C\+O\+M\+P\+U\+T\+E\+\_\+\+P\+O\+S\+I\+T\+I\+ON~\textquotesingle{}s\textquotesingle{}} - - - -Definition at line 60 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a1b18773c1ce9068c4d38c2cbd2900263}\label{definitions_8h_a1b18773c1ce9068c4d38c2cbd2900263}} -\index{definitions.\+h@{definitions.\+h}!C\+L\+O\+S\+E\+\_\+\+C\+O\+M\+\_\+\+D\+MB@{C\+L\+O\+S\+E\+\_\+\+C\+O\+M\+\_\+\+D\+MB}} -\index{C\+L\+O\+S\+E\+\_\+\+C\+O\+M\+\_\+\+D\+MB@{C\+L\+O\+S\+E\+\_\+\+C\+O\+M\+\_\+\+D\+MB}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{C\+L\+O\+S\+E\+\_\+\+C\+O\+M\+\_\+\+D\+MB}{CLOSE\_COM\_DMB}} -{\footnotesize\ttfamily \#define C\+L\+O\+S\+E\+\_\+\+C\+O\+M\+\_\+\+D\+MB~\textquotesingle{}C\textquotesingle{}} - - - -Definition at line 31 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ab34c46794a9de6746a96752668c73754}\label{definitions_8h_ab34c46794a9de6746a96752668c73754}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+H\+I\+GH@{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+H\+I\+GH}} -\index{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+H\+I\+GH@{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+H\+I\+GH}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+H\+I\+GH}{DMB\_BAT\_HIGH}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+H\+I\+GH~2} - - - -Definition at line 64 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a66c0c4960c1e81c8da8c8e1d4a202352}\label{definitions_8h_a66c0c4960c1e81c8da8c8e1d4a202352}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+L\+OW@{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+L\+OW}} -\index{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+L\+OW@{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+L\+OW}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+L\+OW}{DMB\_BAT\_LOW}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+L\+OW~0} - - - -Definition at line 62 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_aea6ef1c13db1a8a4a29b065d0c3f73e4}\label{definitions_8h_aea6ef1c13db1a8a4a29b065d0c3f73e4}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+M\+E\+D\+I\+UM@{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+M\+E\+D\+I\+UM}} -\index{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+M\+E\+D\+I\+UM@{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+M\+E\+D\+I\+UM}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+M\+E\+D\+I\+UM}{DMB\_BAT\_MEDIUM}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+B\+A\+T\+\_\+\+M\+E\+D\+I\+UM~1} - - - -Definition at line 63 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a3327443cd321f0c356a5d3d74377892b}\label{definitions_8h_a3327443cd321f0c356a5d3d74377892b}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+B\+U\+SY@{D\+M\+B\+\_\+\+B\+U\+SY}} -\index{D\+M\+B\+\_\+\+B\+U\+SY@{D\+M\+B\+\_\+\+B\+U\+SY}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+B\+U\+SY}{DMB\_BUSY}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+B\+U\+SY~1} - - - -Definition at line 66 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a07650c5f6647c5143bac535fdbeb77d5}\label{definitions_8h_a07650c5f6647c5143bac535fdbeb77d5}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+D\+O\+\_\+\+N\+O\+T\+H\+I\+NG@{D\+M\+B\+\_\+\+D\+O\+\_\+\+N\+O\+T\+H\+I\+NG}} -\index{D\+M\+B\+\_\+\+D\+O\+\_\+\+N\+O\+T\+H\+I\+NG@{D\+M\+B\+\_\+\+D\+O\+\_\+\+N\+O\+T\+H\+I\+NG}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+D\+O\+\_\+\+N\+O\+T\+H\+I\+NG}{DMB\_DO\_NOTHING}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+D\+O\+\_\+\+N\+O\+T\+H\+I\+NG~0} - - - -Definition at line 67 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_af1737e8fe4da4e8bc2d5db9d26c42462}\label{definitions_8h_af1737e8fe4da4e8bc2d5db9d26c42462}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+G\+E\+T\+\_\+\+V\+B\+AT@{D\+M\+B\+\_\+\+G\+E\+T\+\_\+\+V\+B\+AT}} -\index{D\+M\+B\+\_\+\+G\+E\+T\+\_\+\+V\+B\+AT@{D\+M\+B\+\_\+\+G\+E\+T\+\_\+\+V\+B\+AT}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+G\+E\+T\+\_\+\+V\+B\+AT}{DMB\_GET\_VBAT}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+G\+E\+T\+\_\+\+V\+B\+AT~\textquotesingle{}v\textquotesingle{}} - - - -Definition at line 38 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a499f41cc19a4459de033687049cbbe71}\label{definitions_8h_a499f41cc19a4459de033687049cbbe71}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+G\+O\+\_\+\+B\+A\+CK@{D\+M\+B\+\_\+\+G\+O\+\_\+\+B\+A\+CK}} -\index{D\+M\+B\+\_\+\+G\+O\+\_\+\+B\+A\+CK@{D\+M\+B\+\_\+\+G\+O\+\_\+\+B\+A\+CK}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+G\+O\+\_\+\+B\+A\+CK}{DMB\_GO\_BACK}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+G\+O\+\_\+\+B\+A\+CK~\textquotesingle{}B\textquotesingle{}} - - - -Definition at line 43 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ae363a29a4961cd8a646a0ca9199bc6cf}\label{definitions_8h_ae363a29a4961cd8a646a0ca9199bc6cf}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+G\+O\+\_\+\+F\+O\+R\+W\+A\+RD@{D\+M\+B\+\_\+\+G\+O\+\_\+\+F\+O\+R\+W\+A\+RD}} -\index{D\+M\+B\+\_\+\+G\+O\+\_\+\+F\+O\+R\+W\+A\+RD@{D\+M\+B\+\_\+\+G\+O\+\_\+\+F\+O\+R\+W\+A\+RD}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+G\+O\+\_\+\+F\+O\+R\+W\+A\+RD}{DMB\_GO\_FORWARD}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+G\+O\+\_\+\+F\+O\+R\+W\+A\+RD~\textquotesingle{}F\textquotesingle{}} - - - -Definition at line 42 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_aefcb838e73a335f1a2a6c914ee2ff752}\label{definitions_8h_aefcb838e73a335f1a2a6c914ee2ff752}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+G\+O\+\_\+\+L\+E\+FT@{D\+M\+B\+\_\+\+G\+O\+\_\+\+L\+E\+FT}} -\index{D\+M\+B\+\_\+\+G\+O\+\_\+\+L\+E\+FT@{D\+M\+B\+\_\+\+G\+O\+\_\+\+L\+E\+FT}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+G\+O\+\_\+\+L\+E\+FT}{DMB\_GO\_LEFT}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+G\+O\+\_\+\+L\+E\+FT~\textquotesingle{}L\textquotesingle{}} - - - -Definition at line 44 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ad681962f7b8cf4797ebd48be0405d1b9}\label{definitions_8h_ad681962f7b8cf4797ebd48be0405d1b9}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+G\+O\+\_\+\+R\+I\+G\+HT@{D\+M\+B\+\_\+\+G\+O\+\_\+\+R\+I\+G\+HT}} -\index{D\+M\+B\+\_\+\+G\+O\+\_\+\+R\+I\+G\+HT@{D\+M\+B\+\_\+\+G\+O\+\_\+\+R\+I\+G\+HT}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+G\+O\+\_\+\+R\+I\+G\+HT}{DMB\_GO\_RIGHT}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+G\+O\+\_\+\+R\+I\+G\+HT~\textquotesingle{}R\textquotesingle{}} - - - -Definition at line 45 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a82b279c49221d3cd3d875d521dfb97b9}\label{definitions_8h_a82b279c49221d3cd3d875d521dfb97b9}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+I\+D\+LE@{D\+M\+B\+\_\+\+I\+D\+LE}} -\index{D\+M\+B\+\_\+\+I\+D\+LE@{D\+M\+B\+\_\+\+I\+D\+LE}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+I\+D\+LE}{DMB\_IDLE}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+I\+D\+LE~\textquotesingle{}r\textquotesingle{}} - - - -Definition at line 34 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ad58c241121e685f26a291aa4bd5f9c80}\label{definitions_8h_ad58c241121e685f26a291aa4bd5f9c80}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+I\+S\+\_\+\+B\+U\+SY@{D\+M\+B\+\_\+\+I\+S\+\_\+\+B\+U\+SY}} -\index{D\+M\+B\+\_\+\+I\+S\+\_\+\+B\+U\+SY@{D\+M\+B\+\_\+\+I\+S\+\_\+\+B\+U\+SY}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+I\+S\+\_\+\+B\+U\+SY}{DMB\_IS\_BUSY}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+I\+S\+\_\+\+B\+U\+SY~\textquotesingle{}b\textquotesingle{}} - - - -Definition at line 39 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ac48dee90eb71d036d001321674abbb8b}\label{definitions_8h_ac48dee90eb71d036d001321674abbb8b}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+M\+O\+VE@{D\+M\+B\+\_\+\+M\+O\+VE}} -\index{D\+M\+B\+\_\+\+M\+O\+VE@{D\+M\+B\+\_\+\+M\+O\+VE}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+M\+O\+VE}{DMB\_MOVE}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+M\+O\+VE~\textquotesingle{}M\textquotesingle{}} - - - -Definition at line 40 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_acf7d51360dcb103fc57604725ec2816d}\label{definitions_8h_acf7d51360dcb103fc57604725ec2816d}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+P\+I\+NG@{D\+M\+B\+\_\+\+P\+I\+NG}} -\index{D\+M\+B\+\_\+\+P\+I\+NG@{D\+M\+B\+\_\+\+P\+I\+NG}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+P\+I\+NG}{DMB\_PING}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+P\+I\+NG~\textquotesingle{}p\textquotesingle{}} - - - -Definition at line 33 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a2ca219902014ffb39aab27cca08a948f}\label{definitions_8h_a2ca219902014ffb39aab27cca08a948f}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+R\+E\+L\+O\+A\+D\+\_\+\+WD@{D\+M\+B\+\_\+\+R\+E\+L\+O\+A\+D\+\_\+\+WD}} -\index{D\+M\+B\+\_\+\+R\+E\+L\+O\+A\+D\+\_\+\+WD@{D\+M\+B\+\_\+\+R\+E\+L\+O\+A\+D\+\_\+\+WD}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+R\+E\+L\+O\+A\+D\+\_\+\+WD}{DMB\_RELOAD\_WD}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+R\+E\+L\+O\+A\+D\+\_\+\+WD~\textquotesingle{}w\textquotesingle{}} - - - -Definition at line 37 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_adee1628bbc796ba55f4a349895f4e0fa}\label{definitions_8h_adee1628bbc796ba55f4a349895f4e0fa}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+\_\+\+WD@{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+\_\+\+WD}} -\index{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+\_\+\+WD@{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+\_\+\+WD}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+\_\+\+WD}{DMB\_START\_WITH\_WD}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+\_\+\+WD~\textquotesingle{}W\textquotesingle{}} - - - -Definition at line 36 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a5ebbd37042a6244b4f9d473ae7132780}\label{definitions_8h_a5ebbd37042a6244b4f9d473ae7132780}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+O\+U\+T\+\_\+\+WD@{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+O\+U\+T\+\_\+\+WD}} -\index{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+O\+U\+T\+\_\+\+WD@{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+O\+U\+T\+\_\+\+WD}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+O\+U\+T\+\_\+\+WD}{DMB\_START\_WITHOUT\_WD}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+S\+T\+A\+R\+T\+\_\+\+W\+I\+T\+H\+O\+U\+T\+\_\+\+WD~\textquotesingle{}u\textquotesingle{}} - - - -Definition at line 35 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a7308179907a0a2989c162865e7a7979a}\label{definitions_8h_a7308179907a0a2989c162865e7a7979a}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+S\+T\+O\+P\+\_\+\+M\+O\+VE@{D\+M\+B\+\_\+\+S\+T\+O\+P\+\_\+\+M\+O\+VE}} -\index{D\+M\+B\+\_\+\+S\+T\+O\+P\+\_\+\+M\+O\+VE@{D\+M\+B\+\_\+\+S\+T\+O\+P\+\_\+\+M\+O\+VE}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+S\+T\+O\+P\+\_\+\+M\+O\+VE}{DMB\_STOP\_MOVE}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+S\+T\+O\+P\+\_\+\+M\+O\+VE~\textquotesingle{}S\textquotesingle{}} - - - -Definition at line 46 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ac6c5492c8100e73f8d30ed36072684db}\label{definitions_8h_ac6c5492c8100e73f8d30ed36072684db}} -\index{definitions.\+h@{definitions.\+h}!D\+M\+B\+\_\+\+T\+U\+RN@{D\+M\+B\+\_\+\+T\+U\+RN}} -\index{D\+M\+B\+\_\+\+T\+U\+RN@{D\+M\+B\+\_\+\+T\+U\+RN}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{D\+M\+B\+\_\+\+T\+U\+RN}{DMB\_TURN}} -{\footnotesize\ttfamily \#define D\+M\+B\+\_\+\+T\+U\+RN~\textquotesingle{}T\textquotesingle{}} - - - -Definition at line 41 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_aac798eaf6994ddcadd8a38ad8aba234f}\label{definitions_8h_aac798eaf6994ddcadd8a38ad8aba234f}} -\index{definitions.\+h@{definitions.\+h}!O\+P\+E\+N\+\_\+\+C\+O\+M\+\_\+\+D\+MB@{O\+P\+E\+N\+\_\+\+C\+O\+M\+\_\+\+D\+MB}} -\index{O\+P\+E\+N\+\_\+\+C\+O\+M\+\_\+\+D\+MB@{O\+P\+E\+N\+\_\+\+C\+O\+M\+\_\+\+D\+MB}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{O\+P\+E\+N\+\_\+\+C\+O\+M\+\_\+\+D\+MB}{OPEN\_COM\_DMB}} -{\footnotesize\ttfamily \#define O\+P\+E\+N\+\_\+\+C\+O\+M\+\_\+\+D\+MB~\textquotesingle{}o\textquotesingle{}} - - - -Definition at line 30 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_af1118b8a83d446b4965347bba126a488}\label{definitions_8h_af1118b8a83d446b4965347bba126a488}} -\index{definitions.\+h@{definitions.\+h}!R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+C\+K\+S\+UM@{R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+C\+K\+S\+UM}} -\index{R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+C\+K\+S\+UM@{R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+C\+K\+S\+UM}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+C\+K\+S\+UM}{ROBOT\_CHECKSUM}} -{\footnotesize\ttfamily \#define R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+C\+K\+S\+UM~-\/4} - - - -Definition at line 51 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a4aefbbdd5d35999aa0575ab7183148d4}\label{definitions_8h_a4aefbbdd5d35999aa0575ab7183148d4}} -\index{definitions.\+h@{definitions.\+h}!R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR@{R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR}} -\index{R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR@{R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR}{ROBOT\_ERROR}} -{\footnotesize\ttfamily \#define R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR~-\/1} - - - -Definition at line 50 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_ad7b2f95c0b423fb9784acb897b910c36}\label{definitions_8h_ad7b2f95c0b423fb9784acb897b910c36}} -\index{definitions.\+h@{definitions.\+h}!R\+O\+B\+O\+T\+\_\+\+OK@{R\+O\+B\+O\+T\+\_\+\+OK}} -\index{R\+O\+B\+O\+T\+\_\+\+OK@{R\+O\+B\+O\+T\+\_\+\+OK}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{R\+O\+B\+O\+T\+\_\+\+OK}{ROBOT\_OK}} -{\footnotesize\ttfamily \#define R\+O\+B\+O\+T\+\_\+\+OK~0} - - - -Definition at line 52 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a624686d3af63394ee02f0a197967d44a}\label{definitions_8h_a624686d3af63394ee02f0a197967d44a}} -\index{definitions.\+h@{definitions.\+h}!R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT@{R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}} -\index{R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT@{R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}{ROBOT\_TIMED\_OUT}} -{\footnotesize\ttfamily \#define R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT~-\/3} - - - -Definition at line 48 of file definitions.\+h. - -\mbox{\Hypertarget{definitions_8h_a70a2d5db14b900843364adb7cfe53ac8}\label{definitions_8h_a70a2d5db14b900843364adb7cfe53ac8}} -\index{definitions.\+h@{definitions.\+h}!R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+N\+\_\+\+C\+MD@{R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+N\+\_\+\+C\+MD}} -\index{R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+N\+\_\+\+C\+MD@{R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+N\+\_\+\+C\+MD}!definitions.\+h@{definitions.\+h}} -\subsubsection{\texorpdfstring{R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+N\+\_\+\+C\+MD}{ROBOT\_UKNOWN\_CMD}} -{\footnotesize\ttfamily \#define R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+N\+\_\+\+C\+MD~-\/2} - - - -Definition at line 49 of file definitions.\+h. - diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h__dep__incl.md5 deleted file mode 100644 index ceaa7c5..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0ff198e66f93f7f3727a8650ff7342c9 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h__dep__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h__dep__incl.pdf deleted file mode 100644 index 1f303a8..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/definitions_8h__dep__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex b/software/raspberry/superviseur-robot/lib/doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex deleted file mode 100644 index b4f044c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/dir_68267d1309a1af8e8297ef4c3efbcdba.tex +++ /dev/null @@ -1,15 +0,0 @@ -\hypertarget{dir_68267d1309a1af8e8297ef4c3efbcdba}{}\section{src Directory Reference} -\label{dir_68267d1309a1af8e8297ef4c3efbcdba}\index{src Directory Reference@{src Directory Reference}} -\subsection*{Files} -\begin{DoxyCompactItemize} -\item -file \hyperlink{image_8cpp}{image.\+cpp} -\begin{DoxyCompactList}\small\item\em Fonctions de traitement d\textquotesingle{}image utilisable pour la détection du robot. \end{DoxyCompactList}\item -file \hyperlink{message_8cpp}{message.\+cpp} -\begin{DoxyCompactList}\small\item\em Functions for sending message to monitor. \end{DoxyCompactList}\item -file \hyperlink{monitor_8cpp}{monitor.\+cpp} -\begin{DoxyCompactList}\small\item\em Library for sending message to monitor or receiving message. \end{DoxyCompactList}\item -file \hyperlink{robot_8cpp}{robot.\+cpp} -\item -file \hyperlink{server_8cpp}{server.\+cpp} -\begin{DoxyCompactList}\small\item\em Library for opening a T\+CP server, receiving data and sending message to monitor. \end{DoxyCompactList}\end{DoxyCompactItemize} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/doxygen.sty b/software/raspberry/superviseur-robot/lib/doc/latex/doxygen.sty deleted file mode 100644 index e457acc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/doxygen.sty +++ /dev/null @@ -1,503 +0,0 @@ -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{doxygen} - -% Packages used by this style file -\RequirePackage{alltt} -\RequirePackage{array} -\RequirePackage{calc} -\RequirePackage{float} -\RequirePackage{ifthen} -\RequirePackage{verbatim} -\RequirePackage[table]{xcolor} -\RequirePackage{longtable} -\RequirePackage{tabu} -\RequirePackage{tabularx} -\RequirePackage{multirow} - -%---------- Internal commands used in this style file ---------------- - -\newcommand{\ensurespace}[1]{% - \begingroup% - \setlength{\dimen@}{#1}% - \vskip\z@\@plus\dimen@% - \penalty -100\vskip\z@\@plus -\dimen@% - \vskip\dimen@% - \penalty 9999% - \vskip -\dimen@% - \vskip\z@skip% hide the previous |\vskip| from |\addvspace| - \endgroup% -} - -\newcommand{\DoxyLabelFont}{} -\newcommand{\entrylabel}[1]{% - {% - \parbox[b]{\labelwidth-4pt}{% - \makebox[0pt][l]{\DoxyLabelFont#1}% - \vspace{1.5\baselineskip}% - }% - }% -} - -\newenvironment{DoxyDesc}[1]{% - \ensurespace{4\baselineskip}% - \begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - \setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - }% - \item[#1]% -}{% - \end{list}% -} - -\newsavebox{\xrefbox} -\newlength{\xreflength} -\newcommand{\xreflabel}[1]{% - \sbox{\xrefbox}{#1}% - \setlength{\xreflength}{\wd\xrefbox}% - \ifthenelse{\xreflength>\labelwidth}{% - \begin{minipage}{\textwidth}% - \setlength{\parindent}{0pt}% - \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% - \end{minipage}% - }{% - \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% - }% -} - -%---------- Commands used by doxygen LaTeX output generator ---------- - -% Used by
 ... 
-\newenvironment{DoxyPre}{% - \small% - \begin{alltt}% -}{% - \end{alltt}% - \normalsize% -} - -% Used by @code ... @endcode -\newenvironment{DoxyCode}{% - \par% - \scriptsize% - \begin{alltt}% -}{% - \end{alltt}% - \normalsize% -} - -% Used by @example, @include, @includelineno and @dontinclude -\newenvironment{DoxyCodeInclude}{% - \DoxyCode% -}{% - \endDoxyCode% -} - -% Used by @verbatim ... @endverbatim -\newenvironment{DoxyVerb}{% - \footnotesize% - \verbatim% -}{% - \endverbatim% - \normalsize% -} - -% Used by @verbinclude -\newenvironment{DoxyVerbInclude}{% - \DoxyVerb% -}{% - \endDoxyVerb% -} - -% Used by numbered lists (using '-#' or
    ...
) -\newenvironment{DoxyEnumerate}{% - \enumerate% -}{% - \endenumerate% -} - -% Used by bullet lists (using '-', @li, @arg, or
    ...
) -\newenvironment{DoxyItemize}{% - \itemize% -}{% - \enditemize% -} - -% Used by description lists (using
...
) -\newenvironment{DoxyDescription}{% - \description% -}{% - \enddescription% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if caption is specified) -\newenvironment{DoxyImage}{% - \begin{figure}[H]% - \begin{center}% -}{% - \end{center}% - \end{figure}% -} - -% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc -% (only if no caption is specified) -\newenvironment{DoxyImageNoCaption}{% - \begin{center}% -}{% - \end{center}% -} - -% Used by @attention -\newenvironment{DoxyAttention}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @author and @authors -\newenvironment{DoxyAuthor}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @date -\newenvironment{DoxyDate}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @invariant -\newenvironment{DoxyInvariant}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @note -\newenvironment{DoxyNote}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @post -\newenvironment{DoxyPostcond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @pre -\newenvironment{DoxyPrecond}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @copyright -\newenvironment{DoxyCopyright}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @remark -\newenvironment{DoxyRemark}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @return and @returns -\newenvironment{DoxyReturn}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @since -\newenvironment{DoxySince}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @see -\newenvironment{DoxySeeAlso}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @version -\newenvironment{DoxyVersion}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @warning -\newenvironment{DoxyWarning}[1]{% - \begin{DoxyDesc}{#1}% -}{% - \end{DoxyDesc}% -} - -% Used by @internal -\newenvironment{DoxyInternal}[1]{% - \paragraph*{#1}% -}{% -} - -% Used by @par and @paragraph -\newenvironment{DoxyParagraph}[1]{% - \begin{list}{}{% - \settowidth{\labelwidth}{40pt}% - \setlength{\leftmargin}{\labelwidth}% - \setlength{\parsep}{0pt}% - \setlength{\itemsep}{-4pt}% - \renewcommand{\makelabel}{\entrylabel}% - }% - \item[#1]% -}{% - \end{list}% -} - -% Used by parameter lists -\newenvironment{DoxyParams}[2][]{% - \tabulinesep=1mm% - \par% - \ifthenelse{\equal{#1}{}}% - {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description - {\ifthenelse{\equal{#1}{1}}% - {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc - {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc - } - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu}% - \vspace{6pt}% -} - -% Used for fields of simple structs -\newenvironment{DoxyFields}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu}% - \vspace{6pt}% -} - -% Used for fields simple class style enums -\newenvironment{DoxyEnumFields}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu}% - \vspace{6pt}% -} - -% Used for parameters within a detailed function description -\newenvironment{DoxyParamCaption}{% - \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% -}{% -} - -% Used by return value lists -\newenvironment{DoxyRetVals}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu}% - \vspace{6pt}% -} - -% Used by exception lists -\newenvironment{DoxyExceptions}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu}% - \vspace{6pt}% -} - -% Used by template parameter lists -\newenvironment{DoxyTemplParams}[1]{% - \tabulinesep=1mm% - \par% - \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endfirsthead% - \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% - \hline% - \endhead% -}{% - \end{longtabu}% - \vspace{6pt}% -} - -% Used for member lists -\newenvironment{DoxyCompactItemize}{% - \begin{itemize}% - \setlength{\itemsep}{-3pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \setlength{\partopsep}{0pt}% -}{% - \end{itemize}% -} - -% Used for member descriptions -\newenvironment{DoxyCompactList}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - \setlength{\itemsep}{0pt}% - \setlength{\parsep}{0pt}% - \setlength{\topsep}{0pt}% - \renewcommand{\makelabel}{\hfill}% - }% -}{% - \end{list}% -} - -% Used for reference lists (@bug, @deprecated, @todo, etc.) -\newenvironment{DoxyRefList}{% - \begin{list}{}{% - \setlength{\labelwidth}{10pt}% - \setlength{\leftmargin}{\labelwidth}% - \addtolength{\leftmargin}{\labelsep}% - \renewcommand{\makelabel}{\xreflabel}% - }% -}{% - \end{list}% -} - -% Used by @bug, @deprecated, @todo, etc. -\newenvironment{DoxyRefDesc}[1]{% - \begin{list}{}{% - \renewcommand\makelabel[1]{\textbf{##1}}% - \settowidth\labelwidth{\makelabel{#1}}% - \setlength\leftmargin{\labelwidth+\labelsep}% - }% -}{% - \end{list}% -} - -% Used by parameter lists and simple sections -\newenvironment{Desc} -{\begin{list}{}{% - \settowidth{\labelwidth}{20pt}% - \setlength{\parsep}{0pt}% - \setlength{\itemsep}{0pt}% - \setlength{\leftmargin}{\labelwidth+\labelsep}% - \renewcommand{\makelabel}{\entrylabel}% - } -}{% - \end{list}% -} - -% Used by tables -\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% -\newenvironment{TabularC}[1]% -{\tabulinesep=1mm -\begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}% -{\end{longtabu}\par}% - -\newenvironment{TabularNC}[1]% -{\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}% -{\end{tabu}\par}% - -% Used for member group headers -\newenvironment{Indent}{% - \begin{list}{}{% - \setlength{\leftmargin}{0.5cm}% - }% - \item[]\ignorespaces% -}{% - \unskip% - \end{list}% -} - -% Used when hyperlinks are turned off -\newcommand{\doxyref}[3]{% - \textbf{#1} (\textnormal{#2}\,\pageref{#3})% -} - -% Used to link to a table when hyperlinks are turned on -\newcommand{\doxytablelink}[2]{% - \ref{#1}% -} - -% Used to link to a table when hyperlinks are turned off -\newcommand{\doxytableref}[3]{% - \ref{#3}% -} - -% Used by @addindex -\newcommand{\lcurly}{\{} -\newcommand{\rcurly}{\}} - -% Colors used for syntax highlighting -\definecolor{comment}{rgb}{0.5,0.0,0.0} -\definecolor{keyword}{rgb}{0.0,0.5,0.0} -\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} -\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} -\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} -\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} -\definecolor{charliteral}{rgb}{0.0,0.5,0.5} -\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} -\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} -\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} -\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} - -% Color used for table heading -\newcommand{\tableheadbgcolor}{lightgray}% - -% Version of hypertarget with correct landing location -\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} - -% Define caption that is also suitable in a table -\makeatletter -\def\doxyfigcaption{% -\refstepcounter{figure}% -\@dblarg{\@caption{figure}}} -\makeatother diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/files.tex b/software/raspberry/superviseur-robot/lib/doc/latex/files.tex deleted file mode 100644 index 1ea8262..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/files.tex +++ /dev/null @@ -1,9 +0,0 @@ -\section{File List} -Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} -\item\contentsline{section}{\hyperlink{definitions_8h}{definitions.\+h} \\*Various constants used in destjil project }{\pageref{definitions_8h}}{} -\item\contentsline{section}{\hyperlink{image_8h}{image.\+h} \\*Functions for image treatment }{\pageref{image_8h}}{} -\item\contentsline{section}{\hyperlink{message_8h}{message.\+h} \\*Functions for sending message to monitor }{\pageref{message_8h}}{} -\item\contentsline{section}{\hyperlink{monitor_8h}{monitor.\+h} \\*Library for sending message to monitor or receiving message }{\pageref{monitor_8h}}{} -\item\contentsline{section}{\hyperlink{robot_8h}{robot.\+h} \\*Fonctions for communicating with robot }{\pageref{robot_8h}}{} -\item\contentsline{section}{\hyperlink{server_8h}{server.\+h} \\*Library for opening a T\+CP server, receiving data and sending message to monitor }{\pageref{server_8h}}{} -\end{DoxyCompactList} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp.tex b/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp.tex deleted file mode 100644 index 7f053b0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp.tex +++ /dev/null @@ -1,283 +0,0 @@ -\hypertarget{image_8cpp}{}\section{src/image.cpp File Reference} -\label{image_8cpp}\index{src/image.\+cpp@{src/image.\+cpp}} - - -Fonctions de traitement d\textquotesingle{}image utilisable pour la détection du robot. - - -{\ttfamily \#include \char`\"{}image.\+h\char`\"{}}\newline -{\ttfamily \#include $<$iostream$>$}\newline -Include dependency graph for image.\+cpp\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{image_8cpp__incl} -\end{center} -\end{figure} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -float \hyperlink{image_8cpp_afe015c86402c7d09d9d7b28587c7fd1b}{calcul\+Angle} (\hyperlink{struct_position}{Position} $\ast$position\+Robot) -\item -int \hyperlink{image_8cpp_a41fa265b5f57fcd2a13e726880297d12}{crop\+Arena} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Output, \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$Arene\+Input) -\item -float \hyperlink{image_8cpp_a73f53d1da08f1f8123da89585d16c7ef}{euclidean\+Dist} (Point \&p, Point \&q) -\item -void \hyperlink{image_8cpp_a5ffd032a466af45a505fb46252194bbf}{draw\+\_\+arena} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Output, \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$mon\+Arene) -\begin{DoxyCompactList}\small\item\em Dessine le plus petit rectangle contenant l\textquotesingle{}arène. \end{DoxyCompactList}\item -int \hyperlink{image_8cpp_aca0662ab31eac7fdb2d64fecc52ff1da}{open\+\_\+camera} (\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$camera) -\begin{DoxyCompactList}\small\item\em Ouvre une camera. \end{DoxyCompactList}\item -void \hyperlink{image_8cpp_a864afddf57678b37b99d9eca70405d63}{get\+\_\+image} (\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$camera, \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$mon\+Image, const char $\ast$fichier) -\begin{DoxyCompactList}\small\item\em Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image. \end{DoxyCompactList}\item -void \hyperlink{image_8cpp_a19eac11a04cb4b86fd32e6a36445ad5d}{close\+\_\+camera} (\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$camera) -\begin{DoxyCompactList}\small\item\em Ferme la camera passé en paramètre. \end{DoxyCompactList}\item -int \hyperlink{image_8cpp_acad45df4061a55f17be0db97c1406249}{detect\+\_\+arena} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$mon\+Image, \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$rectangle) -\begin{DoxyCompactList}\small\item\em Détecte une arène dans une image fournis en paramètre. \end{DoxyCompactList}\item -void \hyperlink{image_8cpp_a909ca7577f0ac2e4bd0ea21291690dce}{compress\+\_\+image} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$image\+Compress) -\begin{DoxyCompactList}\small\item\em Détecte la position d\textquotesingle{}un robot. \end{DoxyCompactList}\item -int \hyperlink{image_8cpp_ac813f76084a0d9d252fb5c01830ab7df}{detect\+\_\+position} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{struct_position}{Position} $\ast$pos\+Triangle, \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$mon\+Arene) -\begin{DoxyCompactList}\small\item\em Détecte la position d\textquotesingle{}un robot. \end{DoxyCompactList}\item -void \hyperlink{image_8cpp_a869c3946d4a414b8730ca4f91fbd9556}{draw\+\_\+position} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Output, \hyperlink{struct_position}{Position} $\ast$position\+Robot) -\begin{DoxyCompactList}\small\item\em Dessine sur une image en entrée la position d\textquotesingle{}un robot et sa direction. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Fonctions de traitement d\textquotesingle{}image utilisable pour la détection du robot. - -\begin{DoxyAuthor}{Author} -L.\+Senaneuch -\end{DoxyAuthor} -\begin{DoxyVersion}{Version} -1.\+0 -\end{DoxyVersion} -\begin{DoxyDate}{Date} -06/06/2017 -\end{DoxyDate} -Ce fichier utilise la libraire open\+C\+V2 pour faciliter le traitement d\textquotesingle{}image dans le projet Destijl. Il permet de faciliter la détection de l\textquotesingle{}arène et la détection du robot. /!\textbackslash{} Attention Bien que celui-\/ci soit un .cpp la structure du code n\textquotesingle{}est pas sous forme d\textquotesingle{}objet. - -\subsection{Function Documentation} -\mbox{\Hypertarget{image_8cpp_afe015c86402c7d09d9d7b28587c7fd1b}\label{image_8cpp_afe015c86402c7d09d9d7b28587c7fd1b}} -\index{image.\+cpp@{image.\+cpp}!calcul\+Angle@{calcul\+Angle}} -\index{calcul\+Angle@{calcul\+Angle}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{calcul\+Angle()}{calculAngle()}} -{\footnotesize\ttfamily float calcul\+Angle (\begin{DoxyParamCaption}\item[{\hyperlink{struct_position}{Position} $\ast$}]{position\+Robot }\end{DoxyParamCaption})} - - - -Definition at line 253 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_a19eac11a04cb4b86fd32e6a36445ad5d}\label{image_8cpp_a19eac11a04cb4b86fd32e6a36445ad5d}} -\index{image.\+cpp@{image.\+cpp}!close\+\_\+camera@{close\+\_\+camera}} -\index{close\+\_\+camera@{close\+\_\+camera}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{close\+\_\+camera()}{close\_camera()}} -{\footnotesize\ttfamily void close\+\_\+camera (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$}]{camera }\end{DoxyParamCaption})} - - - -Ferme la camera passé en paramètre. - - -\begin{DoxyParams}{Parameters} -{\em $\ast$\+Camera} & Pointeur sur la camera à fermer \\ -\hline -\end{DoxyParams} - - -Definition at line 112 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_a909ca7577f0ac2e4bd0ea21291690dce}\label{image_8cpp_a909ca7577f0ac2e4bd0ea21291690dce}} -\index{image.\+cpp@{image.\+cpp}!compress\+\_\+image@{compress\+\_\+image}} -\index{compress\+\_\+image@{compress\+\_\+image}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{compress\+\_\+image()}{compress\_image()}} -{\footnotesize\ttfamily void compress\+\_\+image (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$}]{image\+Compress }\end{DoxyParamCaption})} - - - -Détecte la position d\textquotesingle{}un robot. - -Détecte la position de triangles blanc sur une image /a img\+Input passé en paramètre d\textquotesingle{}entrer. - - -\begin{DoxyParams}{Parameters} -{\em $\ast$img\+Input} & Pointeur sur l\textquotesingle{}image à sauvegarder en mémoire sous format jpg. \\ -\hline -{\em $\ast$image\+Compress} & Pointeur sur une image .jpg. \\ -\hline -\end{DoxyParams} - - -Definition at line 164 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_a41fa265b5f57fcd2a13e726880297d12}\label{image_8cpp_a41fa265b5f57fcd2a13e726880297d12}} -\index{image.\+cpp@{image.\+cpp}!crop\+Arena@{crop\+Arena}} -\index{crop\+Arena@{crop\+Arena}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{crop\+Arena()}{cropArena()}} -{\footnotesize\ttfamily int crop\+Arena (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Output, }\item[{\hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$}]{Arene\+Input }\end{DoxyParamCaption})} - - - -Definition at line 150 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_acad45df4061a55f17be0db97c1406249}\label{image_8cpp_acad45df4061a55f17be0db97c1406249}} -\index{image.\+cpp@{image.\+cpp}!detect\+\_\+arena@{detect\+\_\+arena}} -\index{detect\+\_\+arena@{detect\+\_\+arena}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{detect\+\_\+arena()}{detect\_arena()}} -{\footnotesize\ttfamily int detect\+\_\+arena (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{mon\+Image, }\item[{\hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$}]{rectangle }\end{DoxyParamCaption})} - - - -Détecte une arène dans une image fournis en paramètre. - - -\begin{DoxyParams}{Parameters} -{\em $\ast$mon\+Image} & Pointeur sur l\textquotesingle{}image d\textquotesingle{}entrée \\ -\hline -{\em $\ast$rectangle} & Pointeur sur les coordonnées du rectangles trouvé. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Retourne -\/1 si aucune arène n\textquotesingle{}est détectée. Sinon retourne 0 -\end{DoxyReturn} - - -Definition at line 126 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_ac813f76084a0d9d252fb5c01830ab7df}\label{image_8cpp_ac813f76084a0d9d252fb5c01830ab7df}} -\index{image.\+cpp@{image.\+cpp}!detect\+\_\+position@{detect\+\_\+position}} -\index{detect\+\_\+position@{detect\+\_\+position}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{detect\+\_\+position()}{detect\_position()}} -{\footnotesize\ttfamily int detect\+\_\+position (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{struct_position}{Position} $\ast$}]{pos\+Triangle, }\item[{\hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$}]{mon\+Arene = {\ttfamily NULL} }\end{DoxyParamCaption})} - - - -Détecte la position d\textquotesingle{}un robot. - -Détecte la position de triangles blanc sur une image /a img\+Input passé en paramètre d\textquotesingle{}entrer. - - -\begin{DoxyParams}{Parameters} -{\em $\ast$img\+Input} & Pointeur sur l\textquotesingle{}image sur laquelle chercher la position du des robots. \\ -\hline -{\em $\ast$pos\+Triangle} & Pointeur sur un tableau de position ou seront stocké les positions des triangles détectés. \\ -\hline -{\em $\ast$mon\+Arene} & Pointeur de type Arène si nécessaire d\textquotesingle{}affiner la recherche (optionnel) \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Le nombre de triangles détectés. -\end{DoxyReturn} - - -Definition at line 170 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_a5ffd032a466af45a505fb46252194bbf}\label{image_8cpp_a5ffd032a466af45a505fb46252194bbf}} -\index{image.\+cpp@{image.\+cpp}!draw\+\_\+arena@{draw\+\_\+arena}} -\index{draw\+\_\+arena@{draw\+\_\+arena}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{draw\+\_\+arena()}{draw\_arena()}} -{\footnotesize\ttfamily void draw\+\_\+arena (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Output, }\item[{\hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$}]{mon\+Arene }\end{DoxyParamCaption})} - - - -Dessine le plus petit rectangle contenant l\textquotesingle{}arène. - - -\begin{DoxyParams}{Parameters} -{\em $\ast$img\+Input} & Pointeur sur l\textquotesingle{}image d\textquotesingle{}entrée. \\ -\hline -{\em $\ast$img\+Output} & Pointeur sur l\textquotesingle{}image de sortie (image d\textquotesingle{}entrée + arène marquée) \\ -\hline -{\em $\ast$mon\+Arene} & Pointeur de type Arène contenant les information à dessiner \\ -\hline -\end{DoxyParams} - - -Definition at line 51 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_a869c3946d4a414b8730ca4f91fbd9556}\label{image_8cpp_a869c3946d4a414b8730ca4f91fbd9556}} -\index{image.\+cpp@{image.\+cpp}!draw\+\_\+position@{draw\+\_\+position}} -\index{draw\+\_\+position@{draw\+\_\+position}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{draw\+\_\+position()}{draw\_position()}} -{\footnotesize\ttfamily void draw\+\_\+position (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Output, }\item[{\hyperlink{struct_position}{Position} $\ast$}]{position\+Robot }\end{DoxyParamCaption})} - - - -Dessine sur une image en entrée la position d\textquotesingle{}un robot et sa direction. - -Sauvegarde l\textquotesingle{}image des coordonnées passées par position\+Robot superposée à l\textquotesingle{}image d\textquotesingle{}entrée sur img\+Output. - - -\begin{DoxyParams}{Parameters} -{\em $\ast$img\+Input} & Pointeur sur l\textquotesingle{}image d\textquotesingle{}entrée \\ -\hline -{\em $\ast$img\+Output} & Pointeur sur l\textquotesingle{}image de sortie ( image d\textquotesingle{}entrée + dessin de la position) \\ -\hline -{\em $\ast$position\+Robot} & Pointeur sur la structure position d\textquotesingle{}un robot. \\ -\hline -\end{DoxyParams} - - -Definition at line 244 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_a73f53d1da08f1f8123da89585d16c7ef}\label{image_8cpp_a73f53d1da08f1f8123da89585d16c7ef}} -\index{image.\+cpp@{image.\+cpp}!euclidean\+Dist@{euclidean\+Dist}} -\index{euclidean\+Dist@{euclidean\+Dist}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{euclidean\+Dist()}{euclideanDist()}} -{\footnotesize\ttfamily float euclidean\+Dist (\begin{DoxyParamCaption}\item[{Point \&}]{p, }\item[{Point \&}]{q }\end{DoxyParamCaption})} - - - -Definition at line 159 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_a864afddf57678b37b99d9eca70405d63}\label{image_8cpp_a864afddf57678b37b99d9eca70405d63}} -\index{image.\+cpp@{image.\+cpp}!get\+\_\+image@{get\+\_\+image}} -\index{get\+\_\+image@{get\+\_\+image}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{get\+\_\+image()}{get\_image()}} -{\footnotesize\ttfamily void get\+\_\+image (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$}]{camera, }\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{mon\+Image, }\item[{const char $\ast$}]{fichier = {\ttfamily NULL} }\end{DoxyParamCaption})} - - - -Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image. - -La camera doit préalablement être ouverte via {\itshape open\+Camera}(...) - - -\begin{DoxyParams}{Parameters} -{\em $\ast$\+Camera} & Pointeur sur la camera passée en entrée. \\ -\hline -{\em $\ast$mon\+Image} & Pointeur sur une image capturée. \\ -\hline -{\em $\ast$fichier} & chemin du fichier d\textquotesingle{}image \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Retourne -\/1 si une erreur survient. -\end{DoxyReturn} - - -Definition at line 93 of file image.\+cpp. - -\mbox{\Hypertarget{image_8cpp_aca0662ab31eac7fdb2d64fecc52ff1da}\label{image_8cpp_aca0662ab31eac7fdb2d64fecc52ff1da}} -\index{image.\+cpp@{image.\+cpp}!open\+\_\+camera@{open\+\_\+camera}} -\index{open\+\_\+camera@{open\+\_\+camera}!image.\+cpp@{image.\+cpp}} -\subsubsection{\texorpdfstring{open\+\_\+camera()}{open\_camera()}} -{\footnotesize\ttfamily int open\+\_\+camera (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$}]{camera }\end{DoxyParamCaption})} - - - -Ouvre une camera. - -Met à jour le descripteur de fichier passé en paramètre pour correspondre à la camera ouverte - - -\begin{DoxyParams}{Parameters} -{\em $\ast$\+Camera} & Pointeur d\textquotesingle{}un file descriptor d\textquotesingle{}une camera ouverte \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -retourne 0 si la camera a été ouverte correctement et -\/1 si une erreur survient. -\end{DoxyReturn} - - -Definition at line 58 of file image.\+cpp. - diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp__incl.md5 deleted file mode 100644 index 9ae2540..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -1a9e436ff61a4ce15dc9d75b9819db92 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp__incl.pdf deleted file mode 100644 index 72320a5..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/image_8cpp__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h.tex b/software/raspberry/superviseur-robot/lib/doc/latex/image_8h.tex deleted file mode 100644 index e3c9431..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h.tex +++ /dev/null @@ -1,312 +0,0 @@ -\hypertarget{image_8h}{}\section{image.\+h File Reference} -\label{image_8h}\index{image.\+h@{image.\+h}} - - -Functions for image treatment. - - -{\ttfamily \#include $<$raspicam/raspicam\+\_\+cv.\+h$>$}\newline -{\ttfamily \#include \char`\"{}opencv2/imgproc/imgproc.\+hpp\char`\"{}}\newline -{\ttfamily \#include $<$unistd.\+h$>$}\newline -{\ttfamily \#include $<$math.\+h$>$}\newline -Include dependency graph for image.\+h\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{image_8h__incl} -\end{center} -\end{figure} -This graph shows which files directly or indirectly include this file\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=208pt]{image_8h__dep__incl} -\end{center} -\end{figure} -\subsection*{Classes} -\begin{DoxyCompactItemize} -\item -struct \hyperlink{struct_position}{Position} -\end{DoxyCompactItemize} -\subsection*{Macros} -\begin{DoxyCompactItemize} -\item -\#define \hyperlink{image_8h_a241aeeb764887ae5e3de58b98f04b16d}{W\+I\+D\+TH}~480 -\item -\#define \hyperlink{image_8h_aed89bd71aee8be823e8a20ec4e093c1e}{H\+E\+I\+G\+HT}~360 -\end{DoxyCompactItemize} -\subsection*{Typedefs} -\begin{DoxyCompactItemize} -\item -typedef Mat \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} -\item -typedef Raspi\+Cam\+\_\+\+Cv \hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} -\item -typedef Rect \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} -\item -typedef vector$<$ unsigned char $>$ \hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} -\end{DoxyCompactItemize} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -int \hyperlink{image_8h_aca0662ab31eac7fdb2d64fecc52ff1da}{open\+\_\+camera} (\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$camera) -\begin{DoxyCompactList}\small\item\em Ouvre une camera. \end{DoxyCompactList}\item -void \hyperlink{image_8h_a19eac11a04cb4b86fd32e6a36445ad5d}{close\+\_\+camera} (\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$camera) -\begin{DoxyCompactList}\small\item\em Ferme la camera passé en paramètre. \end{DoxyCompactList}\item -void \hyperlink{image_8h_ad904f3348c2d44f9c82435c94cd83844}{get\+\_\+image} (\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$camera, \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$mon\+Image, const char $\ast$fichier=N\+U\+LL) -\begin{DoxyCompactList}\small\item\em Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image. \end{DoxyCompactList}\item -int \hyperlink{image_8h_acad45df4061a55f17be0db97c1406249}{detect\+\_\+arena} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$mon\+Image, \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$rectangle) -\begin{DoxyCompactList}\small\item\em Détecte une arène dans une image fournis en paramètre. \end{DoxyCompactList}\item -void \hyperlink{image_8h_a5ffd032a466af45a505fb46252194bbf}{draw\+\_\+arena} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Output, \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$mon\+Arene) -\begin{DoxyCompactList}\small\item\em Dessine le plus petit rectangle contenant l\textquotesingle{}arène. \end{DoxyCompactList}\item -int \hyperlink{image_8h_af9f6e2dd4409486f2f6446d1a8a02c40}{detect\+\_\+position} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{struct_position}{Position} $\ast$pos\+Triangle, \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$mon\+Arene=N\+U\+LL) -\begin{DoxyCompactList}\small\item\em Détecte la position d\textquotesingle{}un robot. \end{DoxyCompactList}\item -void \hyperlink{image_8h_a869c3946d4a414b8730ca4f91fbd9556}{draw\+\_\+position} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Output, \hyperlink{struct_position}{Position} $\ast$position\+Robot) -\begin{DoxyCompactList}\small\item\em Dessine sur une image en entrée la position d\textquotesingle{}un robot et sa direction. \end{DoxyCompactList}\item -void \hyperlink{image_8h_a909ca7577f0ac2e4bd0ea21291690dce}{compress\+\_\+image} (\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$img\+Input, \hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$image\+Compress) -\begin{DoxyCompactList}\small\item\em Détecte la position d\textquotesingle{}un robot. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Functions for image treatment. - -\begin{DoxyAuthor}{Author} -L.\+Senaneuch -\end{DoxyAuthor} -\begin{DoxyVersion}{Version} -1.\+0 -\end{DoxyVersion} -\begin{DoxyDate}{Date} -06/06/2017 -\end{DoxyDate} -This file use open\+C\+V2 library for picture processing. This allow to detect arena and robot. - -\subsection{Macro Definition Documentation} -\mbox{\Hypertarget{image_8h_aed89bd71aee8be823e8a20ec4e093c1e}\label{image_8h_aed89bd71aee8be823e8a20ec4e093c1e}} -\index{image.\+h@{image.\+h}!H\+E\+I\+G\+HT@{H\+E\+I\+G\+HT}} -\index{H\+E\+I\+G\+HT@{H\+E\+I\+G\+HT}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{H\+E\+I\+G\+HT}{HEIGHT}} -{\footnotesize\ttfamily \#define H\+E\+I\+G\+HT~360} - - - -Definition at line 45 of file image.\+h. - -\mbox{\Hypertarget{image_8h_a241aeeb764887ae5e3de58b98f04b16d}\label{image_8h_a241aeeb764887ae5e3de58b98f04b16d}} -\index{image.\+h@{image.\+h}!W\+I\+D\+TH@{W\+I\+D\+TH}} -\index{W\+I\+D\+TH@{W\+I\+D\+TH}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{W\+I\+D\+TH}{WIDTH}} -{\footnotesize\ttfamily \#define W\+I\+D\+TH~480} - - - -Definition at line 44 of file image.\+h. - - - -\subsection{Typedef Documentation} -\mbox{\Hypertarget{image_8h_aa856a7cb8a1535c9f13096bede6c8586}\label{image_8h_aa856a7cb8a1535c9f13096bede6c8586}} -\index{image.\+h@{image.\+h}!Arene@{Arene}} -\index{Arene@{Arene}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{Arene}{Arene}} -{\footnotesize\ttfamily typedef Rect \hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene}} - - - -Definition at line 66 of file image.\+h. - -\mbox{\Hypertarget{image_8h_a739dda3f6f6ddbab22617837b43a692a}\label{image_8h_a739dda3f6f6ddbab22617837b43a692a}} -\index{image.\+h@{image.\+h}!Camera@{Camera}} -\index{Camera@{Camera}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{Camera}{Camera}} -{\footnotesize\ttfamily typedef Raspi\+Cam\+\_\+\+Cv \hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera}} - - - -Definition at line 58 of file image.\+h. - -\mbox{\Hypertarget{image_8h_a466446fef9c0348568bc6743186d1a38}\label{image_8h_a466446fef9c0348568bc6743186d1a38}} -\index{image.\+h@{image.\+h}!Image@{Image}} -\index{Image@{Image}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{Image}{Image}} -{\footnotesize\ttfamily typedef Mat \hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image}} - - - -Definition at line 55 of file image.\+h. - -\mbox{\Hypertarget{image_8h_a9ac2855e21920c676a108df386ff9415}\label{image_8h_a9ac2855e21920c676a108df386ff9415}} -\index{image.\+h@{image.\+h}!Jpg@{Jpg}} -\index{Jpg@{Jpg}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{Jpg}{Jpg}} -{\footnotesize\ttfamily typedef vector$<$unsigned char$>$ \hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg}} - - - -Definition at line 67 of file image.\+h. - - - -\subsection{Function Documentation} -\mbox{\Hypertarget{image_8h_a19eac11a04cb4b86fd32e6a36445ad5d}\label{image_8h_a19eac11a04cb4b86fd32e6a36445ad5d}} -\index{image.\+h@{image.\+h}!close\+\_\+camera@{close\+\_\+camera}} -\index{close\+\_\+camera@{close\+\_\+camera}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{close\+\_\+camera()}{close\_camera()}} -{\footnotesize\ttfamily void close\+\_\+camera (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$}]{camera }\end{DoxyParamCaption})} - - - -Ferme la camera passé en paramètre. - - -\begin{DoxyParams}{Parameters} -{\em camera} & Pointeur sur la camera à fermer \\ -\hline -\end{DoxyParams} -\mbox{\Hypertarget{image_8h_a909ca7577f0ac2e4bd0ea21291690dce}\label{image_8h_a909ca7577f0ac2e4bd0ea21291690dce}} -\index{image.\+h@{image.\+h}!compress\+\_\+image@{compress\+\_\+image}} -\index{compress\+\_\+image@{compress\+\_\+image}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{compress\+\_\+image()}{compress\_image()}} -{\footnotesize\ttfamily void compress\+\_\+image (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$}]{image\+Compress }\end{DoxyParamCaption})} - - - -Détecte la position d\textquotesingle{}un robot. - -Détecte la position de triangles blanc sur une image /a img\+Input passé en paramètre d\textquotesingle{}entrer. - - -\begin{DoxyParams}{Parameters} -{\em img\+Input} & Pointeur sur l\textquotesingle{}image à sauvegarder en mémoire sous format jpg. \\ -\hline -{\em image\+Compress} & Pointeur sur une image .jpg. \\ -\hline -\end{DoxyParams} -\mbox{\Hypertarget{image_8h_acad45df4061a55f17be0db97c1406249}\label{image_8h_acad45df4061a55f17be0db97c1406249}} -\index{image.\+h@{image.\+h}!detect\+\_\+arena@{detect\+\_\+arena}} -\index{detect\+\_\+arena@{detect\+\_\+arena}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{detect\+\_\+arena()}{detect\_arena()}} -{\footnotesize\ttfamily int detect\+\_\+arena (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{mon\+Image, }\item[{\hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$}]{rectangle }\end{DoxyParamCaption})} - - - -Détecte une arène dans une image fournis en paramètre. - - -\begin{DoxyParams}{Parameters} -{\em mon\+Image} & Pointeur sur l\textquotesingle{}image d\textquotesingle{}entrée \\ -\hline -{\em rectangle} & Pointeur sur les coordonnées du rectangles trouvé. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Retourne -\/1 si aucune arène n\textquotesingle{}est détectée. Sinon retourne 0 -\end{DoxyReturn} -\mbox{\Hypertarget{image_8h_af9f6e2dd4409486f2f6446d1a8a02c40}\label{image_8h_af9f6e2dd4409486f2f6446d1a8a02c40}} -\index{image.\+h@{image.\+h}!detect\+\_\+position@{detect\+\_\+position}} -\index{detect\+\_\+position@{detect\+\_\+position}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{detect\+\_\+position()}{detect\_position()}} -{\footnotesize\ttfamily int detect\+\_\+position (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{struct_position}{Position} $\ast$}]{pos\+Triangle, }\item[{\hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$}]{mon\+Arene = {\ttfamily NULL} }\end{DoxyParamCaption})} - - - -Détecte la position d\textquotesingle{}un robot. - -Détecte la position de triangles blanc sur une image /a img\+Input passé en paramètre d\textquotesingle{}entrer. - - -\begin{DoxyParams}{Parameters} -{\em img\+Input} & Pointeur sur l\textquotesingle{}image sur laquelle chercher la position du des robots. \\ -\hline -{\em pos\+Triangle} & Pointeur sur un tableau de position ou seront stocké les positions des triangles détectés. \\ -\hline -{\em mon\+Arene} & Pointeur de type Arène si nécessaire d\textquotesingle{}affiner la recherche (optionnel) \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Le nombre de triangles détectés. -\end{DoxyReturn} -\mbox{\Hypertarget{image_8h_a5ffd032a466af45a505fb46252194bbf}\label{image_8h_a5ffd032a466af45a505fb46252194bbf}} -\index{image.\+h@{image.\+h}!draw\+\_\+arena@{draw\+\_\+arena}} -\index{draw\+\_\+arena@{draw\+\_\+arena}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{draw\+\_\+arena()}{draw\_arena()}} -{\footnotesize\ttfamily void draw\+\_\+arena (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Output, }\item[{\hyperlink{image_8h_aa856a7cb8a1535c9f13096bede6c8586}{Arene} $\ast$}]{mon\+Arene }\end{DoxyParamCaption})} - - - -Dessine le plus petit rectangle contenant l\textquotesingle{}arène. - - -\begin{DoxyParams}{Parameters} -{\em img\+Input} & Pointeur sur l\textquotesingle{}image d\textquotesingle{}entrée. \\ -\hline -{\em img\+Output} & Pointeur sur l\textquotesingle{}image de sortie (image d\textquotesingle{}entrée + arène marquée) \\ -\hline -{\em mon\+Arene} & Pointeur de type Arène contenant les information à dessiner \\ -\hline -\end{DoxyParams} -\mbox{\Hypertarget{image_8h_a869c3946d4a414b8730ca4f91fbd9556}\label{image_8h_a869c3946d4a414b8730ca4f91fbd9556}} -\index{image.\+h@{image.\+h}!draw\+\_\+position@{draw\+\_\+position}} -\index{draw\+\_\+position@{draw\+\_\+position}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{draw\+\_\+position()}{draw\_position()}} -{\footnotesize\ttfamily void draw\+\_\+position (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Input, }\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{img\+Output, }\item[{\hyperlink{struct_position}{Position} $\ast$}]{position\+Robot }\end{DoxyParamCaption})} - - - -Dessine sur une image en entrée la position d\textquotesingle{}un robot et sa direction. - -Sauvegarde l\textquotesingle{}image des coordonnées passées par position\+Robot superposée à l\textquotesingle{}image d\textquotesingle{}entrée sur img\+Output. - - -\begin{DoxyParams}{Parameters} -{\em img\+Input} & Pointeur sur l\textquotesingle{}image d\textquotesingle{}entrée \\ -\hline -{\em img\+Output} & Pointeur sur l\textquotesingle{}image de sortie ( image d\textquotesingle{}entrée + dessin de la position) \\ -\hline -{\em position\+Robot} & Pointeur sur la structure position d\textquotesingle{}un robot. \\ -\hline -\end{DoxyParams} -\mbox{\Hypertarget{image_8h_ad904f3348c2d44f9c82435c94cd83844}\label{image_8h_ad904f3348c2d44f9c82435c94cd83844}} -\index{image.\+h@{image.\+h}!get\+\_\+image@{get\+\_\+image}} -\index{get\+\_\+image@{get\+\_\+image}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{get\+\_\+image()}{get\_image()}} -{\footnotesize\ttfamily void get\+\_\+image (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$}]{camera, }\item[{\hyperlink{image_8h_a466446fef9c0348568bc6743186d1a38}{Image} $\ast$}]{mon\+Image, }\item[{const char $\ast$}]{fichier = {\ttfamily NULL} }\end{DoxyParamCaption})} - - - -Capture une image avec la camera passée en entrée. En cas de test sans camera, la fonction charge une image. - -La camera doit préalablement être ouverte via {\itshape open\+Camera}(...) - - -\begin{DoxyParams}{Parameters} -{\em camera} & Pointeur sur la camera passée en entrée. \\ -\hline -{\em mon\+Image} & Pointeur sur une image capturée. \\ -\hline -{\em fichier} & Chemin du fichier d\textquotesingle{}image \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Retourne -\/1 si une erreur survient. -\end{DoxyReturn} -\mbox{\Hypertarget{image_8h_aca0662ab31eac7fdb2d64fecc52ff1da}\label{image_8h_aca0662ab31eac7fdb2d64fecc52ff1da}} -\index{image.\+h@{image.\+h}!open\+\_\+camera@{open\+\_\+camera}} -\index{open\+\_\+camera@{open\+\_\+camera}!image.\+h@{image.\+h}} -\subsubsection{\texorpdfstring{open\+\_\+camera()}{open\_camera()}} -{\footnotesize\ttfamily int open\+\_\+camera (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a739dda3f6f6ddbab22617837b43a692a}{Camera} $\ast$}]{camera }\end{DoxyParamCaption})} - - - -Ouvre une camera. - -Met à jour le descripteur de fichier passé en paramètre pour correspondre à la camera ouverte - - -\begin{DoxyParams}{Parameters} -{\em camera} & Pointeur d\textquotesingle{}un file descriptor d\textquotesingle{}une camera ouverte \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Retourne 0 si la camera a été ouverte correctement et -\/1 si une erreur survient. -\end{DoxyReturn} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__dep__incl.md5 deleted file mode 100644 index 7ad25e2..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -45c78d7de27e76d5c6847b572d8f01af \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__dep__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__dep__incl.pdf deleted file mode 100644 index 67b8b77..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__dep__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__incl.md5 deleted file mode 100644 index 9ca85f3..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -66a23c731490b9c00275965a9e8cb703 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__incl.pdf deleted file mode 100644 index 594fc32..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/image_8h__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp.tex b/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp.tex deleted file mode 100644 index f1537eb..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp.tex +++ /dev/null @@ -1,84 +0,0 @@ -\hypertarget{message_8cpp}{}\section{src/message.cpp File Reference} -\label{message_8cpp}\index{src/message.\+cpp@{src/message.\+cpp}} - - -Functions for sending message to monitor. - - -{\ttfamily \#include \char`\"{}message.\+h\char`\"{}}\newline -Include dependency graph for message.\+cpp\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=329pt]{message_8cpp__incl} -\end{center} -\end{figure} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -void \hyperlink{message_8cpp_a8c768ba3ccfd64ba1e39079c967aff26}{set\+\_\+msg\+To\+Mon\+\_\+header} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg, char $\ast$header) -\item -void \hyperlink{message_8cpp_aa938f8156bfca7379f533b751334ca6f}{set\+\_\+msg\+To\+Mon\+\_\+data} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg, void $\ast$data) -\item -void \hyperlink{message_8cpp_a285193a5a9d3b142f3f1c53c471d3173}{free\+\_\+msg\+To\+Mon\+\_\+data} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg) -\item -void \hyperlink{message_8cpp_ae409e822d69cee7483a2d41c62698a85}{print\+\_\+msg\+To\+Mon} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg) -\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Functions for sending message to monitor. - -\begin{DoxyAuthor}{Author} -P\+E.\+Hladik -\end{DoxyAuthor} -\begin{DoxyVersion}{Version} -1.\+0 -\end{DoxyVersion} -\begin{DoxyDate}{Date} -06/06/2017 -\end{DoxyDate} - - -\subsection{Function Documentation} -\mbox{\Hypertarget{message_8cpp_a285193a5a9d3b142f3f1c53c471d3173}\label{message_8cpp_a285193a5a9d3b142f3f1c53c471d3173}} -\index{message.\+cpp@{message.\+cpp}!free\+\_\+msg\+To\+Mon\+\_\+data@{free\+\_\+msg\+To\+Mon\+\_\+data}} -\index{free\+\_\+msg\+To\+Mon\+\_\+data@{free\+\_\+msg\+To\+Mon\+\_\+data}!message.\+cpp@{message.\+cpp}} -\subsubsection{\texorpdfstring{free\+\_\+msg\+To\+Mon\+\_\+data()}{free\_msgToMon\_data()}} -{\footnotesize\ttfamily void free\+\_\+msg\+To\+Mon\+\_\+data (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg }\end{DoxyParamCaption})} - - - -Definition at line 40 of file message.\+cpp. - -\mbox{\Hypertarget{message_8cpp_ae409e822d69cee7483a2d41c62698a85}\label{message_8cpp_ae409e822d69cee7483a2d41c62698a85}} -\index{message.\+cpp@{message.\+cpp}!print\+\_\+msg\+To\+Mon@{print\+\_\+msg\+To\+Mon}} -\index{print\+\_\+msg\+To\+Mon@{print\+\_\+msg\+To\+Mon}!message.\+cpp@{message.\+cpp}} -\subsubsection{\texorpdfstring{print\+\_\+msg\+To\+Mon()}{print\_msgToMon()}} -{\footnotesize\ttfamily void print\+\_\+msg\+To\+Mon (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg }\end{DoxyParamCaption})} - - - -Definition at line 46 of file message.\+cpp. - -\mbox{\Hypertarget{message_8cpp_aa938f8156bfca7379f533b751334ca6f}\label{message_8cpp_aa938f8156bfca7379f533b751334ca6f}} -\index{message.\+cpp@{message.\+cpp}!set\+\_\+msg\+To\+Mon\+\_\+data@{set\+\_\+msg\+To\+Mon\+\_\+data}} -\index{set\+\_\+msg\+To\+Mon\+\_\+data@{set\+\_\+msg\+To\+Mon\+\_\+data}!message.\+cpp@{message.\+cpp}} -\subsubsection{\texorpdfstring{set\+\_\+msg\+To\+Mon\+\_\+data()}{set\_msgToMon\_data()}} -{\footnotesize\ttfamily void set\+\_\+msg\+To\+Mon\+\_\+data (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg, }\item[{void $\ast$}]{data }\end{DoxyParamCaption})} - - - -Definition at line 32 of file message.\+cpp. - -\mbox{\Hypertarget{message_8cpp_a8c768ba3ccfd64ba1e39079c967aff26}\label{message_8cpp_a8c768ba3ccfd64ba1e39079c967aff26}} -\index{message.\+cpp@{message.\+cpp}!set\+\_\+msg\+To\+Mon\+\_\+header@{set\+\_\+msg\+To\+Mon\+\_\+header}} -\index{set\+\_\+msg\+To\+Mon\+\_\+header@{set\+\_\+msg\+To\+Mon\+\_\+header}!message.\+cpp@{message.\+cpp}} -\subsubsection{\texorpdfstring{set\+\_\+msg\+To\+Mon\+\_\+header()}{set\_msgToMon\_header()}} -{\footnotesize\ttfamily void set\+\_\+msg\+To\+Mon\+\_\+header (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg, }\item[{char $\ast$}]{header }\end{DoxyParamCaption})} - - - -Definition at line 28 of file message.\+cpp. - diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp__incl.md5 deleted file mode 100644 index 3cb14b8..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -c131ced6abd12634f212035041a05e9c \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp__incl.pdf deleted file mode 100644 index 4b180af..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/message_8cpp__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h.tex b/software/raspberry/superviseur-robot/lib/doc/latex/message_8h.tex deleted file mode 100644 index 77da227..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h.tex +++ /dev/null @@ -1,91 +0,0 @@ -\hypertarget{message_8h}{}\section{message.\+h File Reference} -\label{message_8h}\index{message.\+h@{message.\+h}} - - -Functions for sending message to monitor. - - -{\ttfamily \#include $<$stdio.\+h$>$}\newline -{\ttfamily \#include $<$stdlib.\+h$>$}\newline -{\ttfamily \#include $<$unistd.\+h$>$}\newline -{\ttfamily \#include $<$string.\+h$>$}\newline -Include dependency graph for message.\+h\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=329pt]{message_8h__incl} -\end{center} -\end{figure} -\subsection*{Classes} -\begin{DoxyCompactItemize} -\item -struct \hyperlink{struct_message_to_mon}{Message\+To\+Mon} -\end{DoxyCompactItemize} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -void \hyperlink{message_8h_a8c768ba3ccfd64ba1e39079c967aff26}{set\+\_\+msg\+To\+Mon\+\_\+header} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg, char $\ast$header) -\begin{DoxyCompactList}\small\item\em Set header part of monitor message. \end{DoxyCompactList}\item -void \hyperlink{message_8h_aa938f8156bfca7379f533b751334ca6f}{set\+\_\+msg\+To\+Mon\+\_\+data} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg, void $\ast$data) -\begin{DoxyCompactList}\small\item\em Set data part of monitor message. \end{DoxyCompactList}\item -void \hyperlink{message_8h_a285193a5a9d3b142f3f1c53c471d3173}{free\+\_\+msg\+To\+Mon\+\_\+data} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg) -\begin{DoxyCompactList}\small\item\em Dealocate moemory pointed by data part of message. \end{DoxyCompactList}\item -void \hyperlink{message_8h_ae409e822d69cee7483a2d41c62698a85}{print\+\_\+msg\+To\+Mon} (\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$msg) -\begin{DoxyCompactList}\small\item\em Print message, header and data. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Functions for sending message to monitor. - -\begin{DoxyAuthor}{Author} -P\+E.\+Hladik -\end{DoxyAuthor} -\begin{DoxyVersion}{Version} -1.\+0 -\end{DoxyVersion} -\begin{DoxyDate}{Date} -06/06/2017 -\end{DoxyDate} - - -\subsection{Function Documentation} -\mbox{\Hypertarget{message_8h_a285193a5a9d3b142f3f1c53c471d3173}\label{message_8h_a285193a5a9d3b142f3f1c53c471d3173}} -\index{message.\+h@{message.\+h}!free\+\_\+msg\+To\+Mon\+\_\+data@{free\+\_\+msg\+To\+Mon\+\_\+data}} -\index{free\+\_\+msg\+To\+Mon\+\_\+data@{free\+\_\+msg\+To\+Mon\+\_\+data}!message.\+h@{message.\+h}} -\subsubsection{\texorpdfstring{free\+\_\+msg\+To\+Mon\+\_\+data()}{free\_msgToMon\_data()}} -{\footnotesize\ttfamily void free\+\_\+msg\+To\+Mon\+\_\+data (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg }\end{DoxyParamCaption})} - - - -Dealocate moemory pointed by data part of message. - -\mbox{\Hypertarget{message_8h_ae409e822d69cee7483a2d41c62698a85}\label{message_8h_ae409e822d69cee7483a2d41c62698a85}} -\index{message.\+h@{message.\+h}!print\+\_\+msg\+To\+Mon@{print\+\_\+msg\+To\+Mon}} -\index{print\+\_\+msg\+To\+Mon@{print\+\_\+msg\+To\+Mon}!message.\+h@{message.\+h}} -\subsubsection{\texorpdfstring{print\+\_\+msg\+To\+Mon()}{print\_msgToMon()}} -{\footnotesize\ttfamily void print\+\_\+msg\+To\+Mon (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg }\end{DoxyParamCaption})} - - - -Print message, header and data. - -\mbox{\Hypertarget{message_8h_aa938f8156bfca7379f533b751334ca6f}\label{message_8h_aa938f8156bfca7379f533b751334ca6f}} -\index{message.\+h@{message.\+h}!set\+\_\+msg\+To\+Mon\+\_\+data@{set\+\_\+msg\+To\+Mon\+\_\+data}} -\index{set\+\_\+msg\+To\+Mon\+\_\+data@{set\+\_\+msg\+To\+Mon\+\_\+data}!message.\+h@{message.\+h}} -\subsubsection{\texorpdfstring{set\+\_\+msg\+To\+Mon\+\_\+data()}{set\_msgToMon\_data()}} -{\footnotesize\ttfamily void set\+\_\+msg\+To\+Mon\+\_\+data (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg, }\item[{void $\ast$}]{data }\end{DoxyParamCaption})} - - - -Set data part of monitor message. - -\mbox{\Hypertarget{message_8h_a8c768ba3ccfd64ba1e39079c967aff26}\label{message_8h_a8c768ba3ccfd64ba1e39079c967aff26}} -\index{message.\+h@{message.\+h}!set\+\_\+msg\+To\+Mon\+\_\+header@{set\+\_\+msg\+To\+Mon\+\_\+header}} -\index{set\+\_\+msg\+To\+Mon\+\_\+header@{set\+\_\+msg\+To\+Mon\+\_\+header}!message.\+h@{message.\+h}} -\subsubsection{\texorpdfstring{set\+\_\+msg\+To\+Mon\+\_\+header()}{set\_msgToMon\_header()}} -{\footnotesize\ttfamily void set\+\_\+msg\+To\+Mon\+\_\+header (\begin{DoxyParamCaption}\item[{\hyperlink{struct_message_to_mon}{Message\+To\+Mon} $\ast$}]{msg, }\item[{char $\ast$}]{header }\end{DoxyParamCaption})} - - - -Set header part of monitor message. - diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__dep__incl.md5 deleted file mode 100644 index 8d61829..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -811e4feebe2d225a8b0a213cddc02de1 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__dep__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__dep__incl.pdf deleted file mode 100644 index dd6ddbc..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__dep__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__incl.md5 deleted file mode 100644 index 44d4da4..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -ecde105cd69dd7e881102b5c0ced64fe \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__incl.pdf deleted file mode 100644 index 94b9d25..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/message_8h__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp.tex b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp.tex deleted file mode 100644 index 954365e..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp.tex +++ /dev/null @@ -1,163 +0,0 @@ -\hypertarget{monitor_8cpp}{}\section{src/monitor.cpp File Reference} -\label{monitor_8cpp}\index{src/monitor.\+cpp@{src/monitor.\+cpp}} - - -Library for sending message to monitor or receiving message. - - -{\ttfamily \#include \char`\"{}monitor.\+h\char`\"{}}\newline -{\ttfamily \#include \char`\"{}server.\+h\char`\"{}}\newline -Include dependency graph for monitor.\+cpp\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{monitor_8cpp__incl} -\end{center} -\end{figure} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -string \hyperlink{monitor_8cpp_a04c8d7ed93b301fafe6dcc08d64ba21b}{server\+Receive} (int size) -\item -int \hyperlink{monitor_8cpp_a7265ec937de7d9ca68b81e5bd8203962}{send\+Message} (const char $\ast$data, int data\+Length) -\item -int \hyperlink{monitor_8cpp_aef87d80a1e44bf1953b3282967282ef0}{receive} (char $\ast$data) -\item -int \hyperlink{monitor_8cpp_af49d46447ce41019bd13a2c07a000644}{send\+\_\+message\+\_\+to\+\_\+monitor} (const char $\ast$type\+Message, const void $\ast$data) -\begin{DoxyCompactList}\small\item\em Envoi d\textquotesingle{}un message vers l\textquotesingle{}interface graphique. \end{DoxyCompactList}\item -int \hyperlink{monitor_8cpp_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*{Variables} -\begin{DoxyCompactItemize} -\item -\hyperlink{monitor_8h_a29046dc0232f0e5c70adbc25090d77b8}{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN} \hyperlink{monitor_8cpp_a1f38ae3a59ce304779ebbca10378654a}{ssin} -\item -\hyperlink{monitor_8h_a8dc8083897335125630f1af5dafd5831}{S\+O\+C\+K\+ET} \hyperlink{monitor_8cpp_a6e91849780a994f2adde299b33642829}{sock} -\item -socklen\+\_\+t \hyperlink{monitor_8cpp_acd1a03adb2455aaacbd886642518d569}{recsize} = sizeof (\hyperlink{monitor_8cpp_a1f38ae3a59ce304779ebbca10378654a}{ssin}) -\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{Function Documentation} -\mbox{\Hypertarget{monitor_8cpp_aef87d80a1e44bf1953b3282967282ef0}\label{monitor_8cpp_aef87d80a1e44bf1953b3282967282ef0}} -\index{monitor.\+cpp@{monitor.\+cpp}!receive@{receive}} -\index{receive@{receive}!monitor.\+cpp@{monitor.\+cpp}} -\subsubsection{\texorpdfstring{receive()}{receive()}} -{\footnotesize\ttfamily int receive (\begin{DoxyParamCaption}\item[{char $\ast$}]{data }\end{DoxyParamCaption})} - - - -Definition at line 90 of file monitor.\+cpp. - -\mbox{\Hypertarget{monitor_8cpp_a61eca0d5b49118350db39583e1bd1032}\label{monitor_8cpp_a61eca0d5b49118350db39583e1bd1032}} -\index{monitor.\+cpp@{monitor.\+cpp}!receive\+\_\+message\+\_\+from\+\_\+monitor@{receive\+\_\+message\+\_\+from\+\_\+monitor}} -\index{receive\+\_\+message\+\_\+from\+\_\+monitor@{receive\+\_\+message\+\_\+from\+\_\+monitor}!monitor.\+cpp@{monitor.\+cpp}} -\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} - - -Definition at line 83 of file monitor.\+cpp. - -\mbox{\Hypertarget{monitor_8cpp_af49d46447ce41019bd13a2c07a000644}\label{monitor_8cpp_af49d46447ce41019bd13a2c07a000644}} -\index{monitor.\+cpp@{monitor.\+cpp}!send\+\_\+message\+\_\+to\+\_\+monitor@{send\+\_\+message\+\_\+to\+\_\+monitor}} -\index{send\+\_\+message\+\_\+to\+\_\+monitor@{send\+\_\+message\+\_\+to\+\_\+monitor}!monitor.\+cpp@{monitor.\+cpp}} -\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} - - -Definition at line 40 of file monitor.\+cpp. - -\mbox{\Hypertarget{monitor_8cpp_a7265ec937de7d9ca68b81e5bd8203962}\label{monitor_8cpp_a7265ec937de7d9ca68b81e5bd8203962}} -\index{monitor.\+cpp@{monitor.\+cpp}!send\+Message@{send\+Message}} -\index{send\+Message@{send\+Message}!monitor.\+cpp@{monitor.\+cpp}} -\subsubsection{\texorpdfstring{send\+Message()}{sendMessage()}} -{\footnotesize\ttfamily int send\+Message (\begin{DoxyParamCaption}\item[{const char $\ast$}]{data, }\item[{int}]{data\+Length }\end{DoxyParamCaption})} - - - -Definition at line 97 of file monitor.\+cpp. - -\mbox{\Hypertarget{monitor_8cpp_a04c8d7ed93b301fafe6dcc08d64ba21b}\label{monitor_8cpp_a04c8d7ed93b301fafe6dcc08d64ba21b}} -\index{monitor.\+cpp@{monitor.\+cpp}!server\+Receive@{server\+Receive}} -\index{server\+Receive@{server\+Receive}!monitor.\+cpp@{monitor.\+cpp}} -\subsubsection{\texorpdfstring{server\+Receive()}{serverReceive()}} -{\footnotesize\ttfamily string server\+Receive (\begin{DoxyParamCaption}\item[{int}]{size }\end{DoxyParamCaption})} - - - -\subsection{Variable Documentation} -\mbox{\Hypertarget{monitor_8cpp_acd1a03adb2455aaacbd886642518d569}\label{monitor_8cpp_acd1a03adb2455aaacbd886642518d569}} -\index{monitor.\+cpp@{monitor.\+cpp}!recsize@{recsize}} -\index{recsize@{recsize}!monitor.\+cpp@{monitor.\+cpp}} -\subsubsection{\texorpdfstring{recsize}{recsize}} -{\footnotesize\ttfamily socklen\+\_\+t recsize = sizeof (\hyperlink{monitor_8cpp_a1f38ae3a59ce304779ebbca10378654a}{ssin})} - - - -Definition at line 33 of file monitor.\+cpp. - -\mbox{\Hypertarget{monitor_8cpp_a6e91849780a994f2adde299b33642829}\label{monitor_8cpp_a6e91849780a994f2adde299b33642829}} -\index{monitor.\+cpp@{monitor.\+cpp}!sock@{sock}} -\index{sock@{sock}!monitor.\+cpp@{monitor.\+cpp}} -\subsubsection{\texorpdfstring{sock}{sock}} -{\footnotesize\ttfamily \hyperlink{monitor_8h_a8dc8083897335125630f1af5dafd5831}{S\+O\+C\+K\+ET} sock} - - - -Definition at line 32 of file monitor.\+cpp. - -\mbox{\Hypertarget{monitor_8cpp_a1f38ae3a59ce304779ebbca10378654a}\label{monitor_8cpp_a1f38ae3a59ce304779ebbca10378654a}} -\index{monitor.\+cpp@{monitor.\+cpp}!ssin@{ssin}} -\index{ssin@{ssin}!monitor.\+cpp@{monitor.\+cpp}} -\subsubsection{\texorpdfstring{ssin}{ssin}} -{\footnotesize\ttfamily \hyperlink{monitor_8h_a29046dc0232f0e5c70adbc25090d77b8}{S\+O\+C\+K\+A\+D\+D\+R\+\_\+\+IN} ssin} - - - -Definition at line 31 of file monitor.\+cpp. - diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp__incl.md5 deleted file mode 100644 index d1b2e27..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -0dc23e583c45f2eb8efebc11b109e3a6 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp__incl.pdf deleted file mode 100644 index 8c5108c..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8cpp__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h.tex b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h.tex deleted file mode 100644 index 46a8552..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h.tex +++ /dev/null @@ -1,406 +0,0 @@ -\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} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__dep__incl.md5 deleted file mode 100644 index 03d3478..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -77c1bdf6c74a578f1a45f5d60ed69fae \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__dep__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__dep__incl.pdf deleted file mode 100644 index 32318dc..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__dep__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__incl.md5 deleted file mode 100644 index 76bcecc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -592d30edf156f19615e71d4acb9433b5 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__incl.pdf deleted file mode 100644 index 82b19bf..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/monitor_8h__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/refman.tex b/software/raspberry/superviseur-robot/lib/doc/latex/refman.tex deleted file mode 100644 index f09fd89..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/refman.tex +++ /dev/null @@ -1,167 +0,0 @@ -\documentclass[twoside]{book} - -% Packages required by doxygen -\usepackage{fixltx2e} -\usepackage{calc} -\usepackage{doxygen} -\usepackage[export]{adjustbox} % also loads graphicx -\usepackage{graphicx} -\usepackage[utf8]{inputenc} -\usepackage{makeidx} -\usepackage{multicol} -\usepackage{multirow} -\PassOptionsToPackage{warn}{textcomp} -\usepackage{textcomp} -\usepackage[nointegrals]{wasysym} -\usepackage[table]{xcolor} - -% Font selection -\usepackage[T1]{fontenc} -\usepackage[scaled=.90]{helvet} -\usepackage{courier} -\usepackage{amssymb} -\usepackage{sectsty} -\renewcommand{\familydefault}{\sfdefault} -\allsectionsfont{% - \fontseries{bc}\selectfont% - \color{darkgray}% -} -\renewcommand{\DoxyLabelFont}{% - \fontseries{bc}\selectfont% - \color{darkgray}% -} -\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} - -% Page & text layout -\usepackage{geometry} -\geometry{% - a4paper,% - top=2.5cm,% - bottom=2.5cm,% - left=2.5cm,% - right=2.5cm% -} -\tolerance=750 -\hfuzz=15pt -\hbadness=750 -\setlength{\emergencystretch}{15pt} -\setlength{\parindent}{0cm} -\setlength{\parskip}{3ex plus 2ex minus 2ex} -\makeatletter -\renewcommand{\paragraph}{% - \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@parafont% - }% -} -\renewcommand{\subparagraph}{% - \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% - \normalfont\normalsize\bfseries\SS@subparafont% - }% -} -\makeatother - -% Headers & footers -\usepackage{fancyhdr} -\pagestyle{fancyplain} -\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} -\fancyhead[CE]{\fancyplain{}{}} -\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} -\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} -\fancyhead[CO]{\fancyplain{}{}} -\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} -\fancyfoot[LE]{\fancyplain{}{}} -\fancyfoot[CE]{\fancyplain{}{}} -\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} -\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} -\fancyfoot[CO]{\fancyplain{}{}} -\fancyfoot[RO]{\fancyplain{}{}} -\renewcommand{\footrulewidth}{0.4pt} -\renewcommand{\chaptermark}[1]{% - \markboth{#1}{}% -} -\renewcommand{\sectionmark}[1]{% - \markright{\thesection\ #1}% -} - -% Indices & bibliography -\usepackage{natbib} -\usepackage[titles]{tocloft} -\setcounter{tocdepth}{3} -\setcounter{secnumdepth}{5} -\makeindex - -% Hyperlinks (required, but should be loaded last) -\usepackage{ifpdf} -\ifpdf - \usepackage[pdftex,pagebackref=true]{hyperref} -\else - \usepackage[ps2pdf,pagebackref=true]{hyperref} -\fi -\hypersetup{% - colorlinks=true,% - linkcolor=blue,% - citecolor=blue,% - unicode% -} - -% Custom commands -\newcommand{\clearemptydoublepage}{% - \newpage{\pagestyle{empty}\cleardoublepage}% -} - -\usepackage{caption} -\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} - -%===== C O N T E N T S ===== - -\begin{document} - -% Titlepage & ToC -\hypersetup{pageanchor=false, - bookmarksnumbered=true, - pdfencoding=unicode - } -\pagenumbering{alph} -\begin{titlepage} -\vspace*{7cm} -\begin{center}% -{\Large Bibliotheques TP RT \\[1ex]\large 1.\+0 }\\ -\vspace*{1cm} -{\large Generated by Doxygen 1.8.13}\\ -\end{center} -\end{titlepage} -\clearemptydoublepage -\pagenumbering{roman} -\tableofcontents -\clearemptydoublepage -\pagenumbering{arabic} -\hypersetup{pageanchor=true} - -%--- Begin generated contents --- -\chapter{Class Index} -\input{annotated} -\chapter{File Index} -\input{files} -\chapter{Class Documentation} -\input{struct_message_from_mon} -\input{struct_message_to_mon} -\input{struct_message_to_robot} -\input{struct_position} -\chapter{File Documentation} -\input{definitions_8h} -\input{image_8h} -\input{message_8h} -\input{monitor_8h} -\input{robot_8h} -\input{server_8h} -%--- End generated contents --- - -% Index -\backmatter -\newpage -\phantomsection -\clearemptydoublepage -\addcontentsline{toc}{chapter}{Index} -\printindex - -\end{document} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot-icon.resized.png b/software/raspberry/superviseur-robot/lib/doc/latex/robot-icon.resized.png deleted file mode 100644 index e464bd0..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/robot-icon.resized.png and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp.tex b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp.tex deleted file mode 100644 index a94ed27..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp.tex +++ /dev/null @@ -1,175 +0,0 @@ -\hypertarget{robot_8cpp}{}\section{src/robot.cpp File Reference} -\label{robot_8cpp}\index{src/robot.\+cpp@{src/robot.\+cpp}} -{\ttfamily \#include \char`\"{}robot.\+h\char`\"{}}\newline -Include dependency graph for robot.\+cpp\+: -\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{robot_8cpp__incl} -\end{center} -\end{figure} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -int \hyperlink{robot_8cpp_a116eceb372bf4bda7e6a360286e762b1}{get\+Char} (char $\ast$c) -\item -int \hyperlink{robot_8cpp_a2e1339c58b604c970f67096c7d143c2a}{read\+Serial} (char $\ast$msg) -\item -char \hyperlink{robot_8cpp_ab87123df26d91967d4d7507ad10326ac}{check\+Sum\+GO} (char $\ast$msg) -\item -int \hyperlink{robot_8cpp_adf885bd17005f841896acf2e49350db7}{receive\+Msg} (void) -\item -int \hyperlink{robot_8cpp_ac9d64c6d05c20ae9fdb8c158e2ee7098}{send\+Cmd} (char cmd, const char $\ast$arg) -\item -int \hyperlink{robot_8cpp_a9360e75fe324da14faaa87105771140e}{open\+\_\+communication\+\_\+robot} (const char $\ast$path) -\begin{DoxyCompactList}\small\item\em Ouvre la communication avec le robot. \end{DoxyCompactList}\item -int \hyperlink{robot_8cpp_a3fbce7530a62f9287f8a3b85b9c7e4d7}{close\+\_\+communication\+\_\+robot} (void) -\begin{DoxyCompactList}\small\item\em Ferme la communication avec le robot. \end{DoxyCompactList}\item -int \hyperlink{robot_8cpp_a68c01c5d6226d21fc0d141f681806677}{send\+\_\+command\+\_\+to\+\_\+robot} (char cmd, const char $\ast$arg) -\begin{DoxyCompactList}\small\item\em Envoi une commande au robot et attends sa réponse. \end{DoxyCompactList}\end{DoxyCompactItemize} -\subsection*{Variables} -\begin{DoxyCompactItemize} -\item -int \hyperlink{robot_8cpp_a6f8059414f0228f0256115e024eeed4b}{fd} -\end{DoxyCompactItemize} - - -\subsection{Function Documentation} -\mbox{\Hypertarget{robot_8cpp_ab87123df26d91967d4d7507ad10326ac}\label{robot_8cpp_ab87123df26d91967d4d7507ad10326ac}} -\index{robot.\+cpp@{robot.\+cpp}!check\+Sum\+GO@{check\+Sum\+GO}} -\index{check\+Sum\+GO@{check\+Sum\+GO}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{check\+Sum\+G\+O()}{checkSumGO()}} -{\footnotesize\ttfamily char check\+Sum\+GO (\begin{DoxyParamCaption}\item[{char $\ast$}]{msg }\end{DoxyParamCaption})} - - - -Definition at line 237 of file robot.\+cpp. - -\mbox{\Hypertarget{robot_8cpp_a3fbce7530a62f9287f8a3b85b9c7e4d7}\label{robot_8cpp_a3fbce7530a62f9287f8a3b85b9c7e4d7}} -\index{robot.\+cpp@{robot.\+cpp}!close\+\_\+communication\+\_\+robot@{close\+\_\+communication\+\_\+robot}} -\index{close\+\_\+communication\+\_\+robot@{close\+\_\+communication\+\_\+robot}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{close\+\_\+communication\+\_\+robot()}{close\_communication\_robot()}} -{\footnotesize\ttfamily int close\+\_\+communication\+\_\+robot (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} - - - -Ferme la communication avec le robot. - -Ferme le descripteur de fichier du port serie contrôlant le robot. - - -\begin{DoxyParams}{Parameters} -{\em void} & aucun \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Retourne -\/1 en cas d\textquotesingle{}erreur ou 0 en cas de fermeture effectué -\end{DoxyReturn} - - -Definition at line 64 of file robot.\+cpp. - -\mbox{\Hypertarget{robot_8cpp_a116eceb372bf4bda7e6a360286e762b1}\label{robot_8cpp_a116eceb372bf4bda7e6a360286e762b1}} -\index{robot.\+cpp@{robot.\+cpp}!get\+Char@{get\+Char}} -\index{get\+Char@{get\+Char}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{get\+Char()}{getChar()}} -{\footnotesize\ttfamily int get\+Char (\begin{DoxyParamCaption}\item[{char $\ast$}]{c }\end{DoxyParamCaption})} - - - -Definition at line 199 of file robot.\+cpp. - -\mbox{\Hypertarget{robot_8cpp_a9360e75fe324da14faaa87105771140e}\label{robot_8cpp_a9360e75fe324da14faaa87105771140e}} -\index{robot.\+cpp@{robot.\+cpp}!open\+\_\+communication\+\_\+robot@{open\+\_\+communication\+\_\+robot}} -\index{open\+\_\+communication\+\_\+robot@{open\+\_\+communication\+\_\+robot}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{open\+\_\+communication\+\_\+robot()}{open\_communication\_robot()}} -{\footnotesize\ttfamily int open\+\_\+communication\+\_\+robot (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path = {\ttfamily \hyperlink{robot_8h_a32c8768c18732c59b503f8ee7515a693}{serial\+Port}} }\end{DoxyParamCaption})} - - - -Ouvre la communication avec le robot. - -Ouvre le serial port passé en paramétre. Par defaut cette fonction ouvre le port tty\+SO connecté au module xbee. - - -\begin{DoxyParams}{Parameters} -{\em $\ast$path} & chaine de caractère indiquant le path du port serie à ouvrir. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Return -\/1 si l\textquotesingle{}ouverture c\textquotesingle{}est mal passé et 0 si le port est ouvert. -\end{DoxyReturn} - - -Definition at line 36 of file robot.\+cpp. - -\mbox{\Hypertarget{robot_8cpp_a2e1339c58b604c970f67096c7d143c2a}\label{robot_8cpp_a2e1339c58b604c970f67096c7d143c2a}} -\index{robot.\+cpp@{robot.\+cpp}!read\+Serial@{read\+Serial}} -\index{read\+Serial@{read\+Serial}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{read\+Serial()}{readSerial()}} -{\footnotesize\ttfamily int read\+Serial (\begin{DoxyParamCaption}\item[{char $\ast$}]{msg }\end{DoxyParamCaption})} - - - -Definition at line 216 of file robot.\+cpp. - -\mbox{\Hypertarget{robot_8cpp_adf885bd17005f841896acf2e49350db7}\label{robot_8cpp_adf885bd17005f841896acf2e49350db7}} -\index{robot.\+cpp@{robot.\+cpp}!receive\+Msg@{receive\+Msg}} -\index{receive\+Msg@{receive\+Msg}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{receive\+Msg()}{receiveMsg()}} -{\footnotesize\ttfamily int receive\+Msg (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} - - - -Definition at line 168 of file robot.\+cpp. - -\mbox{\Hypertarget{robot_8cpp_a68c01c5d6226d21fc0d141f681806677}\label{robot_8cpp_a68c01c5d6226d21fc0d141f681806677}} -\index{robot.\+cpp@{robot.\+cpp}!send\+\_\+command\+\_\+to\+\_\+robot@{send\+\_\+command\+\_\+to\+\_\+robot}} -\index{send\+\_\+command\+\_\+to\+\_\+robot@{send\+\_\+command\+\_\+to\+\_\+robot}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{send\+\_\+command\+\_\+to\+\_\+robot()}{send\_command\_to\_robot()}} -{\footnotesize\ttfamily int send\+\_\+command\+\_\+to\+\_\+robot (\begin{DoxyParamCaption}\item[{char}]{cmd, }\item[{const char $\ast$}]{arg = {\ttfamily NULL} }\end{DoxyParamCaption})} - - - -Envoi une commande au robot et attends sa réponse. - -Envoi une commande au robot en ajoutant le checksum et lis la réponse du robot en verifiant le checksum. Le premier paramétre {\itshape cmd} correspond au type de commande ex \+: P\+I\+NG, S\+E\+T\+M\+O\+VE ... Le second paramétre {\itshape $\ast$arg} correspond aux arguments à la commande ex \+: S\+E\+T\+M\+O\+VE, \char`\"{}100\char`\"{} La fonction retourne un code confirmation transmise par le robot (R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+K\+S\+UM, R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR, R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT, R\+O\+B\+O\+T\+\_\+\+OK, R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+\_\+\+C\+MD) - - -\begin{DoxyParams}{Parameters} -{\em cmd} & Entête de la commande \\ -\hline -{\em $\ast$arg} & Argument de la commande \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -retourne un code confirmation. -\end{DoxyReturn} - - -Definition at line 74 of file robot.\+cpp. - -\mbox{\Hypertarget{robot_8cpp_ac9d64c6d05c20ae9fdb8c158e2ee7098}\label{robot_8cpp_ac9d64c6d05c20ae9fdb8c158e2ee7098}} -\index{robot.\+cpp@{robot.\+cpp}!send\+Cmd@{send\+Cmd}} -\index{send\+Cmd@{send\+Cmd}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{send\+Cmd()}{sendCmd()}} -{\footnotesize\ttfamily int send\+Cmd (\begin{DoxyParamCaption}\item[{char}]{cmd, }\item[{const char $\ast$}]{arg }\end{DoxyParamCaption})} - - - -Definition at line 138 of file robot.\+cpp. - - - -\subsection{Variable Documentation} -\mbox{\Hypertarget{robot_8cpp_a6f8059414f0228f0256115e024eeed4b}\label{robot_8cpp_a6f8059414f0228f0256115e024eeed4b}} -\index{robot.\+cpp@{robot.\+cpp}!fd@{fd}} -\index{fd@{fd}!robot.\+cpp@{robot.\+cpp}} -\subsubsection{\texorpdfstring{fd}{fd}} -{\footnotesize\ttfamily int fd} - - - -Definition at line 28 of file robot.\+cpp. - diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp__incl.md5 deleted file mode 100644 index 88b33a0..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -9b311009597edbb2eaa19d2f19cdbeff \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp__incl.pdf deleted file mode 100644 index e18f0a4..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8cpp__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h.tex b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h.tex deleted file mode 100644 index ccb9a11..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h.tex +++ /dev/null @@ -1,127 +0,0 @@ -\hypertarget{robot_8h}{}\section{robot.\+h File Reference} -\label{robot_8h}\index{robot.\+h@{robot.\+h}} - - -Fonctions for communicating with robot. - - -{\ttfamily \#include $<$stdio.\+h$>$}\newline -{\ttfamily \#include $<$unistd.\+h$>$}\newline -{\ttfamily \#include $<$fcntl.\+h$>$}\newline -{\ttfamily \#include $<$termios.\+h$>$}\newline -{\ttfamily \#include $<$string.\+h$>$}\newline -{\ttfamily \#include $<$stdlib.\+h$>$}\newline -{\ttfamily \#include \char`\"{}definitions.\+h\char`\"{}}\newline -Include dependency graph for robot.\+h\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{robot_8h__incl} -\end{center} -\end{figure} -\subsection*{Classes} -\begin{DoxyCompactItemize} -\item -struct \hyperlink{struct_message_to_robot}{Message\+To\+Robot} -\end{DoxyCompactItemize} -\subsection*{Macros} -\begin{DoxyCompactItemize} -\item -\#define \hyperlink{robot_8h_a32c8768c18732c59b503f8ee7515a693}{serial\+Port}~\char`\"{}/dev/tty\+S0\char`\"{} -\end{DoxyCompactItemize} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -int \hyperlink{robot_8h_a0e70fa821a04d349552b8bd54f6935db}{open\+\_\+communication\+\_\+robot} (const char $\ast$path=\hyperlink{robot_8h_a32c8768c18732c59b503f8ee7515a693}{serial\+Port}) -\begin{DoxyCompactList}\small\item\em Ouvre la communication avec le robot. \end{DoxyCompactList}\item -int \hyperlink{robot_8h_a3fbce7530a62f9287f8a3b85b9c7e4d7}{close\+\_\+communication\+\_\+robot} (void) -\begin{DoxyCompactList}\small\item\em Ferme la communication avec le robot. \end{DoxyCompactList}\item -int \hyperlink{robot_8h_abe88fd581be321a9d86ae7063abd2f65}{send\+\_\+command\+\_\+to\+\_\+robot} (char cmd, const char $\ast$arg=N\+U\+LL) -\begin{DoxyCompactList}\small\item\em Envoi une commande au robot et attends sa réponse. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Fonctions for communicating with robot. - -\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{robot_8h_a32c8768c18732c59b503f8ee7515a693}\label{robot_8h_a32c8768c18732c59b503f8ee7515a693}} -\index{robot.\+h@{robot.\+h}!serial\+Port@{serial\+Port}} -\index{serial\+Port@{serial\+Port}!robot.\+h@{robot.\+h}} -\subsubsection{\texorpdfstring{serial\+Port}{serialPort}} -{\footnotesize\ttfamily \#define serial\+Port~\char`\"{}/dev/tty\+S0\char`\"{}} - - - -Definition at line 40 of file robot.\+h. - - - -\subsection{Function Documentation} -\mbox{\Hypertarget{robot_8h_a3fbce7530a62f9287f8a3b85b9c7e4d7}\label{robot_8h_a3fbce7530a62f9287f8a3b85b9c7e4d7}} -\index{robot.\+h@{robot.\+h}!close\+\_\+communication\+\_\+robot@{close\+\_\+communication\+\_\+robot}} -\index{close\+\_\+communication\+\_\+robot@{close\+\_\+communication\+\_\+robot}!robot.\+h@{robot.\+h}} -\subsubsection{\texorpdfstring{close\+\_\+communication\+\_\+robot()}{close\_communication\_robot()}} -{\footnotesize\ttfamily int close\+\_\+communication\+\_\+robot (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})} - - - -Ferme la communication avec le robot. - -Ferme le descripteur de fichier du port serie contrôlant le robot. - -\begin{DoxyReturn}{Returns} -Retourne -\/1 en cas d\textquotesingle{}erreur ou 0 en cas de fermeture effectué -\end{DoxyReturn} -\mbox{\Hypertarget{robot_8h_a0e70fa821a04d349552b8bd54f6935db}\label{robot_8h_a0e70fa821a04d349552b8bd54f6935db}} -\index{robot.\+h@{robot.\+h}!open\+\_\+communication\+\_\+robot@{open\+\_\+communication\+\_\+robot}} -\index{open\+\_\+communication\+\_\+robot@{open\+\_\+communication\+\_\+robot}!robot.\+h@{robot.\+h}} -\subsubsection{\texorpdfstring{open\+\_\+communication\+\_\+robot()}{open\_communication\_robot()}} -{\footnotesize\ttfamily int open\+\_\+communication\+\_\+robot (\begin{DoxyParamCaption}\item[{const char $\ast$}]{path = {\ttfamily \hyperlink{robot_8h_a32c8768c18732c59b503f8ee7515a693}{serial\+Port}} }\end{DoxyParamCaption})} - - - -Ouvre la communication avec le robot. - -Ouvre le serial port passé en paramétre. Par defaut cette fonction ouvre le port tty\+SO connecté au module xbee. - - -\begin{DoxyParams}{Parameters} -{\em path} & Chaine de caractère contenant le path du port serie à ouvrir. \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Return -\/1 si l\textquotesingle{}ouverture c\textquotesingle{}est mal passé et 0 si le port est ouvert. -\end{DoxyReturn} -\mbox{\Hypertarget{robot_8h_abe88fd581be321a9d86ae7063abd2f65}\label{robot_8h_abe88fd581be321a9d86ae7063abd2f65}} -\index{robot.\+h@{robot.\+h}!send\+\_\+command\+\_\+to\+\_\+robot@{send\+\_\+command\+\_\+to\+\_\+robot}} -\index{send\+\_\+command\+\_\+to\+\_\+robot@{send\+\_\+command\+\_\+to\+\_\+robot}!robot.\+h@{robot.\+h}} -\subsubsection{\texorpdfstring{send\+\_\+command\+\_\+to\+\_\+robot()}{send\_command\_to\_robot()}} -{\footnotesize\ttfamily int send\+\_\+command\+\_\+to\+\_\+robot (\begin{DoxyParamCaption}\item[{char}]{cmd, }\item[{const char $\ast$}]{arg = {\ttfamily NULL} }\end{DoxyParamCaption})} - - - -Envoi une commande au robot et attends sa réponse. - -Envoi une commande au robot en ajoutant le checksum et lis la réponse du robot en verifiant le checksum. Le premier paramétre {\itshape cmd} correspond au type de commande ex \+: P\+I\+NG, S\+E\+T\+M\+O\+VE ... Le second paramétre {\itshape $\ast$arg} correspond aux arguments à la commande ex \+: S\+E\+T\+M\+O\+VE, \char`\"{}100\char`\"{} La fonction retourne un code confirmation transmise par le robot (R\+O\+B\+O\+T\+\_\+\+C\+H\+E\+K\+S\+UM, R\+O\+B\+O\+T\+\_\+\+E\+R\+R\+OR, R\+O\+B\+O\+T\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT, R\+O\+B\+O\+T\+\_\+\+OK, R\+O\+B\+O\+T\+\_\+\+U\+K\+N\+O\+W\+\_\+\+C\+MD) - - -\begin{DoxyParams}{Parameters} -{\em cmd} & Entête de la commande \\ -\hline -{\em arg} & Argument de la commande \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Retourne un code confirmation. -\end{DoxyReturn} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__dep__incl.md5 deleted file mode 100644 index 46d9aca..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -3fb87047c63a0afa79355ad26788d063 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__dep__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__dep__incl.pdf deleted file mode 100644 index eb141f0..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__dep__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__incl.md5 deleted file mode 100644 index 3b9489d..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -4eb3fee89c774014764c814b6939924f \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__incl.pdf deleted file mode 100644 index 8afafb6..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/robot_8h__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp.tex b/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp.tex deleted file mode 100644 index ebbecb5..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp.tex +++ /dev/null @@ -1,173 +0,0 @@ -\hypertarget{server_8cpp}{}\section{src/server.cpp File Reference} -\label{server_8cpp}\index{src/server.\+cpp@{src/server.\+cpp}} - - -Library for opening a T\+CP server, receiving data and sending message to monitor. - - -{\ttfamily \#include \char`\"{}server.\+h\char`\"{}}\newline -{\ttfamily \#include $<$sys/socket.\+h$>$}\newline -{\ttfamily \#include $<$arpa/inet.\+h$>$}\newline -{\ttfamily \#include $<$netinet/in.\+h$>$}\newline -{\ttfamily \#include $<$stdio.\+h$>$}\newline -{\ttfamily \#include $<$stdlib.\+h$>$}\newline -{\ttfamily \#include $<$unistd.\+h$>$}\newline -Include dependency graph for server.\+cpp\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{server_8cpp__incl} -\end{center} -\end{figure} -\subsection*{Macros} -\begin{DoxyCompactItemize} -\item -\#define \hyperlink{server_8cpp_ad1106125b13c36a78d012177dc2aa67c}{N\+B\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+M\+AX}~1 -\end{DoxyCompactItemize} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -int \hyperlink{server_8cpp_a99b54d5b3404766f906f49605a4aa0e3}{open\+Server} (int port) -\item -int \hyperlink{server_8cpp_ab65b2df50051036defe0f35366f5a3d6}{close\+Server} () -\item -int \hyperlink{server_8cpp_abff9f8e931ecce919588b371dc511857}{accept\+Client} () -\item -int \hyperlink{server_8cpp_a8d865d29914b980fd71ed8d347e4ec50}{send\+Data\+To\+Server} (char $\ast$data, int length) -\item -int \hyperlink{server_8cpp_a4c2df7961aa7379ac79d80980a1c537b}{send\+Data\+To\+Server\+For\+Client} (int client, char $\ast$data, int length) -\item -int \hyperlink{server_8cpp_a8b66a2007f3f9ed8538428a309c9d368}{receive\+Data\+From\+Server} (char $\ast$data, int size) -\item -int \hyperlink{server_8cpp_a247e0124af257d0cc7abc25a7c448d1b}{receive\+Data\+From\+Server\+From\+Client} (int client, char $\ast$data, int size) -\end{DoxyCompactItemize} -\subsection*{Variables} -\begin{DoxyCompactItemize} -\item -int \hyperlink{server_8cpp_a67917b0d31c20024dba33363eb8db5a2}{socket\+FD} = -\/1 -\item -int \hyperlink{server_8cpp_a2e938cd63a2404d0902c57205706872a}{client\+ID} = -\/1 -\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Library for opening a T\+CP server, receiving data and sending message to monitor. - -\begin{DoxyAuthor}{Author} -P\+E.\+Hladik -\end{DoxyAuthor} -\begin{DoxyVersion}{Version} -1.\+0 -\end{DoxyVersion} -\begin{DoxyDate}{Date} -06/06/2017 -\end{DoxyDate} - - -\subsection{Macro Definition Documentation} -\mbox{\Hypertarget{server_8cpp_ad1106125b13c36a78d012177dc2aa67c}\label{server_8cpp_ad1106125b13c36a78d012177dc2aa67c}} -\index{server.\+cpp@{server.\+cpp}!N\+B\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+M\+AX@{N\+B\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+M\+AX}} -\index{N\+B\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+M\+AX@{N\+B\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+M\+AX}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{N\+B\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+M\+AX}{NB\_CONNECTION\_MAX}} -{\footnotesize\ttfamily \#define N\+B\+\_\+\+C\+O\+N\+N\+E\+C\+T\+I\+O\+N\+\_\+\+M\+AX~1} - - - -Definition at line 35 of file server.\+cpp. - - - -\subsection{Function Documentation} -\mbox{\Hypertarget{server_8cpp_abff9f8e931ecce919588b371dc511857}\label{server_8cpp_abff9f8e931ecce919588b371dc511857}} -\index{server.\+cpp@{server.\+cpp}!accept\+Client@{accept\+Client}} -\index{accept\+Client@{accept\+Client}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{accept\+Client()}{acceptClient()}} -{\footnotesize\ttfamily int accept\+Client (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} - - - -Definition at line 71 of file server.\+cpp. - -\mbox{\Hypertarget{server_8cpp_ab65b2df50051036defe0f35366f5a3d6}\label{server_8cpp_ab65b2df50051036defe0f35366f5a3d6}} -\index{server.\+cpp@{server.\+cpp}!close\+Server@{close\+Server}} -\index{close\+Server@{close\+Server}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{close\+Server()}{closeServer()}} -{\footnotesize\ttfamily int close\+Server (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} - - - -Definition at line 63 of file server.\+cpp. - -\mbox{\Hypertarget{server_8cpp_a99b54d5b3404766f906f49605a4aa0e3}\label{server_8cpp_a99b54d5b3404766f906f49605a4aa0e3}} -\index{server.\+cpp@{server.\+cpp}!open\+Server@{open\+Server}} -\index{open\+Server@{open\+Server}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{open\+Server()}{openServer()}} -{\footnotesize\ttfamily int open\+Server (\begin{DoxyParamCaption}\item[{int}]{port }\end{DoxyParamCaption})} - - - -Definition at line 40 of file server.\+cpp. - -\mbox{\Hypertarget{server_8cpp_a8b66a2007f3f9ed8538428a309c9d368}\label{server_8cpp_a8b66a2007f3f9ed8538428a309c9d368}} -\index{server.\+cpp@{server.\+cpp}!receive\+Data\+From\+Server@{receive\+Data\+From\+Server}} -\index{receive\+Data\+From\+Server@{receive\+Data\+From\+Server}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{receive\+Data\+From\+Server()}{receiveDataFromServer()}} -{\footnotesize\ttfamily int receive\+Data\+From\+Server (\begin{DoxyParamCaption}\item[{char $\ast$}]{data, }\item[{int}]{size }\end{DoxyParamCaption})} - - - -Definition at line 95 of file server.\+cpp. - -\mbox{\Hypertarget{server_8cpp_a247e0124af257d0cc7abc25a7c448d1b}\label{server_8cpp_a247e0124af257d0cc7abc25a7c448d1b}} -\index{server.\+cpp@{server.\+cpp}!receive\+Data\+From\+Server\+From\+Client@{receive\+Data\+From\+Server\+From\+Client}} -\index{receive\+Data\+From\+Server\+From\+Client@{receive\+Data\+From\+Server\+From\+Client}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{receive\+Data\+From\+Server\+From\+Client()}{receiveDataFromServerFromClient()}} -{\footnotesize\ttfamily int receive\+Data\+From\+Server\+From\+Client (\begin{DoxyParamCaption}\item[{int}]{client, }\item[{char $\ast$}]{data, }\item[{int}]{size }\end{DoxyParamCaption})} - - - -Definition at line 99 of file server.\+cpp. - -\mbox{\Hypertarget{server_8cpp_a8d865d29914b980fd71ed8d347e4ec50}\label{server_8cpp_a8d865d29914b980fd71ed8d347e4ec50}} -\index{server.\+cpp@{server.\+cpp}!send\+Data\+To\+Server@{send\+Data\+To\+Server}} -\index{send\+Data\+To\+Server@{send\+Data\+To\+Server}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{send\+Data\+To\+Server()}{sendDataToServer()}} -{\footnotesize\ttfamily int send\+Data\+To\+Server (\begin{DoxyParamCaption}\item[{char $\ast$}]{data, }\item[{int}]{length }\end{DoxyParamCaption})} - - - -Definition at line 85 of file server.\+cpp. - -\mbox{\Hypertarget{server_8cpp_a4c2df7961aa7379ac79d80980a1c537b}\label{server_8cpp_a4c2df7961aa7379ac79d80980a1c537b}} -\index{server.\+cpp@{server.\+cpp}!send\+Data\+To\+Server\+For\+Client@{send\+Data\+To\+Server\+For\+Client}} -\index{send\+Data\+To\+Server\+For\+Client@{send\+Data\+To\+Server\+For\+Client}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{send\+Data\+To\+Server\+For\+Client()}{sendDataToServerForClient()}} -{\footnotesize\ttfamily int send\+Data\+To\+Server\+For\+Client (\begin{DoxyParamCaption}\item[{int}]{client, }\item[{char $\ast$}]{data, }\item[{int}]{length }\end{DoxyParamCaption})} - - - -Definition at line 89 of file server.\+cpp. - - - -\subsection{Variable Documentation} -\mbox{\Hypertarget{server_8cpp_a2e938cd63a2404d0902c57205706872a}\label{server_8cpp_a2e938cd63a2404d0902c57205706872a}} -\index{server.\+cpp@{server.\+cpp}!client\+ID@{client\+ID}} -\index{client\+ID@{client\+ID}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{client\+ID}{clientID}} -{\footnotesize\ttfamily int client\+ID = -\/1} - - - -Definition at line 38 of file server.\+cpp. - -\mbox{\Hypertarget{server_8cpp_a67917b0d31c20024dba33363eb8db5a2}\label{server_8cpp_a67917b0d31c20024dba33363eb8db5a2}} -\index{server.\+cpp@{server.\+cpp}!socket\+FD@{socket\+FD}} -\index{socket\+FD@{socket\+FD}!server.\+cpp@{server.\+cpp}} -\subsubsection{\texorpdfstring{socket\+FD}{socketFD}} -{\footnotesize\ttfamily int socket\+FD = -\/1} - - - -Definition at line 37 of file server.\+cpp. - diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp__incl.md5 deleted file mode 100644 index c9b189c..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -6bc39aa8f833820b2bd6382ea20f2b1b \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp__incl.pdf deleted file mode 100644 index 0aaac39..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/server_8cpp__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h.tex b/software/raspberry/superviseur-robot/lib/doc/latex/server_8h.tex deleted file mode 100644 index 114be0b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h.tex +++ /dev/null @@ -1,225 +0,0 @@ -\hypertarget{server_8h}{}\section{server.\+h File Reference} -\label{server_8h}\index{server.\+h@{server.\+h}} - - -Library for opening a T\+CP server, receiving data and sending message to monitor. - - -{\ttfamily \#include \char`\"{}image.\+h\char`\"{}}\newline -Include dependency graph for server.\+h\+:\nopagebreak -\begin{figure}[H] -\begin{center} -\leavevmode -\includegraphics[width=350pt]{server_8h__incl} -\end{center} -\end{figure} -\subsection*{Macros} -\begin{DoxyCompactItemize} -\item -\#define \hyperlink{server_8h_af257e2a3e091629829857a2eb8931a7a}{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}~2323 -\end{DoxyCompactItemize} -\subsection*{Functions} -\begin{DoxyCompactItemize} -\item -int \hyperlink{server_8h_a99b54d5b3404766f906f49605a4aa0e3}{open\+Server} (int port) -\begin{DoxyCompactList}\small\item\em Open server port, connect and listen to given port. \end{DoxyCompactList}\item -int \hyperlink{server_8h_ab65b2df50051036defe0f35366f5a3d6}{close\+Server} () -\begin{DoxyCompactList}\small\item\em Close server. \end{DoxyCompactList}\item -int \hyperlink{server_8h_abff9f8e931ecce919588b371dc511857}{accept\+Client} () -\begin{DoxyCompactList}\small\item\em Wait for a client to connect. \end{DoxyCompactList}\item -int \hyperlink{server_8h_a8d865d29914b980fd71ed8d347e4ec50}{send\+Data\+To\+Server} (char $\ast$data, int length) -\begin{DoxyCompactList}\small\item\em Send given data to monitor. \end{DoxyCompactList}\item -int \hyperlink{server_8h_a4c2df7961aa7379ac79d80980a1c537b}{send\+Data\+To\+Server\+For\+Client} (int client, char $\ast$data, int length) -\begin{DoxyCompactList}\small\item\em Send given data to monitor, using specific client ID. \end{DoxyCompactList}\item -int \hyperlink{server_8h_a8b66a2007f3f9ed8538428a309c9d368}{receive\+Data\+From\+Server} (char $\ast$data, int size) -\begin{DoxyCompactList}\small\item\em Read data from monitor. \end{DoxyCompactList}\item -int \hyperlink{server_8h_a247e0124af257d0cc7abc25a7c448d1b}{receive\+Data\+From\+Server\+From\+Client} (int client, char $\ast$data, int size) -\begin{DoxyCompactList}\small\item\em Read data from monitor, using specific client ID. \end{DoxyCompactList}\item -int \hyperlink{server_8h_a51b9372f5467705aa81d76ae034c7628}{send\+Image} (\hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$image) -\begin{DoxyCompactList}\small\item\em Send image to monitor using default client ID. \end{DoxyCompactList}\end{DoxyCompactItemize} - - -\subsection{Detailed Description} -Library for opening a T\+CP server, receiving data and sending message to monitor. - -\begin{DoxyAuthor}{Author} -P\+E.\+Hladik -\end{DoxyAuthor} -\begin{DoxyVersion}{Version} -1.\+0 -\end{DoxyVersion} -\begin{DoxyDate}{Date} -06/06/2017 -\end{DoxyDate} - - -\subsection{Macro Definition Documentation} -\mbox{\Hypertarget{server_8h_af257e2a3e091629829857a2eb8931a7a}\label{server_8h_af257e2a3e091629829857a2eb8931a7a}} -\index{server.\+h@{server.\+h}!D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT@{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}} -\index{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT@{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT}{DEFAULT\_SERVER\_PORT}} -{\footnotesize\ttfamily \#define D\+E\+F\+A\+U\+L\+T\+\_\+\+S\+E\+R\+V\+E\+R\+\_\+\+P\+O\+RT~2323} - - - -Definition at line 30 of file server.\+h. - - - -\subsection{Function Documentation} -\mbox{\Hypertarget{server_8h_abff9f8e931ecce919588b371dc511857}\label{server_8h_abff9f8e931ecce919588b371dc511857}} -\index{server.\+h@{server.\+h}!accept\+Client@{accept\+Client}} -\index{accept\+Client@{accept\+Client}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{accept\+Client()}{acceptClient()}} -{\footnotesize\ttfamily int accept\+Client (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} - - - -Wait for a client to connect. - -\begin{DoxyReturn}{Returns} -Return client Id or -\/1 if it failed -\end{DoxyReturn} -\mbox{\Hypertarget{server_8h_ab65b2df50051036defe0f35366f5a3d6}\label{server_8h_ab65b2df50051036defe0f35366f5a3d6}} -\index{server.\+h@{server.\+h}!close\+Server@{close\+Server}} -\index{close\+Server@{close\+Server}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{close\+Server()}{closeServer()}} -{\footnotesize\ttfamily int close\+Server (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} - - - -Close server. - -\begin{DoxyReturn}{Returns} --\/1 if closing failed , 0 otherwise -\end{DoxyReturn} -\mbox{\Hypertarget{server_8h_a99b54d5b3404766f906f49605a4aa0e3}\label{server_8h_a99b54d5b3404766f906f49605a4aa0e3}} -\index{server.\+h@{server.\+h}!open\+Server@{open\+Server}} -\index{open\+Server@{open\+Server}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{open\+Server()}{openServer()}} -{\footnotesize\ttfamily int open\+Server (\begin{DoxyParamCaption}\item[{int}]{port }\end{DoxyParamCaption})} - - - -Open server port, connect and listen to given port. - - -\begin{DoxyParams}{Parameters} -{\em port} & A valid port number (1024 -\/ 65535) \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} --\/1 if opening failed or the socket number -\end{DoxyReturn} -\mbox{\Hypertarget{server_8h_a8b66a2007f3f9ed8538428a309c9d368}\label{server_8h_a8b66a2007f3f9ed8538428a309c9d368}} -\index{server.\+h@{server.\+h}!receive\+Data\+From\+Server@{receive\+Data\+From\+Server}} -\index{receive\+Data\+From\+Server@{receive\+Data\+From\+Server}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{receive\+Data\+From\+Server()}{receiveDataFromServer()}} -{\footnotesize\ttfamily int receive\+Data\+From\+Server (\begin{DoxyParamCaption}\item[{char $\ast$}]{data, }\item[{int}]{size }\end{DoxyParamCaption})} - - - -Read data from monitor. - -Read, at most, size data from monitor. Data must be a valid pointer to a buffer large enough. - - -\begin{DoxyParams}{Parameters} -{\em data} & A valid pointer to a buffer \\ -\hline -{\em size} & Amount of data to read \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Return amount of data really received. 0 if communication is broken -\end{DoxyReturn} -\mbox{\Hypertarget{server_8h_a247e0124af257d0cc7abc25a7c448d1b}\label{server_8h_a247e0124af257d0cc7abc25a7c448d1b}} -\index{server.\+h@{server.\+h}!receive\+Data\+From\+Server\+From\+Client@{receive\+Data\+From\+Server\+From\+Client}} -\index{receive\+Data\+From\+Server\+From\+Client@{receive\+Data\+From\+Server\+From\+Client}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{receive\+Data\+From\+Server\+From\+Client()}{receiveDataFromServerFromClient()}} -{\footnotesize\ttfamily int receive\+Data\+From\+Server\+From\+Client (\begin{DoxyParamCaption}\item[{int}]{client, }\item[{char $\ast$}]{data, }\item[{int}]{size }\end{DoxyParamCaption})} - - - -Read data from monitor, using specific client ID. - -Read, at most, size data from monitor. Data must be a valid pointer to a buffer large enough. - - -\begin{DoxyParams}{Parameters} -{\em client} & Client Id to receive from \\ -\hline -{\em data} & A valid pointer to a buffer \\ -\hline -{\em size} & Amount of data to read \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Return amount of data really received. 0 if communication is broken -\end{DoxyReturn} -\mbox{\Hypertarget{server_8h_a8d865d29914b980fd71ed8d347e4ec50}\label{server_8h_a8d865d29914b980fd71ed8d347e4ec50}} -\index{server.\+h@{server.\+h}!send\+Data\+To\+Server@{send\+Data\+To\+Server}} -\index{send\+Data\+To\+Server@{send\+Data\+To\+Server}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{send\+Data\+To\+Server()}{sendDataToServer()}} -{\footnotesize\ttfamily int send\+Data\+To\+Server (\begin{DoxyParamCaption}\item[{char $\ast$}]{data, }\item[{int}]{length }\end{DoxyParamCaption})} - - - -Send given data to monitor. - -Send given data to monitor using default client ID - - -\begin{DoxyParams}{Parameters} -{\em data} & A valid pointer to a buffer \\ -\hline -{\em length} & Amount of data to send \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Return amount of data really written. 0 if communication is broken -\end{DoxyReturn} -\mbox{\Hypertarget{server_8h_a4c2df7961aa7379ac79d80980a1c537b}\label{server_8h_a4c2df7961aa7379ac79d80980a1c537b}} -\index{server.\+h@{server.\+h}!send\+Data\+To\+Server\+For\+Client@{send\+Data\+To\+Server\+For\+Client}} -\index{send\+Data\+To\+Server\+For\+Client@{send\+Data\+To\+Server\+For\+Client}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{send\+Data\+To\+Server\+For\+Client()}{sendDataToServerForClient()}} -{\footnotesize\ttfamily int send\+Data\+To\+Server\+For\+Client (\begin{DoxyParamCaption}\item[{int}]{client, }\item[{char $\ast$}]{data, }\item[{int}]{length }\end{DoxyParamCaption})} - - - -Send given data to monitor, using specific client ID. - -Send given data to monitor using given client ID. - - -\begin{DoxyParams}{Parameters} -{\em client} & Client Id to send data to \\ -\hline -{\em data} & A valid pointer to a buffer \\ -\hline -{\em length} & Amount of data to send \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Return amount of data really written. 0 if communication is broken -\end{DoxyReturn} -\mbox{\Hypertarget{server_8h_a51b9372f5467705aa81d76ae034c7628}\label{server_8h_a51b9372f5467705aa81d76ae034c7628}} -\index{server.\+h@{server.\+h}!send\+Image@{send\+Image}} -\index{send\+Image@{send\+Image}!server.\+h@{server.\+h}} -\subsubsection{\texorpdfstring{send\+Image()}{sendImage()}} -{\footnotesize\ttfamily int send\+Image (\begin{DoxyParamCaption}\item[{\hyperlink{image_8h_a9ac2855e21920c676a108df386ff9415}{Jpg} $\ast$}]{image }\end{DoxyParamCaption})} - - - -Send image to monitor using default client ID. - -Convert image to raw data, and add correct header before sending to monitor - - -\begin{DoxyParams}{Parameters} -{\em image} & An image object after compression \\ -\hline -\end{DoxyParams} -\begin{DoxyReturn}{Returns} -Return amount of data really received. 0 if communication is broken -\end{DoxyReturn} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__dep__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__dep__incl.md5 deleted file mode 100644 index c21e02b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__dep__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -26587ecf138210397620cf24665e9ee3 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__dep__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__dep__incl.pdf deleted file mode 100644 index 606cf7c..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__dep__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__incl.md5 b/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__incl.md5 deleted file mode 100644 index 887dd7b..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__incl.md5 +++ /dev/null @@ -1 +0,0 @@ -bb451ca855f19e0ef6da03b90f3ceea4 \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__incl.pdf b/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__incl.pdf deleted file mode 100644 index 1865345..0000000 Binary files a/software/raspberry/superviseur-robot/lib/doc/latex/server_8h__incl.pdf and /dev/null differ diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_from_mon.tex b/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_from_mon.tex deleted file mode 100644 index 4e2f6c6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_from_mon.tex +++ /dev/null @@ -1,48 +0,0 @@ -\hypertarget{struct_message_from_mon}{}\section{Message\+From\+Mon Struct Reference} -\label{struct_message_from_mon}\index{Message\+From\+Mon@{Message\+From\+Mon}} - - -{\ttfamily \#include $<$monitor.\+h$>$} - -\subsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -char \hyperlink{struct_message_from_mon_ad46f6e6dd24be5cb2bc5eae5b3cdd095}{header} \mbox{[}4\mbox{]} -\item -char \hyperlink{struct_message_from_mon_a1aea445500b0fa020a1b08eaff791107}{data} \mbox{[}100\mbox{]} -\end{DoxyCompactItemize} - - -\subsection{Detailed Description} - - -Definition at line 74 of file monitor.\+h. - - - -\subsection{Member Data Documentation} -\mbox{\Hypertarget{struct_message_from_mon_a1aea445500b0fa020a1b08eaff791107}\label{struct_message_from_mon_a1aea445500b0fa020a1b08eaff791107}} -\index{Message\+From\+Mon@{Message\+From\+Mon}!data@{data}} -\index{data@{data}!Message\+From\+Mon@{Message\+From\+Mon}} -\subsubsection{\texorpdfstring{data}{data}} -{\footnotesize\ttfamily char Message\+From\+Mon\+::data\mbox{[}100\mbox{]}} - - - -Definition at line 76 of file monitor.\+h. - -\mbox{\Hypertarget{struct_message_from_mon_ad46f6e6dd24be5cb2bc5eae5b3cdd095}\label{struct_message_from_mon_ad46f6e6dd24be5cb2bc5eae5b3cdd095}} -\index{Message\+From\+Mon@{Message\+From\+Mon}!header@{header}} -\index{header@{header}!Message\+From\+Mon@{Message\+From\+Mon}} -\subsubsection{\texorpdfstring{header}{header}} -{\footnotesize\ttfamily char Message\+From\+Mon\+::header\mbox{[}4\mbox{]}} - - - -Definition at line 75 of file monitor.\+h. - - - -The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} -\item -\hyperlink{monitor_8h}{monitor.\+h}\end{DoxyCompactItemize} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_to_mon.tex b/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_to_mon.tex deleted file mode 100644 index ad056e6..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_to_mon.tex +++ /dev/null @@ -1,48 +0,0 @@ -\hypertarget{struct_message_to_mon}{}\section{Message\+To\+Mon Struct Reference} -\label{struct_message_to_mon}\index{Message\+To\+Mon@{Message\+To\+Mon}} - - -{\ttfamily \#include $<$message.\+h$>$} - -\subsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -char \hyperlink{struct_message_to_mon_acb1096bef5e5c300f3d795556fda852a}{header} \mbox{[}4\mbox{]} -\item -void $\ast$ \hyperlink{struct_message_to_mon_a4e5977ba9fb3fa07d435155731944d15}{data} = N\+U\+LL -\end{DoxyCompactItemize} - - -\subsection{Detailed Description} - - -Definition at line 34 of file message.\+h. - - - -\subsection{Member Data Documentation} -\mbox{\Hypertarget{struct_message_to_mon_a4e5977ba9fb3fa07d435155731944d15}\label{struct_message_to_mon_a4e5977ba9fb3fa07d435155731944d15}} -\index{Message\+To\+Mon@{Message\+To\+Mon}!data@{data}} -\index{data@{data}!Message\+To\+Mon@{Message\+To\+Mon}} -\subsubsection{\texorpdfstring{data}{data}} -{\footnotesize\ttfamily void$\ast$ Message\+To\+Mon\+::data = N\+U\+LL} - - - -Definition at line 36 of file message.\+h. - -\mbox{\Hypertarget{struct_message_to_mon_acb1096bef5e5c300f3d795556fda852a}\label{struct_message_to_mon_acb1096bef5e5c300f3d795556fda852a}} -\index{Message\+To\+Mon@{Message\+To\+Mon}!header@{header}} -\index{header@{header}!Message\+To\+Mon@{Message\+To\+Mon}} -\subsubsection{\texorpdfstring{header}{header}} -{\footnotesize\ttfamily char Message\+To\+Mon\+::header\mbox{[}4\mbox{]}} - - - -Definition at line 35 of file message.\+h. - - - -The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} -\item -\hyperlink{message_8h}{message.\+h}\end{DoxyCompactItemize} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_to_robot.tex b/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_to_robot.tex deleted file mode 100644 index 21461fc..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/struct_message_to_robot.tex +++ /dev/null @@ -1,48 +0,0 @@ -\hypertarget{struct_message_to_robot}{}\section{Message\+To\+Robot Struct Reference} -\label{struct_message_to_robot}\index{Message\+To\+Robot@{Message\+To\+Robot}} - - -{\ttfamily \#include $<$robot.\+h$>$} - -\subsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -char \hyperlink{struct_message_to_robot_ab00202c6cfdd86ea4cd891c972405db6}{header} \mbox{[}4\mbox{]} -\item -char \hyperlink{struct_message_to_robot_abf7dafbba72784855abd50469ba82705}{data} \mbox{[}20\mbox{]} -\end{DoxyCompactItemize} - - -\subsection{Detailed Description} - - -Definition at line 43 of file robot.\+h. - - - -\subsection{Member Data Documentation} -\mbox{\Hypertarget{struct_message_to_robot_abf7dafbba72784855abd50469ba82705}\label{struct_message_to_robot_abf7dafbba72784855abd50469ba82705}} -\index{Message\+To\+Robot@{Message\+To\+Robot}!data@{data}} -\index{data@{data}!Message\+To\+Robot@{Message\+To\+Robot}} -\subsubsection{\texorpdfstring{data}{data}} -{\footnotesize\ttfamily char Message\+To\+Robot\+::data\mbox{[}20\mbox{]}} - - - -Definition at line 46 of file robot.\+h. - -\mbox{\Hypertarget{struct_message_to_robot_ab00202c6cfdd86ea4cd891c972405db6}\label{struct_message_to_robot_ab00202c6cfdd86ea4cd891c972405db6}} -\index{Message\+To\+Robot@{Message\+To\+Robot}!header@{header}} -\index{header@{header}!Message\+To\+Robot@{Message\+To\+Robot}} -\subsubsection{\texorpdfstring{header}{header}} -{\footnotesize\ttfamily char Message\+To\+Robot\+::header\mbox{[}4\mbox{]}} - - - -Definition at line 45 of file robot.\+h. - - - -The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} -\item -\hyperlink{robot_8h}{robot.\+h}\end{DoxyCompactItemize} diff --git a/software/raspberry/superviseur-robot/lib/doc/latex/struct_position.tex b/software/raspberry/superviseur-robot/lib/doc/latex/struct_position.tex deleted file mode 100644 index 6043be1..0000000 --- a/software/raspberry/superviseur-robot/lib/doc/latex/struct_position.tex +++ /dev/null @@ -1,60 +0,0 @@ -\hypertarget{struct_position}{}\section{Position Struct Reference} -\label{struct_position}\index{Position@{Position}} - - -{\ttfamily \#include $<$image.\+h$>$} - -\subsection*{Public Attributes} -\begin{DoxyCompactItemize} -\item -Point \hyperlink{struct_position_aa56444be37071311cfa11aae3e2c2f64}{center} -\item -Point \hyperlink{struct_position_a780d124971951424c0c63f6d81bb4d92}{direction} -\item -float \hyperlink{struct_position_a733540df6c0f832676dc0846b34bb1e2}{angle} -\end{DoxyCompactItemize} - - -\subsection{Detailed Description} - - -Definition at line 69 of file image.\+h. - - - -\subsection{Member Data Documentation} -\mbox{\Hypertarget{struct_position_a733540df6c0f832676dc0846b34bb1e2}\label{struct_position_a733540df6c0f832676dc0846b34bb1e2}} -\index{Position@{Position}!angle@{angle}} -\index{angle@{angle}!Position@{Position}} -\subsubsection{\texorpdfstring{angle}{angle}} -{\footnotesize\ttfamily float Position\+::angle} - - - -Definition at line 72 of file image.\+h. - -\mbox{\Hypertarget{struct_position_aa56444be37071311cfa11aae3e2c2f64}\label{struct_position_aa56444be37071311cfa11aae3e2c2f64}} -\index{Position@{Position}!center@{center}} -\index{center@{center}!Position@{Position}} -\subsubsection{\texorpdfstring{center}{center}} -{\footnotesize\ttfamily Point Position\+::center} - - - -Definition at line 70 of file image.\+h. - -\mbox{\Hypertarget{struct_position_a780d124971951424c0c63f6d81bb4d92}\label{struct_position_a780d124971951424c0c63f6d81bb4d92}} -\index{Position@{Position}!direction@{direction}} -\index{direction@{direction}!Position@{Position}} -\subsubsection{\texorpdfstring{direction}{direction}} -{\footnotesize\ttfamily Point Position\+::direction} - - - -Definition at line 71 of file image.\+h. - - - -The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize} -\item -\hyperlink{image_8h}{image.\+h}\end{DoxyCompactItemize} diff --git a/software/raspberry/superviseur-robot/lib/src/image.cpp b/software/raspberry/superviseur-robot/lib/image.cpp similarity index 100% rename from software/raspberry/superviseur-robot/lib/src/image.cpp rename to software/raspberry/superviseur-robot/lib/image.cpp diff --git a/software/raspberry/superviseur-robot/lib/image.h b/software/raspberry/superviseur-robot/lib/image.h index 239d5b5..418f372 100644 --- a/software/raspberry/superviseur-robot/lib/image.h +++ b/software/raspberry/superviseur-robot/lib/image.h @@ -15,16 +15,6 @@ * along with this program. If not, see . */ -/** - * \file image.h - * \author L.Senaneuch - * \version 1.0 - * \date 06/06/2017 - * \brief Functions for image treatment. - * - * \details This file use openCV2 library for picture processing. This allow to detect arena and robot. - */ - #ifndef _IMAGE_H_ #define _IMAGE_H_ diff --git a/software/raspberry/superviseur-robot/lib/img.cpp b/software/raspberry/superviseur-robot/lib/img.cpp new file mode 100644 index 0000000..15d0bbf --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/img.cpp @@ -0,0 +1,211 @@ +/* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "img.h" + +bool Arene::empty() { + + if ((this->arene.height==0) || (this->arene.width==0)) return true; + else return false; +} + +Img::Img(ImageMat imgMatrice) { + this->img = imgMatrice.clone(); +} + +float Img::calculAngle(Position robot) { + float a = robot.direction.x - robot.center.x; + float b = robot.direction.y - robot.center.y ; + float angle = atan2(b,a); + return angle * 180.f/M_PI; +} + +float Img::calculAngle2(cv::Point2f pt1, cv::Point2f pt2) { + float a = pt1.x - pt2.x; + float b = pt1.y - pt2.y ; + float angle = atan2(b,a); + return angle * 180.f/M_PI; +} + +#ifdef __WITH_ARUCO__ +cv::Point2f Img::find_aruco_center(std::vector aruco) { + return ((aruco[0] + aruco[2])/2); +} + +cv::Point2f Img::find_aruco_direction(std::vector aruco) { + return ((aruco[0]+aruco[1])/2);; +} + +std::list Img::search_aruco(Arene monArene) { + ImageMat imgTraitment; + std::list positionList; + cv::Point2f areneCoor; + std::vector ids; + std::vector > corners; + if(monArene.empty()) + imgTraitment=this->img.clone(); + else{ + imgTraitment = cropArena(monArene); + areneCoor.x = monArene.x; + areneCoor.y = monArene.y; + } + cv::detectMarkers(imgTraitment,dictionary, corners, ids); + if(ids.size()>0){ + for(int i = 0 ; i < ids.size() ; i++){ + Position newPos; + newPos.center = find_aruco_center(corners[i]); + newPos.direction = find_aruco_direction(corners[i]); + newPos.robotId = ids[i]; + if(!monArene.empty()){ + newPos.direction += areneCoor; + newPos.center += areneCoor; + } + newPos.angle = calculAngle2(newPos.center, newPos.direction); + positionList.push_back(newPos); + } + } + return positionList; +} +#endif // __WITH_ARUCO__ + +float Img::euclideanDist(cv::Point2f p, cv::Point2f q) { + cv::Point diff = p - q; + return cv::sqrt(diff.x*diff.x + diff.y*diff.y); +} + +Jpg Img::toJpg() { + Jpg imgJpg; + cv::imencode(".jpg",this->img,imgJpg); + return imgJpg; +} + +std::list Img::search_robot(Arene monArene) { + + std::list robotsFind; + std::vector > contours; + std::vector approx; + std::vector hierarchy; + + ImageMat imgTraitment; + + if(monArene.empty()) + imgTraitment=this->img.clone(); + else + imgTraitment = cropArena(monArene); + + cvtColor(imgTraitment,imgTraitment,CV_RGB2GRAY); + threshold(imgTraitment,imgTraitment,128,255,CV_THRESH_BINARY); + findContours(imgTraitment, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point2f(0, 0)); + + for(unsigned int i = 0;i < contours.size();i++) + { + cv::approxPolyDP(ImageMat(contours[i]), approx, cv::arcLength(ImageMat(contours[i]), true)*0.17, true); + if(approx.size() == 3 && fabs(cv::contourArea(contours[i])) > 200 && fabs(cv::contourArea(contours[i])) < 700) + { + + cv::Point2f a,b,c; + cv::Point2f center; + + + a = approx[0]; + b = approx[1]; + c = approx[2]; + + + if(!monArene.empty()) // ajout de l'offset de l'arène + { + a.x += monArene.arene.x; + a.y += monArene.arene.y; + b.x += monArene.arene.x; + b.y += monArene.arene.y; + c.x += monArene.arene.x; + c.y += monArene.arene.y; + } + + center.x = (a.x + b.x + c.x)/3; + center.y = (a.y + b.y + c.y)/3; + Position newPos; + newPos.center=center; + + if(euclideanDist(center,b) > euclideanDist(center,a) && euclideanDist(center,b) > euclideanDist(center,c) ) + { + + newPos.direction=b; + //line(img,center,b,Scalar(0,125,0),2,8,0); + } + else if(euclideanDist(center,a) > euclideanDist(center,c)) + { + newPos.direction=a; + //line(img,center,a,Scalar(0,125,0),2,8,0); + + } + else + { + newPos.direction=c; + //line(img,center,c,Scalar(0,125,0),2,8,0); + } + newPos.angle=calculAngle(newPos); + robotsFind.push_back(newPos); + } + } + return robotsFind; +} + +Arene Img::search_arena() { + std::vector > contours; + std::vector approx; + std::vector hierarchy; + + ImageMat imageTrt; + cv::cvtColor(this->img,imageTrt,CV_RGB2GRAY); // conversion en niveau de gris + cv::threshold(imageTrt,imageTrt,128,255,CV_THRESH_BINARY); // Threshold les éléments les plus clair + cv::Canny(imageTrt, imageTrt, 100,200,3); // detection d'angle + + findContours(imageTrt, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0)); + for(unsigned int i = 0; i < contours.size();i++) + { + approxPolyDP(ImageMat(contours[i]), approx, cv::arcLength(ImageMat(contours[i]), true)*0.1, true); + if(approx.size()==4 && fabs(cv::contourArea(contours[i])) > 100000) + { + Arene rectangle; + rectangle.arene = cv::boundingRect(ImageMat(contours[i])); + return rectangle; + } + } + return Arene(); +} + +int Img::draw_robot(Position robot) { + cv::arrowedLine(this->img, (cv::Point2f)robot.center, (cv::Point2f)robot.direction, cv::Scalar(0,0,255),3,8,0); + return 0; +} + +int Img::draw_all_robots(std::list robots) { + for(Position robot : robots){ + cv::arrowedLine(this->img, (cv::Point2f)robot.center, (cv::Point2f)robot.direction, cv::Scalar(0,0,255),3,8,0); + } + return robots.size(); +} + +int Img::draw_arena(Arene areneToDraw) { + cv::rectangle(this->img,areneToDraw.arene.tl(),areneToDraw.arene.br(),cv::Scalar(0,0,125),2,8,0); + return 0; +} + +ImageMat Img::cropArena(Arene arene) { + return this->img(arene.arene); +} diff --git a/software/raspberry/superviseur-robot/lib/img.h b/software/raspberry/superviseur-robot/lib/img.h new file mode 100644 index 0000000..1ddde5a --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/img.h @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef __IMG_H__ +#define __IMG_H__ + +#include +#include + +#include +#include +#include + +#ifdef __WITH_ARUCO__ +#include +#include +#include +#endif // __WITH_ARUCO__ + +#define ARENA_NOT_DETECTED -1 + +typedef cv::Mat ImageMat; + +typedef std::vector Jpg; + +struct Position { + cv::Point2f center; + cv::Point2f direction; + float angle; + int robotId; +}; + +class Arene { +public: + Arene(); + + cv::Rect arene; + bool empty(); +}; + +class Img { +public: + Img(ImageMat imgMatrice); + Jpg toJpg(); + Arene search_arena(); + + int draw_robot(Position robot); + int draw_all_robots(std::list robots); + int draw_arena(Arene areneToDraw); + std::list search_robot(Arene monArene); + +#ifdef __WITH_ARUCO__ + std::list search_aruco(Arene monArene = NULL); +#endif // __WITH_ARUCO__ +private: + cv::Mat img; + +#ifdef __WITH_ARUCO__ + Ptr dictionary; + cv::Point2f find_aruco_center(std::vector aruco); + cv::Point2f find_aruco_direction(std::vector aruco); +#endif // __WITH_ARUCO__ + + float calculAngle(Position robots); + float calculAngle2(cv::Point2f pt1, cv::Point2f pt2); + float euclideanDist(cv::Point2f p, cv::Point2f q); + ImageMat cropArena(Arene arene); +}; + +#endif //__IMG_H__ diff --git a/software/raspberry/superviseur-robot/lib/src/message.cpp b/software/raspberry/superviseur-robot/lib/message.cpp similarity index 100% rename from software/raspberry/superviseur-robot/lib/src/message.cpp rename to software/raspberry/superviseur-robot/lib/message.cpp diff --git a/software/raspberry/superviseur-robot/lib/messages.cpp b/software/raspberry/superviseur-robot/lib/messages.cpp new file mode 100644 index 0000000..ede1297 --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/messages.cpp @@ -0,0 +1,327 @@ +/* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include "messages.h" +#include +#include +#include + +/* + * Constants used with ToString method, for printing message id + */ + +const string MESSAGE_ID_STRING[] = { + "Empty", + "Log", + "Answer", + "Open serial com", + "Close serial com", + "Open camera", + "Close camera", + "Ask for arena", + "Arena confirmed", + "Arena infirmed", + "Compute position", + "Stop compute position", + "Position, + "Image", + "Robot ping", + "Robot reset", + "Robot start with wtachdog", + "Robot start without wtachdog", + "Robot reload watchdog", + "Robot move", + "Robot turn", + "Robot go forward", + "Robot go backward", + "Robot go left", + "Robot go right", + "Robot stop", + "Robot poweroff", + "Robot get battery", + "Robot battery level", + "Robot get state", + "Robot current state" + +}; + +/** + * Create a new, empty message + */ +Message::Message() { + this->messageID = MESSAGE_EMPTY; +} + +/** + * Destroy message + */ +Message::~Message() { +} + +/** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ +string Message::ToString() { + if (CheckID(this->messageID)) + return "Id: \"" + MESSAGE_ID_STRING[this->messageID] + "\""; + else + return "Invalid message"; +} + +/** + * Allocate a new mesage and copy contents of current message + * @return A message, copy of current + */ +Message* Message::Copy() { + Message *msg = new Message(); + + return msg; +} + +/** + * Get message ID + * @return Current message ID + */ +bool Message::CheckID(MessageID id) { + if ((id != MESSAGE_EMPTY) && + (id != MESSAGE_ARENA_CONFIRM) && + (id != MESSAGE_ARENA_INFIRM) && + (id != MESSAGE_ASK_ARENA) && + (id != MESSAGE_CAM_CLOSE) && + (id != MESSAGE_CAM_OPEN) && + (id != MESSAGE_CLOSE_COM) && + (id != MESSAGE_COMPUTE_POSITION) && + (id != MESSAGE_OPEN_COM) && + (id != MESSAGE_ROBOT_GET_BATTERY) && + (id != MESSAGE_ROBOT_GET_STATE) && + (id != MESSAGE_ROBOT_GO_BACK) && + (id != MESSAGE_ROBOT_GO_FORWARD) && + (id != MESSAGE_ROBOT_GO_LEFT) && + (id != MESSAGE_ROBOT_GO_RIGHT) && + (id != MESSAGE_ROBOT_PING) && + (id != MESSAGE_ROBOT_POWEROFF) && + (id != MESSAGE_ROBOT_RELOAD_WD) && + (id != MESSAGE_ROBOT_RESET) && + (id != MESSAGE_ROBOT_START_WITHOUT_WD) && + (id != MESSAGE_ROBOT_START_WITH_WD) && + (id != MESSAGE_ROBOT_STOP) && + (id != MESSAGE_STOP_COMPUTE_POSITION)) { + return false; + } else return true; +} + +/* MessageFloat */ + +/** + * Create a new, empty float message + */ +MessageFloat::MessageFloat() { + value = 0.0; +} + +/** + * Create a new float message, with given ID and value + * @param id Message ID + * @param val Message value + * @throw std::runtime_error if message ID is incompatible with float data + */ +MessageFloat::MessageFloat(MessageID id, float val) { + MessageFloat::SetID(id); + + value = val; +} + +/** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible with float data + */ +void MessageFloat::SetID(MessageID id) { + if (CheckID(id)) + messageID = id; + else + throw std::runtime_error { + "Invalid message id for MessageFloat" + }; +} + +/** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ +string MessageFloat::ToString() { + if (CheckID(this->messageID)) + return "Id: \"" + MESSAGE_ID_STRING[this->messageID] + "\"\nValue: " + to_string(this->value); + else + return "Invalid message"; +} + +/** + * Allocate a new mesage and copy contents of current message + * @return A message, copy of current + */ +Message* MessageFloat::Copy() { + return new MessageFloat(this->messageID, this->value); +} + +/** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ +bool MessageFloat::CheckID(MessageID id) { + if ((id != MESSAGE_ANGLE_POSITION) && + (id != MESSAGE_ANGULAR_SPEED) && + (id != MESSAGE_BATTERY) && + (id != MESSAGE_BETA) && + (id != MESSAGE_LINEAR_SPEED) && + (id != MESSAGE_TORQUE)) { + return false; + } else return true; +} + +/* class MessageString */ + +/** + * Create a new, empty string message + */ +MessageString::MessageString() { + s = string(""); +} + +/** + * Create a new string message, with given ID and string + * @param id Message ID + * @param s Message string + * @throw std::runtime_error if message ID is incompatible with string data + */ +MessageString::MessageString(MessageID id, string s) { + MessageString::SetID(id); + + this->s = s; +} + +/** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible with string data + */ +void MessageString::SetID(MessageID id) { + if (CheckID(id)) + messageID = id; + else + throw std::runtime_error { + "Invalid message id for MessageString" + }; +} + +/** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ +string MessageString::ToString() { + if (CheckID(this->messageID)) + return "Id: \"" + MESSAGE_ID_STRING[this->messageID] + "\"\nString: \"" + this->s + "\""; + else + return "Invalid message"; +} + +/** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ +Message* MessageString::Copy() { + return new MessageString(this->messageID, this->s); +} + +/** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ +bool MessageString::CheckID(MessageID id) { + if ((id != MESSAGE_LOG)) { + return false; + } else return true; +} + +/* class MessageBool */ + +/** + * Create a new, empty boolean message + */ +MessageBool::MessageBool() { + state = false; +} + +/** + * Create a new boolean message, with given ID and boolean value + * @param id Message ID + * @param state Boolean value + * @throw std::runtime_error if message ID is incompatible with boolean data + */ +MessageBool::MessageBool(MessageID id, bool state) { + MessageBool::SetID(id); + + this->state = state; +} + +/** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible with boolean data + */ +void MessageBool::SetID(MessageID id) { + if (CheckID(id)) + messageID = id; + else + throw std::runtime_error { + "Invalid message id for MessageBool" + }; +} + +/** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ +string MessageBool::ToString() { + if (CheckID(this->messageID)) + return "Id: \"" + MESSAGE_ID_STRING[this->messageID] + "\"\nState: \"" + to_string(this->state) + "\""; + else + return "Invalid message"; +} + +/** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ +Message* MessageBool::Copy() { + return new MessageBool(this->messageID, this->state); +} + +/** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ +bool MessageBool::CheckID(MessageID id) { + if ((id != MESSAGE_EMERGENCY_STOP) && + (id != MESSAGE_USER_PRESENCE)) { + return false; + } else return true; +} diff --git a/software/raspberry/superviseur-robot/lib/messages.h b/software/raspberry/superviseur-robot/lib/messages.h new file mode 100644 index 0000000..1d8b8a8 --- /dev/null +++ b/software/raspberry/superviseur-robot/lib/messages.h @@ -0,0 +1,786 @@ +/* + * Copyright (C) 2018 dimercur + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef __MESSAGES_H__ +#define __MESSAGES_H__ + +#include +#include "img.h" + +/** + * Message ID defined for system communication + * + * @brief List of available message ID + * + */ +typedef enum { + //Generic messages + MESSAGE_EMPTY = 0, + MESSAGE_LOG, + + // Message containing answer (after robot command, or for monitor) + MESSAGE_ANSWER, + + // messages for serial communication with robot + MESSAGE_OPEN_COM, + MESSAGE_CLOSE_COM, + + // Messages for camera + MESSAGE_CAM_OPEN, + MESSAGE_CAM_CLOSE, + MESSAGE_ASK_ARENA, + MESSAGE_ARENA_CONFIRM, + MESSAGE_ARENA_INFIRM, + MESSAGE_COMPUTE_POSITION, + MESSAGE_STOP_COMPUTE_POSITION, + MESSAGE_POSITION, + MESSAGE_IMAGE, + + // Messages for robot + MESSAGE_ROBOT_PING, + MESSAGE_ROBOT_RESET, + MESSAGE_ROBOT_START_WITH_WD, + MESSAGE_ROBOT_START_WITHOUT_WD, + MESSAGE_ROBOT_RELOAD_WD, + MESSAGE_ROBOT_MOVE, + MESSAGE_ROBOT_TURN, + MESSAGE_ROBOT_GO_FORWARD, + MESSAGE_ROBOT_GO_BACK, + MESSAGE_ROBOT_GO_LEFT, + MESSAGE_ROBOT_GO_RIGHT, + MESSAGE_ROBOT_STOP, + MESSAGE_ROBOT_POWEROFF, + MESSAGE_ROBOT_GET_BATTERY, + MESSAGE_ROBOT_BATTERY_LEVEL, + MESSAGE_ROBOT_GET_STATE, + MESSAGE_ROBOT_CURRENT_STATE +} MessageID; + +typedef enum { + ANSWER_ACK=0, + ANSWER_NACK, + ANSWER_LOST_ROBOT, + ANSWER_ROBOT_TIMEOUT, + ANSWER_ROBOT_UNKNWON_COMMAND, + ANSWER_ROBOT_ERROR, + ANSWER_ROBOT_CHECKSUM +} AnswerID; + +typedef enum { + BATTERY_EMPTY=0, + BATTERY_LOW, + BATTERY_FULL +} BatteryLevel; + +typedef enum { + ROBOT_NOT_BUSY=0, + ROBOT_BUSY +} RobotState; + +using namespace std; + +/** + * Base class for messaging + * + * @brief Base class for messaging + * + */ +class Message { +public: + /** + * Create a new, empty message + */ + Message(); + + /** + * Destroy message + */ + virtual ~Message(); + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + virtual string ToString(); + + /** + * Allocate a new mesage and copy contents of current message + * @return A message, copy of current + */ + virtual Message* Copy(); + + /** + * Get message ID + * @return Current message ID + */ + MessageID GetID() { + return messageID; + } + + /** + * Set message ID + * @param id Message ID + */ + virtual void SetID(MessageID id) { + } + + /** + * Comparison operator + * @param msg Message to be compared + * @return true if message are equal, false otherwise + */ + virtual bool operator==(const Message& msg) { + return (messageID == msg.messageID); + } + + /** + * Difference operator + * @param msg Message to be compared + * @return true if message are different, false otherwise + */ + virtual bool operator!=(const Message& msg) { + return !(messageID == msg.messageID); + } + +protected: + /** + * Message identifier (@see MessageID) + */ + MessageID messageID; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + virtual bool CheckID(MessageID id); +}; + + +/** + * Message class for holding float value, based on Message class + * + * @brief Float message class + * + */ +class MessageInt : public Message { +public: + /** + * Create a new, empty float message + */ + MessageInt(); + + /** + * Create a new float message, with given ID and value + * @param id Message ID + * @param val Message value + * @throw std::runtime_error if message ID is incompatible with float data + */ + MessageInt(MessageID id, int val); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible with float data + */ + void SetID(MessageID id); + + /** + * Get message value (int) + * @return int value + */ + int GetValue() { + return value; + } + + /** + * Set message value (int) + * @param val int value to store in message + */ + void SetValue(int val) { + this->value = val; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new mesage and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + + /** + * Comparison operator + * @param msg Message to be compared + * @return true if message are equal, false otherwise + */ + virtual bool operator==(const MessageInt& msg) { + return ((messageID == msg.messageID) && (value == msg.value)); + } + + /** + * Difference operator + * @param msg Message to be compared + * @return true if message are different, false otherwise + */ + virtual bool operator!=(const MessageInt& msg) { + return !((messageID == msg.messageID) && (value == msg.value)); + } + +protected: + /** + * Message integer value + */ + int value; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; + +/** + * Message class for holding float value, based on Message class + * + * @brief Float message class + * + */ +class MessageFloat : public Message { +public: + /** + * Create a new, empty float message + */ + MessageFloat(); + + /** + * Create a new float message, with given ID and value + * @param id Message ID + * @param val Message value + * @throw std::runtime_error if message ID is incompatible with float data + */ + MessageFloat(MessageID id, float val); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible with float data + */ + void SetID(MessageID id); + + /** + * Get message value (float) + * @return Float value + */ + float GetValue() { + return value; + } + + /** + * Set message value (float) + * @param val Float value to store in message + */ + void SetValue(float val) { + this->value = val; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new mesage and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + + /** + * Comparison operator + * @param msg Message to be compared + * @return true if message are equal, false otherwise + */ + virtual bool operator==(const MessageFloat& msg) { + return ((messageID == msg.messageID) && (value == msg.value)); + } + + /** + * Difference operator + * @param msg Message to be compared + * @return true if message are different, false otherwise + */ + virtual bool operator!=(const MessageFloat& msg) { + return !((messageID == msg.messageID) && (value == msg.value)); + } +protected: + /** + * Message float value + */ + float value; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; + +/** + * Message class for holding string value, based on Message class + * + * @brief String message class + * + */ +class MessageString : public Message { +public: + /** + * Create a new, empty string message + */ + MessageString(); + + /** + * Create a new string message, with given ID and string + * @param id Message ID + * @param s Message string + * @throw std::runtime_error if message ID is incompatible with string data + */ + MessageString(MessageID id, string s); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible with string data + */ + void SetID(MessageID id); + + /** + * Get message string + * @return String + */ + string GetString() { + return s; + } + + /** + * Set message string + * @param s String to store in message + */ + void SetString(string s) { + this->s = s; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + + /** + * Comparison operator + * @param msg Message to be compared + * @return true if message are equal, false otherwise + */ + virtual bool operator==(const MessageString& msg) { + return ((messageID == msg.messageID) && (s == msg.s)); + } + + /** + * Difference operator + * @param msg Message to be compared + * @return true if message are different, false otherwise + */ + virtual bool operator!=(const MessageString& msg) { + return !((messageID == msg.messageID) && (s == msg.s)); + } +protected: + /** + * Message content + */ + string s; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; + +/** + * Message class for holding image, based on Message class + * + * @brief Image message class + * + */ +class MessageImg : public Message { +public: + /** + * Create a new, empty image message + */ + MessageImg(); + + /** + * Create a new image message, with given ID and boolean value + * @param id Message ID + * @param image Pointer to image + * @throw std::runtime_error if message ID is incompatible with image message + */ + MessageImg(MessageID id, Img* image); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible withimage message + */ + void SetID(MessageID id); + + /** + * Get message image + * @return Pointer to image + */ + Img* GetImage() { + return image; + } + + /** + * Set message image + * @param image Pointer to image object + */ + void SetImage(Img* image) { + this->image = image; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + +protected: + /** + * Message image + */ + Img* image; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; + +/** + * Message class for holding position, based on Message class + * + * @brief Position message class + * + */ +class MessagePosition : public Message { +public: + /** + * Create a new, empty image message + */ + MessagePosition(); + + /** + * Create a new image message, with given ID and boolean value + * @param id Message ID + * @param image Pointer to image + * @throw std::runtime_error if message ID is incompatible with image message + */ + MessagePosition(MessageID id, Position pos); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible withimage message + */ + void SetID(MessageID id); + + /** + * Get message image + * @return Pointer to image + */ + Position GetPosition() { + return pos; + } + + /** + * Set message image + * @param image Pointer to image object + */ + void SetPosition(Position pos) { + this->pos = pos; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + +protected: + /** + * Message position + */ + Position pos; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; + +/** + * Message class for holding battery level, based on Message class + * + * @brief Position message class + * + */ +class MessageBattery : public Message { +public: + /** + * Create a new, empty image message + */ + MessageBattery(); + + /** + * Create a new image message, with given ID and boolean value + * @param id Message ID + * @param image Pointer to image + * @throw std::runtime_error if message ID is incompatible with image message + */ + MessageBattery(MessageID id, BatteryLevel level); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible withimage message + */ + void SetID(MessageID id); + + /** + * Get message image + * @return Pointer to image + */ + BatteryLevel GetLevel() { + return level; + } + + /** + * Set message image + * @param image Pointer to image object + */ + void SetLevel(BatteryLevel level) { + this->level = level; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + +protected: + /** + * Message position + */ + BatteryLevel level; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; + +/** + * Message class for holding answer, based on Message class + * + * @brief Answer message class + * + */ +class MessageAnswer : public Message { +public: + /** + * Create a new, empty image message + */ + MessageAnswer(); + + /** + * Create a new image message, with given ID and boolean value + * @param id Message ID + * @param image Pointer to image + * @throw std::runtime_error if message ID is incompatible with image message + */ + MessageAnswer(MessageID id, AnswerID answer); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible withimage message + */ + void SetID(MessageID id); + + /** + * Get message image + * @return Pointer to image + */ + AnswerID GetAnswer() { + return answer; + } + + /** + * Set message image + * @param image Pointer to image object + */ + void SetAnswer(AnswerID answer) { + this->answer = answer; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + +protected: + /** + * Message answer + */ + AnswerID answer; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; + +/** + * Message class for holding robot state, based on Message class + * + * @brief Answer message class + * + */ +class MessageState: public Message { +public: + /** + * Create a new, empty image message + */ + MessageState(); + + /** + * Create a new image message, with given ID and boolean value + * @param id Message ID + * @param image Pointer to image + * @throw std::runtime_error if message ID is incompatible with image message + */ + MessageState(MessageID id, RobotState state); + + /** + * Set message ID + * @param id Message ID + * @throw std::runtime_error if message ID is incompatible withimage message + */ + void SetID(MessageID id); + + /** + * Get message image + * @return Pointer to image + */ + RobotState GetState() { + return state; + } + + /** + * Set message image + * @param image Pointer to image object + */ + void SetState(RobotState state) { + this->state = state; + } + + /** + * Translate content of message into a string that can be displayed + * @return A string describing message contents + */ + string ToString(); + + /** + * Allocate a new message and copy contents of current message + * @return A message, copy of current + */ + Message* Copy(); + +protected: + /** + * Message answer + */ + RobotState state; + + /** + * Verify if message ID is compatible with current message type + * @param id Message ID + * @return true, if message ID is acceptable, false otherwise + */ + bool CheckID(MessageID id); +}; +#endif /* __MESSAGES_H__ */ + diff --git a/software/raspberry/superviseur-robot/lib/src/monitor.cpp b/software/raspberry/superviseur-robot/lib/monitor.cpp similarity index 100% rename from software/raspberry/superviseur-robot/lib/src/monitor.cpp rename to software/raspberry/superviseur-robot/lib/monitor.cpp diff --git a/software/raspberry/superviseur-robot/lib/src/robot.cpp b/software/raspberry/superviseur-robot/lib/robot.cpp similarity index 100% rename from software/raspberry/superviseur-robot/lib/src/robot.cpp rename to software/raspberry/superviseur-robot/lib/robot.cpp diff --git a/software/raspberry/superviseur-robot/lib/src/server.cpp b/software/raspberry/superviseur-robot/lib/server.cpp similarity index 100% rename from software/raspberry/superviseur-robot/lib/src/server.cpp rename to software/raspberry/superviseur-robot/lib/server.cpp diff --git a/software/raspberry/superviseur-robot/superviseur/src/main.cpp b/software/raspberry/superviseur-robot/main.cpp similarity index 99% rename from software/raspberry/superviseur-robot/superviseur/src/main.cpp rename to software/raspberry/superviseur-robot/main.cpp index 5737e45..7988a7a 100644 --- a/software/raspberry/superviseur-robot/superviseur/src/main.cpp +++ b/software/raspberry/superviseur-robot/main.cpp @@ -34,7 +34,7 @@ #include #include -#include "functions.h" +#include "tasks.h" // Déclaration des taches RT_TASK th_server; diff --git a/software/raspberry/superviseur-robot/nbproject/Makefile-Debug.mk b/software/raspberry/superviseur-robot/nbproject/Makefile-Debug.mk new file mode 100644 index 0000000..ce4f453 --- /dev/null +++ b/software/raspberry/superviseur-robot/nbproject/Makefile-Debug.mk @@ -0,0 +1,119 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux +CND_DLIB_EXT=so +CND_CONF=Debug +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include ./Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/lib/message.o \ + ${OBJECTDIR}/lib/messages.o \ + ${OBJECTDIR}/lib/monitor.o \ + ${OBJECTDIR}/lib/robot.o \ + ${OBJECTDIR}/lib/server.o \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/tasks.o + + +# C Compiler Flags +CFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + +# CC Compiler Flags +CCFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy +CXXFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS=`pkg-config --libs opencv` + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt + +${OBJECTDIR}/lib/message.o: lib/message.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/message.o lib/message.cpp + +${OBJECTDIR}/lib/messages.o: lib/messages.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp + +${OBJECTDIR}/lib/monitor.o: lib/monitor.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/monitor.o lib/monitor.cpp + +${OBJECTDIR}/lib/robot.o: lib/robot.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/robot.o lib/robot.cpp + +${OBJECTDIR}/lib/server.o: lib/server.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/server.o lib/server.cpp + +${OBJECTDIR}/main.o: main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/tasks.o: tasks.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks.o tasks.cpp + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__RPI_.mk b/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__RPI_.mk new file mode 100644 index 0000000..702a517 --- /dev/null +++ b/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__RPI_.mk @@ -0,0 +1,125 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux +CND_DLIB_EXT=so +CND_CONF=Debug__RPI_ +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include ./Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/lib/image.o \ + ${OBJECTDIR}/lib/message.o \ + ${OBJECTDIR}/lib/messages.o \ + ${OBJECTDIR}/lib/monitor.o \ + ${OBJECTDIR}/lib/robot.o \ + ${OBJECTDIR}/lib/server.o \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/tasks.o + + +# C Compiler Flags +CFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + +# CC Compiler Flags +CCFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy +CXXFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS=`pkg-config --libs opencv` -lraspicam_cv -lraspicam + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt + +${OBJECTDIR}/lib/image.o: lib/image.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/image.o lib/image.cpp + +${OBJECTDIR}/lib/message.o: lib/message.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/message.o lib/message.cpp + +${OBJECTDIR}/lib/messages.o: lib/messages.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp + +${OBJECTDIR}/lib/monitor.o: lib/monitor.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/monitor.o lib/monitor.cpp + +${OBJECTDIR}/lib/robot.o: lib/robot.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/robot.o lib/robot.cpp + +${OBJECTDIR}/lib/server.o: lib/server.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/server.o lib/server.cpp + +${OBJECTDIR}/main.o: main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/tasks.o: tasks.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks.o tasks.cpp + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/software/raspberry/superviseur-robot/nbproject/Makefile-Release.mk b/software/raspberry/superviseur-robot/nbproject/Makefile-Release.mk new file mode 100644 index 0000000..fa26549 --- /dev/null +++ b/software/raspberry/superviseur-robot/nbproject/Makefile-Release.mk @@ -0,0 +1,125 @@ +# +# Generated Makefile - do not edit! +# +# Edit the Makefile in the project folder instead (../Makefile). Each target +# has a -pre and a -post target defined where you can add customized code. +# +# This makefile implements configuration specific macros and targets. + + +# Environment +MKDIR=mkdir +CP=cp +GREP=grep +NM=nm +CCADMIN=CCadmin +RANLIB=ranlib +CC=gcc +CCC=g++ +CXX=g++ +FC=gfortran +AS=as + +# Macros +CND_PLATFORM=GNU-Linux +CND_DLIB_EXT=so +CND_CONF=Release +CND_DISTDIR=dist +CND_BUILDDIR=build + +# Include project Makefile +include ./Makefile + +# Object Directory +OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} + +# Object Files +OBJECTFILES= \ + ${OBJECTDIR}/lib/image.o \ + ${OBJECTDIR}/lib/message.o \ + ${OBJECTDIR}/lib/messages.o \ + ${OBJECTDIR}/lib/monitor.o \ + ${OBJECTDIR}/lib/robot.o \ + ${OBJECTDIR}/lib/server.o \ + ${OBJECTDIR}/main.o \ + ${OBJECTDIR}/tasks.o + + +# C Compiler Flags +CFLAGS= + +# CC Compiler Flags +CCFLAGS= +CXXFLAGS= + +# Fortran Compiler Flags +FFLAGS= + +# Assembler Flags +ASFLAGS= + +# Link Libraries and Options +LDLIBSOPTIONS= + +# Build Targets +.build-conf: ${BUILD_SUBPROJECTS} + "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot + +${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES} + ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} + ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} + +${OBJECTDIR}/lib/image.o: lib/image.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/image.o lib/image.cpp + +${OBJECTDIR}/lib/message.o: lib/message.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/message.o lib/message.cpp + +${OBJECTDIR}/lib/messages.o: lib/messages.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp + +${OBJECTDIR}/lib/monitor.o: lib/monitor.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/monitor.o lib/monitor.cpp + +${OBJECTDIR}/lib/robot.o: lib/robot.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/robot.o lib/robot.cpp + +${OBJECTDIR}/lib/server.o: lib/server.cpp + ${MKDIR} -p ${OBJECTDIR}/lib + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/server.o lib/server.cpp + +${OBJECTDIR}/main.o: main.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp + +${OBJECTDIR}/tasks.o: tasks.cpp + ${MKDIR} -p ${OBJECTDIR} + ${RM} "$@.d" + $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks.o tasks.cpp + +# Subprojects +.build-subprojects: + +# Clean Targets +.clean-conf: ${CLEAN_SUBPROJECTS} + ${RM} -r ${CND_BUILDDIR}/${CND_CONF} + +# Subprojects +.clean-subprojects: + +# Enable dependency checking +.dep.inc: .depcheck-impl + +include .dep.inc diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-impl.mk b/software/raspberry/superviseur-robot/nbproject/Makefile-impl.mk similarity index 99% rename from software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-impl.mk rename to software/raspberry/superviseur-robot/nbproject/Makefile-impl.mk index 6990172..24d259d 100644 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-impl.mk +++ b/software/raspberry/superviseur-robot/nbproject/Makefile-impl.mk @@ -24,7 +24,7 @@ CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}} # Project Name -PROJECTNAME=superviseur +PROJECTNAME=superviseur-robot # Active Configuration DEFAULTCONF=Debug diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-variables.mk b/software/raspberry/superviseur-robot/nbproject/Makefile-variables.mk similarity index 69% rename from software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-variables.mk rename to software/raspberry/superviseur-robot/nbproject/Makefile-variables.mk index 50873f1..9dbbe3a 100644 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-variables.mk +++ b/software/raspberry/superviseur-robot/nbproject/Makefile-variables.mk @@ -9,27 +9,27 @@ CND_DISTDIR=dist # Debug configuration CND_PLATFORM_Debug=GNU-Linux CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux -CND_ARTIFACT_NAME_Debug=superviseur -CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux/superviseur +CND_ARTIFACT_NAME_Debug=superviseur-robot +CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux/superviseur-robot CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux/package -CND_PACKAGE_NAME_Debug=superviseur.tar -CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux/package/superviseur.tar +CND_PACKAGE_NAME_Debug=superviseur-robot.tar +CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux/package/superviseur-robot.tar # Release configuration CND_PLATFORM_Release=GNU-Linux CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux -CND_ARTIFACT_NAME_Release=superviseur -CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux/superviseur +CND_ARTIFACT_NAME_Release=superviseur-robot +CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux/superviseur-robot CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux/package -CND_PACKAGE_NAME_Release=superviseur.tar -CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux/package/superviseur.tar +CND_PACKAGE_NAME_Release=superviseur-robot.tar +CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux/package/superviseur-robot.tar # Debug__RPI_ configuration CND_PLATFORM_Debug__RPI_=GNU-Linux CND_ARTIFACT_DIR_Debug__RPI_=dist/Debug__RPI_/GNU-Linux -CND_ARTIFACT_NAME_Debug__RPI_=superviseur -CND_ARTIFACT_PATH_Debug__RPI_=dist/Debug__RPI_/GNU-Linux/superviseur +CND_ARTIFACT_NAME_Debug__RPI_=superviseur-robot +CND_ARTIFACT_PATH_Debug__RPI_=dist/Debug__RPI_/GNU-Linux/superviseur-robot CND_PACKAGE_DIR_Debug__RPI_=dist/Debug__RPI_/GNU-Linux/package -CND_PACKAGE_NAME_Debug__RPI_=superviseur.tar -CND_PACKAGE_PATH_Debug__RPI_=dist/Debug__RPI_/GNU-Linux/package/superviseur.tar +CND_PACKAGE_NAME_Debug__RPI_=superviseur-robot.tar +CND_PACKAGE_PATH_Debug__RPI_=dist/Debug__RPI_/GNU-Linux/package/superviseur-robot.tar # # include compiler specific variables # diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug.bash b/software/raspberry/superviseur-robot/nbproject/Package-Debug.bash similarity index 88% rename from software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug.bash rename to software/raspberry/superviseur-robot/nbproject/Package-Debug.bash index 7491245..10fd194 100644 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug.bash +++ b/software/raspberry/superviseur-robot/nbproject/Package-Debug.bash @@ -13,9 +13,9 @@ CND_BUILDDIR=build CND_DLIB_EXT=so NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging TMPDIRNAME=tmp-packaging -OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur -OUTPUT_BASENAME=superviseur -PACKAGE_TOP_DIR=superviseur/ +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot +OUTPUT_BASENAME=superviseur-robot +PACKAGE_TOP_DIR=superviseur-robot/ # Functions function checkReturnCode @@ -60,15 +60,15 @@ mkdir -p ${NBTMPDIR} # Copy files and create directories and links cd "${TOP}" -makeDirectory "${NBTMPDIR}/superviseur/bin" +makeDirectory "${NBTMPDIR}/superviseur-robot/bin" copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 # Generate tar file cd "${TOP}" -rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar cd ${NBTMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar * +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar * checkReturnCode # Cleanup diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug__RPI_.bash b/software/raspberry/superviseur-robot/nbproject/Package-Debug__RPI_.bash similarity index 88% rename from software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug__RPI_.bash rename to software/raspberry/superviseur-robot/nbproject/Package-Debug__RPI_.bash index 497c884..f42ce09 100644 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug__RPI_.bash +++ b/software/raspberry/superviseur-robot/nbproject/Package-Debug__RPI_.bash @@ -13,9 +13,9 @@ CND_BUILDDIR=build CND_DLIB_EXT=so NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging TMPDIRNAME=tmp-packaging -OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur -OUTPUT_BASENAME=superviseur -PACKAGE_TOP_DIR=superviseur/ +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot +OUTPUT_BASENAME=superviseur-robot +PACKAGE_TOP_DIR=superviseur-robot/ # Functions function checkReturnCode @@ -60,15 +60,15 @@ mkdir -p ${NBTMPDIR} # Copy files and create directories and links cd "${TOP}" -makeDirectory "${NBTMPDIR}/superviseur/bin" +makeDirectory "${NBTMPDIR}/superviseur-robot/bin" copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 # Generate tar file cd "${TOP}" -rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar cd ${NBTMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar * +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar * checkReturnCode # Cleanup diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Release.bash b/software/raspberry/superviseur-robot/nbproject/Package-Release.bash similarity index 88% rename from software/raspberry/superviseur-robot/superviseur/nbproject/Package-Release.bash rename to software/raspberry/superviseur-robot/nbproject/Package-Release.bash index 76f5a7f..13f4fa7 100644 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Release.bash +++ b/software/raspberry/superviseur-robot/nbproject/Package-Release.bash @@ -13,9 +13,9 @@ CND_BUILDDIR=build CND_DLIB_EXT=so NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging TMPDIRNAME=tmp-packaging -OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur -OUTPUT_BASENAME=superviseur -PACKAGE_TOP_DIR=superviseur/ +OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot +OUTPUT_BASENAME=superviseur-robot +PACKAGE_TOP_DIR=superviseur-robot/ # Functions function checkReturnCode @@ -60,15 +60,15 @@ mkdir -p ${NBTMPDIR} # Copy files and create directories and links cd "${TOP}" -makeDirectory "${NBTMPDIR}/superviseur/bin" +makeDirectory "${NBTMPDIR}/superviseur-robot/bin" copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755 # Generate tar file cd "${TOP}" -rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar +rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar cd ${NBTMPDIR} -tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur.tar * +tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar * checkReturnCode # Cleanup diff --git a/software/raspberry/superviseur-robot/nbproject/configurations.xml b/software/raspberry/superviseur-robot/nbproject/configurations.xml new file mode 100644 index 0000000..a8a96fb --- /dev/null +++ b/software/raspberry/superviseur-robot/nbproject/configurations.xml @@ -0,0 +1,270 @@ + + + + + ./lib/camera.h + ./lib/definitions.h + ./lib/image.h + ./lib/img.h + ./lib/message.h + ./lib/messages.h + ./lib/monitor.h + ./lib/robot.h + ./lib/server.h + ./tasks.h + + + ./gdbsudo.sh + + + ./lib/camera.cpp + ./lib/image.cpp + ./lib/img.cpp + ./main.cpp + ./lib/message.cpp + ./lib/messages.cpp + ./lib/monitor.cpp + ./lib/robot.cpp + ./lib/server.cpp + ./tasks.cpp + + + + + ./Makefile + + + ./Makefile + + + + default + true + false + + + + + ./ + ./lib + + -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + + + + ./ + ./lib + /usr/xenomai/include + /usr/xenomai/include/mercury + + -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + + _WITH_TRACE_ + __FOR_PC__ + + + + + `pkg-config --libs opencv` + + -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + default + true + false + + + + 5 + + + 5 + + + 5 + + + 5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GNU|GNU + true + false + + + + + ./ + ./lib + /usr/xenomai/include + /usr/xenomai/include/mercury + + -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + + + + ./ + ./lib + /usr/xenomai/include + /usr/xenomai/include/mercury + + -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy + + _WITH_TRACE_ + + + + + `pkg-config --libs opencv` + raspicam_cv + raspicam + + -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/Makefile-variables.mk b/software/raspberry/superviseur-robot/nbproject/private/Makefile-variables.mk similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/Makefile-variables.mk rename to software/raspberry/superviseur-robot/nbproject/private/Makefile-variables.mk diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/c_standard_headers_indexer.c b/software/raspberry/superviseur-robot/nbproject/private/c_standard_headers_indexer.c similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/c_standard_headers_indexer.c rename to software/raspberry/superviseur-robot/nbproject/private/c_standard_headers_indexer.c diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/configurations.xml b/software/raspberry/superviseur-robot/nbproject/private/configurations.xml similarity index 98% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/configurations.xml rename to software/raspberry/superviseur-robot/nbproject/private/configurations.xml index 9835210..393661c 100644 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/private/configurations.xml +++ b/software/raspberry/superviseur-robot/nbproject/private/configurations.xml @@ -1,6 +1,6 @@ - Makefile + ./Makefile diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/cpp_standard_headers_indexer.cpp b/software/raspberry/superviseur-robot/nbproject/private/cpp_standard_headers_indexer.cpp similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/cpp_standard_headers_indexer.cpp rename to software/raspberry/superviseur-robot/nbproject/private/cpp_standard_headers_indexer.cpp diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/downloads-10.105.1.13-pi-22 b/software/raspberry/superviseur-robot/nbproject/private/downloads-10.105.1.13-pi-22 similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/downloads-10.105.1.13-pi-22 rename to software/raspberry/superviseur-robot/nbproject/private/downloads-10.105.1.13-pi-22 diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/launcher.properties b/software/raspberry/superviseur-robot/nbproject/private/launcher.properties similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/launcher.properties rename to software/raspberry/superviseur-robot/nbproject/private/launcher.properties diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/private.xml b/software/raspberry/superviseur-robot/nbproject/private/private.xml similarity index 72% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/private.xml rename to software/raspberry/superviseur-robot/nbproject/private/private.xml index b361df8..7a2adea 100644 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/private/private.xml +++ b/software/raspberry/superviseur-robot/nbproject/private/private.xml @@ -2,24 +2,24 @@ 1 - 2 + 0 file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/monitor.h - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/functions.cpp - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/server.cpp - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/image.cpp - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/main.cpp - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/robot.cpp + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.h + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.h file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/robot.h + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/image.h file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/server.h - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/message.cpp + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.h + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/tasks.cpp file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/message.h - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/functions.h - file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/monitor.cpp + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/main.cpp + file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.cpp diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/private/timestamps-10.105.1.13-pi-22 b/software/raspberry/superviseur-robot/nbproject/private/timestamps-10.105.1.13-pi-22 similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/private/timestamps-10.105.1.13-pi-22 rename to software/raspberry/superviseur-robot/nbproject/private/timestamps-10.105.1.13-pi-22 diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/project.properties b/software/raspberry/superviseur-robot/nbproject/project.properties similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/project.properties rename to software/raspberry/superviseur-robot/nbproject/project.properties diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/project.xml b/software/raspberry/superviseur-robot/nbproject/project.xml similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/nbproject/project.xml rename to software/raspberry/superviseur-robot/nbproject/project.xml diff --git a/software/raspberry/superviseur-robot/superviseur/.gitignore b/software/raspberry/superviseur-robot/superviseur/.gitignore deleted file mode 100644 index 5ceb27c..0000000 --- a/software/raspberry/superviseur-robot/superviseur/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -bin/ -build/ -CMakeFiles/ -dist/ - -.dep.inc -Makefile -*.cmake -*.o - diff --git a/software/raspberry/superviseur-robot/superviseur/CMakeLists.txt b/software/raspberry/superviseur-robot/superviseur/CMakeLists.txt deleted file mode 100644 index fd22eaa..0000000 --- a/software/raspberry/superviseur-robot/superviseur/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -set(superviseur_FILES ./src/main.cpp src/functions.cpp) - -include_directories(./src ../lib /usr/xenomai/include /usr/xenomai/include/mercury) -link_directories(/usr/xenomai/lib) - -add_executable(superviseur ${superviseur_FILES}) -target_link_libraries(superviseur destijl) - -#add_custom_command(TARGET superviseur POST_BUILD -# COMMAND sudo chown root ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/superviseur -# COMMAND sudo chgrp root ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/superviseur -# COMMAND sudo chmod +s ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/superviseur -# WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} -# COMMENT "Add sticky bit" -#) \ No newline at end of file diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug.mk b/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug.mk deleted file mode 100644 index 490bfe1..0000000 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug.mk +++ /dev/null @@ -1,119 +0,0 @@ -# -# Generated Makefile - do not edit! -# -# Edit the Makefile in the project folder instead (../Makefile). Each target -# has a -pre and a -post target defined where you can add customized code. -# -# This makefile implements configuration specific macros and targets. - - -# Environment -MKDIR=mkdir -CP=cp -GREP=grep -NM=nm -CCADMIN=CCadmin -RANLIB=ranlib -CC=gcc -CCC=g++ -CXX=g++ -FC=gfortran -AS=as - -# Macros -CND_PLATFORM=GNU-Linux -CND_DLIB_EXT=so -CND_CONF=Debug -CND_DISTDIR=dist -CND_BUILDDIR=build - -# Include project Makefile -include Makefile - -# Object Directory -OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} - -# Object Files -OBJECTFILES= \ - ${OBJECTDIR}/_ext/a59f760b/image.o \ - ${OBJECTDIR}/_ext/a59f760b/message.o \ - ${OBJECTDIR}/_ext/a59f760b/monitor.o \ - ${OBJECTDIR}/_ext/a59f760b/robot.o \ - ${OBJECTDIR}/_ext/a59f760b/server.o \ - ${OBJECTDIR}/src/functions.o \ - ${OBJECTDIR}/src/main.o - - -# C Compiler Flags -CFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - -# CC Compiler Flags -CCFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy -CXXFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - -# Fortran Compiler Flags -FFLAGS= - -# Assembler Flags -ASFLAGS= - -# Link Libraries and Options -LDLIBSOPTIONS=`pkg-config --libs opencv` - -# Build Targets -.build-conf: ${BUILD_SUBPROJECTS} - "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur - -${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur: ${OBJECTFILES} - ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} - ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt - -${OBJECTDIR}/_ext/a59f760b/image.o: ../lib/src/image.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/image.o ../lib/src/image.cpp - -${OBJECTDIR}/_ext/a59f760b/message.o: ../lib/src/message.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/message.o ../lib/src/message.cpp - -${OBJECTDIR}/_ext/a59f760b/monitor.o: ../lib/src/monitor.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/monitor.o ../lib/src/monitor.cpp - -${OBJECTDIR}/_ext/a59f760b/robot.o: ../lib/src/robot.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/robot.o ../lib/src/robot.cpp - -${OBJECTDIR}/_ext/a59f760b/server.o: ../lib/src/server.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/server.o ../lib/src/server.cpp - -${OBJECTDIR}/src/functions.o: src/functions.cpp - ${MKDIR} -p ${OBJECTDIR}/src - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/functions.o src/functions.cpp - -${OBJECTDIR}/src/main.o: src/main.cpp - ${MKDIR} -p ${OBJECTDIR}/src - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp - -# Subprojects -.build-subprojects: - -# Clean Targets -.clean-conf: ${CLEAN_SUBPROJECTS} - ${RM} -r ${CND_BUILDDIR}/${CND_CONF} - -# Subprojects -.clean-subprojects: - -# Enable dependency checking -.dep.inc: .depcheck-impl - -include .dep.inc diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug__RPI_.mk b/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug__RPI_.mk deleted file mode 100644 index ff76d0c..0000000 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug__RPI_.mk +++ /dev/null @@ -1,119 +0,0 @@ -# -# Generated Makefile - do not edit! -# -# Edit the Makefile in the project folder instead (../Makefile). Each target -# has a -pre and a -post target defined where you can add customized code. -# -# This makefile implements configuration specific macros and targets. - - -# Environment -MKDIR=mkdir -CP=cp -GREP=grep -NM=nm -CCADMIN=CCadmin -RANLIB=ranlib -CC=gcc -CCC=g++ -CXX=g++ -FC=gfortran -AS=as - -# Macros -CND_PLATFORM=GNU-Linux -CND_DLIB_EXT=so -CND_CONF=Debug__RPI_ -CND_DISTDIR=dist -CND_BUILDDIR=build - -# Include project Makefile -include Makefile - -# Object Directory -OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} - -# Object Files -OBJECTFILES= \ - ${OBJECTDIR}/_ext/a59f760b/image.o \ - ${OBJECTDIR}/_ext/a59f760b/message.o \ - ${OBJECTDIR}/_ext/a59f760b/monitor.o \ - ${OBJECTDIR}/_ext/a59f760b/robot.o \ - ${OBJECTDIR}/_ext/a59f760b/server.o \ - ${OBJECTDIR}/src/functions.o \ - ${OBJECTDIR}/src/main.o - - -# C Compiler Flags -CFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - -# CC Compiler Flags -CCFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy -CXXFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - -# Fortran Compiler Flags -FFLAGS= - -# Assembler Flags -ASFLAGS= - -# Link Libraries and Options -LDLIBSOPTIONS=`pkg-config --libs opencv` -lraspicam_cv -lraspicam - -# Build Targets -.build-conf: ${BUILD_SUBPROJECTS} - "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur - -${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur: ${OBJECTFILES} - ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} - ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt - -${OBJECTDIR}/_ext/a59f760b/image.o: ../lib/src/image.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/image.o ../lib/src/image.cpp - -${OBJECTDIR}/_ext/a59f760b/message.o: ../lib/src/message.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/message.o ../lib/src/message.cpp - -${OBJECTDIR}/_ext/a59f760b/monitor.o: ../lib/src/monitor.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/monitor.o ../lib/src/monitor.cpp - -${OBJECTDIR}/_ext/a59f760b/robot.o: ../lib/src/robot.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/robot.o ../lib/src/robot.cpp - -${OBJECTDIR}/_ext/a59f760b/server.o: ../lib/src/server.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/server.o ../lib/src/server.cpp - -${OBJECTDIR}/src/functions.o: src/functions.cpp - ${MKDIR} -p ${OBJECTDIR}/src - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/functions.o src/functions.cpp - -${OBJECTDIR}/src/main.o: src/main.cpp - ${MKDIR} -p ${OBJECTDIR}/src - ${RM} "$@.d" - $(COMPILE.cc) -g -D_WITH_TRACE_ -Isrc -I../lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp - -# Subprojects -.build-subprojects: - -# Clean Targets -.clean-conf: ${CLEAN_SUBPROJECTS} - ${RM} -r ${CND_BUILDDIR}/${CND_CONF} - -# Subprojects -.clean-subprojects: - -# Enable dependency checking -.dep.inc: .depcheck-impl - -include .dep.inc diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Release.mk b/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Release.mk deleted file mode 100644 index e888d88..0000000 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Release.mk +++ /dev/null @@ -1,119 +0,0 @@ -# -# Generated Makefile - do not edit! -# -# Edit the Makefile in the project folder instead (../Makefile). Each target -# has a -pre and a -post target defined where you can add customized code. -# -# This makefile implements configuration specific macros and targets. - - -# Environment -MKDIR=mkdir -CP=cp -GREP=grep -NM=nm -CCADMIN=CCadmin -RANLIB=ranlib -CC=gcc -CCC=g++ -CXX=g++ -FC=gfortran -AS=as - -# Macros -CND_PLATFORM=GNU-Linux -CND_DLIB_EXT=so -CND_CONF=Release -CND_DISTDIR=dist -CND_BUILDDIR=build - -# Include project Makefile -include Makefile - -# Object Directory -OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM} - -# Object Files -OBJECTFILES= \ - ${OBJECTDIR}/_ext/a59f760b/image.o \ - ${OBJECTDIR}/_ext/a59f760b/message.o \ - ${OBJECTDIR}/_ext/a59f760b/monitor.o \ - ${OBJECTDIR}/_ext/a59f760b/robot.o \ - ${OBJECTDIR}/_ext/a59f760b/server.o \ - ${OBJECTDIR}/src/functions.o \ - ${OBJECTDIR}/src/main.o - - -# C Compiler Flags -CFLAGS= - -# CC Compiler Flags -CCFLAGS= -CXXFLAGS= - -# Fortran Compiler Flags -FFLAGS= - -# Assembler Flags -ASFLAGS= - -# Link Libraries and Options -LDLIBSOPTIONS= - -# Build Targets -.build-conf: ${BUILD_SUBPROJECTS} - "${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur - -${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur: ${OBJECTFILES} - ${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM} - ${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur ${OBJECTFILES} ${LDLIBSOPTIONS} - -${OBJECTDIR}/_ext/a59f760b/image.o: ../lib/src/image.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/image.o ../lib/src/image.cpp - -${OBJECTDIR}/_ext/a59f760b/message.o: ../lib/src/message.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/message.o ../lib/src/message.cpp - -${OBJECTDIR}/_ext/a59f760b/monitor.o: ../lib/src/monitor.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/monitor.o ../lib/src/monitor.cpp - -${OBJECTDIR}/_ext/a59f760b/robot.o: ../lib/src/robot.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/robot.o ../lib/src/robot.cpp - -${OBJECTDIR}/_ext/a59f760b/server.o: ../lib/src/server.cpp - ${MKDIR} -p ${OBJECTDIR}/_ext/a59f760b - ${RM} "$@.d" - $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a59f760b/server.o ../lib/src/server.cpp - -${OBJECTDIR}/src/functions.o: src/functions.cpp - ${MKDIR} -p ${OBJECTDIR}/src - ${RM} "$@.d" - $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/functions.o src/functions.cpp - -${OBJECTDIR}/src/main.o: src/main.cpp - ${MKDIR} -p ${OBJECTDIR}/src - ${RM} "$@.d" - $(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/src/main.o src/main.cpp - -# Subprojects -.build-subprojects: - -# Clean Targets -.clean-conf: ${CLEAN_SUBPROJECTS} - ${RM} -r ${CND_BUILDDIR}/${CND_CONF} - -# Subprojects -.clean-subprojects: - -# Enable dependency checking -.dep.inc: .depcheck-impl - -include .dep.inc diff --git a/software/raspberry/superviseur-robot/superviseur/nbproject/configurations.xml b/software/raspberry/superviseur-robot/superviseur/nbproject/configurations.xml deleted file mode 100644 index e5c1aec..0000000 --- a/software/raspberry/superviseur-robot/superviseur/nbproject/configurations.xml +++ /dev/null @@ -1,230 +0,0 @@ - - - - - ../lib/definitions.h - ./src/functions.h - ../lib/image.h - ../lib/message.h - ../lib/monitor.h - ../lib/robot.h - ../lib/server.h - - - gdbsudo.sh - - - ./src/functions.cpp - ../lib/src/image.cpp - ./src/main.cpp - ../lib/src/message.cpp - ../lib/src/monitor.cpp - ../lib/src/robot.cpp - ../lib/src/server.cpp - - - - - Makefile - - - Makefile - - - - default - true - false - - - - - src - ../lib - - -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - - - - src - ../lib - /usr/xenomai/include - /usr/xenomai/include/mercury - - -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - - _WITH_TRACE_ - __FOR_PC__ - - - - - `pkg-config --libs opencv` - - -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - default - true - false - - - - 5 - - - 5 - - - 5 - - - 5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GNU|GNU - true - false - - - - - src - ../lib - /usr/xenomai/include - /usr/xenomai/include/mercury - - -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - - - - src - ../lib - /usr/xenomai/include - /usr/xenomai/include/mercury - - -I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy - - _WITH_TRACE_ - - - - - `pkg-config --libs opencv` - raspicam_cv - raspicam - - -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/software/raspberry/superviseur-robot/superviseur/src/functions.cpp b/software/raspberry/superviseur-robot/tasks.cpp similarity index 99% rename from software/raspberry/superviseur-robot/superviseur/src/functions.cpp rename to software/raspberry/superviseur-robot/tasks.cpp index 89b6e89..da732f2 100644 --- a/software/raspberry/superviseur-robot/superviseur/src/functions.cpp +++ b/software/raspberry/superviseur-robot/tasks.cpp @@ -23,7 +23,7 @@ * \brief Miscellaneous functions used for destijl project. */ -#include "functions.h" +#include "tasks.h" char mode_start; diff --git a/software/raspberry/superviseur-robot/superviseur/src/functions.h b/software/raspberry/superviseur-robot/tasks.h similarity index 100% rename from software/raspberry/superviseur-robot/superviseur/src/functions.h rename to software/raspberry/superviseur-robot/tasks.h