parent
a18aaca4d7
commit
a97e849155
134 changed files with 1909 additions and 1485 deletions
README.md
hardware
meca
0605-LED_Verde.STEPBatterie.iptBloc roue.iam
Chargeur
1593K PCB.dwg1593K PCB.igs1593K PCB.ipt1593K PCB.stl1593K PCB.stpChargeur.iamChargeur_Dumber.ipj
Dumber 2015-2.ipjDumber 2015.ipjHammond
Export
Platine encodeur.iptPneu.iptPush Button Switch.STEPRobot.iamRobot.pdfRoue.iptUSB_Mini_B_SMD_buchse.STEPXBee Chip.STEPaxe.iptcapot.iptconnecteur 10.iptconnecteur 6.iptfixation moteur.iptheaders
helice encodeur.iptmini usbl.iptmoteur.iammoteur.iptoriginal.stlpcb.iptpied.iptplaque moteur.iptqueue.iptreducteur.iptroue.iamtactileswitch-short.STEPxbee.iptpcb
.gitignore
Chargeur
Chargeur.OutJobChargeur.PDFChargeur.PcbDocChargeur.PrjPcbChargeur.PrjPcbStructureChargeur.SchDocChargeur_nucleo.PcbDoc
Dumber-Cap
Dumber
Dumber.CmpLibDumber.OutJobDumber.PCB3DLibDumber.PDFDumber.PcbDocDumber.PcbLibDumber.PrjPCBDumber.PrjPCBStructureDumber.RULDumber.SchDocDumber.SchLibMecanique.SchDocPower.SchDoccpu.SchDoc
Models
README.mdShield-Pi-Xbee
software
14
README.md
14
README.md
|
@ -1,15 +1,9 @@
|
||||||
# Dumber
|
# Dumber
|
||||||
|
|
||||||
## 2017-2018 :
|
Depot du projet de temps reel 4eme année au departement GEI de l'INSA Toulouse.
|
||||||
Problème :
|
|
||||||
- Watchdog du robot ne fonctionne pas
|
|
||||||
- Interface graphique qui a des etats mal gérée (je voulais le reprendre en utilisant les 'stores' de vuex pour éviter ça).
|
|
||||||
- Il faudrait une execution de l'interface (srv nodejs) par défaut au démarage de la RPI.
|
|
||||||
L'exectution devrait se faire dans l'user space de linux dans le cas d'utilisation d'un noyau xenomai (co-kernel).
|
|
||||||
=> Potentiellement passer d'un noyau preempt_rt (actuel) à un noyau xenomai
|
|
||||||
|
|
||||||
## Repertoires
|
## Repertoires
|
||||||
- hardware : contient les plans pour la partie mecanique du robot et de son chargeur
|
- hardware : contient les plans pour la partie mecanique du robot et de son chargeur, ainsi que les plans de conception des PCB du robot, du chargeur, de l'adaptateur Xbee pour la raspberry et les plans des CAP du robot
|
||||||
- software: rassemble les parties logicielles du robot, du chargeur, les bibliotheques et superviseur coté raspberry et l'interface Web
|
- software: rassemble les parties logicielles du robot, du chargeur, les bibliotheques et superviseur coté raspberry et l'interface Web
|
||||||
- pcb: contient les plans de conception des PCB du robot, du chargeur, de l'adaptateur Xbee pour la raspberry et les plans des CAP du robot
|
- doc: contient les sujets de TD et TP
|
||||||
- incubateur: projet en incubation. Actuellement, contient des essais sur les aruco (pour la detection des robots) ou le portage du firmware du robot sous freertos.
|
- aruco_markers: Script de generation des tags (aruco) utilisés sur les robots
|
||||||
|
|
0
pcb/.gitignore → hardware/pcb/.gitignore
vendored
0
pcb/.gitignore → hardware/pcb/.gitignore
vendored
|
@ -1,8 +1,8 @@
|
||||||
# Software
|
# Software
|
||||||
|
|
||||||
Dans ce repertoire se trouvent les logiciels pour les differentes parties du projet dumber
|
Dans ce repertoire se trouvent les logiciels pour les differentes parties du projet de TP Temps reel (dumber)
|
||||||
- robot: Contient le code source du firmware executé par le robot (STM32 / Keil)
|
- robot: Contient le code source du firmware executé par le robot (STM32 / TrueStudio)
|
||||||
- chargeur: Contient le code executé dans le boitier du chargeur de batterie du robot (STM32 / Keil)
|
- chargeur: Contient le code executé dans le boitier du chargeur de batterie du robot (STM32 / TrueStudio)
|
||||||
- raspberry: Contient le code du superviseur temps reel s'executant sur la raspberry et en charge du controle de la camera, et du pilotage du robot (via la liaison serie)
|
- raspberry: Contient le code du superviseur temps reel s'executant sur la raspberry et en charge du controle de la camera, et du pilotage du robot (via la liaison serie)
|
||||||
- UserinterfaceWeb: interface Web pour la surveillance du systeme: connexion au superviseur RT, control et affichage de l'etat du robot, retour d'image.
|
- monitor: client C# pour la communication avec le superviseur
|
||||||
- android: Application android pour le pilotage du robot via un module bluetooth à la place du module XBEE de base sur le robot.
|
- install-opencv.sh: Script pour installer et deployer opencv avec support des aruco et bibliotheque raspicam
|
||||||
|
|
|
@ -258,7 +258,14 @@ namespace monitor
|
||||||
{
|
{
|
||||||
byte[] writeBuffer = Encoding.UTF8.GetBytes(mes);
|
byte[] writeBuffer = Encoding.UTF8.GetBytes(mes);
|
||||||
|
|
||||||
stream.Write(writeBuffer, 0, mes.Length);
|
try
|
||||||
|
{
|
||||||
|
stream.Write(writeBuffer, 0, mes.Length);
|
||||||
|
}
|
||||||
|
catch (System.IO.IOException) {
|
||||||
|
Console.WriteLine("Server closed");
|
||||||
|
client.Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -812,7 +812,6 @@
|
||||||
<property name="MemberName" />
|
<property name="MemberName" />
|
||||||
<property name="CanFocus">True</property>
|
<property name="CanFocus">True</property>
|
||||||
<property name="Label" translatable="yes">Get battery level</property>
|
<property name="Label" translatable="yes">Get battery level</property>
|
||||||
<property name="Active">True</property>
|
|
||||||
<property name="DrawIndicator">True</property>
|
<property name="DrawIndicator">True</property>
|
||||||
<property name="HasLabel">True</property>
|
<property name="HasLabel">True</property>
|
||||||
<property name="UseUnderline">True</property>
|
<property name="UseUnderline">True</property>
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -2,7 +2,6 @@ build/
|
||||||
src.sav/
|
src.sav/
|
||||||
cmake-build-debug/
|
cmake-build-debug/
|
||||||
futur/
|
futur/
|
||||||
build/
|
|
||||||
CMakeFiles/
|
CMakeFiles/
|
||||||
|
|
||||||
Makefile
|
Makefile
|
||||||
|
@ -12,3 +11,8 @@ CMakeCache.txt
|
||||||
docs/
|
docs/
|
||||||
doc/
|
doc/
|
||||||
|
|
||||||
|
workspace/
|
||||||
|
dist/
|
||||||
|
not_for_students/
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -114,7 +114,10 @@ Img Camera::Grab() {
|
||||||
#else
|
#else
|
||||||
cap.grab();
|
cap.grab();
|
||||||
cap.retrieve(frame);
|
cap.retrieve(frame);
|
||||||
|
|
||||||
|
#ifdef __INVERSE_COLOR__
|
||||||
cvtColor(frame, frame, CV_BGR2RGB);
|
cvtColor(frame, frame, CV_BGR2RGB);
|
||||||
|
#endif // __INVERSE_COLOR__
|
||||||
|
|
||||||
Img capture = Img(frame);
|
Img capture = Img(frame);
|
||||||
#endif /* __FOR_PC__ */
|
#endif /* __FOR_PC__ */
|
||||||
|
|
|
@ -73,19 +73,17 @@ int ComRobot::Open(string usart) {
|
||||||
|
|
||||||
fd = open(usart.c_str(), O_RDWR | O_NOCTTY /*| O_NDELAY*/); //Open in blocking read/write mode
|
fd = open(usart.c_str(), O_RDWR | O_NOCTTY /*| O_NDELAY*/); //Open in blocking read/write mode
|
||||||
if (fd == -1) {
|
if (fd == -1) {
|
||||||
cerr<<"["<<__PRETTY_FUNCTION__<<"] Unable to open UART ("<<usart<<"). Ensure it is not in use by another application"<<endl<<flush;
|
cerr << "[" << __PRETTY_FUNCTION__ << "] Unable to open UART (" << usart << "). Ensure it is not in use by another application" << endl << flush;
|
||||||
throw std::runtime_error{"Unable to open UART"};
|
throw std::runtime_error{"Unable to open UART"};
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
} else {
|
||||||
else
|
|
||||||
{
|
|
||||||
fcntl(fd, F_SETFL, 0);
|
fcntl(fd, F_SETFL, 0);
|
||||||
tcgetattr(fd, &options);
|
tcgetattr(fd, &options);
|
||||||
options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
|
options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
|
||||||
cfsetospeed (&options, B9600);
|
cfsetospeed(&options, B9600);
|
||||||
cfsetispeed (&options, B9600);
|
cfsetispeed(&options, B9600);
|
||||||
options.c_cc[VMIN]=0;
|
options.c_cc[VMIN] = 0;
|
||||||
options.c_cc[VTIME]=1; /* Timeout of 100 ms per character*/
|
options.c_cc[VTIME] = 1; /* Timeout of 100 ms per character */
|
||||||
tcsetattr(fd, TCSANOW, &options);
|
tcsetattr(fd, TCSANOW, &options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,6 +97,7 @@ int ComRobot::Open(string usart) {
|
||||||
int ComRobot::Close() {
|
int ComRobot::Close() {
|
||||||
return close(fd);
|
return close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send a message to robot
|
* Send a message to robot
|
||||||
* @param msg Message to send to robot
|
* @param msg Message to send to robot
|
||||||
|
@ -115,7 +114,7 @@ Message *ComRobot::Write(Message* msg) {
|
||||||
|
|
||||||
Write_Pre();
|
Write_Pre();
|
||||||
|
|
||||||
s=MessageToString(msg);
|
s = MessageToString(msg);
|
||||||
AddChecksum(s);
|
AddChecksum(s);
|
||||||
|
|
||||||
//cout << "[" <<__PRETTY_FUNCTION__<<"] Send command: "<<s<<endl<<flush;
|
//cout << "[" <<__PRETTY_FUNCTION__<<"] Send command: "<<s<<endl<<flush;
|
||||||
|
@ -128,7 +127,7 @@ Message *ComRobot::Write(Message* msg) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
s = Read();
|
s = Read();
|
||||||
cout << "Answer = "<<s<<endl<<flush;
|
//cout << "Answer = "<<s<<endl<<flush;
|
||||||
|
|
||||||
if (VerifyChecksum(s)) {
|
if (VerifyChecksum(s)) {
|
||||||
msgAnswer = StringToMessage(s);
|
msgAnswer = StringToMessage(s);
|
||||||
|
@ -169,14 +168,14 @@ string ComRobot::Read() {
|
||||||
|
|
||||||
do {
|
do {
|
||||||
rxLength = read(this->fd, (void*) &receivedChar, 1); //Filestream, buffer to store in, number of bytes to read (max)
|
rxLength = read(this->fd, (void*) &receivedChar, 1); //Filestream, buffer to store in, number of bytes to read (max)
|
||||||
if (rxLength ==0) { // timeout
|
if (rxLength == 0) { // timeout
|
||||||
// try again
|
// try again
|
||||||
rxLength = read(this->fd, (void*) &receivedChar, 1); //Filestream, buffer to store in, number of bytes to read (max)
|
rxLength = read(this->fd, (void*) &receivedChar, 1); //Filestream, buffer to store in, number of bytes to read (max)
|
||||||
if (rxLength ==0) { // re-timeout: it sucks !
|
if (rxLength == 0) { // re-timeout: it sucks !
|
||||||
throw std::runtime_error {"ComRobot::Read: Timeout when reading from com port"};
|
throw std::runtime_error{"ComRobot::Read: Timeout when reading from com port"};
|
||||||
}
|
}
|
||||||
} else if (rxLength <0) { // big pb !
|
} else if (rxLength < 0) { // big pb !
|
||||||
throw std::runtime_error {"ComRobot::Read: Unknown problem when reading from com port"};
|
throw std::runtime_error{"ComRobot::Read: Unknown problem when reading from com port"};
|
||||||
} else { // everything ok
|
} else { // everything ok
|
||||||
if ((receivedChar != '\r') && (receivedChar != '\n')) s += receivedChar;
|
if ((receivedChar != '\r') && (receivedChar != '\n')) s += receivedChar;
|
||||||
}
|
}
|
||||||
|
@ -200,7 +199,7 @@ Message *ComRobot::SendCommand(Message* msg, MessageID answerID, int maxRetries)
|
||||||
if (msgTmp->CompareID(answerID)) counter = 0;
|
if (msgTmp->CompareID(answerID)) counter = 0;
|
||||||
else counter--;
|
else counter--;
|
||||||
|
|
||||||
if (counter == 0) msgRcv=msgTmp->Copy();
|
if (counter == 0) msgRcv = msgTmp->Copy();
|
||||||
|
|
||||||
delete(msgTmp);
|
delete(msgTmp);
|
||||||
} while (counter);
|
} while (counter);
|
||||||
|
@ -220,26 +219,26 @@ Message* ComRobot::StringToMessage(string s) {
|
||||||
|
|
||||||
switch (s[0]) {
|
switch (s[0]) {
|
||||||
case LABEL_ROBOT_OK:
|
case LABEL_ROBOT_OK:
|
||||||
msg=new Message(MESSAGE_ANSWER_ACK);
|
msg = new Message(MESSAGE_ANSWER_ACK);
|
||||||
break;
|
break;
|
||||||
case LABEL_ROBOT_ERROR:
|
case LABEL_ROBOT_ERROR:
|
||||||
msg=new Message(MESSAGE_ANSWER_ROBOT_ERROR);
|
msg = new Message(MESSAGE_ANSWER_ROBOT_ERROR);
|
||||||
break;
|
break;
|
||||||
case LABEL_ROBOT_UNKNOWN_COMMAND:
|
case LABEL_ROBOT_UNKNOWN_COMMAND:
|
||||||
msg=new Message(MESSAGE_ANSWER_ROBOT_UNKNOWN_COMMAND);
|
msg = new Message(MESSAGE_ANSWER_ROBOT_UNKNOWN_COMMAND);
|
||||||
break;
|
break;
|
||||||
case '0':
|
case '0':
|
||||||
msg=new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL, BATTERY_EMPTY);
|
msg = new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL, BATTERY_EMPTY);
|
||||||
break;
|
break;
|
||||||
case '1':
|
case '1':
|
||||||
msg=new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL, BATTERY_LOW);
|
msg = new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL, BATTERY_LOW);
|
||||||
break;
|
break;
|
||||||
case '2':
|
case '2':
|
||||||
msg=new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL, BATTERY_FULL);
|
msg = new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL, BATTERY_FULL);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
msg=new Message(MESSAGE_ANSWER_ROBOT_ERROR);
|
msg = new Message(MESSAGE_ANSWER_ROBOT_ERROR);
|
||||||
cerr<<"["<<__PRETTY_FUNCTION__<<"] Unknown message received from robot (" << s <<")"<<endl<<flush;
|
cerr << "[" << __PRETTY_FUNCTION__ << "] Unknown message received from robot (" << s << ")" << endl << flush;
|
||||||
}
|
}
|
||||||
|
|
||||||
return msg;
|
return msg;
|
||||||
|
@ -259,62 +258,67 @@ string ComRobot::MessageToString(Message *msg) {
|
||||||
|
|
||||||
switch (msg->GetID()) {
|
switch (msg->GetID()) {
|
||||||
case MESSAGE_ROBOT_PING:
|
case MESSAGE_ROBOT_PING:
|
||||||
s+=LABEL_ROBOT_PING;
|
s += LABEL_ROBOT_PING;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_RESET:
|
case MESSAGE_ROBOT_RESET:
|
||||||
s+=LABEL_ROBOT_RESET;
|
s += LABEL_ROBOT_RESET;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_POWEROFF:
|
case MESSAGE_ROBOT_POWEROFF:
|
||||||
s+=LABEL_ROBOT_POWEROFF;
|
s += LABEL_ROBOT_POWEROFF;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_START_WITHOUT_WD:
|
case MESSAGE_ROBOT_START_WITHOUT_WD:
|
||||||
s+=LABEL_ROBOT_START_WITHOUT_WD;
|
s += LABEL_ROBOT_START_WITHOUT_WD;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_START_WITH_WD:
|
case MESSAGE_ROBOT_START_WITH_WD:
|
||||||
s+=LABEL_ROBOT_START_WITH_WD;
|
s += LABEL_ROBOT_START_WITH_WD;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_RELOAD_WD:
|
case MESSAGE_ROBOT_RELOAD_WD:
|
||||||
s+=LABEL_ROBOT_RELOAD_WD;
|
s += LABEL_ROBOT_RELOAD_WD;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_BATTERY_GET:
|
case MESSAGE_ROBOT_BATTERY_GET:
|
||||||
s+=LABEL_ROBOT_GET_BATTERY;
|
s += LABEL_ROBOT_GET_BATTERY;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_STATE_GET:
|
case MESSAGE_ROBOT_STATE_GET:
|
||||||
s+=LABEL_ROBOT_GET_STATE;
|
s += LABEL_ROBOT_GET_STATE;
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_GO_FORWARD:
|
case MESSAGE_ROBOT_GO_FORWARD:
|
||||||
s+=LABEL_ROBOT_MOVE;
|
s += LABEL_ROBOT_MOVE;
|
||||||
s+=LABEL_ROBOT_SEPARATOR_CHAR;
|
s += LABEL_ROBOT_SEPARATOR_CHAR;
|
||||||
s.append(to_string(500000));
|
s.append(to_string(500000));
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_GO_BACKWARD:
|
case MESSAGE_ROBOT_GO_BACKWARD:
|
||||||
s+=LABEL_ROBOT_MOVE;
|
s += LABEL_ROBOT_MOVE;
|
||||||
s+=LABEL_ROBOT_SEPARATOR_CHAR;
|
s += LABEL_ROBOT_SEPARATOR_CHAR;
|
||||||
s.append(to_string(-500000));
|
s.append(to_string(-500000));
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_GO_LEFT:
|
case MESSAGE_ROBOT_GO_LEFT:
|
||||||
s+=LABEL_ROBOT_TURN;
|
s += LABEL_ROBOT_TURN;
|
||||||
s+=LABEL_ROBOT_SEPARATOR_CHAR;
|
s += LABEL_ROBOT_SEPARATOR_CHAR;
|
||||||
s.append(to_string(90));
|
s.append(to_string(-500000));
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_GO_RIGHT:
|
case MESSAGE_ROBOT_GO_RIGHT:
|
||||||
s+=LABEL_ROBOT_TURN;
|
s += LABEL_ROBOT_TURN;
|
||||||
s+=LABEL_ROBOT_SEPARATOR_CHAR;
|
s += LABEL_ROBOT_SEPARATOR_CHAR;
|
||||||
s.append(to_string(-90));
|
s.append(to_string(500000));
|
||||||
|
break;
|
||||||
|
case MESSAGE_ROBOT_STOP:
|
||||||
|
s += LABEL_ROBOT_MOVE;
|
||||||
|
s += LABEL_ROBOT_SEPARATOR_CHAR;
|
||||||
|
s.append(to_string(0));
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_MOVE:
|
case MESSAGE_ROBOT_MOVE:
|
||||||
s+=LABEL_ROBOT_MOVE;
|
s += LABEL_ROBOT_MOVE;
|
||||||
s+=LABEL_ROBOT_SEPARATOR_CHAR;
|
s += LABEL_ROBOT_SEPARATOR_CHAR;
|
||||||
s.append(to_string(((MessageInt*)msg)->GetValue()));
|
s.append(to_string(((MessageInt*) msg)->GetValue()));
|
||||||
break;
|
break;
|
||||||
case MESSAGE_ROBOT_TURN:
|
case MESSAGE_ROBOT_TURN:
|
||||||
s+=LABEL_ROBOT_TURN;
|
s += LABEL_ROBOT_TURN;
|
||||||
s+=LABEL_ROBOT_SEPARATOR_CHAR;
|
s += LABEL_ROBOT_SEPARATOR_CHAR;
|
||||||
s.append(to_string(((MessageInt*)msg)->GetValue()));
|
s.append(to_string(((MessageInt*) msg)->GetValue()));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
cerr<<"["<<__PRETTY_FUNCTION__<<"] Invalid message for robot ("<<msg->ToString()<<")"<<endl<<flush;
|
cerr << "[" << __PRETTY_FUNCTION__ << "] Invalid message for robot (" << msg->ToString() << ")" << endl << flush;
|
||||||
throw std::runtime_error {"Invalid message"};
|
throw std::runtime_error{"Invalid message"};
|
||||||
}
|
}
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
@ -325,14 +329,14 @@ string ComRobot::MessageToString(Message *msg) {
|
||||||
* @param[in,out] s String containing command for robot, without ending char (carriage return)
|
* @param[in,out] s String containing command for robot, without ending char (carriage return)
|
||||||
*/
|
*/
|
||||||
void ComRobot::AddChecksum(string &s) {
|
void ComRobot::AddChecksum(string &s) {
|
||||||
unsigned char checksum=0;
|
unsigned char checksum = 0;
|
||||||
|
|
||||||
for (string::iterator it=s.begin(); it!=s.end(); ++it) {
|
for (string::iterator it = s.begin(); it != s.end(); ++it) {
|
||||||
checksum ^= (unsigned char)*it;
|
checksum ^= (unsigned char) *it;
|
||||||
}
|
}
|
||||||
|
|
||||||
s+=(char)checksum; // Add calculated checksum
|
s += (char) checksum; // Add calculated checksum
|
||||||
s+=(char)LABEL_ROBOT_ENDING_CHAR;
|
s += (char) LABEL_ROBOT_ENDING_CHAR;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -342,15 +346,14 @@ void ComRobot::AddChecksum(string &s) {
|
||||||
* @return true is checksum is valid, false otherwise.
|
* @return true is checksum is valid, false otherwise.
|
||||||
*/
|
*/
|
||||||
bool ComRobot::VerifyChecksum(string &s) {
|
bool ComRobot::VerifyChecksum(string &s) {
|
||||||
unsigned char checksum=0;
|
unsigned char checksum = 0;
|
||||||
|
|
||||||
for (string::iterator it=s.begin(); it!=s.end(); ++it) {
|
for (string::iterator it = s.begin(); it != s.end(); ++it) {
|
||||||
checksum ^= (unsigned char)*it;
|
checksum ^= (unsigned char) *it;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (checksum==0) { // checksum is ok, remove last char of string (checksum)
|
if (checksum == 0) { // checksum is ok, remove last char of string (checksum)
|
||||||
s.pop_back(); // remove last char
|
s.pop_back(); // remove last char
|
||||||
return true;
|
return true;
|
||||||
}
|
} else return false;
|
||||||
else return false;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,10 @@ bool Arena::IsEmpty() {
|
||||||
*/
|
*/
|
||||||
Img::Img(ImageMat imgMatrice) {
|
Img::Img(ImageMat imgMatrice) {
|
||||||
this->img = imgMatrice.clone();
|
this->img = imgMatrice.clone();
|
||||||
|
|
||||||
|
#ifdef __WITH_ARUCO__
|
||||||
|
this->dictionary=cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(3));
|
||||||
|
#endif // __WITH_ARUCO__
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -47,16 +47,35 @@ typedef cv::Mat ImageMat;
|
||||||
typedef vector<unsigned char> Jpg;
|
typedef vector<unsigned char> Jpg;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Position type used for store robot coordinates
|
* Class position, used for store robot coordinates
|
||||||
*
|
*
|
||||||
* @brief Position type used for store robot coordinates
|
* @brief Class position, used for store robot coordinates
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
class Position {
|
||||||
|
public:
|
||||||
|
int robotId;
|
||||||
|
float angle;
|
||||||
cv::Point2f center;
|
cv::Point2f center;
|
||||||
cv::Point2f direction;
|
cv::Point2f direction;
|
||||||
float angle;
|
|
||||||
int robotId;
|
/**
|
||||||
} Position;
|
* Constructor of Position object
|
||||||
|
*/
|
||||||
|
Position() {
|
||||||
|
robotId = -1;
|
||||||
|
angle = 0.0;
|
||||||
|
center=cv::Point2f(0.0,0.0);
|
||||||
|
direction=cv::Point2f(0.0,0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build a string representation of the object
|
||||||
|
* @return String containing object information
|
||||||
|
*/
|
||||||
|
string ToString() {
|
||||||
|
return "Id=" + to_string(this->robotId) + ", Angle=" + to_string(this->angle) + ", center=(" + to_string(this->center.x) + ";" + to_string(this->center.y) + ")";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Class arena, used for holding outline of arena on image and cropping image to only usefull area
|
* Class arena, used for holding outline of arena on image and cropping image to only usefull area
|
||||||
|
@ -65,21 +84,31 @@ typedef struct {
|
||||||
*/
|
*/
|
||||||
class Arena {
|
class Arena {
|
||||||
public:
|
public:
|
||||||
/**
|
|
||||||
* Constructor of Arena object
|
|
||||||
*/
|
|
||||||
Arena() {}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Coordinate of arena, empty if no arena found
|
* Coordinate of arena, empty if no arena found
|
||||||
*/
|
*/
|
||||||
cv::Rect arena;
|
cv::Rect arena;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor of Arena object
|
||||||
|
*/
|
||||||
|
Arena() {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tell if arena is empty (not found) or not
|
* Tell if arena is empty (not found) or not
|
||||||
* @return true if no arena found, false otherwise
|
* @return true if no arena found, false otherwise
|
||||||
*/
|
*/
|
||||||
bool IsEmpty();
|
bool IsEmpty();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build a string representation of the object
|
||||||
|
* @return String containing object information
|
||||||
|
*/
|
||||||
|
string ToString() {
|
||||||
|
if (IsEmpty()) return "Arena empty";
|
||||||
|
else
|
||||||
|
return "Arena: (x;y)=(" + to_string(this->arena.x) + ";" + to_string(this->arena.x) + " (w;h)=(" + to_string(this->arena.width) + ";" + to_string(this->arena.height) + ")";
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -23,7 +23,7 @@ AS=as
|
||||||
# Macros
|
# Macros
|
||||||
CND_PLATFORM=GNU-Linux
|
CND_PLATFORM=GNU-Linux
|
||||||
CND_DLIB_EXT=so
|
CND_DLIB_EXT=so
|
||||||
CND_CONF=Debug
|
CND_CONF=Debug__PC_
|
||||||
CND_DISTDIR=dist
|
CND_DISTDIR=dist
|
||||||
CND_BUILDDIR=build
|
CND_BUILDDIR=build
|
||||||
|
|
||||||
|
@ -42,16 +42,15 @@ OBJECTFILES= \
|
||||||
${OBJECTDIR}/lib/img.o \
|
${OBJECTDIR}/lib/img.o \
|
||||||
${OBJECTDIR}/lib/messages.o \
|
${OBJECTDIR}/lib/messages.o \
|
||||||
${OBJECTDIR}/main.o \
|
${OBJECTDIR}/main.o \
|
||||||
${OBJECTDIR}/tasks.o \
|
${OBJECTDIR}/tasks.o
|
||||||
${OBJECTDIR}/tasks_pthread.o
|
|
||||||
|
|
||||||
|
|
||||||
# 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__MERCURY__ -I/usr/xenomai/include/alchemy
|
||||||
|
|
||||||
# CC Compiler Flags
|
# 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
|
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 -Wno-pmf-conversions
|
||||||
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
|
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 -Wno-pmf-conversions
|
||||||
|
|
||||||
# Fortran Compiler Flags
|
# Fortran Compiler Flags
|
||||||
FFLAGS=
|
FFLAGS=
|
||||||
|
@ -73,47 +72,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__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/base64/base64.o lib/base64/base64.cpp
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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__ -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
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -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}/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__ -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
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -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
|
${OBJECTDIR}/tasks.o: tasks.cpp
|
||||||
${MKDIR} -p ${OBJECTDIR}
|
${MKDIR} -p ${OBJECTDIR}
|
||||||
${RM} "$@.d"
|
${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
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_ARUCO__ -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
|
||||||
|
|
||||||
${OBJECTDIR}/tasks_pthread.o: tasks_pthread.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_pthread.o tasks_pthread.cpp
|
|
||||||
|
|
||||||
# Subprojects
|
# Subprojects
|
||||||
.build-subprojects:
|
.build-subprojects:
|
|
@ -1,125 +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__Pthread_
|
|
||||||
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/base64/base64.o \
|
|
||||||
${OBJECTDIR}/lib/camera.o \
|
|
||||||
${OBJECTDIR}/lib/commonitor.o \
|
|
||||||
${OBJECTDIR}/lib/comrobot.o \
|
|
||||||
${OBJECTDIR}/lib/img.o \
|
|
||||||
${OBJECTDIR}/lib/messages.o \
|
|
||||||
${OBJECTDIR}/main.o \
|
|
||||||
${OBJECTDIR}/tasks_pthread.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=-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -Wno-pmf-conversions
|
|
||||||
CXXFLAGS=-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -Wno-pmf-conversions
|
|
||||||
|
|
||||||
# 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} -lpthread -lrt
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib/base64
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/base64/base64.o lib/base64/base64.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/camera.o: lib/camera.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/commonitor.o: lib/commonitor.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/comrobot.o: lib/comrobot.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/img.o: lib/img.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/messages.o: lib/messages.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/main.o: main.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/tasks_pthread.o: tasks_pthread.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks_pthread.o tasks_pthread.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
|
|
|
@ -1,131 +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__Pthread__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/base64/base64.o \
|
|
||||||
${OBJECTDIR}/lib/camera.o \
|
|
||||||
${OBJECTDIR}/lib/commonitor.o \
|
|
||||||
${OBJECTDIR}/lib/comrobot.o \
|
|
||||||
${OBJECTDIR}/lib/img.o \
|
|
||||||
${OBJECTDIR}/lib/messages.o \
|
|
||||||
${OBJECTDIR}/main.o \
|
|
||||||
${OBJECTDIR}/tasks_pthread.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=-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -Wno-pmf-conversions -std=gnu++11
|
|
||||||
CXXFLAGS=-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -Wno-pmf-conversions -std=gnu++11
|
|
||||||
|
|
||||||
# Fortran Compiler Flags
|
|
||||||
FFLAGS=
|
|
||||||
|
|
||||||
# Assembler Flags
|
|
||||||
ASFLAGS=
|
|
||||||
|
|
||||||
# Link Libraries and Options
|
|
||||||
LDLIBSOPTIONS=`pkg-config --libs opencv` /usr/local/lib/libraspicam_cv.so /usr/local/lib/libraspicam.so
|
|
||||||
|
|
||||||
# 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: /usr/local/lib/libraspicam_cv.so
|
|
||||||
|
|
||||||
${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: /usr/local/lib/libraspicam.so
|
|
||||||
|
|
||||||
${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} -lpthread -lrt
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib/base64
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/base64/base64.o lib/base64/base64.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/camera.o: lib/camera.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/commonitor.o: lib/commonitor.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/comrobot.o: lib/comrobot.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/img.o: lib/img.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -std=c++11 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/lib/messages.o: lib/messages.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/messages.o lib/messages.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/main.o: main.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/tasks_pthread.o: tasks_pthread.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -D__WITH_PTHREAD__ -I./ -I./lib -I./lib/base64 `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks_pthread.o tasks_pthread.cpp
|
|
||||||
|
|
||||||
# Subprojects
|
|
||||||
.build-subprojects:
|
|
||||||
|
|
||||||
# Clean Targets
|
|
||||||
.clean-conf: ${CLEAN_SUBPROJECTS}
|
|
||||||
${RM} -r ${CND_BUILDDIR}/${CND_CONF}
|
|
||||||
${RM} -r ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libraspicam_cv.so ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/libraspicam.so
|
|
||||||
${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot
|
|
||||||
|
|
||||||
# Subprojects
|
|
||||||
.clean-subprojects:
|
|
||||||
|
|
||||||
# Enable dependency checking
|
|
||||||
.dep.inc: .depcheck-impl
|
|
||||||
|
|
||||||
include .dep.inc
|
|
|
@ -42,16 +42,15 @@ OBJECTFILES= \
|
||||||
${OBJECTDIR}/lib/img.o \
|
${OBJECTDIR}/lib/img.o \
|
||||||
${OBJECTDIR}/lib/messages.o \
|
${OBJECTDIR}/lib/messages.o \
|
||||||
${OBJECTDIR}/main.o \
|
${OBJECTDIR}/main.o \
|
||||||
${OBJECTDIR}/tasks.o \
|
${OBJECTDIR}/tasks.o
|
||||||
${OBJECTDIR}/tasks_pthread.o
|
|
||||||
|
|
||||||
|
|
||||||
# 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__MERCURY__ -I/usr/xenomai/include/alchemy
|
||||||
|
|
||||||
# CC Compiler Flags
|
# 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
|
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 -Wno-pmf-conversions -std=gnu++11
|
||||||
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
|
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 -Wno-pmf-conversions -std=gnu++11
|
||||||
|
|
||||||
# Fortran Compiler Flags
|
# Fortran Compiler Flags
|
||||||
FFLAGS=
|
FFLAGS=
|
||||||
|
@ -73,47 +72,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_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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/mercury `pkg-config --cflags opencv` -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_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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/mercury `pkg-config --cflags opencv` -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_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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/mercury `pkg-config --cflags opencv` -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_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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/mercury `pkg-config --cflags opencv` -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_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -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/mercury `pkg-config --cflags opencv` -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_ -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
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -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}/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_ -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
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -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
|
${OBJECTDIR}/tasks.o: tasks.cpp
|
||||||
${MKDIR} -p ${OBJECTDIR}
|
${MKDIR} -p ${OBJECTDIR}
|
||||||
${RM} "$@.d"
|
${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
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__WITH_ARUCO__ -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
|
||||||
|
|
||||||
${OBJECTDIR}/tasks_pthread.o: tasks_pthread.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_pthread.o tasks_pthread.cpp
|
|
||||||
|
|
||||||
# Subprojects
|
# Subprojects
|
||||||
.build-subprojects:
|
.build-subprojects:
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue