Ajout de l'affichage de la position dans le moniteur + nettoyage dans le code des superviseurs

This commit is contained in:
vezde 2022-10-20 14:25:45 +02:00
parent e33b24b0fd
commit 1944ee80d1
25 changed files with 802 additions and 659 deletions

View file

@ -13,46 +13,92 @@ from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object): class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow") MainWindow.setObjectName("MainWindow")
MainWindow.resize(973, 635) MainWindow.resize(985, 745)
MainWindow.setMinimumSize(QtCore.QSize(973, 635)) MainWindow.setMinimumSize(QtCore.QSize(985, 745))
self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget") self.centralwidget.setObjectName("centralwidget")
self.widget = QtWidgets.QWidget(self.centralwidget) self.widget = QtWidgets.QWidget(self.centralwidget)
self.widget.setGeometry(QtCore.QRect(14, 13, 947, 574)) self.widget.setGeometry(QtCore.QRect(20, 16, 947, 671))
self.widget.setObjectName("widget") self.widget.setObjectName("widget")
self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.widget) self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.widget)
self.horizontalLayout_6.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_7.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.horizontalLayout_7.setObjectName("horizontalLayout_7")
self.verticalLayout_4 = QtWidgets.QVBoxLayout() self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4") self.verticalLayout_4.setObjectName("verticalLayout_4")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.checkBox_enableCamera = QtWidgets.QCheckBox(self.widget) self.checkBox_enableCamera = QtWidgets.QCheckBox(self.widget)
self.checkBox_enableCamera.setObjectName("checkBox_enableCamera") self.checkBox_enableCamera.setObjectName("checkBox_enableCamera")
self.verticalLayout_4.addWidget(self.checkBox_enableCamera) self.horizontalLayout_3.addWidget(self.checkBox_enableCamera)
self.checkBox_enableFPS = QtWidgets.QCheckBox(self.widget)
self.checkBox_enableFPS.setObjectName("checkBox_enableFPS")
self.horizontalLayout_3.addWidget(self.checkBox_enableFPS)
self.verticalLayout_4.addLayout(self.horizontalLayout_3)
self.label_Image = QtWidgets.QLabel(self.widget) self.label_Image = QtWidgets.QLabel(self.widget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_Image.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.label_Image.sizePolicy().hasHeightForWidth())
self.label_Image.setSizePolicy(sizePolicy) self.label_Image.setSizePolicy(sizePolicy)
self.label_Image.setMinimumSize(QtCore.QSize(640, 480)) self.label_Image.setMinimumSize(QtCore.QSize(640, 480))
self.label_Image.setSizeIncrement(QtCore.QSize(1, 1)) self.label_Image.setSizeIncrement(QtCore.QSize(1, 1))
self.label_Image.setFrameShape(QtWidgets.QFrame.Box) self.label_Image.setFrameShape(QtWidgets.QFrame.NoFrame)
self.label_Image.setText("") self.label_Image.setText("")
self.label_Image.setObjectName("label_Image") self.label_Image.setObjectName("label_Image")
self.verticalLayout_4.addWidget(self.label_Image) self.verticalLayout_4.addWidget(self.label_Image)
self.pushButton_confirmArena = QtWidgets.QPushButton(self.widget) self.pushButton_confirmArena = QtWidgets.QPushButton(self.widget)
self.pushButton_confirmArena.setObjectName("pushButton_confirmArena") self.pushButton_confirmArena.setObjectName("pushButton_confirmArena")
self.verticalLayout_4.addWidget(self.pushButton_confirmArena) self.verticalLayout_4.addWidget(self.pushButton_confirmArena)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_6 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.horizontalLayout_6.setObjectName("horizontalLayout_6")
self.checkBox_enableFPS = QtWidgets.QCheckBox(self.widget)
self.checkBox_enableFPS.setObjectName("checkBox_enableFPS")
self.horizontalLayout_3.addWidget(self.checkBox_enableFPS)
self.checkBox_enablePosition = QtWidgets.QCheckBox(self.widget) self.checkBox_enablePosition = QtWidgets.QCheckBox(self.widget)
self.checkBox_enablePosition.setObjectName("checkBox_enablePosition") self.checkBox_enablePosition.setObjectName("checkBox_enablePosition")
self.horizontalLayout_3.addWidget(self.checkBox_enablePosition) self.horizontalLayout_6.addWidget(self.checkBox_enablePosition)
self.verticalLayout_4.addLayout(self.horizontalLayout_3) self.gridLayout_2 = QtWidgets.QGridLayout()
self.horizontalLayout_6.addLayout(self.verticalLayout_4) self.gridLayout_2.setObjectName("gridLayout_2")
self.label_100 = QtWidgets.QLabel(self.widget)
self.label_100.setText("")
self.label_100.setPixmap(QtGui.QPixmap("ui/../res/icons8-robot-24.png"))
self.label_100.setAlignment(QtCore.Qt.AlignCenter)
self.label_100.setObjectName("label_100")
self.gridLayout_2.addWidget(self.label_100, 0, 0, 1, 1)
self.label_RobotID = QtWidgets.QLabel(self.widget)
self.label_RobotID.setAlignment(QtCore.Qt.AlignCenter)
self.label_RobotID.setObjectName("label_RobotID")
self.gridLayout_2.addWidget(self.label_RobotID, 0, 1, 1, 1)
self.label_102 = QtWidgets.QLabel(self.widget)
self.label_102.setText("")
self.label_102.setPixmap(QtGui.QPixmap("ui/../res/icons8-azimuth-24.png"))
self.label_102.setAlignment(QtCore.Qt.AlignCenter)
self.label_102.setObjectName("label_102")
self.gridLayout_2.addWidget(self.label_102, 1, 0, 1, 1)
self.label_RobotAngle = QtWidgets.QLabel(self.widget)
self.label_RobotAngle.setAlignment(QtCore.Qt.AlignCenter)
self.label_RobotAngle.setObjectName("label_RobotAngle")
self.gridLayout_2.addWidget(self.label_RobotAngle, 1, 1, 1, 1)
self.label_101 = QtWidgets.QLabel(self.widget)
self.label_101.setText("")
self.label_101.setPixmap(QtGui.QPixmap("ui/../res/icons8-emplacement-off-24.png"))
self.label_101.setAlignment(QtCore.Qt.AlignCenter)
self.label_101.setObjectName("label_101")
self.gridLayout_2.addWidget(self.label_101, 2, 0, 1, 1)
self.label_RobotPos = QtWidgets.QLabel(self.widget)
self.label_RobotPos.setAlignment(QtCore.Qt.AlignCenter)
self.label_RobotPos.setObjectName("label_RobotPos")
self.gridLayout_2.addWidget(self.label_RobotPos, 2, 1, 1, 1)
self.label_103 = QtWidgets.QLabel(self.widget)
self.label_103.setText("")
self.label_103.setPixmap(QtGui.QPixmap("ui/../res/icons8-flèche-haut-gauche-24.png"))
self.label_103.setAlignment(QtCore.Qt.AlignCenter)
self.label_103.setObjectName("label_103")
self.gridLayout_2.addWidget(self.label_103, 3, 0, 1, 1)
self.label_RobotDirection = QtWidgets.QLabel(self.widget)
self.label_RobotDirection.setAlignment(QtCore.Qt.AlignCenter)
self.label_RobotDirection.setObjectName("label_RobotDirection")
self.gridLayout_2.addWidget(self.label_RobotDirection, 3, 1, 1, 1)
self.horizontalLayout_6.addLayout(self.gridLayout_2)
self.verticalLayout_4.addLayout(self.horizontalLayout_6)
self.horizontalLayout_7.addLayout(self.verticalLayout_4)
self.verticalLayout_6 = QtWidgets.QVBoxLayout() self.verticalLayout_6 = QtWidgets.QVBoxLayout()
self.verticalLayout_6.setObjectName("verticalLayout_6") self.verticalLayout_6.setObjectName("verticalLayout_6")
self.groupBox_activation = QtWidgets.QGroupBox(self.widget) self.groupBox_activation = QtWidgets.QGroupBox(self.widget)
@ -182,10 +228,10 @@ class Ui_MainWindow(object):
self.verticalLayout_6.addWidget(self.groupBox_AnswerandBattery) self.verticalLayout_6.addWidget(self.groupBox_AnswerandBattery)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_6.addItem(spacerItem) self.verticalLayout_6.addItem(spacerItem)
self.horizontalLayout_6.addLayout(self.verticalLayout_6) self.horizontalLayout_7.addLayout(self.verticalLayout_6)
MainWindow.setCentralWidget(self.centralwidget) MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 973, 22)) self.menubar.setGeometry(QtCore.QRect(0, 0, 985, 22))
self.menubar.setObjectName("menubar") self.menubar.setObjectName("menubar")
self.menu_Quitter = QtWidgets.QMenu(self.menubar) self.menu_Quitter = QtWidgets.QMenu(self.menubar)
self.menu_Quitter.setObjectName("menu_Quitter") self.menu_Quitter.setObjectName("menu_Quitter")
@ -209,9 +255,13 @@ class Ui_MainWindow(object):
_translate = QtCore.QCoreApplication.translate _translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Robot Monitor")) MainWindow.setWindowTitle(_translate("MainWindow", "Robot Monitor"))
self.checkBox_enableCamera.setText(_translate("MainWindow", "Enable Ca&mera")) self.checkBox_enableCamera.setText(_translate("MainWindow", "Enable Ca&mera"))
self.pushButton_confirmArena.setText(_translate("MainWindow", "Co&nfirme arena border..."))
self.checkBox_enableFPS.setText(_translate("MainWindow", "Enable &FPS")) self.checkBox_enableFPS.setText(_translate("MainWindow", "Enable &FPS"))
self.pushButton_confirmArena.setText(_translate("MainWindow", "Co&nfirme arena border..."))
self.checkBox_enablePosition.setText(_translate("MainWindow", "Enable Pos&ition")) self.checkBox_enablePosition.setText(_translate("MainWindow", "Enable Pos&ition"))
self.label_RobotID.setText(_translate("MainWindow", "No robot (-1)"))
self.label_RobotAngle.setText(_translate("MainWindow", "0.0°"))
self.label_RobotPos.setText(_translate("MainWindow", "(0.0, 0.0)"))
self.label_RobotDirection.setText(_translate("MainWindow", "(0.0, 0.0)"))
self.groupBox_activation.setTitle(_translate("MainWindow", "Robot Activation")) self.groupBox_activation.setTitle(_translate("MainWindow", "Robot Activation"))
self.groupBox_connection.setTitle(_translate("MainWindow", "Connection")) self.groupBox_connection.setTitle(_translate("MainWindow", "Connection"))
self.label.setText(_translate("MainWindow", "Address:")) self.label.setText(_translate("MainWindow", "Address:"))

View file

@ -264,10 +264,50 @@ class Window(QtWidgets.QMainWindow, Ui_MainWindow):
self.label_Image.setPixmap(im_pixmap) self.label_Image.setPixmap(im_pixmap)
self.label_Image.setScaledContents(True) self.label_Image.setScaledContents(True)
self.label_Image.setSizePolicy(QtWidgets.QSizePolicy.Ignored,QtWidgets.QSizePolicy.Ignored) self.label_Image.setSizePolicy(QtWidgets.QSizePolicy.Fixed,QtWidgets.QSizePolicy.Fixed)
elif Network.CAMERA_POSITION in s: elif Network.CAMERA_POSITION in s:
print ("position received") #CPOS:-1;0.000000;0.000000;0.000000;0.000000;0.000000
print (s) str_split = s.split(':')
values_split = str_split[1].split(';')
try:
robot_ID = int(values_split[0]) # Id of robot
except:
robot_ID = -1
try:
robot_Angle = float(values_split[1]) # angle of robot
except:
robot_Angle = 0.0
try:
robot_Coord_X = float(values_split[2]) # X coord of robot
except:
robot_Coord_X = 0.0
try:
robot_Coord_Y = float(values_split[3]) # Y coord of robot
except:
robot_Coord_Y = 0.0
try:
robot_Cap_X = float(values_split[4]) # X cap of robot
except:
robot_Cap_X = 0.0
try:
robot_Cap_Y = float(values_split[5]) # Y cap of robot
except:
robot_Cap_Y = 0.0
if robot_ID == -1:
self.label_RobotID.setText("No robot (-1)")
else:
self.label_RobotID.setText(values_split[0])
self.label_RobotAngle.setText("%.2f°" % (robot_Angle))
self.label_RobotPos.setText("(%.2f, %.2f)" % (robot_Coord_X, robot_Coord_Y))
self.label_RobotDirection.setText("(%.2f, %.2f)" % (robot_Cap_X, robot_Cap_Y))
# Callback for battery timeout # Callback for battery timeout
@QtCore.pyqtSlot() @QtCore.pyqtSlot()

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 B

View file

@ -6,14 +6,14 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>973</width> <width>985</width>
<height>635</height> <height>745</height>
</rect> </rect>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>973</width> <width>985</width>
<height>635</height> <height>745</height>
</size> </size>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -23,15 +23,17 @@
<widget class="QWidget" name=""> <widget class="QWidget" name="">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>14</x> <x>20</x>
<y>13</y> <y>16</y>
<width>947</width> <width>947</width>
<height>574</height> <height>671</height>
</rect> </rect>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_6"> <layout class="QHBoxLayout" name="horizontalLayout_7">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_4"> <layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QCheckBox" name="checkBox_enableCamera"> <widget class="QCheckBox" name="checkBox_enableCamera">
<property name="text"> <property name="text">
@ -39,10 +41,19 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QCheckBox" name="checkBox_enableFPS">
<property name="text">
<string>Enable &amp;FPS</string>
</property>
</widget>
</item>
</layout>
</item>
<item> <item>
<widget class="QLabel" name="label_Image"> <widget class="QLabel" name="label_Image">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
@ -60,7 +71,7 @@
</size> </size>
</property> </property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="text"> <property name="text">
<string/> <string/>
@ -75,14 +86,7 @@
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<widget class="QCheckBox" name="checkBox_enableFPS">
<property name="text">
<string>Enable &amp;FPS</string>
</property>
</widget>
</item>
<item> <item>
<widget class="QCheckBox" name="checkBox_enablePosition"> <widget class="QCheckBox" name="checkBox_enablePosition">
<property name="text"> <property name="text">
@ -90,6 +94,102 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_100">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>../res/icons8-robot-24.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_RobotID">
<property name="text">
<string>No robot (-1)</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_102">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>../res/icons8-azimuth-24.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_RobotAngle">
<property name="text">
<string>0.0°</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_101">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>../res/icons8-emplacement-off-24.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_RobotPos">
<property name="text">
<string>(0.0, 0.0)</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_103">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>../res/icons8-flèche-haut-gauche-24.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_RobotDirection">
<property name="text">
<string>(0.0, 0.0)</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</item>
</layout> </layout>
</item> </item>
</layout> </layout>
@ -353,7 +453,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>973</width> <width>985</width>
<height>22</height> <height>22</height>
</rect> </rect>
</property> </property>

View file

@ -29,12 +29,6 @@ using namespace cv;
Camera::Camera(int size, int fps) { Camera::Camera(int size, int fps) {
this->SetSize(size); this->SetSize(size);
this->fps = fps; this->fps = fps;
#ifndef __FOR_PC__
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);
this->cap.set(CV_CAP_PROP_FPS, fps);
#endif /* __FOR_PC__ */
} }
/** /**
@ -44,23 +38,13 @@ Camera::Camera(int size, int fps) {
bool Camera::Open() { bool Camera::Open() {
bool status = false; bool status = false;
#ifdef __FOR_PC__
if (this->cap.open(0)) { if (this->cap.open(0)) {
//this->cap.set(CV_CAP_PROP_FORMAT, CV_8UC3); //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_WIDTH, width);
this->cap.set(CV_CAP_PROP_FRAME_HEIGHT, height); this->cap.set(CV_CAP_PROP_FRAME_HEIGHT, height);
this->cap.set(CV_CAP_PROP_FPS, this->fps);
status = true; status = true;
} }
#else
if (this->cap.open()) {
cout << "Camera warmup 2sec" << endl << flush;
sleep(2);
cout << "Start capture" << endl << flush;
status = true;
}
#endif /* __FOR_PC__ */
return status; return status;
} }
@ -97,8 +81,8 @@ void Camera::SetSize(int size) {
this->height = 768; this->height = 768;
break; break;
default: default:
this->width = 480; this->width = 320;
this->height = 360; this->height = 240;
} }
} }
@ -109,19 +93,8 @@ void Camera::SetSize(int size) {
Img Camera::Grab() { Img Camera::Grab() {
ImageMat frame; ImageMat frame;
#ifdef __FOR_PC__
cap >> frame; cap >> frame;
Img capture = Img(frame); Img capture = Img(frame);
#else
cap.grab();
cap.retrieve(frame);
#ifdef __INVERSE_COLOR__
cvtColor(frame, frame, CV_BGR2RGB);
#endif // __INVERSE_COLOR__
Img capture = Img(frame);
#endif /* __FOR_PC__ */
return capture; return capture;
} }

View file

@ -22,9 +22,6 @@
#include <opencv2/imgproc/imgproc.hpp> #include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/videoio/legacy/constants_c.h> #include <opencv2/videoio/legacy/constants_c.h>
#ifndef __FOR_PC__
#include "raspicam/raspicam_cv.h"
#endif /* __FOR_PC__ */
#include "img.h" #include "img.h"
/** /**
@ -94,14 +91,8 @@ public:
Img Grab(); Img Grab();
private: private:
#ifdef __FOR_PC__
/**
* Camera descriptor
*/
cv::VideoCapture cap; cv::VideoCapture cap;
#else
raspicam::RaspiCam_Cv cap;
#endif /* __FOR_PC__ */
/** /**
* Size for image (default= small) * Size for image (default= small)

View file

@ -26,12 +26,9 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#ifdef __FOR_PC__ #define USART_FILENAME "/dev/ttyS0"
// Uncomment the following line when used on PC
//#define USART_FILENAME "/dev/ttyUSB0" //#define USART_FILENAME "/dev/ttyUSB0"
#define USART_FILENAME "/dev/ttyS0"
#else
#define USART_FILENAME "/dev/ttyS0"
#endif /* __FOR_PC__ */
/* /*
* Constants to be used for communicating with robot. Contains command tag * Constants to be used for communicating with robot. Contains command tag

View file

@ -72,42 +72,42 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot-dumber-pthread: ${O
${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp ${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp
${MKDIR} -p ${OBJECTDIR}/lib/base64 ${MKDIR} -p ${OBJECTDIR}/lib/base64
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/base64/base64.o lib/base64/base64.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/base64/base64.o lib/base64/base64.cpp
${OBJECTDIR}/lib/camera.o: lib/camera.cpp ${OBJECTDIR}/lib/camera.o: lib/camera.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp
${OBJECTDIR}/lib/commonitor.o: lib/commonitor.cpp ${OBJECTDIR}/lib/commonitor.o: lib/commonitor.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp
${OBJECTDIR}/lib/comrobot.o: lib/comrobot.cpp ${OBJECTDIR}/lib/comrobot.o: lib/comrobot.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp
${OBJECTDIR}/lib/img.o: lib/img.cpp ${OBJECTDIR}/lib/img.o: lib/img.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp
${OBJECTDIR}/lib/messages.o: lib/messages.cpp ${OBJECTDIR}/lib/messages.o: lib/messages.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp
${OBJECTDIR}/main.o: main.cpp ${OBJECTDIR}/main.o: main.cpp
${MKDIR} -p ${OBJECTDIR} ${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
${OBJECTDIR}/tasks_pthread.o: tasks_pthread.cpp ${OBJECTDIR}/tasks_pthread.o: tasks_pthread.cpp
${MKDIR} -p ${OBJECTDIR} ${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks_pthread.o tasks_pthread.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv4` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks_pthread.o tasks_pthread.cpp
# Subprojects # Subprojects
.build-subprojects: .build-subprojects:

View file

@ -216,7 +216,6 @@
<commandLine>-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -Wno-pmf-conversions -std=gnu++11</commandLine> <commandLine>-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -Wno-pmf-conversions -std=gnu++11</commandLine>
<preprocessorList> <preprocessorList>
<Elem>_WITH_TRACE_</Elem> <Elem>_WITH_TRACE_</Elem>
<Elem>__FOR_PC__</Elem>
<Elem>__WITH_ARUCO__</Elem> <Elem>__WITH_ARUCO__</Elem>
<Elem>__WITH_PTHREAD__</Elem> <Elem>__WITH_PTHREAD__</Elem>
</preprocessorList> </preprocessorList>

View file

@ -74,7 +74,7 @@
</conf> </conf>
<conf name="JPO2019_RPI_" type="1"> <conf name="JPO2019_RPI_" type="1">
<toolsSet> <toolsSet>
<developmentServer>xenomai@192.168.1.141:22</developmentServer> <developmentServer>xenomai@10.105.1.7:22</developmentServer>
<platform>2</platform> <platform>2</platform>
</toolsSet> </toolsSet>
<dbx_gdbdebugger version="1"> <dbx_gdbdebugger version="1">

View file

@ -7,13 +7,10 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/> <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group> <group>
<file>file:/home/dimercur/Travail/dumber/raspberry/superviseur-robot-dumber-pthread/lib/img.h</file> <file>file:/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot-dumber-pthread/lib/img.h</file>
<file>file:/home/dimercur/Travail/dumber/raspberry/superviseur-robot-dumber-pthread/lib/img.cpp</file> <file>file:/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot-dumber-pthread/lib/camera.cpp</file>
<file>file:/home/dimercur/Travail/dumber/raspberry/superviseur-robot-dumber-pthread/lib/messages.cpp</file> <file>file:/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot-dumber-pthread/lib/img.cpp</file>
<file>file:/home/dimercur/Travail/dumber/raspberry/superviseur-robot-dumber-pthread/tasks_pthread.cpp</file> <file>file:/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot-dumber-pthread/lib/camera.h</file>
<file>file:/home/dimercur/Travail/dumber/raspberry/superviseur-robot-dumber-pthread/lib/commonitor.cpp</file>
<file>file:/home/dimercur/Travail/dumber/raspberry/superviseur-robot-dumber-pthread/lib/camera.cpp</file>
<file>file:/home/dimercur/Travail/dumber/raspberry/superviseur-robot-dumber-pthread/lib/camera.h</file>
</group> </group>
</open-files> </open-files>
</project-private> </project-private>

View file

@ -242,18 +242,9 @@ void Tasks::TimerTask(void* arg) {
//cntFrame++; //cntFrame++;
//cout << "cnt: " << to_string(cntFrame) << endl << flush; //cout << "cnt: " << to_string(cntFrame) << endl << flush;
if (sendPosition == true) {
counter++;
if (counter >= 5) { // div =15
counter = 0;
//if (!arena.IsEmpty()) {
image.dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(3)); image.dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(3));
std::list<Position> poses = image.SearchRobot(arena); std::list<Position> poses = image.SearchRobot(arena);
cout << "Nbr of pos detected: " << to_string(poses.size()) << endl << flush;
if (poses.size() > 0) { if (poses.size() > 0) {
Position firstPos = poses.front(); Position firstPos = poses.front();
@ -269,16 +260,26 @@ void Tasks::TimerTask(void* arg) {
pos.direction = cv::Point2f(0, 0); pos.direction = cv::Point2f(0, 0);
} }
if (sendPosition == true) {
counter++;
if (counter >= 15) { // div =15/15 => 1 update per second
counter = 0;
//if (!arena.IsEmpty()) {
cout << "Nbr of pos detected: " << to_string(poses.size()) << endl << flush;
MessagePosition *msgp = new MessagePosition(MESSAGE_CAM_POSITION, pos); MessagePosition *msgp = new MessagePosition(MESSAGE_CAM_POSITION, pos);
monitor.Write(msgp); monitor.Write(msgp);
cout << "Position sent" << endl << flush; //cout << "Position sent" << endl << flush;
} }
} }
if (sendImage == true) { if (sendImage == true) {
counter_img++; counter_img++;
if (counter_img >= 1) { if (counter_img >= 1) { // Div = 15/1 => 15 images per sec
counter_img = 0; counter_img = 0;
if (showArena) { if (showArena) {

View file

@ -35,12 +35,7 @@ Camera::Camera():Camera(sm, 10){
*/ */
Camera::Camera(int size, int fps) { Camera::Camera(int size, int fps) {
this->SetSize(size); this->SetSize(size);
#ifndef __FOR_PC__ this->fps = fps;
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);
this->cap.set(CV_CAP_PROP_FPS, fps);
#endif /* __FOR_PC__ */
} }
/** /**
@ -50,23 +45,13 @@ Camera::Camera(int size, int fps) {
bool Camera::Open() { bool Camera::Open() {
bool status = false; bool status = false;
#ifdef __FOR_PC__
if (this->cap.open(0)) { if (this->cap.open(0)) {
//this->cap.set(CV_CAP_PROP_FORMAT, CV_8UC3); //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_WIDTH, width);
this->cap.set(CV_CAP_PROP_FRAME_HEIGHT, height); this->cap.set(CV_CAP_PROP_FRAME_HEIGHT, height);
this->cap.set(CV_CAP_PROP_FPS, fps);
status = true; status = true;
} }
#else
if (this->cap.open()) {
cout << "Camera warmup 2sec" << endl << flush;
sleep(2);
cout << "Start capture" << endl << flush;
status = true;
}
#endif /* __FOR_PC__ */
return status; return status;
} }
@ -87,24 +72,24 @@ void Camera::SetSize(int size) {
switch (size) { switch (size) {
case xs: case xs:
this->width = 480; this->width = 320;
this->height = 360; this->height = 240;
break; break;
case sm: case sm:
this->width = 640; this->width = 640;
this->height = 480; this->height = 480;
break; break;
case md: case md:
this->width = 800;
this->height = 600;
break;
case lg:
this->width = 1024; this->width = 1024;
this->height = 768; this->height = 768;
break; break;
case lg:
this->width = 1280;
this->height = 960;
break;
default: default:
this->width = 480; this->width = 320;
this->height = 360; this->height = 240;
} }
} }
@ -115,19 +100,8 @@ void Camera::SetSize(int size) {
Img Camera::Grab() { Img Camera::Grab() {
ImageMat frame; ImageMat frame;
#ifdef __FOR_PC__
cap >> frame; cap >> frame;
Img capture = Img(frame); Img capture = Img(frame);
#else
cap.grab();
cap.retrieve(frame);
#ifdef __INVERSE_COLOR__
cvtColor(frame, frame, CV_BGR2RGB);
#endif // __INVERSE_COLOR__
Img capture = Img(frame);
#endif /* __FOR_PC__ */
return capture; return capture;
} }
@ -156,3 +130,11 @@ int Camera::GetHeight() const {
return height; return height;
} }
/**
* Get fps of sampled image
* @return fps of sampled picture
*/
int Camera::GetFPS() const {
return fps;
}

View file

@ -22,9 +22,6 @@
#include <opencv2/imgproc/imgproc.hpp> #include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/videoio/legacy/constants_c.h> #include <opencv2/videoio/legacy/constants_c.h>
#ifndef __FOR_PC__
#include "raspicam/raspicam_cv.h"
#endif /* __FOR_PC__ */
#include "img.h" #include "img.h"
/** /**
@ -76,6 +73,12 @@ public:
*/ */
int GetHeight() const; int GetHeight() const;
/**
* Get fps of sampled image
* @return fps of sampled picture
*/
int GetFPS() const;
/** /**
* Get opening status for camera * Get opening status for camera
* @return true if camera is open, false otherwise * @return true if camera is open, false otherwise
@ -95,14 +98,10 @@ public:
Img Grab(); Img Grab();
private: private:
#ifdef __FOR_PC__
/** /**
* Camera descriptor * Camera descriptor
*/ */
cv::VideoCapture cap; cv::VideoCapture cap;
#else
raspicam::RaspiCam_Cv cap;
#endif /* __FOR_PC__ */
/** /**
* Size for image (default= small) * Size for image (default= small)
@ -118,6 +117,11 @@ private:
* Height of image * Height of image
*/ */
int height; int height;
/**
* fps of image
*/
int fps;
}; };
#endif //__CAMERA_H__ #endif //__CAMERA_H__

View file

@ -26,11 +26,9 @@
#include <string> #include <string>
#include <stdexcept> #include <stdexcept>
#ifdef __FOR_PC__
#define USART_FILENAME "/dev/ttyUSB0"
#else
#define USART_FILENAME "/dev/ttyS0" #define USART_FILENAME "/dev/ttyS0"
#endif /* __FOR_PC__ */ // Uncomment the following line when used on PC
//#define USART_FILENAME "/dev/ttyUSB0"
/* /*
* Constants to be used for communicating with robot. Contains command tag * Constants to be used for communicating with robot. Contains command tag

View file

@ -294,3 +294,14 @@ void Img::DrawArena(Arena arenaToDraw) {
ImageMat Img::CropArena(Arena arena) { ImageMat Img::CropArena(Arena arena) {
return this->img(arena.arena); return this->img(arena.arena);
} }
/**
* Crop image around detected arena
* @param arena Coordinate of arena
* @return Reduced image, focused on arena
*/
Img Img::Resize() {
ImageMat newImage;
cv::resize(this->img, newImage, cv::Size(320,240), cv::INTER_LINEAR);
return Img(newImage);
}

View file

@ -182,6 +182,7 @@ public:
*/ */
std::list<Position> SearchRobot(Arena arena); std::list<Position> SearchRobot(Arena arena);
Img Resize();
#ifdef __WITH_ARUCO__ #ifdef __WITH_ARUCO__
/** /**
* Dictionary to be used for aruco recognition * Dictionary to be used for aruco recognition

View file

@ -47,7 +47,7 @@ OBJECTFILES= \
# C Compiler Flags # 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 CFLAGS=-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -I/usr/xenomai/include/alchemy
# CC Compiler Flags # CC Compiler Flags
CCFLAGS=-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -I/usr/xenomai/include/alchemy -Wno-pmf-conversions -std=gnu++11 CCFLAGS=-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -I/usr/xenomai/include/alchemy -Wno-pmf-conversions -std=gnu++11
@ -73,42 +73,42 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES}
${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp ${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp
${MKDIR} -p ${OBJECTDIR}/lib/base64 ${MKDIR} -p ${OBJECTDIR}/lib/base64
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/base64/base64.o lib/base64/base64.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/base64/base64.o lib/base64/base64.cpp
${OBJECTDIR}/lib/camera.o: lib/camera.cpp ${OBJECTDIR}/lib/camera.o: lib/camera.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp
${OBJECTDIR}/lib/commonitor.o: lib/commonitor.cpp ${OBJECTDIR}/lib/commonitor.o: lib/commonitor.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp
${OBJECTDIR}/lib/comrobot.o: lib/comrobot.cpp ${OBJECTDIR}/lib/comrobot.o: lib/comrobot.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp
${OBJECTDIR}/lib/img.o: lib/img.cpp ${OBJECTDIR}/lib/img.o: lib/img.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp
${OBJECTDIR}/lib/messages.o: lib/messages.cpp ${OBJECTDIR}/lib/messages.o: lib/messages.cpp
${MKDIR} -p ${OBJECTDIR}/lib ${MKDIR} -p ${OBJECTDIR}/lib
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp
${OBJECTDIR}/main.o: main.cpp ${OBJECTDIR}/main.o: main.cpp
${MKDIR} -p ${OBJECTDIR} ${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
${OBJECTDIR}/tasks.o: tasks.cpp ${OBJECTDIR}/tasks.o: tasks.cpp
${MKDIR} -p ${OBJECTDIR} ${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d" ${RM} "$@.d"
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks.o tasks.cpp $(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/cobalt `pkg-config --cflags opencv4` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks.o tasks.cpp
${OBJECTDIR}/wrapper.o: wrapper.c ${OBJECTDIR}/wrapper.o: wrapper.c
${MKDIR} -p ${OBJECTDIR} ${MKDIR} -p ${OBJECTDIR}

View file

@ -131,7 +131,7 @@
<pElem>/usr/xenomai/include</pElem> <pElem>/usr/xenomai/include</pElem>
<pElem>/usr/xenomai/include/mercury</pElem> <pElem>/usr/xenomai/include/mercury</pElem>
</incDir> </incDir>
<commandLine>-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__MERCURY__ -I/usr/xenomai/include/alchemy</commandLine> <commandLine>-I/usr/xenomai/include/mercury -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -I/usr/xenomai/include/alchemy</commandLine>
</cTool> </cTool>
<ccTool> <ccTool>
<incDir> <incDir>
@ -143,7 +143,6 @@
<commandLine>-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -I/usr/xenomai/include/alchemy -Wno-pmf-conversions -std=gnu++11</commandLine> <commandLine>-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -D__COBALT__ -I/usr/xenomai/include/alchemy -Wno-pmf-conversions -std=gnu++11</commandLine>
<preprocessorList> <preprocessorList>
<Elem>_WITH_TRACE_</Elem> <Elem>_WITH_TRACE_</Elem>
<Elem>__FOR_PC__</Elem>
<Elem>__WITH_ARUCO__</Elem> <Elem>__WITH_ARUCO__</Elem>
</preprocessorList> </preprocessorList>
</ccTool> </ccTool>

View file

@ -1,7 +1,7 @@
#Tue Oct 18 16:27:07 CEST 2022 #Thu Oct 20 14:09:18 CEST 2022
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/search.css=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/search.css=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_string__coll__graph.pdf=c1547560340000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/robot-icon.resized.png=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/robot-icon.resized.png=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_string__coll__graph.pdf=c1547560340000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_com_monitor-members.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_com_monitor-members.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/Makefile=c1554978722000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/Makefile=c1554978722000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.cpp=c1666083174932 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.cpp=c1666083174932
@ -42,30 +42,30 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_b.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_b.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/README.md=c1549890874000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/README.md=c1549890874000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/classes.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/classes.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__RPI_.mk=c1666267752164
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/inherit_graph_0.md5=c1547564860000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/inherit_graph_0.md5=c1547564860000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__RPI_.mk=c1666103200662
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/files_1.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/files_1.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/messages_8h__dep__incl.pdf=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_1.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_1.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/messages_8h__dep__incl.pdf=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_f.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_f.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_string.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/variables_a.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/variables_a.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_string.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/messages_8h__incl.md5=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/messages_8h__incl.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/navtreeindex0.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/navtreeindex0.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/inherit_graph_1.png=c1547564768000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/inherit_graph_1.png=c1547564768000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_8.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_8.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_camera.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_camera.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/refman.tex=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/refman.tex=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/base64_8h__incl.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_6.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_6.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/base64_8h__incl.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/comrobot_8h.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/comrobot_8h.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/struct_position-members.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/struct_position-members.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_14.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_14.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_img__inherit__graph.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_battery.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/classes_3.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/classes_3.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int-members.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_battery.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_img__inherit__graph.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_e.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_e.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int-members.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_com_monitor.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_com_monitor.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/splitbar.png=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/splitbar.png=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_10.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_10.js=c1547565562000
@ -81,8 +81,8 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/variables_5.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/variables_5.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/tabs.css=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/tabs.css=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_5.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_5.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/folderopen.png=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_arena.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_arena.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/folderopen.png=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_2.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_2.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_battery__inherit__graph.md5=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_battery__inherit__graph.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/enums_2.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/enums_2.html=c1547565562000
@ -108,7 +108,7 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_4.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_4.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_img-members.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_img-members.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/.gitignore=c1554978722000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/.gitignore=c1554978722000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp=c1666083174932 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp=c1666267250425
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/inherit_graph_0.png=c1547564862000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/inherit_graph_0.png=c1547564862000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/doxygen.sty=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/doxygen.sty=c1547565562000
@ -118,7 +118,7 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_a.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_a.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/README.md=c1554974530000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/README.md=c1554974530000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/messages_8h__incl.pdf=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/messages_8h__incl.pdf=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp=c1549890874000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp=c1666267283341
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_9.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_9.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_com_monitor.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_com_monitor.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_f.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_f.html=c1547565562000
@ -127,10 +127,10 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_11.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_11.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_8.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/functions_8.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_battery.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_battery.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/dynsections.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/LICENSE=c1549890874000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/LICENSE=c1549890874000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_position__coll__graph.png=c1547564862000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/dynsections.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/variables_b.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/variables_b.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_position__coll__graph.png=c1547564862000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_d.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_d.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_com_monitor.tex=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_com_monitor.tex=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/comrobot_8h__incl.png=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/comrobot_8h__incl.png=c1547560338000
@ -178,7 +178,7 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/img_8h.tex=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/img_8h.tex=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/messages_8h__incl.png=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/messages_8h__incl.png=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/annotated.tex=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/annotated.tex=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.h=c1666102495240 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.h=c1666267590725
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/enumvalues_2.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/enumvalues_2.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_img__coll__graph.png=c1547563912000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_img__coll__graph.png=c1547563912000
@ -212,7 +212,7 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/enums_2.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/enums_2.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_position.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_position.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_camera.tex=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_camera.tex=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.h=c1549890874000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.h=c1666267381241
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/bdwn.png=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/bdwn.png=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_img__inherit__graph.md5=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_img__inherit__graph.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_int__inherit__graph.md5=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/class_message_int__inherit__graph.md5=c1547560338000
@ -333,7 +333,7 @@
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/tasks.cpp=c1666083174936 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/tasks.cpp=c1666083174936
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/bc_s.png=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/bc_s.png=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_11.js=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/all_11.js=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp=c1666102495240 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp=c1666267351773
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/defines_1.html=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/search/defines_1.html=c1547565562000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int__coll__graph.md5=c1547560338000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/html/class_message_int__coll__graph.md5=c1547560338000
/home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/commonitor_8h.tex=c1547565562000 /home/dimercur/Travail/git/dumber/software/raspberry/superviseur-robot/doc/latex/commonitor_8h.tex=c1547565562000