aruco rajouté + script pour compiler et installer opencv avec le support aruco
This commit is contained in:
parent
8bf6c73dbb
commit
2ef33f2e59
31 changed files with 1472 additions and 940 deletions
88
software/install-opencv.sh
Executable file
88
software/install-opencv.sh
Executable file
|
@ -0,0 +1,88 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
######################################
|
||||||
|
# INSTALL OPENCV ON UBUNTU OR DEBIAN #
|
||||||
|
######################################
|
||||||
|
|
||||||
|
# | THIS SCRIPT IS TESTED CORRECTLY ON |
|
||||||
|
# |------------------------------------------------------|
|
||||||
|
# | OS | OpenCV | Test | Last test |
|
||||||
|
# |------------------|--------------|------|-------------|
|
||||||
|
# | Ubuntu 18.04 LTS | OpenCV 3.4.2 | OK | 18 Jul 2018 |
|
||||||
|
# | Debian 9.5 | OpenCV 3.4.2 | OK | 18 Jul 2018 |
|
||||||
|
# |----------------------------------------------------- |
|
||||||
|
# | Debian 9.0 | OpenCV 3.2.0 | OK | 25 Jun 2017 |
|
||||||
|
# | Debian 8.8 | OpenCV 3.2.0 | OK | 20 May 2017 |
|
||||||
|
# | Ubuntu 16.04 LTS | OpenCV 3.2.0 | OK | 20 May 2017 |
|
||||||
|
|
||||||
|
|
||||||
|
# VERSION TO BE INSTALLED
|
||||||
|
|
||||||
|
OPENCV_VERSION='3.4.2'
|
||||||
|
|
||||||
|
|
||||||
|
# 1. KEEP UBUNTU OR DEBIAN UP TO DATE
|
||||||
|
|
||||||
|
sudo apt-get -y update
|
||||||
|
# sudo apt-get -y upgrade # Uncomment this line to install the newest versions of all packages currently installed
|
||||||
|
# sudo apt-get -y dist-upgrade # Uncomment this line to, in addition to 'upgrade', handles changing dependencies with new versions of packages
|
||||||
|
# sudo apt-get -y autoremove # Uncomment this line to remove packages that are now no longer needed
|
||||||
|
|
||||||
|
|
||||||
|
# 2. INSTALL THE DEPENDENCIES
|
||||||
|
|
||||||
|
# Build tools:
|
||||||
|
sudo apt-get install -y build-essential cmake
|
||||||
|
|
||||||
|
# GUI (if you want to use GTK instead of Qt, replace 'qt5-default' with 'libgtkglext1-dev' and remove '-DWITH_QT=ON' option in CMake):
|
||||||
|
#sudo apt-get install -y qt5-default libvtk6-dev
|
||||||
|
sudo apt-get install -y libgtkglext1-dev
|
||||||
|
|
||||||
|
# Media I/O:
|
||||||
|
sudo apt-get install -y zlib1g-dev libjpeg-dev libwebp-dev libpng-dev libtiff5-dev libjasper-dev libopenexr-dev libgdal-dev
|
||||||
|
|
||||||
|
# Video I/O:
|
||||||
|
sudo apt-get install -y libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev libtheora-dev libvorbis-dev libxvidcore-dev libx264-dev yasm libopencore-amrnb-dev libopencore-amrwb-dev libv4l-dev libxine2-dev
|
||||||
|
|
||||||
|
# Parallelism and linear algebra libraries:
|
||||||
|
sudo apt-get install -y libtbb-dev libeigen3-dev
|
||||||
|
|
||||||
|
# Python:
|
||||||
|
sudo apt-get install -y python-dev python-tk python-numpy python3-dev python3-tk python3-numpy
|
||||||
|
|
||||||
|
# Java:
|
||||||
|
sudo apt-get install -y ant default-jdk
|
||||||
|
|
||||||
|
# Documentation:
|
||||||
|
sudo apt-get install -y doxygen
|
||||||
|
|
||||||
|
|
||||||
|
# 3. INSTALL THE LIBRARY
|
||||||
|
|
||||||
|
sudo apt-get install -y unzip wget
|
||||||
|
wget https://github.com/opencv/opencv/archive/${OPENCV_VERSION}.zip
|
||||||
|
|
||||||
|
unzip ${OPENCV_VERSION}.zip
|
||||||
|
rm ${OPENCV_VERSION}.zip
|
||||||
|
mv opencv-${OPENCV_VERSION} OpenCV
|
||||||
|
|
||||||
|
# 3.5 Add Aruco
|
||||||
|
# Get opencv_contrib from github
|
||||||
|
# Copy aruco directory from <opencv_contrib>/modules to <opencv>/modules
|
||||||
|
wget https://github.com/opencv/opencv_contrib/archive/${OPENCV_VERSION}.zip
|
||||||
|
mv ${OPENCV_VERSION}.zip opencv_contrib-${OPENCV_VERSION}.zip
|
||||||
|
unzip opencv_contrib-${OPENCV_VERSION}.zip
|
||||||
|
|
||||||
|
cd OpenCV
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
# cmake -DWITH_QT=ON -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON -DWITH_XINE=ON -DBUILD_EXAMPLES=ON -DENABLE_PRECOMPILED_HEADERS=OFF ..
|
||||||
|
cmake -DWITH_OPENGL=ON -DFORCE_VTK=ON -DWITH_TBB=ON -DWITH_GDAL=ON -DWITH_XINE=ON -DBUILD_EXAMPLES=ON -DENABLE_PRECOMPILED_HEADERS=ON -D INSTALL_C_EXAMPLES=ON -D BUILD_JAVA=OFF -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-${OPENCV_VERSION}/modules -DBUILD_aruco=ON ..
|
||||||
|
make -j5
|
||||||
|
sudo make install
|
||||||
|
sudo ldconfig
|
||||||
|
|
||||||
|
|
||||||
|
# 4. EXECUTE SOME OPENCV EXAMPLES AND COMPILE A DEMONSTRATION
|
||||||
|
|
||||||
|
# To complete this step, please visit 'http://milq.github.io/install-opencv-ubuntu-debian'.
|
|
@ -35,7 +35,7 @@ namespace monitor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Default server name
|
/// Default server name
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public const string defaultIP = "localhost";
|
public const string defaultIP = "10.105.1.13";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Default server port number
|
/// Default server port number
|
||||||
|
@ -55,7 +55,7 @@ namespace monitor
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Size of internal buffer used when reading data from server
|
/// Size of internal buffer used when reading data from server
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private const int BufferMaxSize = 512;
|
private const int BufferMaxSize = 8*1024;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Internal buffer used when reading data from server
|
/// Internal buffer used when reading data from server
|
||||||
|
@ -66,7 +66,7 @@ namespace monitor
|
||||||
/// buffer containing received message from TCP server
|
/// buffer containing received message from TCP server
|
||||||
/// Used to concatenate internal buffers into one
|
/// Used to concatenate internal buffers into one
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private static byte[] receiveBuffer;
|
//private static byte[] receiveBuffer;
|
||||||
|
|
||||||
//private static int initialReceiveBufferIndex = 0;
|
//private static int initialReceiveBufferIndex = 0;
|
||||||
|
|
||||||
|
@ -83,11 +83,6 @@ namespace monitor
|
||||||
public delegate void ReadEvent(string msg);
|
public delegate void ReadEvent(string msg);
|
||||||
public static ReadEvent readEvent = null;
|
public static ReadEvent readEvent = null;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Thread used in reception
|
|
||||||
/// </summary>
|
|
||||||
private static Thread readThread;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Open connection to server "host", on default port number.
|
/// Open connection to server "host", on default port number.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -156,134 +151,14 @@ namespace monitor
|
||||||
if (client != null) client.Close();
|
if (client != null) client.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Callback call by stream.BeginRead after reception of newLength data
|
|
||||||
/// </summary>
|
|
||||||
//private static void ReadCallback()
|
|
||||||
//{
|
|
||||||
// char character;
|
|
||||||
// int data;
|
|
||||||
// byte[] buffer=new byte[4096];
|
|
||||||
// int lengthRead;
|
|
||||||
|
|
||||||
// while (client.Connected)
|
|
||||||
// {
|
|
||||||
// try
|
|
||||||
// {
|
|
||||||
// //data = stream.ReadByte();
|
|
||||||
// lengthRead = stream.Read(buffer, 0, buffer.Length);
|
|
||||||
// }
|
|
||||||
// catch (ObjectDisposedException)
|
|
||||||
// {
|
|
||||||
// Console.WriteLine("Connection to server dropped (object disposed)!");
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// catch (System.IO.IOException)
|
|
||||||
// {
|
|
||||||
// Console.WriteLine("Connection to server dropped (other error)");
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (lengthRead > 0) // a data was read
|
|
||||||
// {
|
|
||||||
// //character = (char)data;
|
|
||||||
// var str = System.Text.Encoding.Default.GetString(buffer);
|
|
||||||
// int indexOf = str.IndexOf('\n');
|
|
||||||
|
|
||||||
// //if (character != '\n')
|
|
||||||
// if (indexOf == -1) // \n doesn't exists
|
|
||||||
// {
|
|
||||||
// message.Append(str);
|
|
||||||
|
|
||||||
// //if (receiveBuffer == null) receiveBuffer = new byte[1];
|
|
||||||
// //else Array.Resize<byte>(ref receiveBuffer, receiveBuffer.Length + 1); // resize currrent buffer
|
|
||||||
|
|
||||||
// //receiveBuffer[receiveBuffer.Length - 1] = (byte)data;
|
|
||||||
// }
|
|
||||||
// else // end of string found
|
|
||||||
// {
|
|
||||||
// message.Append((str.Substring(0,indexOf)));
|
|
||||||
// readEvent?.Invoke(message.ToString(), receiveBuffer);
|
|
||||||
|
|
||||||
// message.Clear();
|
|
||||||
// receiveBuffer = null;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Callback call by stream.BeginRead after reception of newLength data
|
/// Callback call by stream.BeginRead after reception of newLength data
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="ar">Not sure of what is it, but needed for terminate reading</param>
|
/// <param name="ar">Not sure of what is it, but needed for terminate reading</param>
|
||||||
//private static void ReadCallback(IAsyncResult ar)
|
|
||||||
//{
|
|
||||||
// if (client.Connected)
|
|
||||||
// {
|
|
||||||
// int bytesRead;
|
|
||||||
|
|
||||||
// try
|
|
||||||
// {
|
|
||||||
// // Termintae read operation, and get number of byte stored in buffer
|
|
||||||
// bytesRead = stream.EndRead(ar);
|
|
||||||
// }
|
|
||||||
// catch (ObjectDisposedException e)
|
|
||||||
// {
|
|
||||||
// Console.WriteLine("Connection to server dropped: " + e.ToString());
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// newLength = 1;
|
|
||||||
|
|
||||||
// // if number of byte read is not 0, concatenate string and buffer
|
|
||||||
// if (bytesRead > 0)
|
|
||||||
// {
|
|
||||||
// packetCounter++;
|
|
||||||
|
|
||||||
// if (packetCounter >= 3)
|
|
||||||
// {
|
|
||||||
// //Console.WriteLine("Supplementary packet " + packetCounter);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Append new data to current string (expecting data are ascii)
|
|
||||||
// message.Append(Encoding.ASCII.GetString(buffer, 0, bytesRead));
|
|
||||||
|
|
||||||
// // Similarly, append received bytes to current buffer
|
|
||||||
// if (receiveBuffer == null) receiveBuffer = new byte[bytesRead];
|
|
||||||
// else Array.Resize<byte>(ref receiveBuffer, initialReceiveBufferIndex + bytesRead); // resize currrent buffer
|
|
||||||
|
|
||||||
// System.Buffer.BlockCopy(buffer, 0, receiveBuffer, initialReceiveBufferIndex, bytesRead); // and add received data
|
|
||||||
// initialReceiveBufferIndex = receiveBuffer.Length; // move last index of current buffer
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // if it remains received data, prepare for a new reading (get another buffer to append to current one)
|
|
||||||
// if (client.Available > 0)
|
|
||||||
// {
|
|
||||||
// newLength = client.Available;
|
|
||||||
// if (newLength > BufferMaxSize) newLength = BufferMaxSize;
|
|
||||||
// else newLength = client.Available;
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// // no more data to read, buffer and string can be send to upper level
|
|
||||||
// readEvent?.Invoke(message.ToString(), receiveBuffer);
|
|
||||||
|
|
||||||
// message.Clear();
|
|
||||||
// receiveBuffer = null;
|
|
||||||
// initialReceiveBufferIndex = 0;
|
|
||||||
// packetCounter = 0;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // Prepare for reading new data
|
|
||||||
// if (newLength> BufferMaxSize) newLength = BufferMaxSize;
|
|
||||||
// if (newLength <= 0) newLength = 1;
|
|
||||||
// stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message);
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
private static void ReadCallback(IAsyncResult ar)
|
private static void ReadCallback(IAsyncResult ar)
|
||||||
{
|
{
|
||||||
int newLength = 1;
|
int newLength = 1;
|
||||||
|
int index = -1;
|
||||||
|
|
||||||
if (client.Connected)
|
if (client.Connected)
|
||||||
{
|
{
|
||||||
|
@ -299,38 +174,98 @@ namespace monitor
|
||||||
Console.WriteLine("Connection to server dropped: " + e.ToString());
|
Console.WriteLine("Connection to server dropped: " + e.ToString());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
catch (System.IO.IOException e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Connection to server dropped: " + e.ToString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
//newLength = 1;
|
newLength = 1;
|
||||||
|
index = -1;
|
||||||
|
|
||||||
// if number of byte read is not 0, concatenate string and buffer
|
// if number of byte read is not 0, concatenate string and buffer
|
||||||
if (bytesRead > 0)
|
if (bytesRead > 0)
|
||||||
{
|
{
|
||||||
|
//Console.WriteLine("Receive " + bytesRead + " data");
|
||||||
|
|
||||||
// Append new data to current string (expecting data are ascii)
|
// Append new data to current string (expecting data are ascii)
|
||||||
message.Append(Encoding.ASCII.GetString(buffer, 0, bytesRead));
|
message.Append(Encoding.ASCII.GetString(buffer, 0, bytesRead));
|
||||||
|
index = SearchCarriageReturn(buffer, bytesRead);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if it remains received data, prepare for a new reading (get another buffer to append to current one)
|
// if it remains received data, prepare for a new reading (get another buffer to append to current one)
|
||||||
if (client.Available > 0)
|
if (index == -1)
|
||||||
{
|
{
|
||||||
newLength = client.Available;
|
if (client.Available > 0)
|
||||||
if (newLength > BufferMaxSize) newLength = BufferMaxSize;
|
{
|
||||||
else newLength = client.Available;
|
newLength = client.Available;
|
||||||
|
if (newLength > BufferMaxSize) newLength = BufferMaxSize;
|
||||||
|
else newLength = client.Available;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
string s = message.ToString();
|
||||||
|
|
||||||
|
//Console.WriteLine("Message received (" + s.Length + ")");
|
||||||
// no more data to read, buffer and string can be send to upper level
|
// no more data to read, buffer and string can be send to upper level
|
||||||
readEvent?.Invoke(message.ToString());
|
readEvent?.Invoke(s);
|
||||||
|
|
||||||
message.Clear();
|
message.Clear();
|
||||||
|
|
||||||
|
if (index != bytesRead - 1)
|
||||||
|
{
|
||||||
|
//Console.WriteLine("Index not at end (" + index + "/" + bytesRead + ")");
|
||||||
|
//Console.WriteLine("1=" + (char)buffer[index + 1] + " 2=" + (char)buffer[index + 2]);
|
||||||
|
|
||||||
|
byte[] trailing=new byte[BufferMaxSize];
|
||||||
|
|
||||||
|
Array.Copy(buffer, index + 1, trailing, 0, bytesRead - index - 1);
|
||||||
|
message.Append(Encoding.ASCII.GetString(trailing, 0, bytesRead - index - 1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare for reading new data
|
// Prepare for reading new data
|
||||||
if (newLength> BufferMaxSize) newLength = BufferMaxSize;
|
if (newLength> BufferMaxSize) newLength = BufferMaxSize;
|
||||||
if (newLength <= 0) newLength = 1;
|
if (newLength <= 0) newLength = 1;
|
||||||
stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message);
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message);
|
||||||
|
}
|
||||||
|
catch (ObjectDisposedException e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Connection to server dropped: " + e.ToString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
catch (System.IO.IOException e)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Connection to server dropped: " + e.ToString());
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Searchs the carriage return.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>Index of carriage return, if present, -1 otherwise.</returns>
|
||||||
|
/// <param name="buf">Buffer of byte</param>
|
||||||
|
/// <param name="length">Length of buffer</param>
|
||||||
|
private static int SearchCarriageReturn(byte[] buf, int length)
|
||||||
|
{
|
||||||
|
int index = -1;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < length; i++)
|
||||||
|
{
|
||||||
|
if (buf[i] == (byte)'\n') break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i!= length) index = i;
|
||||||
|
return index;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Write a string to server
|
/// Write a string to server
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -26,6 +26,7 @@ using Gdk;
|
||||||
using Cairo;
|
using Cairo;
|
||||||
|
|
||||||
using monitor;
|
using monitor;
|
||||||
|
using System.Timers;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Main part of the program, behavior of main window
|
/// Main part of the program, behavior of main window
|
||||||
|
@ -69,6 +70,13 @@ public partial class MainWindow : Gtk.Window
|
||||||
|
|
||||||
private int imageReceivedCounter = 0;
|
private int imageReceivedCounter = 0;
|
||||||
private int badImageReceivedCounter = 0;
|
private int badImageReceivedCounter = 0;
|
||||||
|
private int imageFPS = 0;
|
||||||
|
private int imageFPScounter = 0;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Timer for FPS request
|
||||||
|
/// </summary>
|
||||||
|
private System.Timers.Timer fpsTimer;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Initializes a new instance of the <see cref="MainWindow"/> class.
|
/// Initializes a new instance of the <see cref="MainWindow"/> class.
|
||||||
|
@ -83,6 +91,10 @@ public partial class MainWindow : Gtk.Window
|
||||||
batteryTimer = new System.Timers.Timer(10000.0);
|
batteryTimer = new System.Timers.Timer(10000.0);
|
||||||
batteryTimer.Elapsed += OnBatteryTimerElapsed;
|
batteryTimer.Elapsed += OnBatteryTimerElapsed;
|
||||||
|
|
||||||
|
// create new timer for FPS , every 1s
|
||||||
|
fpsTimer = new System.Timers.Timer(1000.0);
|
||||||
|
fpsTimer.Elapsed += OnFpsTimerElapsed;
|
||||||
|
|
||||||
// Customize controls
|
// Customize controls
|
||||||
AdjustControls();
|
AdjustControls();
|
||||||
}
|
}
|
||||||
|
@ -126,6 +138,8 @@ public partial class MainWindow : Gtk.Window
|
||||||
|
|
||||||
checkButtonCameraOn.Active = false;
|
checkButtonCameraOn.Active = false;
|
||||||
checkButtonRobotPosition.Active = false;
|
checkButtonRobotPosition.Active = false;
|
||||||
|
checkButtonFPS.Active = false;
|
||||||
|
|
||||||
if (cmdManager != null) cmdManager.Close();
|
if (cmdManager != null) cmdManager.Close();
|
||||||
|
|
||||||
batteryTimer.Stop();
|
batteryTimer.Stop();
|
||||||
|
@ -165,6 +179,7 @@ public partial class MainWindow : Gtk.Window
|
||||||
|
|
||||||
checkButtonCameraOn.Active = false;
|
checkButtonCameraOn.Active = false;
|
||||||
checkButtonRobotPosition.Active = false;
|
checkButtonRobotPosition.Active = false;
|
||||||
|
checkButtonFPS.Active = false;
|
||||||
|
|
||||||
systemState = SystemState.NotConnected;
|
systemState = SystemState.NotConnected;
|
||||||
|
|
||||||
|
@ -183,11 +198,9 @@ public partial class MainWindow : Gtk.Window
|
||||||
/// <param name="message">Message</param>
|
/// <param name="message">Message</param>
|
||||||
private void MessagePopup(MessageType type, ButtonsType buttons, string title, string message)
|
private void MessagePopup(MessageType type, ButtonsType buttons, string title, string message)
|
||||||
{
|
{
|
||||||
MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent, type, buttons, message)
|
MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent, type, buttons, message);
|
||||||
{
|
|
||||||
Title = title
|
|
||||||
};
|
|
||||||
|
|
||||||
|
md.Title = title;
|
||||||
md.Run();
|
md.Run();
|
||||||
md.Destroy();
|
md.Destroy();
|
||||||
}
|
}
|
||||||
|
@ -206,15 +219,11 @@ public partial class MainWindow : Gtk.Window
|
||||||
a.RetVal = true;
|
a.RetVal = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//private byte[] imageComplete;
|
|
||||||
//private byte[] imageInProgress;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Callback called when new message is received from server
|
/// Callback called when new message is received from server
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="header">Header of message</param>
|
/// <param name="header">Header of message</param>
|
||||||
/// <param name="data">Data of message</param>
|
/// <param name="data">Data of message</param>
|
||||||
/// <param name="buffer">Raw buffer corresponding of received message</param>
|
|
||||||
public void OnCommandReceivedEvent(string header, string data)
|
public void OnCommandReceivedEvent(string header, string data)
|
||||||
{
|
{
|
||||||
if (header == null)
|
if (header == null)
|
||||||
|
@ -237,33 +246,11 @@ public partial class MainWindow : Gtk.Window
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
// print message content
|
// print message content
|
||||||
if (header.Length > 4)
|
if (header.Length > 4)
|
||||||
|
{
|
||||||
Console.WriteLine("Bad header(" + header.Length + ")");
|
Console.WriteLine("Bad header(" + header.Length + ")");
|
||||||
//else
|
}
|
||||||
// Console.WriteLine("Received header (" + header.Length + "): " + header);
|
|
||||||
//if (header.ToUpper() != DestijlCommandList.HeaderStmImage)
|
|
||||||
//{
|
|
||||||
// if (data != null) Console.WriteLine("Received data (" + data.Length + "): " + data);
|
|
||||||
//}
|
|
||||||
#endif
|
#endif
|
||||||
// Image management
|
// Depending on message received (based on header), launch correponding action
|
||||||
//if (header == DestijlCommandList.CAMERA_IMAGE)
|
|
||||||
//{
|
|
||||||
// imageComplete = imageInProgress;
|
|
||||||
// //TODO: Decoder le base64 pour recuperer le JPG
|
|
||||||
// imageInProgress = buffer;
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// if (imageInProgress == null) imageInProgress = buffer;
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// Array.Resize<byte>(ref imageInProgress, imageInProgress.Length + buffer.Length);
|
|
||||||
// System.Buffer.BlockCopy(buffer, 0, imageInProgress, imageInProgress.Length - buffer.Length, buffer.Length);
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
// depending on message received (based on header)
|
|
||||||
// launch correponding action
|
|
||||||
header = header.ToUpper();
|
header = header.ToUpper();
|
||||||
|
|
||||||
if (header == DestijlCommandList.ROBOT_BATTERY_LEVEL)
|
if (header == DestijlCommandList.ROBOT_BATTERY_LEVEL)
|
||||||
|
@ -293,20 +280,23 @@ public partial class MainWindow : Gtk.Window
|
||||||
}
|
}
|
||||||
else if (header == DestijlCommandList.CAMERA_IMAGE)
|
else if (header == DestijlCommandList.CAMERA_IMAGE)
|
||||||
{
|
{
|
||||||
// if message is an image, convert it to a pixbuf
|
|
||||||
// that can be displayed
|
|
||||||
//if (imageComplete != null)
|
|
||||||
//{
|
|
||||||
//TODO: Decoder le base64 et convertir en JPG
|
|
||||||
byte[] image = Convert.FromBase64String(data);
|
|
||||||
//byte[] image = new byte[imageComplete.Length - 4];
|
|
||||||
//System.Buffer.BlockCopy(imageComplete, 4, image, 0, image.Length);
|
|
||||||
|
|
||||||
imageReceivedCounter++;
|
imageReceivedCounter++;
|
||||||
|
|
||||||
|
byte[] image = new byte[2];
|
||||||
|
try
|
||||||
|
{
|
||||||
|
image = Convert.FromBase64String(data);
|
||||||
|
}
|
||||||
|
catch (FormatException)
|
||||||
|
{
|
||||||
|
badImageReceivedCounter++;
|
||||||
|
Console.WriteLine("Unable to convert from base64 ");
|
||||||
|
}
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
drawingareaCameraPixbuf = new Pixbuf(image);
|
drawingareaCameraPixbuf = new Pixbuf(image);
|
||||||
|
imageFPScounter++;
|
||||||
|
|
||||||
Gtk.Application.Invoke(delegate
|
Gtk.Application.Invoke(delegate
|
||||||
{
|
{
|
||||||
|
@ -326,10 +316,7 @@ public partial class MainWindow : Gtk.Window
|
||||||
}
|
}
|
||||||
else if (header == DestijlCommandList.CAMERA_POSITION)
|
else if (header == DestijlCommandList.CAMERA_POSITION)
|
||||||
{
|
{
|
||||||
//Console.WriteLine("Pos data: " + data);
|
|
||||||
|
|
||||||
position = DestijlCommandManager.DecodePosition(data);
|
position = DestijlCommandManager.DecodePosition(data);
|
||||||
//Console.WriteLine("decoded position: " + position.ToString());
|
|
||||||
|
|
||||||
Gtk.Application.Invoke(delegate
|
Gtk.Application.Invoke(delegate
|
||||||
{
|
{
|
||||||
|
@ -728,6 +715,23 @@ public partial class MainWindow : Gtk.Window
|
||||||
((IDisposable)cr.GetTarget()).Dispose();
|
((IDisposable)cr.GetTarget()).Dispose();
|
||||||
((IDisposable)cr).Dispose();
|
((IDisposable)cr).Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (checkButtonFPS.Active) {
|
||||||
|
Cairo.Context cr = Gdk.CairoHelper.Create(area.GdkWindow);
|
||||||
|
Cairo.Color textFontColor = new Cairo.Color(0.8, 0, 0);
|
||||||
|
|
||||||
|
cr.SelectFontFace("Cantarell", FontSlant.Normal, FontWeight.Bold);
|
||||||
|
cr.SetSourceColor(textFontColor);
|
||||||
|
cr.SetFontSize(16);
|
||||||
|
|
||||||
|
string text = "FPS= " + imageFPS.ToString() ;
|
||||||
|
TextExtents te = cr.TextExtents(text);
|
||||||
|
cr.MoveTo( 10,10 + te.Height);
|
||||||
|
cr.ShowText(text);
|
||||||
|
|
||||||
|
((IDisposable)cr.GetTarget()).Dispose();
|
||||||
|
((IDisposable)cr).Dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -738,9 +742,8 @@ public partial class MainWindow : Gtk.Window
|
||||||
DestijlCommandManager.CommandStatus status;
|
DestijlCommandManager.CommandStatus status;
|
||||||
MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent,
|
MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent,
|
||||||
MessageType.Question, ButtonsType.YesNo, "Arena is correct ?");
|
MessageType.Question, ButtonsType.YesNo, "Arena is correct ?");
|
||||||
{
|
|
||||||
Title = "Check arena";
|
md.Title = "Check arena";
|
||||||
};
|
|
||||||
|
|
||||||
ResponseType result = (ResponseType)md.Run();
|
ResponseType result = (ResponseType)md.Run();
|
||||||
md.Destroy();
|
md.Destroy();
|
||||||
|
@ -781,4 +784,33 @@ public partial class MainWindow : Gtk.Window
|
||||||
// show popup and wait for user to say if arena is ok or not
|
// show popup and wait for user to say if arena is ok or not
|
||||||
DetectArena();
|
DetectArena();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected void OnCheckButtonFPSToggled(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (checkButtonFPS.Active) { // User ask for FPS
|
||||||
|
imageFPS = 0;
|
||||||
|
imageFPScounter = 0;
|
||||||
|
|
||||||
|
fpsTimer.Start();
|
||||||
|
}
|
||||||
|
else { // stop computing FPS
|
||||||
|
fpsTimer.Stop();
|
||||||
|
|
||||||
|
Gtk.Application.Invoke(delegate
|
||||||
|
{
|
||||||
|
drawingAreaCamera.QueueDraw();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void OnFpsTimerElapsed(object sender, ElapsedEventArgs e)
|
||||||
|
{
|
||||||
|
imageFPS = imageFPScounter;
|
||||||
|
imageFPScounter = 0;
|
||||||
|
|
||||||
|
Gtk.Application.Invoke(delegate
|
||||||
|
{
|
||||||
|
drawingAreaCamera.QueueDraw();
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,14 +21,18 @@ public partial class MainWindow
|
||||||
|
|
||||||
private global::Gtk.VBox boxCamera;
|
private global::Gtk.VBox boxCamera;
|
||||||
|
|
||||||
|
private global::Gtk.HBox hbox2;
|
||||||
|
|
||||||
private global::Gtk.Alignment alignment1;
|
private global::Gtk.Alignment alignment1;
|
||||||
|
|
||||||
private global::Gtk.HBox hbox2;
|
private global::Gtk.HBox hbox5;
|
||||||
|
|
||||||
private global::Gtk.CheckButton checkButtonCameraOn;
|
private global::Gtk.CheckButton checkButtonCameraOn;
|
||||||
|
|
||||||
private global::Gtk.CheckButton checkButtonRobotPosition;
|
private global::Gtk.CheckButton checkButtonRobotPosition;
|
||||||
|
|
||||||
|
private global::Gtk.CheckButton checkButtonFPS;
|
||||||
|
|
||||||
private global::Gtk.Button buttonAskArena;
|
private global::Gtk.Button buttonAskArena;
|
||||||
|
|
||||||
private global::Gtk.DrawingArea drawingAreaCamera;
|
private global::Gtk.DrawingArea drawingAreaCamera;
|
||||||
|
@ -170,33 +174,51 @@ public partial class MainWindow
|
||||||
this.boxCamera.Name = "boxCamera";
|
this.boxCamera.Name = "boxCamera";
|
||||||
this.boxCamera.Spacing = 6;
|
this.boxCamera.Spacing = 6;
|
||||||
// Container child boxCamera.Gtk.Box+BoxChild
|
// Container child boxCamera.Gtk.Box+BoxChild
|
||||||
this.alignment1 = new global::Gtk.Alignment(0F, 0.5F, 0F, 1F);
|
|
||||||
this.alignment1.Name = "alignment1";
|
|
||||||
this.alignment1.BorderWidth = ((uint)(6));
|
|
||||||
// Container child alignment1.Gtk.Container+ContainerChild
|
|
||||||
this.hbox2 = new global::Gtk.HBox();
|
this.hbox2 = new global::Gtk.HBox();
|
||||||
this.hbox2.Name = "hbox2";
|
this.hbox2.Name = "hbox2";
|
||||||
this.hbox2.Spacing = 6;
|
this.hbox2.Spacing = 6;
|
||||||
// Container child hbox2.Gtk.Box+BoxChild
|
// Container child hbox2.Gtk.Box+BoxChild
|
||||||
|
this.alignment1 = new global::Gtk.Alignment(0F, 0.5F, 0F, 1F);
|
||||||
|
this.alignment1.Name = "alignment1";
|
||||||
|
this.alignment1.BorderWidth = ((uint)(6));
|
||||||
|
// Container child alignment1.Gtk.Container+ContainerChild
|
||||||
|
this.hbox5 = new global::Gtk.HBox();
|
||||||
|
this.hbox5.Name = "hbox5";
|
||||||
|
this.hbox5.Spacing = 6;
|
||||||
|
// Container child hbox5.Gtk.Box+BoxChild
|
||||||
this.checkButtonCameraOn = new global::Gtk.CheckButton();
|
this.checkButtonCameraOn = new global::Gtk.CheckButton();
|
||||||
this.checkButtonCameraOn.CanFocus = true;
|
this.checkButtonCameraOn.CanFocus = true;
|
||||||
this.checkButtonCameraOn.Name = "checkButtonCameraOn";
|
this.checkButtonCameraOn.Name = "checkButtonCameraOn";
|
||||||
this.checkButtonCameraOn.Label = global::Mono.Unix.Catalog.GetString("Camera On");
|
this.checkButtonCameraOn.Label = global::Mono.Unix.Catalog.GetString("Camera On");
|
||||||
this.checkButtonCameraOn.DrawIndicator = true;
|
this.checkButtonCameraOn.DrawIndicator = true;
|
||||||
this.checkButtonCameraOn.UseUnderline = true;
|
this.checkButtonCameraOn.UseUnderline = true;
|
||||||
this.hbox2.Add(this.checkButtonCameraOn);
|
this.hbox5.Add(this.checkButtonCameraOn);
|
||||||
global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.checkButtonCameraOn]));
|
global::Gtk.Box.BoxChild w3 = ((global::Gtk.Box.BoxChild)(this.hbox5[this.checkButtonCameraOn]));
|
||||||
w3.Position = 0;
|
w3.Position = 0;
|
||||||
// Container child hbox2.Gtk.Box+BoxChild
|
// Container child hbox5.Gtk.Box+BoxChild
|
||||||
this.checkButtonRobotPosition = new global::Gtk.CheckButton();
|
this.checkButtonRobotPosition = new global::Gtk.CheckButton();
|
||||||
this.checkButtonRobotPosition.CanFocus = true;
|
this.checkButtonRobotPosition.CanFocus = true;
|
||||||
this.checkButtonRobotPosition.Name = "checkButtonRobotPosition";
|
this.checkButtonRobotPosition.Name = "checkButtonRobotPosition";
|
||||||
this.checkButtonRobotPosition.Label = global::Mono.Unix.Catalog.GetString("Robot Position");
|
this.checkButtonRobotPosition.Label = global::Mono.Unix.Catalog.GetString("Show Position");
|
||||||
this.checkButtonRobotPosition.DrawIndicator = true;
|
this.checkButtonRobotPosition.DrawIndicator = true;
|
||||||
this.checkButtonRobotPosition.UseUnderline = true;
|
this.checkButtonRobotPosition.UseUnderline = true;
|
||||||
this.hbox2.Add(this.checkButtonRobotPosition);
|
this.hbox5.Add(this.checkButtonRobotPosition);
|
||||||
global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.checkButtonRobotPosition]));
|
global::Gtk.Box.BoxChild w4 = ((global::Gtk.Box.BoxChild)(this.hbox5[this.checkButtonRobotPosition]));
|
||||||
w4.Position = 1;
|
w4.Position = 1;
|
||||||
|
// Container child hbox5.Gtk.Box+BoxChild
|
||||||
|
this.checkButtonFPS = new global::Gtk.CheckButton();
|
||||||
|
this.checkButtonFPS.CanFocus = true;
|
||||||
|
this.checkButtonFPS.Name = "checkButtonFPS";
|
||||||
|
this.checkButtonFPS.Label = global::Mono.Unix.Catalog.GetString("Show FPS");
|
||||||
|
this.checkButtonFPS.DrawIndicator = true;
|
||||||
|
this.checkButtonFPS.UseUnderline = true;
|
||||||
|
this.hbox5.Add(this.checkButtonFPS);
|
||||||
|
global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox5[this.checkButtonFPS]));
|
||||||
|
w5.Position = 2;
|
||||||
|
this.alignment1.Add(this.hbox5);
|
||||||
|
this.hbox2.Add(this.alignment1);
|
||||||
|
global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.alignment1]));
|
||||||
|
w7.Position = 0;
|
||||||
// Container child hbox2.Gtk.Box+BoxChild
|
// Container child hbox2.Gtk.Box+BoxChild
|
||||||
this.buttonAskArena = new global::Gtk.Button();
|
this.buttonAskArena = new global::Gtk.Button();
|
||||||
this.buttonAskArena.CanFocus = true;
|
this.buttonAskArena.CanFocus = true;
|
||||||
|
@ -204,26 +226,24 @@ public partial class MainWindow
|
||||||
this.buttonAskArena.UseUnderline = true;
|
this.buttonAskArena.UseUnderline = true;
|
||||||
this.buttonAskArena.Label = global::Mono.Unix.Catalog.GetString("Ask Arena...");
|
this.buttonAskArena.Label = global::Mono.Unix.Catalog.GetString("Ask Arena...");
|
||||||
this.hbox2.Add(this.buttonAskArena);
|
this.hbox2.Add(this.buttonAskArena);
|
||||||
global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.buttonAskArena]));
|
global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.buttonAskArena]));
|
||||||
w5.PackType = ((global::Gtk.PackType)(1));
|
w8.Position = 2;
|
||||||
w5.Position = 2;
|
w8.Expand = false;
|
||||||
w5.Expand = false;
|
w8.Fill = false;
|
||||||
w5.Fill = false;
|
this.boxCamera.Add(this.hbox2);
|
||||||
this.alignment1.Add(this.hbox2);
|
global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.boxCamera[this.hbox2]));
|
||||||
this.boxCamera.Add(this.alignment1);
|
w9.Position = 0;
|
||||||
global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.boxCamera[this.alignment1]));
|
w9.Expand = false;
|
||||||
w7.Position = 0;
|
w9.Fill = false;
|
||||||
w7.Expand = false;
|
|
||||||
w7.Fill = false;
|
|
||||||
// Container child boxCamera.Gtk.Box+BoxChild
|
// Container child boxCamera.Gtk.Box+BoxChild
|
||||||
this.drawingAreaCamera = new global::Gtk.DrawingArea();
|
this.drawingAreaCamera = new global::Gtk.DrawingArea();
|
||||||
this.drawingAreaCamera.Name = "drawingAreaCamera";
|
this.drawingAreaCamera.Name = "drawingAreaCamera";
|
||||||
this.boxCamera.Add(this.drawingAreaCamera);
|
this.boxCamera.Add(this.drawingAreaCamera);
|
||||||
global::Gtk.Box.BoxChild w8 = ((global::Gtk.Box.BoxChild)(this.boxCamera[this.drawingAreaCamera]));
|
global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.boxCamera[this.drawingAreaCamera]));
|
||||||
w8.Position = 1;
|
w10.Position = 1;
|
||||||
this.hbox1.Add(this.boxCamera);
|
this.hbox1.Add(this.boxCamera);
|
||||||
global::Gtk.Box.BoxChild w9 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.boxCamera]));
|
global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.boxCamera]));
|
||||||
w9.Position = 0;
|
w11.Position = 0;
|
||||||
// Container child hbox1.Gtk.Box+BoxChild
|
// Container child hbox1.Gtk.Box+BoxChild
|
||||||
this.hbox3 = new global::Gtk.HBox();
|
this.hbox3 = new global::Gtk.HBox();
|
||||||
this.hbox3.Name = "hbox3";
|
this.hbox3.Name = "hbox3";
|
||||||
|
@ -232,10 +252,10 @@ public partial class MainWindow
|
||||||
this.vseparator1 = new global::Gtk.VSeparator();
|
this.vseparator1 = new global::Gtk.VSeparator();
|
||||||
this.vseparator1.Name = "vseparator1";
|
this.vseparator1.Name = "vseparator1";
|
||||||
this.hbox3.Add(this.vseparator1);
|
this.hbox3.Add(this.vseparator1);
|
||||||
global::Gtk.Box.BoxChild w10 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.vseparator1]));
|
global::Gtk.Box.BoxChild w12 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.vseparator1]));
|
||||||
w10.Position = 0;
|
w12.Position = 0;
|
||||||
w10.Expand = false;
|
w12.Expand = false;
|
||||||
w10.Fill = false;
|
w12.Fill = false;
|
||||||
// Container child hbox3.Gtk.Box+BoxChild
|
// Container child hbox3.Gtk.Box+BoxChild
|
||||||
this.alignment3 = new global::Gtk.Alignment(1F, 0F, 0F, 0F);
|
this.alignment3 = new global::Gtk.Alignment(1F, 0F, 0F, 0F);
|
||||||
this.alignment3.Name = "alignment3";
|
this.alignment3.Name = "alignment3";
|
||||||
|
@ -255,10 +275,10 @@ public partial class MainWindow
|
||||||
this.labelServer.LabelProp = global::Mono.Unix.Catalog.GetString("<b><u>Server connection</u></b>");
|
this.labelServer.LabelProp = global::Mono.Unix.Catalog.GetString("<b><u>Server connection</u></b>");
|
||||||
this.labelServer.UseMarkup = true;
|
this.labelServer.UseMarkup = true;
|
||||||
this.vbox10.Add(this.labelServer);
|
this.vbox10.Add(this.labelServer);
|
||||||
global::Gtk.Box.BoxChild w11 = ((global::Gtk.Box.BoxChild)(this.vbox10[this.labelServer]));
|
global::Gtk.Box.BoxChild w13 = ((global::Gtk.Box.BoxChild)(this.vbox10[this.labelServer]));
|
||||||
w11.Position = 0;
|
w13.Position = 0;
|
||||||
w11.Expand = false;
|
w13.Expand = false;
|
||||||
w11.Fill = false;
|
w13.Fill = false;
|
||||||
// Container child vbox10.Gtk.Box+BoxChild
|
// Container child vbox10.Gtk.Box+BoxChild
|
||||||
this.gtkAlignmentServer = new global::Gtk.Alignment(0F, 0F, 1F, 1F);
|
this.gtkAlignmentServer = new global::Gtk.Alignment(0F, 0F, 1F, 1F);
|
||||||
this.gtkAlignmentServer.Name = "gtkAlignmentServer";
|
this.gtkAlignmentServer.Name = "gtkAlignmentServer";
|
||||||
|
@ -279,10 +299,10 @@ public partial class MainWindow
|
||||||
this.entryServerName.IsEditable = true;
|
this.entryServerName.IsEditable = true;
|
||||||
this.entryServerName.InvisibleChar = '●';
|
this.entryServerName.InvisibleChar = '●';
|
||||||
this.table1.Add(this.entryServerName);
|
this.table1.Add(this.entryServerName);
|
||||||
global::Gtk.Table.TableChild w12 = ((global::Gtk.Table.TableChild)(this.table1[this.entryServerName]));
|
global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.table1[this.entryServerName]));
|
||||||
w12.LeftAttach = ((uint)(1));
|
w14.LeftAttach = ((uint)(1));
|
||||||
w12.RightAttach = ((uint)(2));
|
w14.RightAttach = ((uint)(2));
|
||||||
w12.YOptions = ((global::Gtk.AttachOptions)(4));
|
w14.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table1.Gtk.Table+TableChild
|
// Container child table1.Gtk.Table+TableChild
|
||||||
this.entryServerPort = new global::Gtk.Entry();
|
this.entryServerPort = new global::Gtk.Entry();
|
||||||
this.entryServerPort.CanFocus = true;
|
this.entryServerPort.CanFocus = true;
|
||||||
|
@ -290,12 +310,12 @@ public partial class MainWindow
|
||||||
this.entryServerPort.IsEditable = true;
|
this.entryServerPort.IsEditable = true;
|
||||||
this.entryServerPort.InvisibleChar = '●';
|
this.entryServerPort.InvisibleChar = '●';
|
||||||
this.table1.Add(this.entryServerPort);
|
this.table1.Add(this.entryServerPort);
|
||||||
global::Gtk.Table.TableChild w13 = ((global::Gtk.Table.TableChild)(this.table1[this.entryServerPort]));
|
global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.table1[this.entryServerPort]));
|
||||||
w13.TopAttach = ((uint)(1));
|
w15.TopAttach = ((uint)(1));
|
||||||
w13.BottomAttach = ((uint)(2));
|
w15.BottomAttach = ((uint)(2));
|
||||||
w13.LeftAttach = ((uint)(1));
|
w15.LeftAttach = ((uint)(1));
|
||||||
w13.RightAttach = ((uint)(2));
|
w15.RightAttach = ((uint)(2));
|
||||||
w13.YOptions = ((global::Gtk.AttachOptions)(4));
|
w15.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table1.Gtk.Table+TableChild
|
// Container child table1.Gtk.Table+TableChild
|
||||||
this.entryTimeout = new global::Gtk.Entry();
|
this.entryTimeout = new global::Gtk.Entry();
|
||||||
this.entryTimeout.CanFocus = true;
|
this.entryTimeout.CanFocus = true;
|
||||||
|
@ -303,12 +323,12 @@ public partial class MainWindow
|
||||||
this.entryTimeout.IsEditable = true;
|
this.entryTimeout.IsEditable = true;
|
||||||
this.entryTimeout.InvisibleChar = '●';
|
this.entryTimeout.InvisibleChar = '●';
|
||||||
this.table1.Add(this.entryTimeout);
|
this.table1.Add(this.entryTimeout);
|
||||||
global::Gtk.Table.TableChild w14 = ((global::Gtk.Table.TableChild)(this.table1[this.entryTimeout]));
|
global::Gtk.Table.TableChild w16 = ((global::Gtk.Table.TableChild)(this.table1[this.entryTimeout]));
|
||||||
w14.TopAttach = ((uint)(2));
|
w16.TopAttach = ((uint)(2));
|
||||||
w14.BottomAttach = ((uint)(3));
|
w16.BottomAttach = ((uint)(3));
|
||||||
w14.LeftAttach = ((uint)(1));
|
w16.LeftAttach = ((uint)(1));
|
||||||
w14.RightAttach = ((uint)(2));
|
w16.RightAttach = ((uint)(2));
|
||||||
w14.YOptions = ((global::Gtk.AttachOptions)(4));
|
w16.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table1.Gtk.Table+TableChild
|
// Container child table1.Gtk.Table+TableChild
|
||||||
this.label1 = new global::Gtk.Label();
|
this.label1 = new global::Gtk.Label();
|
||||||
this.label1.Name = "label1";
|
this.label1.Name = "label1";
|
||||||
|
@ -316,9 +336,9 @@ public partial class MainWindow
|
||||||
this.label1.LabelProp = global::Mono.Unix.Catalog.GetString("Server name:");
|
this.label1.LabelProp = global::Mono.Unix.Catalog.GetString("Server name:");
|
||||||
this.label1.Justify = ((global::Gtk.Justification)(1));
|
this.label1.Justify = ((global::Gtk.Justification)(1));
|
||||||
this.table1.Add(this.label1);
|
this.table1.Add(this.label1);
|
||||||
global::Gtk.Table.TableChild w15 = ((global::Gtk.Table.TableChild)(this.table1[this.label1]));
|
global::Gtk.Table.TableChild w17 = ((global::Gtk.Table.TableChild)(this.table1[this.label1]));
|
||||||
w15.XOptions = ((global::Gtk.AttachOptions)(4));
|
w17.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
w15.YOptions = ((global::Gtk.AttachOptions)(4));
|
w17.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table1.Gtk.Table+TableChild
|
// Container child table1.Gtk.Table+TableChild
|
||||||
this.label2 = new global::Gtk.Label();
|
this.label2 = new global::Gtk.Label();
|
||||||
this.label2.Name = "label2";
|
this.label2.Name = "label2";
|
||||||
|
@ -326,26 +346,26 @@ public partial class MainWindow
|
||||||
this.label2.LabelProp = global::Mono.Unix.Catalog.GetString("Server port:");
|
this.label2.LabelProp = global::Mono.Unix.Catalog.GetString("Server port:");
|
||||||
this.label2.Justify = ((global::Gtk.Justification)(1));
|
this.label2.Justify = ((global::Gtk.Justification)(1));
|
||||||
this.table1.Add(this.label2);
|
this.table1.Add(this.label2);
|
||||||
global::Gtk.Table.TableChild w16 = ((global::Gtk.Table.TableChild)(this.table1[this.label2]));
|
global::Gtk.Table.TableChild w18 = ((global::Gtk.Table.TableChild)(this.table1[this.label2]));
|
||||||
w16.TopAttach = ((uint)(1));
|
w18.TopAttach = ((uint)(1));
|
||||||
w16.BottomAttach = ((uint)(2));
|
w18.BottomAttach = ((uint)(2));
|
||||||
w16.XOptions = ((global::Gtk.AttachOptions)(4));
|
w18.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
w16.YOptions = ((global::Gtk.AttachOptions)(4));
|
w18.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table1.Gtk.Table+TableChild
|
// Container child table1.Gtk.Table+TableChild
|
||||||
this.label5 = new global::Gtk.Label();
|
this.label5 = new global::Gtk.Label();
|
||||||
this.label5.Name = "label5";
|
this.label5.Name = "label5";
|
||||||
this.label5.LabelProp = global::Mono.Unix.Catalog.GetString("Timeout (ms):");
|
this.label5.LabelProp = global::Mono.Unix.Catalog.GetString("Timeout (ms):");
|
||||||
this.table1.Add(this.label5);
|
this.table1.Add(this.label5);
|
||||||
global::Gtk.Table.TableChild w17 = ((global::Gtk.Table.TableChild)(this.table1[this.label5]));
|
global::Gtk.Table.TableChild w19 = ((global::Gtk.Table.TableChild)(this.table1[this.label5]));
|
||||||
w17.TopAttach = ((uint)(2));
|
w19.TopAttach = ((uint)(2));
|
||||||
w17.BottomAttach = ((uint)(3));
|
w19.BottomAttach = ((uint)(3));
|
||||||
w17.XOptions = ((global::Gtk.AttachOptions)(4));
|
w19.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
w17.YOptions = ((global::Gtk.AttachOptions)(4));
|
w19.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
this.vbox6.Add(this.table1);
|
this.vbox6.Add(this.table1);
|
||||||
global::Gtk.Box.BoxChild w18 = ((global::Gtk.Box.BoxChild)(this.vbox6[this.table1]));
|
global::Gtk.Box.BoxChild w20 = ((global::Gtk.Box.BoxChild)(this.vbox6[this.table1]));
|
||||||
w18.Position = 0;
|
w20.Position = 0;
|
||||||
w18.Expand = false;
|
w20.Expand = false;
|
||||||
w18.Fill = false;
|
w20.Fill = false;
|
||||||
// Container child vbox6.Gtk.Box+BoxChild
|
// Container child vbox6.Gtk.Box+BoxChild
|
||||||
this.buttonServerConnection = new global::Gtk.Button();
|
this.buttonServerConnection = new global::Gtk.Button();
|
||||||
this.buttonServerConnection.CanFocus = true;
|
this.buttonServerConnection.CanFocus = true;
|
||||||
|
@ -353,30 +373,30 @@ public partial class MainWindow
|
||||||
this.buttonServerConnection.UseUnderline = true;
|
this.buttonServerConnection.UseUnderline = true;
|
||||||
this.buttonServerConnection.Label = global::Mono.Unix.Catalog.GetString("Connect");
|
this.buttonServerConnection.Label = global::Mono.Unix.Catalog.GetString("Connect");
|
||||||
this.vbox6.Add(this.buttonServerConnection);
|
this.vbox6.Add(this.buttonServerConnection);
|
||||||
global::Gtk.Box.BoxChild w19 = ((global::Gtk.Box.BoxChild)(this.vbox6[this.buttonServerConnection]));
|
global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox6[this.buttonServerConnection]));
|
||||||
w19.PackType = ((global::Gtk.PackType)(1));
|
w21.PackType = ((global::Gtk.PackType)(1));
|
||||||
w19.Position = 1;
|
|
||||||
w19.Expand = false;
|
|
||||||
w19.Fill = false;
|
|
||||||
this.gtkAlignmentServer.Add(this.vbox6);
|
|
||||||
this.vbox10.Add(this.gtkAlignmentServer);
|
|
||||||
global::Gtk.Box.BoxChild w21 = ((global::Gtk.Box.BoxChild)(this.vbox10[this.gtkAlignmentServer]));
|
|
||||||
w21.Position = 1;
|
w21.Position = 1;
|
||||||
w21.Expand = false;
|
w21.Expand = false;
|
||||||
w21.Fill = false;
|
w21.Fill = false;
|
||||||
|
this.gtkAlignmentServer.Add(this.vbox6);
|
||||||
|
this.vbox10.Add(this.gtkAlignmentServer);
|
||||||
|
global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox10[this.gtkAlignmentServer]));
|
||||||
|
w23.Position = 1;
|
||||||
|
w23.Expand = false;
|
||||||
|
w23.Fill = false;
|
||||||
this.vbox5.Add(this.vbox10);
|
this.vbox5.Add(this.vbox10);
|
||||||
global::Gtk.Box.BoxChild w22 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.vbox10]));
|
global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.vbox10]));
|
||||||
w22.Position = 0;
|
w24.Position = 0;
|
||||||
w22.Expand = false;
|
w24.Expand = false;
|
||||||
w22.Fill = false;
|
w24.Fill = false;
|
||||||
// Container child vbox5.Gtk.Box+BoxChild
|
// Container child vbox5.Gtk.Box+BoxChild
|
||||||
this.hseparator1 = new global::Gtk.HSeparator();
|
this.hseparator1 = new global::Gtk.HSeparator();
|
||||||
this.hseparator1.Name = "hseparator1";
|
this.hseparator1.Name = "hseparator1";
|
||||||
this.vbox5.Add(this.hseparator1);
|
this.vbox5.Add(this.hseparator1);
|
||||||
global::Gtk.Box.BoxChild w23 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.hseparator1]));
|
global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.hseparator1]));
|
||||||
w23.Position = 1;
|
w25.Position = 1;
|
||||||
w23.Expand = false;
|
w25.Expand = false;
|
||||||
w23.Fill = false;
|
w25.Fill = false;
|
||||||
// Container child vbox5.Gtk.Box+BoxChild
|
// Container child vbox5.Gtk.Box+BoxChild
|
||||||
this.vbox11 = new global::Gtk.VBox();
|
this.vbox11 = new global::Gtk.VBox();
|
||||||
this.vbox11.Name = "vbox11";
|
this.vbox11.Name = "vbox11";
|
||||||
|
@ -388,10 +408,10 @@ public partial class MainWindow
|
||||||
this.labelRobot.LabelProp = global::Mono.Unix.Catalog.GetString("<b><u>Robot Activation</u></b>");
|
this.labelRobot.LabelProp = global::Mono.Unix.Catalog.GetString("<b><u>Robot Activation</u></b>");
|
||||||
this.labelRobot.UseMarkup = true;
|
this.labelRobot.UseMarkup = true;
|
||||||
this.vbox11.Add(this.labelRobot);
|
this.vbox11.Add(this.labelRobot);
|
||||||
global::Gtk.Box.BoxChild w24 = ((global::Gtk.Box.BoxChild)(this.vbox11[this.labelRobot]));
|
global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.vbox11[this.labelRobot]));
|
||||||
w24.Position = 0;
|
w26.Position = 0;
|
||||||
w24.Expand = false;
|
w26.Expand = false;
|
||||||
w24.Fill = false;
|
w26.Fill = false;
|
||||||
// Container child vbox11.Gtk.Box+BoxChild
|
// Container child vbox11.Gtk.Box+BoxChild
|
||||||
this.alignment9 = new global::Gtk.Alignment(0.5F, 0.5F, 1F, 1F);
|
this.alignment9 = new global::Gtk.Alignment(0.5F, 0.5F, 1F, 1F);
|
||||||
this.alignment9.Name = "alignment9";
|
this.alignment9.Name = "alignment9";
|
||||||
|
@ -418,8 +438,8 @@ public partial class MainWindow
|
||||||
this.radioButtonWithWatchdog.UseUnderline = true;
|
this.radioButtonWithWatchdog.UseUnderline = true;
|
||||||
this.radioButtonWithWatchdog.Group = new global::GLib.SList(global::System.IntPtr.Zero);
|
this.radioButtonWithWatchdog.Group = new global::GLib.SList(global::System.IntPtr.Zero);
|
||||||
this.hbox4.Add(this.radioButtonWithWatchdog);
|
this.hbox4.Add(this.radioButtonWithWatchdog);
|
||||||
global::Gtk.Box.BoxChild w25 = ((global::Gtk.Box.BoxChild)(this.hbox4[this.radioButtonWithWatchdog]));
|
global::Gtk.Box.BoxChild w27 = ((global::Gtk.Box.BoxChild)(this.hbox4[this.radioButtonWithWatchdog]));
|
||||||
w25.Position = 0;
|
w27.Position = 0;
|
||||||
// Container child hbox4.Gtk.Box+BoxChild
|
// Container child hbox4.Gtk.Box+BoxChild
|
||||||
this.radioButtonWithoutWatchdog = new global::Gtk.RadioButton(global::Mono.Unix.Catalog.GetString("without watchdog"));
|
this.radioButtonWithoutWatchdog = new global::Gtk.RadioButton(global::Mono.Unix.Catalog.GetString("without watchdog"));
|
||||||
this.radioButtonWithoutWatchdog.CanFocus = true;
|
this.radioButtonWithoutWatchdog.CanFocus = true;
|
||||||
|
@ -428,14 +448,14 @@ public partial class MainWindow
|
||||||
this.radioButtonWithoutWatchdog.UseUnderline = true;
|
this.radioButtonWithoutWatchdog.UseUnderline = true;
|
||||||
this.radioButtonWithoutWatchdog.Group = this.radioButtonWithWatchdog.Group;
|
this.radioButtonWithoutWatchdog.Group = this.radioButtonWithWatchdog.Group;
|
||||||
this.hbox4.Add(this.radioButtonWithoutWatchdog);
|
this.hbox4.Add(this.radioButtonWithoutWatchdog);
|
||||||
global::Gtk.Box.BoxChild w26 = ((global::Gtk.Box.BoxChild)(this.hbox4[this.radioButtonWithoutWatchdog]));
|
global::Gtk.Box.BoxChild w28 = ((global::Gtk.Box.BoxChild)(this.hbox4[this.radioButtonWithoutWatchdog]));
|
||||||
w26.Position = 1;
|
w28.Position = 1;
|
||||||
this.alignment6.Add(this.hbox4);
|
this.alignment6.Add(this.hbox4);
|
||||||
this.vbox8.Add(this.alignment6);
|
this.vbox8.Add(this.alignment6);
|
||||||
global::Gtk.Box.BoxChild w28 = ((global::Gtk.Box.BoxChild)(this.vbox8[this.alignment6]));
|
global::Gtk.Box.BoxChild w30 = ((global::Gtk.Box.BoxChild)(this.vbox8[this.alignment6]));
|
||||||
w28.Position = 0;
|
w30.Position = 0;
|
||||||
w28.Expand = false;
|
w30.Expand = false;
|
||||||
w28.Fill = false;
|
w30.Fill = false;
|
||||||
// Container child vbox8.Gtk.Box+BoxChild
|
// Container child vbox8.Gtk.Box+BoxChild
|
||||||
this.alignment5 = new global::Gtk.Alignment(0.5F, 0.5F, 1F, 1F);
|
this.alignment5 = new global::Gtk.Alignment(0.5F, 0.5F, 1F, 1F);
|
||||||
this.alignment5.Name = "alignment5";
|
this.alignment5.Name = "alignment5";
|
||||||
|
@ -451,30 +471,30 @@ public partial class MainWindow
|
||||||
this.alignment7.Add(this.buttonRobotActivation);
|
this.alignment7.Add(this.buttonRobotActivation);
|
||||||
this.alignment5.Add(this.alignment7);
|
this.alignment5.Add(this.alignment7);
|
||||||
this.vbox8.Add(this.alignment5);
|
this.vbox8.Add(this.alignment5);
|
||||||
global::Gtk.Box.BoxChild w31 = ((global::Gtk.Box.BoxChild)(this.vbox8[this.alignment5]));
|
global::Gtk.Box.BoxChild w33 = ((global::Gtk.Box.BoxChild)(this.vbox8[this.alignment5]));
|
||||||
w31.Position = 1;
|
w33.Position = 1;
|
||||||
w31.Expand = false;
|
w33.Expand = false;
|
||||||
w31.Fill = false;
|
w33.Fill = false;
|
||||||
this.gtkAlignmentRobot.Add(this.vbox8);
|
this.gtkAlignmentRobot.Add(this.vbox8);
|
||||||
this.alignment9.Add(this.gtkAlignmentRobot);
|
this.alignment9.Add(this.gtkAlignmentRobot);
|
||||||
this.vbox11.Add(this.alignment9);
|
this.vbox11.Add(this.alignment9);
|
||||||
global::Gtk.Box.BoxChild w34 = ((global::Gtk.Box.BoxChild)(this.vbox11[this.alignment9]));
|
global::Gtk.Box.BoxChild w36 = ((global::Gtk.Box.BoxChild)(this.vbox11[this.alignment9]));
|
||||||
w34.Position = 1;
|
w36.Position = 1;
|
||||||
w34.Expand = false;
|
w36.Expand = false;
|
||||||
w34.Fill = false;
|
w36.Fill = false;
|
||||||
this.vbox5.Add(this.vbox11);
|
this.vbox5.Add(this.vbox11);
|
||||||
global::Gtk.Box.BoxChild w35 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.vbox11]));
|
global::Gtk.Box.BoxChild w37 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.vbox11]));
|
||||||
w35.Position = 2;
|
w37.Position = 2;
|
||||||
w35.Expand = false;
|
w37.Expand = false;
|
||||||
w35.Fill = false;
|
w37.Fill = false;
|
||||||
// Container child vbox5.Gtk.Box+BoxChild
|
// Container child vbox5.Gtk.Box+BoxChild
|
||||||
this.hseparator2 = new global::Gtk.HSeparator();
|
this.hseparator2 = new global::Gtk.HSeparator();
|
||||||
this.hseparator2.Name = "hseparator2";
|
this.hseparator2.Name = "hseparator2";
|
||||||
this.vbox5.Add(this.hseparator2);
|
this.vbox5.Add(this.hseparator2);
|
||||||
global::Gtk.Box.BoxChild w36 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.hseparator2]));
|
global::Gtk.Box.BoxChild w38 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.hseparator2]));
|
||||||
w36.Position = 3;
|
w38.Position = 3;
|
||||||
w36.Expand = false;
|
w38.Expand = false;
|
||||||
w36.Fill = false;
|
w38.Fill = false;
|
||||||
// Container child vbox5.Gtk.Box+BoxChild
|
// Container child vbox5.Gtk.Box+BoxChild
|
||||||
this.vbox12 = new global::Gtk.VBox();
|
this.vbox12 = new global::Gtk.VBox();
|
||||||
this.vbox12.Name = "vbox12";
|
this.vbox12.Name = "vbox12";
|
||||||
|
@ -486,10 +506,10 @@ public partial class MainWindow
|
||||||
this.labelRobotControl.LabelProp = global::Mono.Unix.Catalog.GetString("<b><u>Robot Controls and Status</u></b>");
|
this.labelRobotControl.LabelProp = global::Mono.Unix.Catalog.GetString("<b><u>Robot Controls and Status</u></b>");
|
||||||
this.labelRobotControl.UseMarkup = true;
|
this.labelRobotControl.UseMarkup = true;
|
||||||
this.vbox12.Add(this.labelRobotControl);
|
this.vbox12.Add(this.labelRobotControl);
|
||||||
global::Gtk.Box.BoxChild w37 = ((global::Gtk.Box.BoxChild)(this.vbox12[this.labelRobotControl]));
|
global::Gtk.Box.BoxChild w39 = ((global::Gtk.Box.BoxChild)(this.vbox12[this.labelRobotControl]));
|
||||||
w37.Position = 0;
|
w39.Position = 0;
|
||||||
w37.Expand = false;
|
w39.Expand = false;
|
||||||
w37.Fill = false;
|
w39.Fill = false;
|
||||||
// Container child vbox12.Gtk.Box+BoxChild
|
// Container child vbox12.Gtk.Box+BoxChild
|
||||||
this.gtkAlignmentRobotControl = new global::Gtk.Alignment(0F, 0F, 1F, 1F);
|
this.gtkAlignmentRobotControl = new global::Gtk.Alignment(0F, 0F, 1F, 1F);
|
||||||
this.gtkAlignmentRobotControl.Name = "gtkAlignmentRobotControl";
|
this.gtkAlignmentRobotControl.Name = "gtkAlignmentRobotControl";
|
||||||
|
@ -511,67 +531,67 @@ public partial class MainWindow
|
||||||
this.buttonDown.CanFocus = true;
|
this.buttonDown.CanFocus = true;
|
||||||
this.buttonDown.Name = "buttonDown";
|
this.buttonDown.Name = "buttonDown";
|
||||||
this.buttonDown.UseUnderline = true;
|
this.buttonDown.UseUnderline = true;
|
||||||
global::Gtk.Image w38 = new global::Gtk.Image();
|
|
||||||
w38.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-down-symbolic.symbolic.png");
|
|
||||||
this.buttonDown.Image = w38;
|
|
||||||
this.table4.Add(this.buttonDown);
|
|
||||||
global::Gtk.Table.TableChild w39 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonDown]));
|
|
||||||
w39.TopAttach = ((uint)(2));
|
|
||||||
w39.BottomAttach = ((uint)(3));
|
|
||||||
w39.LeftAttach = ((uint)(1));
|
|
||||||
w39.RightAttach = ((uint)(2));
|
|
||||||
w39.XOptions = ((global::Gtk.AttachOptions)(4));
|
|
||||||
w39.YOptions = ((global::Gtk.AttachOptions)(4));
|
|
||||||
// Container child table4.Gtk.Table+TableChild
|
|
||||||
this.buttonForward = new global::Gtk.Button();
|
|
||||||
this.buttonForward.CanFocus = true;
|
|
||||||
this.buttonForward.Name = "buttonForward";
|
|
||||||
this.buttonForward.UseUnderline = true;
|
|
||||||
global::Gtk.Image w40 = new global::Gtk.Image();
|
global::Gtk.Image w40 = new global::Gtk.Image();
|
||||||
w40.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-up-symbolic.symbolic.png");
|
w40.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-down-symbolic.symbolic.png");
|
||||||
this.buttonForward.Image = w40;
|
this.buttonDown.Image = w40;
|
||||||
this.table4.Add(this.buttonForward);
|
this.table4.Add(this.buttonDown);
|
||||||
global::Gtk.Table.TableChild w41 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonForward]));
|
global::Gtk.Table.TableChild w41 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonDown]));
|
||||||
|
w41.TopAttach = ((uint)(2));
|
||||||
|
w41.BottomAttach = ((uint)(3));
|
||||||
w41.LeftAttach = ((uint)(1));
|
w41.LeftAttach = ((uint)(1));
|
||||||
w41.RightAttach = ((uint)(2));
|
w41.RightAttach = ((uint)(2));
|
||||||
w41.XOptions = ((global::Gtk.AttachOptions)(4));
|
w41.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
w41.YOptions = ((global::Gtk.AttachOptions)(4));
|
w41.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table4.Gtk.Table+TableChild
|
// Container child table4.Gtk.Table+TableChild
|
||||||
|
this.buttonForward = new global::Gtk.Button();
|
||||||
|
this.buttonForward.CanFocus = true;
|
||||||
|
this.buttonForward.Name = "buttonForward";
|
||||||
|
this.buttonForward.UseUnderline = true;
|
||||||
|
global::Gtk.Image w42 = new global::Gtk.Image();
|
||||||
|
w42.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-up-symbolic.symbolic.png");
|
||||||
|
this.buttonForward.Image = w42;
|
||||||
|
this.table4.Add(this.buttonForward);
|
||||||
|
global::Gtk.Table.TableChild w43 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonForward]));
|
||||||
|
w43.LeftAttach = ((uint)(1));
|
||||||
|
w43.RightAttach = ((uint)(2));
|
||||||
|
w43.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
|
w43.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
|
// Container child table4.Gtk.Table+TableChild
|
||||||
this.buttonLeft = new global::Gtk.Button();
|
this.buttonLeft = new global::Gtk.Button();
|
||||||
this.buttonLeft.CanFocus = true;
|
this.buttonLeft.CanFocus = true;
|
||||||
this.buttonLeft.Name = "buttonLeft";
|
this.buttonLeft.Name = "buttonLeft";
|
||||||
this.buttonLeft.UseUnderline = true;
|
this.buttonLeft.UseUnderline = true;
|
||||||
global::Gtk.Image w42 = new global::Gtk.Image();
|
global::Gtk.Image w44 = new global::Gtk.Image();
|
||||||
w42.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-start-symbolic.symbolic.png");
|
w44.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-start-symbolic.symbolic.png");
|
||||||
this.buttonLeft.Image = w42;
|
this.buttonLeft.Image = w44;
|
||||||
this.table4.Add(this.buttonLeft);
|
this.table4.Add(this.buttonLeft);
|
||||||
global::Gtk.Table.TableChild w43 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonLeft]));
|
global::Gtk.Table.TableChild w45 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonLeft]));
|
||||||
w43.TopAttach = ((uint)(1));
|
w45.TopAttach = ((uint)(1));
|
||||||
w43.BottomAttach = ((uint)(2));
|
w45.BottomAttach = ((uint)(2));
|
||||||
w43.XOptions = ((global::Gtk.AttachOptions)(4));
|
w45.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
w43.YOptions = ((global::Gtk.AttachOptions)(4));
|
w45.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table4.Gtk.Table+TableChild
|
// Container child table4.Gtk.Table+TableChild
|
||||||
this.buttonRight = new global::Gtk.Button();
|
this.buttonRight = new global::Gtk.Button();
|
||||||
this.buttonRight.CanFocus = true;
|
this.buttonRight.CanFocus = true;
|
||||||
this.buttonRight.Name = "buttonRight";
|
this.buttonRight.Name = "buttonRight";
|
||||||
this.buttonRight.UseUnderline = true;
|
this.buttonRight.UseUnderline = true;
|
||||||
global::Gtk.Image w44 = new global::Gtk.Image();
|
global::Gtk.Image w46 = new global::Gtk.Image();
|
||||||
w44.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-end-symbolic.symbolic.png");
|
w46.Pixbuf = global::Gdk.Pixbuf.LoadFromResource("monitor.ressources.pan-end-symbolic.symbolic.png");
|
||||||
this.buttonRight.Image = w44;
|
this.buttonRight.Image = w46;
|
||||||
this.table4.Add(this.buttonRight);
|
this.table4.Add(this.buttonRight);
|
||||||
global::Gtk.Table.TableChild w45 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonRight]));
|
global::Gtk.Table.TableChild w47 = ((global::Gtk.Table.TableChild)(this.table4[this.buttonRight]));
|
||||||
w45.TopAttach = ((uint)(1));
|
w47.TopAttach = ((uint)(1));
|
||||||
w45.BottomAttach = ((uint)(2));
|
w47.BottomAttach = ((uint)(2));
|
||||||
w45.LeftAttach = ((uint)(2));
|
w47.LeftAttach = ((uint)(2));
|
||||||
w45.RightAttach = ((uint)(3));
|
w47.RightAttach = ((uint)(3));
|
||||||
w45.XOptions = ((global::Gtk.AttachOptions)(4));
|
w47.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
w45.YOptions = ((global::Gtk.AttachOptions)(4));
|
w47.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
this.alignment8.Add(this.table4);
|
this.alignment8.Add(this.table4);
|
||||||
this.vbox9.Add(this.alignment8);
|
this.vbox9.Add(this.alignment8);
|
||||||
global::Gtk.Box.BoxChild w47 = ((global::Gtk.Box.BoxChild)(this.vbox9[this.alignment8]));
|
global::Gtk.Box.BoxChild w49 = ((global::Gtk.Box.BoxChild)(this.vbox9[this.alignment8]));
|
||||||
w47.Position = 0;
|
w49.Position = 0;
|
||||||
w47.Expand = false;
|
w49.Expand = false;
|
||||||
w47.Fill = false;
|
w49.Fill = false;
|
||||||
// Container child vbox9.Gtk.Box+BoxChild
|
// Container child vbox9.Gtk.Box+BoxChild
|
||||||
this.table3 = new global::Gtk.Table(((uint)(1)), ((uint)(2)), false);
|
this.table3 = new global::Gtk.Table(((uint)(1)), ((uint)(2)), false);
|
||||||
this.table3.Name = "table3";
|
this.table3.Name = "table3";
|
||||||
|
@ -584,10 +604,10 @@ public partial class MainWindow
|
||||||
this.label3.LabelProp = global::Mono.Unix.Catalog.GetString("Battery level:");
|
this.label3.LabelProp = global::Mono.Unix.Catalog.GetString("Battery level:");
|
||||||
this.label3.Justify = ((global::Gtk.Justification)(1));
|
this.label3.Justify = ((global::Gtk.Justification)(1));
|
||||||
this.table3.Add(this.label3);
|
this.table3.Add(this.label3);
|
||||||
global::Gtk.Table.TableChild w48 = ((global::Gtk.Table.TableChild)(this.table3[this.label3]));
|
global::Gtk.Table.TableChild w50 = ((global::Gtk.Table.TableChild)(this.table3[this.label3]));
|
||||||
w48.YPadding = ((uint)(10));
|
w50.YPadding = ((uint)(10));
|
||||||
w48.XOptions = ((global::Gtk.AttachOptions)(4));
|
w50.XOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
w48.YOptions = ((global::Gtk.AttachOptions)(4));
|
w50.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
// Container child table3.Gtk.Table+TableChild
|
// Container child table3.Gtk.Table+TableChild
|
||||||
this.labelBatteryLevel = new global::Gtk.Label();
|
this.labelBatteryLevel = new global::Gtk.Label();
|
||||||
this.labelBatteryLevel.Name = "labelBatteryLevel";
|
this.labelBatteryLevel.Name = "labelBatteryLevel";
|
||||||
|
@ -595,48 +615,49 @@ public partial class MainWindow
|
||||||
this.labelBatteryLevel.Xalign = 0F;
|
this.labelBatteryLevel.Xalign = 0F;
|
||||||
this.labelBatteryLevel.LabelProp = global::Mono.Unix.Catalog.GetString("Unknown");
|
this.labelBatteryLevel.LabelProp = global::Mono.Unix.Catalog.GetString("Unknown");
|
||||||
this.table3.Add(this.labelBatteryLevel);
|
this.table3.Add(this.labelBatteryLevel);
|
||||||
global::Gtk.Table.TableChild w49 = ((global::Gtk.Table.TableChild)(this.table3[this.labelBatteryLevel]));
|
global::Gtk.Table.TableChild w51 = ((global::Gtk.Table.TableChild)(this.table3[this.labelBatteryLevel]));
|
||||||
w49.LeftAttach = ((uint)(1));
|
w51.LeftAttach = ((uint)(1));
|
||||||
w49.RightAttach = ((uint)(2));
|
w51.RightAttach = ((uint)(2));
|
||||||
w49.YOptions = ((global::Gtk.AttachOptions)(4));
|
w51.YOptions = ((global::Gtk.AttachOptions)(4));
|
||||||
this.vbox9.Add(this.table3);
|
this.vbox9.Add(this.table3);
|
||||||
global::Gtk.Box.BoxChild w50 = ((global::Gtk.Box.BoxChild)(this.vbox9[this.table3]));
|
global::Gtk.Box.BoxChild w52 = ((global::Gtk.Box.BoxChild)(this.vbox9[this.table3]));
|
||||||
w50.Position = 2;
|
w52.Position = 2;
|
||||||
w50.Expand = false;
|
w52.Expand = false;
|
||||||
w50.Fill = false;
|
w52.Fill = false;
|
||||||
// Container child vbox9.Gtk.Box+BoxChild
|
// Container child vbox9.Gtk.Box+BoxChild
|
||||||
this.checkButtonGetBattery = new global::Gtk.CheckButton();
|
this.checkButtonGetBattery = new global::Gtk.CheckButton();
|
||||||
this.checkButtonGetBattery.CanFocus = true;
|
this.checkButtonGetBattery.CanFocus = true;
|
||||||
this.checkButtonGetBattery.Name = "checkButtonGetBattery";
|
this.checkButtonGetBattery.Name = "checkButtonGetBattery";
|
||||||
this.checkButtonGetBattery.Label = global::Mono.Unix.Catalog.GetString("Get battery level");
|
this.checkButtonGetBattery.Label = global::Mono.Unix.Catalog.GetString("Get battery level");
|
||||||
|
this.checkButtonGetBattery.Active = true;
|
||||||
this.checkButtonGetBattery.DrawIndicator = true;
|
this.checkButtonGetBattery.DrawIndicator = true;
|
||||||
this.checkButtonGetBattery.UseUnderline = true;
|
this.checkButtonGetBattery.UseUnderline = true;
|
||||||
this.vbox9.Add(this.checkButtonGetBattery);
|
this.vbox9.Add(this.checkButtonGetBattery);
|
||||||
global::Gtk.Box.BoxChild w51 = ((global::Gtk.Box.BoxChild)(this.vbox9[this.checkButtonGetBattery]));
|
global::Gtk.Box.BoxChild w53 = ((global::Gtk.Box.BoxChild)(this.vbox9[this.checkButtonGetBattery]));
|
||||||
w51.Position = 3;
|
w53.Position = 3;
|
||||||
w51.Expand = false;
|
w53.Expand = false;
|
||||||
w51.Fill = false;
|
w53.Fill = false;
|
||||||
this.gtkAlignmentRobotControl.Add(this.vbox9);
|
this.gtkAlignmentRobotControl.Add(this.vbox9);
|
||||||
this.vbox12.Add(this.gtkAlignmentRobotControl);
|
this.vbox12.Add(this.gtkAlignmentRobotControl);
|
||||||
global::Gtk.Box.BoxChild w53 = ((global::Gtk.Box.BoxChild)(this.vbox12[this.gtkAlignmentRobotControl]));
|
global::Gtk.Box.BoxChild w55 = ((global::Gtk.Box.BoxChild)(this.vbox12[this.gtkAlignmentRobotControl]));
|
||||||
w53.Position = 1;
|
w55.Position = 1;
|
||||||
this.vbox5.Add(this.vbox12);
|
this.vbox5.Add(this.vbox12);
|
||||||
global::Gtk.Box.BoxChild w54 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.vbox12]));
|
global::Gtk.Box.BoxChild w56 = ((global::Gtk.Box.BoxChild)(this.vbox5[this.vbox12]));
|
||||||
w54.Position = 4;
|
w56.Position = 4;
|
||||||
this.alignment3.Add(this.vbox5);
|
this.alignment3.Add(this.vbox5);
|
||||||
this.hbox3.Add(this.alignment3);
|
this.hbox3.Add(this.alignment3);
|
||||||
global::Gtk.Box.BoxChild w56 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.alignment3]));
|
global::Gtk.Box.BoxChild w58 = ((global::Gtk.Box.BoxChild)(this.hbox3[this.alignment3]));
|
||||||
w56.Position = 1;
|
|
||||||
w56.Expand = false;
|
|
||||||
w56.Fill = false;
|
|
||||||
this.hbox1.Add(this.hbox3);
|
|
||||||
global::Gtk.Box.BoxChild w57 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.hbox3]));
|
|
||||||
w57.Position = 1;
|
|
||||||
w57.Expand = false;
|
|
||||||
w57.Fill = false;
|
|
||||||
this.vbox1.Add(this.hbox1);
|
|
||||||
global::Gtk.Box.BoxChild w58 = ((global::Gtk.Box.BoxChild)(this.vbox1[this.hbox1]));
|
|
||||||
w58.Position = 1;
|
w58.Position = 1;
|
||||||
|
w58.Expand = false;
|
||||||
|
w58.Fill = false;
|
||||||
|
this.hbox1.Add(this.hbox3);
|
||||||
|
global::Gtk.Box.BoxChild w59 = ((global::Gtk.Box.BoxChild)(this.hbox1[this.hbox3]));
|
||||||
|
w59.Position = 1;
|
||||||
|
w59.Expand = false;
|
||||||
|
w59.Fill = false;
|
||||||
|
this.vbox1.Add(this.hbox1);
|
||||||
|
global::Gtk.Box.BoxChild w60 = ((global::Gtk.Box.BoxChild)(this.vbox1[this.hbox1]));
|
||||||
|
w60.Position = 1;
|
||||||
this.Add(this.vbox1);
|
this.Add(this.vbox1);
|
||||||
if ((this.Child != null))
|
if ((this.Child != null))
|
||||||
{
|
{
|
||||||
|
@ -650,6 +671,7 @@ public partial class MainWindow
|
||||||
this.ShowLogWindowAction.Activated += new global::System.EventHandler(this.OnShowLogWindowActionActivated);
|
this.ShowLogWindowAction.Activated += new global::System.EventHandler(this.OnShowLogWindowActionActivated);
|
||||||
this.checkButtonCameraOn.Clicked += new global::System.EventHandler(this.OnCheckButtonCameraOnClicked);
|
this.checkButtonCameraOn.Clicked += new global::System.EventHandler(this.OnCheckButtonCameraOnClicked);
|
||||||
this.checkButtonRobotPosition.Clicked += new global::System.EventHandler(this.OnCheckButtonRobotPositionClicked);
|
this.checkButtonRobotPosition.Clicked += new global::System.EventHandler(this.OnCheckButtonRobotPositionClicked);
|
||||||
|
this.checkButtonFPS.Toggled += new global::System.EventHandler(this.OnCheckButtonFPSToggled);
|
||||||
this.buttonAskArena.Clicked += new global::System.EventHandler(this.OnButtonAskArenaClicked);
|
this.buttonAskArena.Clicked += new global::System.EventHandler(this.OnButtonAskArenaClicked);
|
||||||
this.drawingAreaCamera.ExposeEvent += new global::Gtk.ExposeEventHandler(this.OnDrawingAreaCameraExposeEvent);
|
this.drawingAreaCamera.ExposeEvent += new global::Gtk.ExposeEventHandler(this.OnDrawingAreaCameraExposeEvent);
|
||||||
this.buttonServerConnection.Clicked += new global::System.EventHandler(this.OnButtonServerConnectionClicked);
|
this.buttonServerConnection.Clicked += new global::System.EventHandler(this.OnButtonServerConnectionClicked);
|
||||||
|
|
|
@ -74,68 +74,95 @@
|
||||||
<property name="MemberName" />
|
<property name="MemberName" />
|
||||||
<property name="Spacing">6</property>
|
<property name="Spacing">6</property>
|
||||||
<child>
|
<child>
|
||||||
<widget class="Gtk.Alignment" id="alignment1">
|
<widget class="Gtk.HBox" id="hbox2">
|
||||||
<property name="MemberName" />
|
<property name="MemberName" />
|
||||||
<property name="Xscale">0</property>
|
<property name="Spacing">6</property>
|
||||||
<property name="Xalign">0</property>
|
|
||||||
<property name="BorderWidth">6</property>
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="Gtk.HBox" id="hbox2">
|
<widget class="Gtk.Alignment" id="alignment1">
|
||||||
<property name="MemberName" />
|
<property name="MemberName" />
|
||||||
<property name="Spacing">6</property>
|
<property name="Xscale">0</property>
|
||||||
|
<property name="Xalign">0</property>
|
||||||
|
<property name="BorderWidth">6</property>
|
||||||
<child>
|
<child>
|
||||||
<widget class="Gtk.CheckButton" id="checkButtonCameraOn">
|
<widget class="Gtk.HBox" id="hbox5">
|
||||||
<property name="MemberName" />
|
<property name="MemberName" />
|
||||||
<property name="CanFocus">True</property>
|
<property name="Spacing">6</property>
|
||||||
<property name="Label" translatable="yes">Camera On</property>
|
<child>
|
||||||
<property name="DrawIndicator">True</property>
|
<widget class="Gtk.CheckButton" id="checkButtonCameraOn">
|
||||||
<property name="HasLabel">True</property>
|
<property name="MemberName" />
|
||||||
<property name="UseUnderline">True</property>
|
<property name="CanFocus">True</property>
|
||||||
<signal name="Clicked" handler="OnCheckButtonCameraOnClicked" />
|
<property name="Label" translatable="yes">Camera On</property>
|
||||||
|
<property name="DrawIndicator">True</property>
|
||||||
|
<property name="HasLabel">True</property>
|
||||||
|
<property name="UseUnderline">True</property>
|
||||||
|
<signal name="Clicked" handler="OnCheckButtonCameraOnClicked" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="Position">0</property>
|
||||||
|
<property name="AutoSize">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<widget class="Gtk.CheckButton" id="checkButtonRobotPosition">
|
||||||
|
<property name="MemberName" />
|
||||||
|
<property name="CanFocus">True</property>
|
||||||
|
<property name="Label" translatable="yes">Show Position</property>
|
||||||
|
<property name="DrawIndicator">True</property>
|
||||||
|
<property name="HasLabel">True</property>
|
||||||
|
<property name="UseUnderline">True</property>
|
||||||
|
<signal name="Clicked" handler="OnCheckButtonRobotPositionClicked" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="Position">1</property>
|
||||||
|
<property name="AutoSize">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<widget class="Gtk.CheckButton" id="checkButtonFPS">
|
||||||
|
<property name="MemberName" />
|
||||||
|
<property name="CanFocus">True</property>
|
||||||
|
<property name="Label" translatable="yes">Show FPS</property>
|
||||||
|
<property name="DrawIndicator">True</property>
|
||||||
|
<property name="HasLabel">True</property>
|
||||||
|
<property name="UseUnderline">True</property>
|
||||||
|
<signal name="Toggled" handler="OnCheckButtonFPSToggled" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="Position">2</property>
|
||||||
|
<property name="AutoSize">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
|
||||||
<property name="Position">0</property>
|
|
||||||
<property name="AutoSize">True</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<widget class="Gtk.CheckButton" id="checkButtonRobotPosition">
|
|
||||||
<property name="MemberName" />
|
|
||||||
<property name="CanFocus">True</property>
|
|
||||||
<property name="Label" translatable="yes">Robot Position</property>
|
|
||||||
<property name="DrawIndicator">True</property>
|
|
||||||
<property name="HasLabel">True</property>
|
|
||||||
<property name="UseUnderline">True</property>
|
|
||||||
<signal name="Clicked" handler="OnCheckButtonRobotPositionClicked" />
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="Position">1</property>
|
|
||||||
<property name="AutoSize">True</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
<child>
|
|
||||||
<widget class="Gtk.Button" id="buttonAskArena">
|
|
||||||
<property name="MemberName" />
|
|
||||||
<property name="CanFocus">True</property>
|
|
||||||
<property name="Type">TextOnly</property>
|
|
||||||
<property name="Label" translatable="yes">Ask Arena...</property>
|
|
||||||
<property name="UseUnderline">True</property>
|
|
||||||
<signal name="Clicked" handler="OnButtonAskArenaClicked" />
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="PackType">End</property>
|
|
||||||
<property name="Position">2</property>
|
|
||||||
<property name="AutoSize">True</property>
|
|
||||||
<property name="Expand">False</property>
|
|
||||||
<property name="Fill">False</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="Position">0</property>
|
||||||
|
<property name="AutoSize">True</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<placeholder />
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
<widget class="Gtk.Button" id="buttonAskArena">
|
||||||
|
<property name="MemberName" />
|
||||||
|
<property name="CanFocus">True</property>
|
||||||
|
<property name="Type">TextOnly</property>
|
||||||
|
<property name="Label" translatable="yes">Ask Arena...</property>
|
||||||
|
<property name="UseUnderline">True</property>
|
||||||
|
<signal name="Clicked" handler="OnButtonAskArenaClicked" />
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="Position">2</property>
|
||||||
|
<property name="AutoSize">True</property>
|
||||||
|
<property name="Expand">False</property>
|
||||||
|
<property name="Fill">False</property>
|
||||||
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
<property name="Position">0</property>
|
<property name="Position">0</property>
|
||||||
<property name="AutoSize">False</property>
|
<property name="AutoSize">True</property>
|
||||||
<property name="Expand">False</property>
|
<property name="Expand">False</property>
|
||||||
<property name="Fill">False</property>
|
<property name="Fill">False</property>
|
||||||
</packing>
|
</packing>
|
||||||
|
@ -758,6 +785,7 @@
|
||||||
<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.
5
software/raspberry/superviseur-robot/.dep.inc
Normal file
5
software/raspberry/superviseur-robot/.dep.inc
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# This code depends on make tool being used
|
||||||
|
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES} ${TESTOBJECTFILES}))
|
||||||
|
ifneq (${DEPFILES},)
|
||||||
|
include ${DEPFILES}
|
||||||
|
endif
|
Binary file not shown.
BIN
software/raspberry/superviseur-robot/dist/Debug__Pthread__RPI/GNU-Linux/superviseur-robot
vendored
Normal file
BIN
software/raspberry/superviseur-robot/dist/Debug__Pthread__RPI/GNU-Linux/superviseur-robot
vendored
Normal file
Binary file not shown.
|
@ -17,18 +17,42 @@
|
||||||
|
|
||||||
#include "camera.h"
|
#include "camera.h"
|
||||||
#include "img.h"
|
#include "img.h"
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
using namespace cv;
|
using namespace cv;
|
||||||
|
|
||||||
Camera::Camera(int size) {
|
Camera::Camera(int size, int fps) {
|
||||||
this->SetSize(size);
|
this->SetSize(size);
|
||||||
|
#ifndef __FOR_PC__
|
||||||
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);
|
||||||
|
#endif /* __FOR_PC__ */
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Camera::Open() {
|
bool Camera::Open() {
|
||||||
this->cap.open(0);
|
bool status = false;
|
||||||
|
|
||||||
|
#ifdef __FOR_PC__
|
||||||
|
if (this->cap.open(0)) {
|
||||||
|
//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);
|
||||||
|
|
||||||
|
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Camera::Close() {
|
void Camera::Close() {
|
||||||
|
@ -58,15 +82,22 @@ void Camera::SetSize(int size) {
|
||||||
default:
|
default:
|
||||||
this->width = 480;
|
this->width = 480;
|
||||||
this->height = 360;
|
this->height = 360;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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);
|
||||||
|
cvtColor(frame,frame,CV_BGR2RGB);
|
||||||
|
|
||||||
|
Img capture = Img(frame);
|
||||||
|
#endif /* __FOR_PC__ */
|
||||||
|
|
||||||
return capture;
|
return capture;
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,13 +21,16 @@
|
||||||
#include <opencv2/highgui/highgui.hpp>
|
#include <opencv2/highgui/highgui.hpp>
|
||||||
#include <opencv2/imgproc/imgproc.hpp>
|
#include <opencv2/imgproc/imgproc.hpp>
|
||||||
|
|
||||||
|
#ifndef __FOR_PC__
|
||||||
|
#include "raspicam/raspicam_cv.h"
|
||||||
|
#endif /* __FOR_PC__ */
|
||||||
#include "img.h"
|
#include "img.h"
|
||||||
|
|
||||||
enum captureSize {xs, sm, md, lg};
|
enum captureSize {xs, sm, md, lg};
|
||||||
|
|
||||||
class Camera {
|
class Camera {
|
||||||
public:
|
public:
|
||||||
Camera(int size);
|
Camera(int size, int fps);
|
||||||
|
|
||||||
bool Open();
|
bool Open();
|
||||||
void Close();
|
void Close();
|
||||||
|
@ -41,7 +44,12 @@ public:
|
||||||
Img Grab();
|
Img Grab();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
#ifdef __FOR_PC__
|
||||||
cv::VideoCapture cap;
|
cv::VideoCapture cap;
|
||||||
|
#else
|
||||||
|
raspicam::RaspiCam_Cv cap;
|
||||||
|
#endif /* __FOR_PC__ */
|
||||||
|
|
||||||
int size = sm;
|
int size = sm;
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
|
|
|
@ -243,7 +243,7 @@ string ComMonitor::MessageToString(Message *msg) {
|
||||||
image=((MessageImg*) msg)->GetImage();
|
image=((MessageImg*) msg)->GetImage();
|
||||||
jpeg = image->ToJpg();
|
jpeg = image->ToJpg();
|
||||||
|
|
||||||
cout << "Jpeg size: " << to_string(jpeg.size())<<endl<<flush;
|
//cout << "Jpeg size: " << to_string(jpeg.size())<<endl<<flush;
|
||||||
|
|
||||||
s = base64_encode(jpeg.data(), jpeg.size());
|
s = base64_encode(jpeg.data(), jpeg.size());
|
||||||
str.append(LABEL_MONITOR_CAMERA_IMAGE + LABEL_SEPARATOR_CHAR + s);
|
str.append(LABEL_MONITOR_CAMERA_IMAGE + LABEL_SEPARATOR_CHAR + s);
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
#include "img.h"
|
#include "img.h"
|
||||||
|
|
||||||
bool Arena::IsEmpty() {
|
bool Arena::IsEmpty() {
|
||||||
if ((this->arena.height==0) || (this->arena.width==0)) return true;
|
if ((this->arena.height == 0) || (this->arena.width == 0)) return true;
|
||||||
else return false;
|
else return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -27,61 +27,64 @@ Img::Img(ImageMat imgMatrice) {
|
||||||
}
|
}
|
||||||
|
|
||||||
string Img::ToString() {
|
string Img::ToString() {
|
||||||
return "Image size: "+to_string(this->img.cols)+"x"+to_string(this->img.rows)+" (dim="+to_string(this->img.dims)+")";
|
return "Image size: " + to_string(this->img.cols) + "x" + to_string(this->img.rows) + " (dim=" + to_string(this->img.dims) + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
Img* Img::Copy() {
|
Img* Img::Copy() {
|
||||||
return new Img(this->img);
|
return new Img(this->img);
|
||||||
}
|
}
|
||||||
|
|
||||||
float Img::CalculAngle(Position robot) {
|
float Img::CalculAngle(Position robot) {
|
||||||
float a = robot.direction.x - robot.center.x;
|
float a = robot.direction.x - robot.center.x;
|
||||||
float b = robot.direction.y - robot.center.y ;
|
float b = robot.direction.y - robot.center.y;
|
||||||
float angle = atan2(b,a);
|
float angle = atan2(b, a);
|
||||||
return angle * 180.f/M_PI;
|
return angle * 180.f / M_PI;
|
||||||
}
|
}
|
||||||
|
|
||||||
float Img::CalculAngle2(cv::Point2f pt1, cv::Point2f pt2) {
|
float Img::CalculAngle2(cv::Point2f pt1, cv::Point2f pt2) {
|
||||||
float a = pt1.x - pt2.x;
|
float a = pt1.x - pt2.x;
|
||||||
float b = pt1.y - pt2.y ;
|
float b = pt1.y - pt2.y;
|
||||||
float angle = atan2(b,a);
|
float angle = atan2(b, a);
|
||||||
return angle * 180.f/M_PI;
|
return angle * 180.f / M_PI;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __WITH_ARUCO__
|
#ifdef __WITH_ARUCO__
|
||||||
cv::Point2f Img::find_aruco_center(std::vector<cv::Point2f> aruco) {
|
|
||||||
return ((aruco[0] + aruco[2])/2);
|
cv::Point2f Img::FindArucoCenter(std::vector<cv::Point2f> aruco) {
|
||||||
|
return ((aruco[0] + aruco[2]) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
cv::Point2f Img::find_aruco_direction(std::vector<cv::Point2f> aruco) {
|
cv::Point2f Img::FindArucoDirection(std::vector<cv::Point2f> aruco) {
|
||||||
return ((aruco[0]+aruco[1])/2);;
|
return ((aruco[0] + aruco[1]) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::list<Position> Img::search_aruco(Arena monArene) {
|
std::list<Position> Img::SearchAruco(Arena arena) {
|
||||||
ImageMat imgTraitment;
|
ImageMat imgTraitment;
|
||||||
std::list<Position> positionList;
|
std::list<Position> positionList;
|
||||||
cv::Point2f areneCoor;
|
cv::Point2f areneCoor;
|
||||||
std::vector<int> ids;
|
std::vector<int> ids;
|
||||||
std::vector<std::vector<cv::Point2f> > corners;
|
std::vector<std::vector<cv::Point2f> > corners;
|
||||||
if(monArene.empty())
|
|
||||||
imgTraitment=this->img.clone();
|
if (arena.IsEmpty())
|
||||||
else{
|
imgTraitment = this->img.clone();
|
||||||
imgTraitment = cropArena(monArene);
|
else {
|
||||||
areneCoor.x = monArene.x;
|
imgTraitment = CropArena(arena);
|
||||||
areneCoor.y = monArene.y;
|
areneCoor.x = arena.arena.x;
|
||||||
|
areneCoor.y = arena.arena.y;
|
||||||
}
|
}
|
||||||
cv::detectMarkers(imgTraitment,dictionary, corners, ids);
|
|
||||||
if(ids.size()>0){
|
cv::aruco::detectMarkers(imgTraitment, dictionary, corners, ids);
|
||||||
for(int i = 0 ; i < ids.size() ; i++){
|
if (ids.size() > 0) {
|
||||||
|
for (int i = 0; i < ids.size(); i++) {
|
||||||
Position newPos;
|
Position newPos;
|
||||||
newPos.center = find_aruco_center(corners[i]);
|
newPos.center = FindArucoCenter(corners[i]);
|
||||||
newPos.direction = find_aruco_direction(corners[i]);
|
newPos.direction = FindArucoDirection(corners[i]);
|
||||||
newPos.robotId = ids[i];
|
newPos.robotId = ids[i];
|
||||||
if(!monArene.empty()){
|
if (!arena.IsEmpty()) {
|
||||||
newPos.direction += areneCoor;
|
newPos.direction += areneCoor;
|
||||||
newPos.center += areneCoor;
|
newPos.center += areneCoor;
|
||||||
}
|
}
|
||||||
newPos.angle = calculAngle2(newPos.center, newPos.direction);
|
newPos.angle = CalculAngle2(newPos.center, newPos.direction);
|
||||||
positionList.push_back(newPos);
|
positionList.push_back(newPos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -91,92 +94,79 @@ std::list<Position> Img::search_aruco(Arena monArene) {
|
||||||
|
|
||||||
float Img::EuclideanDistance(cv::Point2f p, cv::Point2f q) {
|
float Img::EuclideanDistance(cv::Point2f p, cv::Point2f q) {
|
||||||
cv::Point diff = p - q;
|
cv::Point diff = p - q;
|
||||||
return cv::sqrt(diff.x*diff.x + diff.y*diff.y);
|
return cv::sqrt(diff.x * diff.x + diff.y * diff.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
Jpg Img::ToJpg() {
|
Jpg Img::ToJpg() {
|
||||||
Jpg imgJpg;
|
Jpg imgJpg;
|
||||||
cv::imencode(".jpg",this->img,imgJpg);
|
cv::imencode(".jpg", this->img, imgJpg);
|
||||||
return imgJpg;
|
return imgJpg;
|
||||||
}
|
}
|
||||||
|
|
||||||
//string Img::ToBase64() {
|
std::list<Position> Img::SearchRobot(Arena arena) {
|
||||||
// string imgBase64;
|
|
||||||
// Jpg imgJpg = toJpg();
|
|
||||||
//
|
|
||||||
// /* faire la convertion Jpg vers base 64 */
|
|
||||||
// return imgBase64;
|
|
||||||
//}
|
|
||||||
|
|
||||||
std::list<Position> Img::SearchRobot(Arena monArene) {
|
|
||||||
|
|
||||||
std::list<Position> robotsFind;
|
std::list<Position> robotsFind;
|
||||||
std::vector<std::vector<cv::Point2f> > contours;
|
std::vector<std::vector<cv::Point> > contours;
|
||||||
std::vector<cv::Point2f> approx;
|
std::vector<cv::Point> approx;
|
||||||
std::vector<cv::Vec4i> hierarchy;
|
std::vector<cv::Vec4i> hierarchy;
|
||||||
|
|
||||||
ImageMat imgTraitment;
|
ImageMat imgTraitment;
|
||||||
|
|
||||||
if(monArene.IsEmpty())
|
if (arena.IsEmpty()) {
|
||||||
imgTraitment=this->img.clone();
|
imgTraitment = this->img.clone();
|
||||||
else
|
} else {
|
||||||
imgTraitment = CropArena(monArene);
|
imgTraitment = this->img(arena.arena);
|
||||||
|
}
|
||||||
|
|
||||||
cvtColor(imgTraitment,imgTraitment,CV_RGB2GRAY);
|
cvtColor(imgTraitment, imgTraitment, CV_RGB2GRAY);
|
||||||
threshold(imgTraitment,imgTraitment,128,255,CV_THRESH_BINARY);
|
threshold(imgTraitment, imgTraitment, 128, 255, CV_THRESH_BINARY);
|
||||||
findContours(imgTraitment, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point2f(0, 0));
|
findContours(imgTraitment, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0));
|
||||||
|
|
||||||
for(unsigned int i = 0;i < contours.size();i++)
|
for (unsigned int i = 0; i < contours.size(); i++) {
|
||||||
{
|
ImageMat m(contours[i]);
|
||||||
cv::approxPolyDP(ImageMat(contours[i]), approx, cv::arcLength(ImageMat(contours[i]), true)*0.17, true);
|
cv::approxPolyDP(m, approx, cv::arcLength(ImageMat(contours[i]), true)*0.17, true);
|
||||||
if(approx.size() == 3 && fabs(cv::contourArea(contours[i])) > 200 && fabs(cv::contourArea(contours[i])) < 700)
|
|
||||||
{
|
|
||||||
|
|
||||||
cv::Point2f a,b,c;
|
|
||||||
cv::Point2f center;
|
|
||||||
|
|
||||||
|
if (approx.size() == 3 && fabs(cv::contourArea(contours[i])) > 200 && fabs(cv::contourArea(contours[i])) < 700) {
|
||||||
|
cv::Point a, b, c;
|
||||||
|
cv::Point center;
|
||||||
|
|
||||||
a = approx[0];
|
a = approx[0];
|
||||||
b = approx[1];
|
b = approx[1];
|
||||||
c = approx[2];
|
c = approx[2];
|
||||||
|
|
||||||
|
if (!arena.IsEmpty()) { // ajout de l'offset de l'arène
|
||||||
if(!monArene.IsEmpty()) // ajout de l'offset de l'arène
|
a.x += arena.arena.x;
|
||||||
{
|
a.y += arena.arena.y;
|
||||||
a.x += monArene.arena.x;
|
b.x += arena.arena.x;
|
||||||
a.y += monArene.arena.y;
|
b.y += arena.arena.y;
|
||||||
b.x += monArene.arena.x;
|
c.x += arena.arena.x;
|
||||||
b.y += monArene.arena.y;
|
c.y += arena.arena.y;
|
||||||
c.x += monArene.arena.x;
|
|
||||||
c.y += monArene.arena.y;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
center.x = (a.x + b.x + c.x)/3;
|
center.x = (a.x + b.x + c.x) / 3;
|
||||||
center.y = (a.y + b.y + c.y)/3;
|
center.y = (a.y + b.y + c.y) / 3;
|
||||||
Position newPos;
|
Position newPos;
|
||||||
newPos.center=center;
|
newPos.center = center;
|
||||||
|
|
||||||
if(EuclideanDistance(center,b) > EuclideanDistance(center,a) && EuclideanDistance(center,b) > EuclideanDistance(center,c) )
|
if (EuclideanDistance(center, b) > EuclideanDistance(center, a) && EuclideanDistance(center, b) > EuclideanDistance(center, c)) {
|
||||||
{
|
newPos.direction = b;
|
||||||
|
|
||||||
newPos.direction=b;
|
|
||||||
//line(img,center,b,Scalar(0,125,0),2,8,0);
|
//line(img,center,b,Scalar(0,125,0),2,8,0);
|
||||||
}
|
} else if (EuclideanDistance(center, a) > EuclideanDistance(center, c)) {
|
||||||
else if(EuclideanDistance(center,a) > EuclideanDistance(center,c))
|
|
||||||
{
|
|
||||||
newPos.direction=a;
|
|
||||||
//line(img,center,a,Scalar(0,125,0),2,8,0);
|
|
||||||
|
|
||||||
}
|
newPos.direction = a;
|
||||||
else
|
//line(img,center,a,Scalar(0,125,0),2,8,0);
|
||||||
{
|
} else {
|
||||||
newPos.direction=c;
|
newPos.direction = c;
|
||||||
//line(img,center,c,Scalar(0,125,0),2,8,0);
|
//line(img,center,c,Scalar(0,125,0),2,8,0);
|
||||||
}
|
}
|
||||||
newPos.angle=CalculAngle(newPos);
|
|
||||||
|
newPos.angle = CalculAngle(newPos);
|
||||||
|
newPos.robotId = -1; // dumb identifier
|
||||||
|
|
||||||
robotsFind.push_back(newPos);
|
robotsFind.push_back(newPos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return robotsFind;
|
return robotsFind;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -186,16 +176,14 @@ Arena Img::SearchArena() {
|
||||||
std::vector<cv::Vec4i> hierarchy;
|
std::vector<cv::Vec4i> hierarchy;
|
||||||
|
|
||||||
ImageMat imageTrt;
|
ImageMat imageTrt;
|
||||||
cv::cvtColor(this->img,imageTrt,CV_RGB2GRAY); // conversion en niveau de gris
|
cv::cvtColor(this->img, imageTrt, CV_RGB2GRAY); // conversion en niveau de gris
|
||||||
cv::threshold(imageTrt,imageTrt,128,255,CV_THRESH_BINARY); // Threshold les éléments les plus clair
|
cv::threshold(imageTrt, imageTrt, 128, 255, CV_THRESH_BINARY); // Threshold les éléments les plus clair
|
||||||
cv::Canny(imageTrt, imageTrt, 100,200,3); // detection d'angle
|
cv::Canny(imageTrt, imageTrt, 100, 200, 3); // detection d'angle
|
||||||
|
|
||||||
findContours(imageTrt, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0));
|
findContours(imageTrt, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, cv::Point(0, 0));
|
||||||
for(unsigned int i = 0; i < contours.size();i++)
|
for (unsigned int i = 0; i < contours.size(); i++) {
|
||||||
{
|
|
||||||
approxPolyDP(ImageMat(contours[i]), approx, cv::arcLength(ImageMat(contours[i]), true)*0.1, true);
|
approxPolyDP(ImageMat(contours[i]), approx, cv::arcLength(ImageMat(contours[i]), true)*0.1, true);
|
||||||
if(approx.size()==4 && fabs(cv::contourArea(contours[i])) > 100000)
|
if (approx.size() == 4 && fabs(cv::contourArea(contours[i])) > 100000) {
|
||||||
{
|
|
||||||
Arena rectangle;
|
Arena rectangle;
|
||||||
rectangle.arena = cv::boundingRect(ImageMat(contours[i]));
|
rectangle.arena = cv::boundingRect(ImageMat(contours[i]));
|
||||||
return rectangle;
|
return rectangle;
|
||||||
|
@ -205,22 +193,22 @@ Arena Img::SearchArena() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int Img::DrawRobot(Position robot) {
|
int Img::DrawRobot(Position robot) {
|
||||||
cv::arrowedLine(this->img, (cv::Point2f)robot.center, (cv::Point2f)robot.direction, cv::Scalar(0,0,255),3,8,0);
|
cv::arrowedLine(this->img, (cv::Point2f)robot.center, (cv::Point2f)robot.direction, cv::Scalar(0, 0, 255), 3, 8, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Img::DrawAllRobots(std::list<Position> robots) {
|
int Img::DrawAllRobots(std::list<Position> robots) {
|
||||||
for(Position robot : robots){
|
for (Position robot : robots) {
|
||||||
cv::arrowedLine(this->img, (cv::Point2f)robot.center, (cv::Point2f)robot.direction, cv::Scalar(0,0,255),3,8,0);
|
cv::arrowedLine(this->img, (cv::Point2f)robot.center, (cv::Point2f)robot.direction, cv::Scalar(0, 0, 255), 3, 8, 0);
|
||||||
}
|
}
|
||||||
return robots.size();
|
return robots.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
int Img::DrawArena(Arena areneToDraw) {
|
int Img::DrawArena(Arena arenaToDraw) {
|
||||||
cv::rectangle(this->img,areneToDraw.arena.tl(),areneToDraw.arena.br(),cv::Scalar(0,0,125),2,8,0);
|
cv::rectangle(this->img, arenaToDraw.arena.tl(), arenaToDraw.arena.br(), cv::Scalar(0, 0, 125), 2, 8, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
ImageMat Img::CropArena(Arena arene) {
|
ImageMat Img::CropArena(Arena arena) {
|
||||||
return this->img(arene.arena);
|
return this->img(arena.arena);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,9 @@
|
||||||
#ifdef __WITH_ARUCO__
|
#ifdef __WITH_ARUCO__
|
||||||
#include <opencv2/aruco/dictionary.hpp>
|
#include <opencv2/aruco/dictionary.hpp>
|
||||||
#include <opencv2/aruco/charuco.hpp>
|
#include <opencv2/aruco/charuco.hpp>
|
||||||
|
//#include <opencv2/aruco.hpp>
|
||||||
#include <opencv2/core/mat.hpp>
|
#include <opencv2/core/mat.hpp>
|
||||||
|
|
||||||
#endif // __WITH_ARUCO__
|
#endif // __WITH_ARUCO__
|
||||||
|
|
||||||
#define ARENA_NOT_DETECTED -1
|
#define ARENA_NOT_DETECTED -1
|
||||||
|
@ -57,6 +59,8 @@ public:
|
||||||
|
|
||||||
class Img {
|
class Img {
|
||||||
public:
|
public:
|
||||||
|
ImageMat img;
|
||||||
|
|
||||||
Img(ImageMat imgMatrice);
|
Img(ImageMat imgMatrice);
|
||||||
|
|
||||||
string ToString();
|
string ToString();
|
||||||
|
@ -67,26 +71,23 @@ public:
|
||||||
|
|
||||||
int DrawRobot(Position robot);
|
int DrawRobot(Position robot);
|
||||||
int DrawAllRobots(std::list<Position> robots);
|
int DrawAllRobots(std::list<Position> robots);
|
||||||
int DrawArena(Arena areneToDraw);
|
int DrawArena(Arena arenaToDraw);
|
||||||
std::list<Position> SearchRobot(Arena myArena);
|
std::list<Position> SearchRobot(Arena arena);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __WITH_ARUCO__
|
#ifdef __WITH_ARUCO__
|
||||||
list<Position> search_aruco(Arena monArene = NULL);
|
list<Position> SearchAruco(Arena arena);
|
||||||
|
cv::Ptr<cv::aruco::Dictionary> dictionary;
|
||||||
#endif // __WITH_ARUCO__
|
#endif // __WITH_ARUCO__
|
||||||
private:
|
private:
|
||||||
ImageMat img;
|
|
||||||
|
|
||||||
#ifdef __WITH_ARUCO__
|
#ifdef __WITH_ARUCO__
|
||||||
Ptr<std::Dictionary> dictionary;
|
cv::Point2f FindArucoCenter(std::vector<cv::Point2f> aruco);
|
||||||
cv::Point2f find_aruco_center(std::vector<cv::Point2f> aruco);
|
cv::Point2f FindArucoDirection(std::vector<cv::Point2f> aruco);
|
||||||
cv::Point2f find_aruco_direction(std::vector<cv::Point2f> aruco);
|
|
||||||
#endif // __WITH_ARUCO__
|
#endif // __WITH_ARUCO__
|
||||||
|
|
||||||
float CalculAngle(Position robots);
|
float CalculAngle(Position robots);
|
||||||
float CalculAngle2(cv::Point2f pt1, cv::Point2f pt2);
|
float CalculAngle2(cv::Point2f pt1, cv::Point2f pt2);
|
||||||
float EuclideanDistance(cv::Point2f p, cv::Point2f q);
|
float EuclideanDistance(cv::Point2f p, cv::Point2f q);
|
||||||
ImageMat CropArena(Arena arene);
|
ImageMat CropArena(Arena arena);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //__IMG_H__
|
#endif //__IMG_H__
|
||||||
|
|
|
@ -35,6 +35,11 @@ OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
|
||||||
# Object Files
|
# Object Files
|
||||||
OBJECTFILES= \
|
OBJECTFILES= \
|
||||||
|
${OBJECTDIR}/lib/base64/base64.o \
|
||||||
|
${OBJECTDIR}/lib/camera.o \
|
||||||
|
${OBJECTDIR}/lib/commonitor.o \
|
||||||
|
${OBJECTDIR}/lib/comrobot.o \
|
||||||
|
${OBJECTDIR}/lib/img.o \
|
||||||
${OBJECTDIR}/lib/message.o \
|
${OBJECTDIR}/lib/message.o \
|
||||||
${OBJECTDIR}/lib/messages.o \
|
${OBJECTDIR}/lib/messages.o \
|
||||||
${OBJECTDIR}/lib/monitor.o \
|
${OBJECTDIR}/lib/monitor.o \
|
||||||
|
@ -42,11 +47,6 @@ OBJECTFILES= \
|
||||||
${OBJECTDIR}/lib/server.o \
|
${OBJECTDIR}/lib/server.o \
|
||||||
${OBJECTDIR}/main.o \
|
${OBJECTDIR}/main.o \
|
||||||
${OBJECTDIR}/tasks.o \
|
${OBJECTDIR}/tasks.o \
|
||||||
${OBJECTDIR}/_ext/a7f31ab4/base64.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o \
|
|
||||||
${OBJECTDIR}/tasks_pthread.o
|
${OBJECTDIR}/tasks_pthread.o
|
||||||
|
|
||||||
|
|
||||||
|
@ -74,6 +74,31 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES}
|
||||||
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt
|
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib/base64
|
||||||
|
${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
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/camera.o: lib/camera.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/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__ -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
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/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__ -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/message.o: lib/message.cpp
|
${OBJECTDIR}/lib/message.o: lib/message.cpp
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
${RM} "$@.d"
|
${RM} "$@.d"
|
||||||
|
@ -109,31 +134,6 @@ ${OBJECTDIR}/tasks.o: tasks.cpp
|
||||||
${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__ -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}/_ext/a7f31ab4/base64.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/a7f31ab4
|
|
||||||
${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}/_ext/a7f31ab4/base64.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/camera.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/commonitor.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/comrobot.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/img.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.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"
|
||||||
|
|
|
@ -35,13 +35,13 @@ OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
|
||||||
# Object Files
|
# Object Files
|
||||||
OBJECTFILES= \
|
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}/lib/messages.o \
|
||||||
${OBJECTDIR}/main.o \
|
${OBJECTDIR}/main.o \
|
||||||
${OBJECTDIR}/_ext/a7f31ab4/base64.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o \
|
|
||||||
${OBJECTDIR}/tasks_pthread.o
|
${OBJECTDIR}/tasks_pthread.o
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,45 +69,45 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES}
|
||||||
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} -lpthread -lrt
|
${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
|
${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_PTHREAD__ -I./ -I./lib `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_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
|
${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_PTHREAD__ -I./ -I./lib `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_PTHREAD__ -D__WITH_ARUCO__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/main.o main.cpp
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/a7f31ab4/base64.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/a7f31ab4
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a7f31ab4/base64.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/camera.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -g -D_WITH_TRACE_ -D__FOR_PC__ -D__WITH_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/img.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.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_PTHREAD__ -I./ -I./lib `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks_pthread.o tasks_pthread.cpp
|
$(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
|
# Subprojects
|
||||||
.build-subprojects:
|
.build-subprojects:
|
||||||
|
|
|
@ -0,0 +1,131 @@
|
||||||
|
#
|
||||||
|
# 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_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_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_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_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_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_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_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_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
|
|
@ -35,7 +35,12 @@ OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
|
||||||
# Object Files
|
# Object Files
|
||||||
OBJECTFILES= \
|
OBJECTFILES= \
|
||||||
|
${OBJECTDIR}/lib/base64/base64.o \
|
||||||
|
${OBJECTDIR}/lib/camera.o \
|
||||||
|
${OBJECTDIR}/lib/commonitor.o \
|
||||||
|
${OBJECTDIR}/lib/comrobot.o \
|
||||||
${OBJECTDIR}/lib/image.o \
|
${OBJECTDIR}/lib/image.o \
|
||||||
|
${OBJECTDIR}/lib/img.o \
|
||||||
${OBJECTDIR}/lib/message.o \
|
${OBJECTDIR}/lib/message.o \
|
||||||
${OBJECTDIR}/lib/messages.o \
|
${OBJECTDIR}/lib/messages.o \
|
||||||
${OBJECTDIR}/lib/monitor.o \
|
${OBJECTDIR}/lib/monitor.o \
|
||||||
|
@ -43,11 +48,6 @@ OBJECTFILES= \
|
||||||
${OBJECTDIR}/lib/server.o \
|
${OBJECTDIR}/lib/server.o \
|
||||||
${OBJECTDIR}/main.o \
|
${OBJECTDIR}/main.o \
|
||||||
${OBJECTDIR}/tasks.o \
|
${OBJECTDIR}/tasks.o \
|
||||||
${OBJECTDIR}/_ext/a7f31ab4/base64.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o \
|
|
||||||
${OBJECTDIR}/tasks_pthread.o
|
${OBJECTDIR}/tasks_pthread.o
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,11 +75,36 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES}
|
||||||
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt
|
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS} -Wl,--no-as-needed -lalchemy -lcopperplate /usr/xenomai/lib/xenomai/bootstrap.o -Wl,--wrap=main -Wl,--dynamic-list=/usr/xenomai/lib/dynlist.ld -L/usr/xenomai/lib -lmercury -lpthread -lrt
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib/base64
|
||||||
|
${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
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/camera.o: lib/camera.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/camera.o lib/camera.cpp
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/commonitor.o: lib/commonitor.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/commonitor.o lib/commonitor.cpp
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/comrobot.o: lib/comrobot.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp
|
||||||
|
|
||||||
${OBJECTDIR}/lib/image.o: lib/image.cpp
|
${OBJECTDIR}/lib/image.o: lib/image.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/image.o lib/image.cpp
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/image.o lib/image.cpp
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/img.o: lib/img.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -g -D_WITH_TRACE_ -I./ -I./lib -I/usr/xenomai/include -I/usr/xenomai/include/mercury `pkg-config --cflags opencv` -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp
|
||||||
|
|
||||||
${OBJECTDIR}/lib/message.o: lib/message.cpp
|
${OBJECTDIR}/lib/message.o: lib/message.cpp
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
${RM} "$@.d"
|
${RM} "$@.d"
|
||||||
|
@ -115,31 +140,6 @@ ${OBJECTDIR}/tasks.o: tasks.cpp
|
||||||
${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_ -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}/_ext/a7f31ab4/base64.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/a7f31ab4
|
|
||||||
${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}/_ext/a7f31ab4/base64.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/camera.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/commonitor.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/comrobot.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${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}/_ext/6cc0dc4a/img.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.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"
|
||||||
|
|
|
@ -35,7 +35,12 @@ OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
|
|
||||||
# Object Files
|
# Object Files
|
||||||
OBJECTFILES= \
|
OBJECTFILES= \
|
||||||
|
${OBJECTDIR}/lib/base64/base64.o \
|
||||||
|
${OBJECTDIR}/lib/camera.o \
|
||||||
|
${OBJECTDIR}/lib/commonitor.o \
|
||||||
|
${OBJECTDIR}/lib/comrobot.o \
|
||||||
${OBJECTDIR}/lib/image.o \
|
${OBJECTDIR}/lib/image.o \
|
||||||
|
${OBJECTDIR}/lib/img.o \
|
||||||
${OBJECTDIR}/lib/message.o \
|
${OBJECTDIR}/lib/message.o \
|
||||||
${OBJECTDIR}/lib/messages.o \
|
${OBJECTDIR}/lib/messages.o \
|
||||||
${OBJECTDIR}/lib/monitor.o \
|
${OBJECTDIR}/lib/monitor.o \
|
||||||
|
@ -43,11 +48,6 @@ OBJECTFILES= \
|
||||||
${OBJECTDIR}/lib/server.o \
|
${OBJECTDIR}/lib/server.o \
|
||||||
${OBJECTDIR}/main.o \
|
${OBJECTDIR}/main.o \
|
||||||
${OBJECTDIR}/tasks.o \
|
${OBJECTDIR}/tasks.o \
|
||||||
${OBJECTDIR}/_ext/a7f31ab4/base64.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o \
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o \
|
|
||||||
${OBJECTDIR}/tasks_pthread.o
|
${OBJECTDIR}/tasks_pthread.o
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,11 +75,36 @@ ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot: ${OBJECTFILES}
|
||||||
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
|
||||||
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS}
|
${LINK.cc} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot ${OBJECTFILES} ${LDLIBSOPTIONS}
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/base64/base64.o: lib/base64/base64.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib/base64
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -O2 -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) -O2 -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) -O2 -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) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/comrobot.o lib/comrobot.cpp
|
||||||
|
|
||||||
${OBJECTDIR}/lib/image.o: lib/image.cpp
|
${OBJECTDIR}/lib/image.o: lib/image.cpp
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
${RM} "$@.d"
|
${RM} "$@.d"
|
||||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/image.o lib/image.cpp
|
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/image.o lib/image.cpp
|
||||||
|
|
||||||
|
${OBJECTDIR}/lib/img.o: lib/img.cpp
|
||||||
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
|
${RM} "$@.d"
|
||||||
|
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/lib/img.o lib/img.cpp
|
||||||
|
|
||||||
${OBJECTDIR}/lib/message.o: lib/message.cpp
|
${OBJECTDIR}/lib/message.o: lib/message.cpp
|
||||||
${MKDIR} -p ${OBJECTDIR}/lib
|
${MKDIR} -p ${OBJECTDIR}/lib
|
||||||
${RM} "$@.d"
|
${RM} "$@.d"
|
||||||
|
@ -115,31 +140,6 @@ ${OBJECTDIR}/tasks.o: tasks.cpp
|
||||||
${RM} "$@.d"
|
${RM} "$@.d"
|
||||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks.o tasks.cpp
|
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/tasks.o tasks.cpp
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/a7f31ab4/base64.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/a7f31ab4
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/a7f31ab4/base64.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/camera.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/camera.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/commonitor.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/comrobot.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp
|
|
||||||
|
|
||||||
${OBJECTDIR}/_ext/6cc0dc4a/img.o: /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp
|
|
||||||
${MKDIR} -p ${OBJECTDIR}/_ext/6cc0dc4a
|
|
||||||
${RM} "$@.d"
|
|
||||||
$(COMPILE.cc) -O2 -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/_ext/6cc0dc4a/img.o /home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.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"
|
||||||
|
|
|
@ -31,7 +31,7 @@ DEFAULTCONF=Debug
|
||||||
CONF=${DEFAULTCONF}
|
CONF=${DEFAULTCONF}
|
||||||
|
|
||||||
# All Configurations
|
# All Configurations
|
||||||
ALLCONFS=Debug Release Debug__RPI_ Debug__Pthread_
|
ALLCONFS=Debug Release Debug__RPI_ Debug__Pthread_ Debug__Pthread__RPI
|
||||||
|
|
||||||
|
|
||||||
# build
|
# build
|
||||||
|
|
|
@ -38,6 +38,14 @@ CND_ARTIFACT_PATH_Debug__Pthread_=dist/Debug__Pthread_/GNU-Linux/superviseur-rob
|
||||||
CND_PACKAGE_DIR_Debug__Pthread_=dist/Debug__Pthread_/GNU-Linux/package
|
CND_PACKAGE_DIR_Debug__Pthread_=dist/Debug__Pthread_/GNU-Linux/package
|
||||||
CND_PACKAGE_NAME_Debug__Pthread_=superviseur-robot.tar
|
CND_PACKAGE_NAME_Debug__Pthread_=superviseur-robot.tar
|
||||||
CND_PACKAGE_PATH_Debug__Pthread_=dist/Debug__Pthread_/GNU-Linux/package/superviseur-robot.tar
|
CND_PACKAGE_PATH_Debug__Pthread_=dist/Debug__Pthread_/GNU-Linux/package/superviseur-robot.tar
|
||||||
|
# Debug__Pthread__RPI configuration
|
||||||
|
CND_PLATFORM_Debug__Pthread__RPI=GNU-Linux
|
||||||
|
CND_ARTIFACT_DIR_Debug__Pthread__RPI=dist/Debug__Pthread__RPI/GNU-Linux
|
||||||
|
CND_ARTIFACT_NAME_Debug__Pthread__RPI=superviseur-robot
|
||||||
|
CND_ARTIFACT_PATH_Debug__Pthread__RPI=dist/Debug__Pthread__RPI/GNU-Linux/superviseur-robot
|
||||||
|
CND_PACKAGE_DIR_Debug__Pthread__RPI=dist/Debug__Pthread__RPI/GNU-Linux/package
|
||||||
|
CND_PACKAGE_NAME_Debug__Pthread__RPI=superviseur-robot.tar
|
||||||
|
CND_PACKAGE_PATH_Debug__Pthread__RPI=dist/Debug__Pthread__RPI/GNU-Linux/package/superviseur-robot.tar
|
||||||
#
|
#
|
||||||
# include compiler specific variables
|
# include compiler specific variables
|
||||||
#
|
#
|
||||||
|
|
|
@ -0,0 +1,76 @@
|
||||||
|
#!/bin/bash -x
|
||||||
|
|
||||||
|
#
|
||||||
|
# Generated - do not edit!
|
||||||
|
#
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
TOP=`pwd`
|
||||||
|
CND_PLATFORM=GNU-Linux
|
||||||
|
CND_CONF=Debug__Pthread__RPI
|
||||||
|
CND_DISTDIR=dist
|
||||||
|
CND_BUILDDIR=build
|
||||||
|
CND_DLIB_EXT=so
|
||||||
|
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
|
||||||
|
TMPDIRNAME=tmp-packaging
|
||||||
|
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/superviseur-robot
|
||||||
|
OUTPUT_BASENAME=superviseur-robot
|
||||||
|
PACKAGE_TOP_DIR=superviseur-robot/
|
||||||
|
|
||||||
|
# Functions
|
||||||
|
function checkReturnCode
|
||||||
|
{
|
||||||
|
rc=$?
|
||||||
|
if [ $rc != 0 ]
|
||||||
|
then
|
||||||
|
exit $rc
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function makeDirectory
|
||||||
|
# $1 directory path
|
||||||
|
# $2 permission (optional)
|
||||||
|
{
|
||||||
|
mkdir -p "$1"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$2" != "" ]
|
||||||
|
then
|
||||||
|
chmod $2 "$1"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function copyFileToTmpDir
|
||||||
|
# $1 from-file path
|
||||||
|
# $2 to-file path
|
||||||
|
# $3 permission
|
||||||
|
{
|
||||||
|
cp "$1" "$2"
|
||||||
|
checkReturnCode
|
||||||
|
if [ "$3" != "" ]
|
||||||
|
then
|
||||||
|
chmod $3 "$2"
|
||||||
|
checkReturnCode
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Setup
|
||||||
|
cd "${TOP}"
|
||||||
|
mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
|
||||||
|
rm -rf ${NBTMPDIR}
|
||||||
|
mkdir -p ${NBTMPDIR}
|
||||||
|
|
||||||
|
# Copy files and create directories and links
|
||||||
|
cd "${TOP}"
|
||||||
|
makeDirectory "${NBTMPDIR}/superviseur-robot/bin"
|
||||||
|
copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
|
||||||
|
|
||||||
|
|
||||||
|
# Generate tar file
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar
|
||||||
|
cd ${NBTMPDIR}
|
||||||
|
tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/superviseur-robot.tar *
|
||||||
|
checkReturnCode
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
cd "${TOP}"
|
||||||
|
rm -rf ${NBTMPDIR}
|
|
@ -4,10 +4,10 @@
|
||||||
<logicalFolder name="HeaderFiles"
|
<logicalFolder name="HeaderFiles"
|
||||||
displayName="Header Files"
|
displayName="Header Files"
|
||||||
projectFiles="true">
|
projectFiles="true">
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.h</itemPath>
|
<itemPath>./lib/base64/base64.h</itemPath>
|
||||||
<itemPath>./lib/camera.h</itemPath>
|
<itemPath>./lib/camera.h</itemPath>
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h</itemPath>
|
<itemPath>./lib/commonitor.h</itemPath>
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.h</itemPath>
|
<itemPath>./lib/comrobot.h</itemPath>
|
||||||
<itemPath>./lib/definitions.h</itemPath>
|
<itemPath>./lib/definitions.h</itemPath>
|
||||||
<itemPath>./lib/image.h</itemPath>
|
<itemPath>./lib/image.h</itemPath>
|
||||||
<itemPath>./lib/img.h</itemPath>
|
<itemPath>./lib/img.h</itemPath>
|
||||||
|
@ -27,12 +27,12 @@
|
||||||
<logicalFolder name="SourceFiles"
|
<logicalFolder name="SourceFiles"
|
||||||
displayName="Source Files"
|
displayName="Source Files"
|
||||||
projectFiles="true">
|
projectFiles="true">
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp</itemPath>
|
<itemPath>./lib/base64/base64.cpp</itemPath>
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp</itemPath>
|
<itemPath>./lib/camera.cpp</itemPath>
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp</itemPath>
|
<itemPath>./lib/commonitor.cpp</itemPath>
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp</itemPath>
|
<itemPath>./lib/comrobot.cpp</itemPath>
|
||||||
<itemPath>./lib/image.cpp</itemPath>
|
<itemPath>./lib/image.cpp</itemPath>
|
||||||
<itemPath>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp</itemPath>
|
<itemPath>./lib/img.cpp</itemPath>
|
||||||
<itemPath>./main.cpp</itemPath>
|
<itemPath>./main.cpp</itemPath>
|
||||||
<itemPath>./lib/message.cpp</itemPath>
|
<itemPath>./lib/message.cpp</itemPath>
|
||||||
<itemPath>./lib/messages.cpp</itemPath>
|
<itemPath>./lib/messages.cpp</itemPath>
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
</logicalFolder>
|
</logicalFolder>
|
||||||
<sourceRootList>
|
<sourceRootList>
|
||||||
<Elem>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib</Elem>
|
<Elem>lib</Elem>
|
||||||
</sourceRootList>
|
</sourceRootList>
|
||||||
<projectmakefile>./Makefile</projectmakefile>
|
<projectmakefile>./Makefile</projectmakefile>
|
||||||
<confs>
|
<confs>
|
||||||
|
@ -95,12 +95,28 @@
|
||||||
</compileType>
|
</compileType>
|
||||||
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/base64/base64.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/base64/base64.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/camera.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/commonitor.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/commonitor.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/img.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/message.cpp" ex="false" tool="1" flavor2="0">
|
<item path="./lib/message.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
@ -129,46 +145,6 @@
|
||||||
</item>
|
</item>
|
||||||
<item path="./tasks.h" ex="false" tool="3" flavor2="0">
|
<item path="./tasks.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="0">
|
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="tasks_pthread.h" ex="false" tool="3" flavor2="0">
|
<item path="tasks_pthread.h" ex="false" tool="3" flavor2="0">
|
||||||
|
@ -196,14 +172,30 @@
|
||||||
</compileType>
|
</compileType>
|
||||||
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/base64/base64.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/base64/base64.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/camera.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/commonitor.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/commonitor.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/image.cpp" ex="false" tool="1" flavor2="0">
|
<item path="./lib/image.cpp" ex="false" tool="1" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/img.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/message.cpp" ex="false" tool="1" flavor2="0">
|
<item path="./lib/message.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
@ -232,46 +224,6 @@
|
||||||
</item>
|
</item>
|
||||||
<item path="./tasks.h" ex="false" tool="3" flavor2="0">
|
<item path="./tasks.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="0">
|
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="tasks_pthread.h" ex="false" tool="3" flavor2="0">
|
<item path="tasks_pthread.h" ex="false" tool="3" flavor2="0">
|
||||||
|
@ -316,14 +268,30 @@
|
||||||
</compileType>
|
</compileType>
|
||||||
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/base64/base64.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/base64/base64.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/camera.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/commonitor.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/commonitor.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/image.cpp" ex="false" tool="1" flavor2="0">
|
<item path="./lib/image.cpp" ex="false" tool="1" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/img.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/message.cpp" ex="false" tool="1" flavor2="0">
|
<item path="./lib/message.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
@ -352,46 +320,6 @@
|
||||||
</item>
|
</item>
|
||||||
<item path="./tasks.h" ex="false" tool="3" flavor2="0">
|
<item path="./tasks.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.h"
|
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp"
|
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
|
||||||
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="0">
|
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="tasks_pthread.h" ex="false" tool="3" flavor2="0">
|
<item path="tasks_pthread.h" ex="false" tool="3" flavor2="0">
|
||||||
|
@ -420,6 +348,7 @@
|
||||||
<preprocessorList>
|
<preprocessorList>
|
||||||
<Elem>_WITH_TRACE_</Elem>
|
<Elem>_WITH_TRACE_</Elem>
|
||||||
<Elem>__FOR_PC__</Elem>
|
<Elem>__FOR_PC__</Elem>
|
||||||
|
<Elem>__WITH_ARUCO__</Elem>
|
||||||
<Elem>__WITH_PTHREAD__</Elem>
|
<Elem>__WITH_PTHREAD__</Elem>
|
||||||
</preprocessorList>
|
</preprocessorList>
|
||||||
</ccTool>
|
</ccTool>
|
||||||
|
@ -432,14 +361,30 @@
|
||||||
</compileType>
|
</compileType>
|
||||||
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/base64/base64.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/base64/base64.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/camera.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/commonitor.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/commonitor.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/image.cpp" ex="true" tool="1" flavor2="9">
|
<item path="./lib/image.cpp" ex="true" tool="1" flavor2="9">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
|
<item path="./lib/img.cpp" ex="false" tool="1" flavor2="0">
|
||||||
|
</item>
|
||||||
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="./lib/message.cpp" ex="true" tool="1" flavor2="9">
|
<item path="./lib/message.cpp" ex="true" tool="1" flavor2="9">
|
||||||
|
@ -466,45 +411,99 @@
|
||||||
</item>
|
</item>
|
||||||
<item path="./tasks.cpp" ex="true" tool="1" flavor2="9">
|
<item path="./tasks.cpp" ex="true" tool="1" flavor2="9">
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp"
|
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="9">
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.h"
|
<item path="tasks_pthread.h" ex="false" tool="3" flavor2="0">
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp"
|
</conf>
|
||||||
ex="false"
|
<conf name="Debug__Pthread__RPI" type="1">
|
||||||
tool="1"
|
<toolsSet>
|
||||||
flavor2="0">
|
<compilerSet>GNU|GNU</compilerSet>
|
||||||
|
<dependencyChecking>true</dependencyChecking>
|
||||||
|
<rebuildPropChanged>false</rebuildPropChanged>
|
||||||
|
</toolsSet>
|
||||||
|
<compileType>
|
||||||
|
<cTool>
|
||||||
|
<incDir>
|
||||||
|
<pElem>./</pElem>
|
||||||
|
<pElem>./lib</pElem>
|
||||||
|
<pElem>./lib/base64</pElem>
|
||||||
|
</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>
|
||||||
|
</cTool>
|
||||||
|
<ccTool>
|
||||||
|
<standard>8</standard>
|
||||||
|
<incDir>
|
||||||
|
<pElem>./</pElem>
|
||||||
|
<pElem>./lib</pElem>
|
||||||
|
<pElem>./lib/base64</pElem>
|
||||||
|
</incDir>
|
||||||
|
<commandLine>-D_GNU_SOURCE -D_REENTRANT -fasynchronous-unwind-tables -Wno-pmf-conversions -std=gnu++11</commandLine>
|
||||||
|
<preprocessorList>
|
||||||
|
<Elem>_WITH_TRACE_</Elem>
|
||||||
|
<Elem>__WITH_PTHREAD__</Elem>
|
||||||
|
</preprocessorList>
|
||||||
|
</ccTool>
|
||||||
|
<linkerTool>
|
||||||
|
<linkerLibItems>
|
||||||
|
<linkerOptionItem>`pkg-config --libs opencv`</linkerOptionItem>
|
||||||
|
<linkerLibFileItem>/usr/local/lib/libraspicam_cv.so</linkerLibFileItem>
|
||||||
|
<linkerLibFileItem>/usr/local/lib/libraspicam.so</linkerLibFileItem>
|
||||||
|
</linkerLibItems>
|
||||||
|
<commandLine>-lpthread -lrt</commandLine>
|
||||||
|
</linkerTool>
|
||||||
|
</compileType>
|
||||||
|
<item path="./gdbsudo.sh" ex="false" tool="3" flavor2="0">
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp"
|
<item path="./lib/base64/base64.cpp" ex="false" tool="1" flavor2="8">
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h"
|
<item path="./lib/base64/base64.h" ex="false" tool="3" flavor2="0">
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp"
|
<item path="./lib/camera.cpp" ex="false" tool="1" flavor2="8">
|
||||||
ex="false"
|
|
||||||
tool="1"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.h"
|
<item path="./lib/camera.h" ex="false" tool="3" flavor2="0">
|
||||||
ex="false"
|
|
||||||
tool="3"
|
|
||||||
flavor2="0">
|
|
||||||
</item>
|
</item>
|
||||||
<item path="/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp"
|
<item path="./lib/commonitor.cpp" ex="false" tool="1" flavor2="8">
|
||||||
ex="false"
|
</item>
|
||||||
tool="1"
|
<item path="./lib/commonitor.h" ex="false" tool="3" flavor2="0">
|
||||||
flavor2="0">
|
</item>
|
||||||
|
<item path="./lib/comrobot.cpp" ex="false" tool="1" flavor2="8">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/comrobot.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/definitions.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/image.cpp" ex="true" tool="1" flavor2="9">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/image.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/img.cpp" ex="false" tool="1" flavor2="8">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/img.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/message.cpp" ex="true" tool="1" flavor2="9">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/message.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/messages.cpp" ex="false" tool="1" flavor2="9">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/messages.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/monitor.cpp" ex="true" tool="1" flavor2="9">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/monitor.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/robot.cpp" ex="true" tool="1" flavor2="9">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/robot.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/server.cpp" ex="true" tool="1" flavor2="9">
|
||||||
|
</item>
|
||||||
|
<item path="./lib/server.h" ex="false" tool="3" flavor2="0">
|
||||||
|
</item>
|
||||||
|
<item path="./main.cpp" ex="false" tool="1" flavor2="9">
|
||||||
|
</item>
|
||||||
|
<item path="./tasks.cpp" ex="true" tool="1" flavor2="9">
|
||||||
</item>
|
</item>
|
||||||
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="9">
|
<item path="tasks_pthread.cpp" ex="false" tool="1" flavor2="9">
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -7,3 +7,4 @@
|
||||||
# Release configuration
|
# Release configuration
|
||||||
# Debug__RPI_ configuration
|
# Debug__RPI_ configuration
|
||||||
# Debug__Pthread_ configuration
|
# Debug__Pthread_ configuration
|
||||||
|
# Debug__Pthread__RPI configuration
|
||||||
|
|
|
@ -116,8 +116,43 @@
|
||||||
<gdb_interceptlist>
|
<gdb_interceptlist>
|
||||||
<gdbinterceptoptions gdb_all="false" gdb_unhandled="true" gdb_unexpected="true"/>
|
<gdbinterceptoptions gdb_all="false" gdb_unhandled="true" gdb_unexpected="true"/>
|
||||||
</gdb_interceptlist>
|
</gdb_interceptlist>
|
||||||
<gdb_signals>
|
<gdb_options>
|
||||||
</gdb_signals>
|
<DebugOptions>
|
||||||
|
</DebugOptions>
|
||||||
|
</gdb_options>
|
||||||
|
<gdb_buildfirst gdb_buildfirst_overriden="false" gdb_buildfirst_old="false"/>
|
||||||
|
</dbx_gdbdebugger>
|
||||||
|
<nativedebugger version="1">
|
||||||
|
<engine>gdb</engine>
|
||||||
|
</nativedebugger>
|
||||||
|
<runprofile version="9">
|
||||||
|
<runcommandpicklist>
|
||||||
|
<runcommandpicklistitem>sudo "${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||||
|
<runcommandpicklistitem>sudo -E "${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||||
|
<runcommandpicklistitem>pkexec "${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||||
|
<runcommandpicklistitem>"${OUTPUT_PATH}"</runcommandpicklistitem>
|
||||||
|
</runcommandpicklist>
|
||||||
|
<runcommand>"${OUTPUT_PATH}"</runcommand>
|
||||||
|
<rundir></rundir>
|
||||||
|
<buildfirst>true</buildfirst>
|
||||||
|
<console-type>1</console-type>
|
||||||
|
<terminal-type>0</terminal-type>
|
||||||
|
<remove-instrumentation>0</remove-instrumentation>
|
||||||
|
<environment>
|
||||||
|
</environment>
|
||||||
|
</runprofile>
|
||||||
|
</conf>
|
||||||
|
<conf name="Debug__Pthread__RPI" type="1">
|
||||||
|
<toolsSet>
|
||||||
|
<developmentServer>pi@10.105.1.13:22</developmentServer>
|
||||||
|
<platform>2</platform>
|
||||||
|
</toolsSet>
|
||||||
|
<dbx_gdbdebugger version="1">
|
||||||
|
<gdb_pathmaps>
|
||||||
|
</gdb_pathmaps>
|
||||||
|
<gdb_interceptlist>
|
||||||
|
<gdbinterceptoptions gdb_all="false" gdb_unhandled="true" gdb_unexpected="true"/>
|
||||||
|
</gdb_interceptlist>
|
||||||
<gdb_options>
|
<gdb_options>
|
||||||
<DebugOptions>
|
<DebugOptions>
|
||||||
</DebugOptions>
|
</DebugOptions>
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
#Tue Jan 08 15:35:51 CET 2019
|
||||||
|
____VERSION=2.0
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/dist/Debug__Pthread__RPI/GNU-Linux/superviseur-robot=1v
|
|
@ -10,6 +10,7 @@
|
||||||
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/tasks_pthread.h</file>
|
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/tasks_pthread.h</file>
|
||||||
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h</file>
|
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h</file>
|
||||||
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.h</file>
|
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.h</file>
|
||||||
|
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp</file>
|
||||||
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/main.cpp</file>
|
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/main.cpp</file>
|
||||||
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.h</file>
|
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.h</file>
|
||||||
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp</file>
|
<file>file:/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp</file>
|
||||||
|
|
|
@ -1,32 +1,93 @@
|
||||||
#Tue Nov 13 15:41:05 CET 2018
|
#Wed Jan 09 09:35:50 CET 2019
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/Makefile=c1542100687000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/README.md=c1541685829000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/robot.h=c1542116851000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/LICENSE=c1518398687000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/CMakeLists.txt=c1541685829000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/src/uiExample.cpp=c1542120848000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug.bash=c1541685829000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.h=c1546526768000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug.mk=c1542104029000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.h=c1546527039000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/main.cpp=c1542105162000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/robot.cpp=c1542105020000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/image.h=c1542117446000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/.dep.inc=c1542102478000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug__RPI_.bash=c1542029322000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/server.cpp=c1542120059000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/project.properties=c1542103467000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug__RPI_.mk=c1542104029000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-variables.mk=c1542029322000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/message.cpp=c1542105181000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/project.xml=c1542104029000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/private/Makefile-variables.mk=c1542029322000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Release.bash=c1541685829000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/message.h=c1542117282000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/.gitignore=c1541685829000
|
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Release.mk=c1542104029000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Release.mk=c1542104029000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/image.cpp=c1542104053000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/compile-and-run-test=c1518398687000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/functions.h=c1542117699000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/test.cpp=c1518398687000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/functions.cpp=c1542105130000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/server.cpp=c1544778298000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/monitor.h=c1542120024000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Package-Release.bash=c1544780526000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.h=c1545405815000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/monitor.h=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug__RPI_.mk=c1542104029000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/tasks.cpp=c1545320764000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/server.cpp=c1542120059000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/ProjDestijl.cbp=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/TPRT.Doxyfile=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-impl.mk=c1546855871000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Package-Debug.bash=c1544780526000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-variables.mk=c1546855871000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/project.properties=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/.gitignore=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-Release.mk=c1546856794000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/private/Makefile-variables.mk=c1542029322000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/image.cpp=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/Makefile=c1542100687000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/message.cpp=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/.dep.inc=c1546875478000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/image.h=c1544797217000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/.gitignore=c1541685829000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/definitions.h=c1544778298000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/gdbsudo.sh=c1541685829000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/gdbsudo.sh=c1541685829000
|
||||||
VERSION=1.3
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/tasks.h=c1545386748000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/server.h=c1542119920000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/image.cpp=c1542104053000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-impl.mk=c1542029322000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/.gitignore=c1542120848000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/definitions.h=c1542116893000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.h=c1546940198000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/src/videoExample.cpp=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/functions.h=c1542117699000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-Debug.mk=c1546856794000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/README.md=c1518398687000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/.dep.inc=c1542102478000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/gdbsudo.sh=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Package-Debug__RPI_.bash=c1544780526000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug__RPI_.bash=c1542029322000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/commonitor.cpp=c1546866048000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/main.cpp=c1542105162000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/comrobot.cpp=c1545406561000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/robot.h=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Package-Debug__Pthread__RPI.bash=c1546855871000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-Debug.mk=c1542104029000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.cpp=c1518398687000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/.gitignore=c1542120848000
|
||||||
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/monitor.cpp=c1542116921000
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/monitor.cpp=c1542116921000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/project.xml=c1542104029000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/private/Makefile-variables.mk=c1546855871000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/src/serialTest.cpp=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/src/functions.cpp=c1542105130000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/CMakeLists.txt=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/base64.h=c1518398687000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-impl.mk=c1542029322000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/robot.cpp=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/camera.cpp=c1546940179000
|
||||||
|
VERSION=1.3
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/CMakeLists.txt=c1541685829000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__Pthread__RPI.mk=c1546862281000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Makefile-variables.mk=c1542029322000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/robot.cpp=c1542105020000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/src/serverTest.cpp=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Package-Debug__Pthread_.bash=c1545062469000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/server.h=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/base64/.gitignore=c1518398687000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/messages.cpp=c1546526752000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__Pthread_.mk=c1546856794000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/src/rtvideoExample.cpp=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/src/serialExample.cpp=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/src/message.cpp=c1542105181000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/compile_commands.json=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/message.h=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/Makefile-Debug__RPI_.mk=c1546856794000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/monitor.cpp=c1544778298000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/project.properties=c1542103467000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Release.bash=c1541685829000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/tasks_pthread.cpp=c1546961625000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/tasks_pthread.h=c1546961074000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/main.cpp=c1546512226000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.cpp=c1546959546000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/nbproject/project.xml=c1546856299000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/examples/CMakeLists.txt=c1542120848000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/superviseur/nbproject/Package-Debug.bash=c1541685829000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/img.h=c1546959623000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/Makefile=c1542100687000
|
||||||
|
/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib/CMakeLists.txt=c1542120848000
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<sourceEncoding>UTF-8</sourceEncoding>
|
<sourceEncoding>UTF-8</sourceEncoding>
|
||||||
<make-dep-projects/>
|
<make-dep-projects/>
|
||||||
<sourceRootList>
|
<sourceRootList>
|
||||||
<sourceRootElem>/home/dimercur/Documents/Travail/git/dumber/software/raspberry/superviseur-robot/lib</sourceRootElem>
|
<sourceRootElem>lib</sourceRootElem>
|
||||||
</sourceRootList>
|
</sourceRootList>
|
||||||
<confList>
|
<confList>
|
||||||
<confElem>
|
<confElem>
|
||||||
|
@ -29,6 +29,10 @@
|
||||||
<name>Debug__Pthread_</name>
|
<name>Debug__Pthread_</name>
|
||||||
<type>1</type>
|
<type>1</type>
|
||||||
</confElem>
|
</confElem>
|
||||||
|
<confElem>
|
||||||
|
<name>Debug__Pthread__RPI</name>
|
||||||
|
<type>1</type>
|
||||||
|
</confElem>
|
||||||
</confList>
|
</confList>
|
||||||
<formatting>
|
<formatting>
|
||||||
<project-formatting-style>false</project-formatting-style>
|
<project-formatting-style>false</project-formatting-style>
|
||||||
|
|
|
@ -48,11 +48,11 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void Tasks::Init() {
|
void Tasks::Init() {
|
||||||
int status;
|
int status;
|
||||||
|
|
||||||
/* Open com port with STM32 */
|
/* Open com port with STM32 */
|
||||||
cout << "Open serial com (";
|
cout << "Open serial com (";
|
||||||
status = robot.Open("/dev/ttyUSB0");
|
status = robot.Open();
|
||||||
cout << status;
|
cout << status;
|
||||||
cout << ")" << endl;
|
cout << ")" << endl;
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@ void Tasks::Init() {
|
||||||
// Open server
|
// Open server
|
||||||
|
|
||||||
status = monitor.Open(SERVER_PORT);
|
status = monitor.Open(SERVER_PORT);
|
||||||
cout << "Open server on port " << SERVER_PORT << " (" << status << ")" << endl;
|
cout << "Open server on port " << (SERVER_PORT) << " (" << status << ")" << endl;
|
||||||
|
|
||||||
if (status < 0) throw std::runtime_error {
|
if (status < 0) throw std::runtime_error {
|
||||||
"Unable to start server on port " + std::to_string(SERVER_PORT)
|
"Unable to start server on port " + std::to_string(SERVER_PORT)
|
||||||
|
@ -72,40 +72,60 @@ void Tasks::Init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tasks::Run() {
|
void Tasks::Run() {
|
||||||
|
threadTimer = new thread((void (*)(void*)) & Tasks::TimerTask, this);
|
||||||
threadTimer=new thread((void (*)(void*)) &Tasks::TimerTask,this);
|
threadServer = new thread((void (*)(void*)) & Tasks::ServerTask, this);
|
||||||
threadServer=new thread((void (*)(void*)) &Tasks::ServerTask,this);
|
|
||||||
// threadSendToMon=new thread((void (*)(void*)) &Tasks::SendToMonTask,this);
|
|
||||||
|
|
||||||
|
|
||||||
// msgSend = ComRobot::Ping();
|
// threadSendToMon=new thread((void (*)(void*)) &Tasks::SendToMonTask,this);
|
||||||
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
|
||||||
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ANSWER_ACK, 3);
|
//
|
||||||
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
// Camera camera=Camera(sm);
|
||||||
//
|
// cout << "Try opening camera"<<endl<<flush;
|
||||||
// delete(msgRcv);
|
// if (camera.Open()) cout<<"Camera opened successfully"<<endl<<flush;
|
||||||
//
|
// else cout<<"Failed to open camera"<<endl<<flush;
|
||||||
// msgSend = ComRobot::StartWithoutWD();
|
//
|
||||||
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
// counter = 0;
|
||||||
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ANSWER_ACK, 3);
|
// while (1) {
|
||||||
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
// Img image=camera.Grab();
|
||||||
//
|
//
|
||||||
// delete(msgRcv);
|
// counter++;
|
||||||
//
|
//
|
||||||
// msgSend = ComRobot::Move(1000);
|
// if (flag == true) {
|
||||||
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
// cout<< "Image info: "<<image.ToString()<<endl<<flush;
|
||||||
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ANSWER_ACK, 3);
|
// cout << "FPS = "<<to_string(counter)<<endl<<flush;
|
||||||
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
// flag=false;
|
||||||
//
|
// counter=0;
|
||||||
// delete(msgRcv);
|
// }
|
||||||
//
|
// }
|
||||||
// msgSend = ComRobot::GetBattery();
|
|
||||||
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
|
||||||
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ROBOT_BATTERY_LEVEL, 3);
|
// msgSend = ComRobot::Ping();
|
||||||
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
||||||
//
|
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ANSWER_ACK, 3);
|
||||||
// delete(msgRcv);
|
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
||||||
cout<<"Tasks launched"<<endl<<flush;
|
//
|
||||||
|
// delete(msgRcv);
|
||||||
|
//
|
||||||
|
// msgSend = ComRobot::StartWithoutWD();
|
||||||
|
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
||||||
|
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ANSWER_ACK, 3);
|
||||||
|
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
||||||
|
//
|
||||||
|
// delete(msgRcv);
|
||||||
|
//
|
||||||
|
// msgSend = ComRobot::Move(1000);
|
||||||
|
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
||||||
|
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ANSWER_ACK, 3);
|
||||||
|
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
||||||
|
//
|
||||||
|
// delete(msgRcv);
|
||||||
|
//
|
||||||
|
// msgSend = ComRobot::GetBattery();
|
||||||
|
// cout << "Send => " << msgSend->ToString() << endl << flush;
|
||||||
|
// msgRcv = robot.SendCommand(msgSend, MESSAGE_ROBOT_BATTERY_LEVEL, 3);
|
||||||
|
// cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
||||||
|
//
|
||||||
|
// delete(msgRcv);
|
||||||
|
cout << "Tasks launched" << endl << flush;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tasks::Stop() {
|
void Tasks::Stop() {
|
||||||
|
@ -116,14 +136,14 @@ void Tasks::Stop() {
|
||||||
void Tasks::ServerTask(void *arg) {
|
void Tasks::ServerTask(void *arg) {
|
||||||
Message *msgRcv;
|
Message *msgRcv;
|
||||||
Message *msgSend;
|
Message *msgSend;
|
||||||
bool isActive=true;
|
bool isActive = true;
|
||||||
|
|
||||||
cout << "Start " << __PRETTY_FUNCTION__ <<endl<<flush;
|
cout << "Start " << __PRETTY_FUNCTION__ << endl << flush;
|
||||||
|
|
||||||
while (isActive) {
|
while (isActive) {
|
||||||
msgRcv=NULL;
|
msgRcv = NULL;
|
||||||
msgSend=NULL;
|
msgSend = NULL;
|
||||||
|
|
||||||
msgRcv = monitor.Read();
|
msgRcv = monitor.Read();
|
||||||
cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
cout << "Rcv <= " << msgRcv->ToString() << endl << flush;
|
||||||
|
|
||||||
|
@ -132,31 +152,35 @@ void Tasks::ServerTask(void *arg) {
|
||||||
|
|
||||||
if (msgRcv->CompareID(MESSAGE_ROBOT_START_WITH_WD)) msgSend = new Message(MESSAGE_ANSWER_ACK);
|
if (msgRcv->CompareID(MESSAGE_ROBOT_START_WITH_WD)) msgSend = new Message(MESSAGE_ANSWER_ACK);
|
||||||
if (msgRcv->CompareID(MESSAGE_ROBOT_START_WITHOUT_WD)) msgSend = new Message(MESSAGE_ANSWER_ACK);
|
if (msgRcv->CompareID(MESSAGE_ROBOT_START_WITHOUT_WD)) msgSend = new Message(MESSAGE_ANSWER_ACK);
|
||||||
|
|
||||||
if (msgRcv->CompareID(MESSAGE_ROBOT_COM_CLOSE)) isActive = false;
|
if (msgRcv->CompareID(MESSAGE_ROBOT_COM_CLOSE)) isActive = false;
|
||||||
|
|
||||||
if (msgRcv->CompareID(MESSAGE_CAM_OPEN)) {
|
if (msgRcv->CompareID(MESSAGE_CAM_OPEN)) {
|
||||||
sendImage=true;
|
sendImage = true;
|
||||||
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msgRcv->CompareID(MESSAGE_CAM_CLOSE)) {
|
if (msgRcv->CompareID(MESSAGE_CAM_CLOSE)) {
|
||||||
sendImage=false;
|
sendImage = false;
|
||||||
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msgRcv->CompareID(MESSAGE_CAM_POSITION_COMPUTE_START)) {
|
if (msgRcv->CompareID(MESSAGE_CAM_POSITION_COMPUTE_START)) {
|
||||||
sendPosition=true;
|
sendPosition = true;
|
||||||
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msgRcv->CompareID(MESSAGE_CAM_POSITION_COMPUTE_STOP)) {
|
if (msgRcv->CompareID(MESSAGE_CAM_POSITION_COMPUTE_STOP)) {
|
||||||
sendPosition=false;
|
sendPosition = false;
|
||||||
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
msgSend = new Message(MESSAGE_ANSWER_ACK);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (msgRcv->CompareID(MESSAGE_ROBOT_BATTERY_GET)) msgSend = new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL,BATTERY_FULL);
|
if (msgRcv->CompareID(MESSAGE_ROBOT_BATTERY_GET)) msgSend = new MessageBattery(MESSAGE_ROBOT_BATTERY_LEVEL, BATTERY_FULL);
|
||||||
|
|
||||||
|
if (msgRcv->CompareID(MESSAGE_CAM_ASK_ARENA)) showArena = true;
|
||||||
|
if (msgRcv->CompareID(MESSAGE_CAM_ARENA_CONFIRM)) showArena = false;
|
||||||
|
if (msgRcv->CompareID(MESSAGE_CAM_ARENA_INFIRM)) showArena = false;
|
||||||
|
|
||||||
if (msgSend != NULL) monitor.Write(msgSend);
|
if (msgSend != NULL) monitor.Write(msgSend);
|
||||||
delete(msgRcv);
|
delete(msgRcv);
|
||||||
}
|
}
|
||||||
|
@ -166,61 +190,107 @@ void Tasks::TimerTask(void* arg) {
|
||||||
struct timespec tim, tim2;
|
struct timespec tim, tim2;
|
||||||
Message *msgSend;
|
Message *msgSend;
|
||||||
int counter;
|
int counter;
|
||||||
|
int cntFrame = 0;
|
||||||
|
Position pos;
|
||||||
|
Arena arena;
|
||||||
|
|
||||||
tim.tv_sec = 0;
|
tim.tv_sec = 0;
|
||||||
tim.tv_nsec = 50000000; // 50ms (20fps)
|
tim.tv_nsec = 50000000; // 50ms (20fps)
|
||||||
|
|
||||||
cout << "Start " << __PRETTY_FUNCTION__ <<endl<<flush;
|
cout << "Start " << __PRETTY_FUNCTION__ << endl << flush;
|
||||||
|
|
||||||
Camera camera=Camera(sm);
|
Camera camera = Camera(sm, 10);
|
||||||
cout << "Try opening camera"<<endl<<flush;
|
cout << "Try opening camera" << endl << flush;
|
||||||
if (camera.Open()) cout<<"Camera opened successfully"<<endl<<flush;
|
if (camera.Open()) cout << "Camera opened successfully" << endl << flush;
|
||||||
else cout<<"Failed to open camera"<<endl<<flush;
|
else {
|
||||||
|
cout << "Failed to open camera" << endl << flush;
|
||||||
|
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
pos.angle = 0.0;
|
||||||
|
pos.robotId = -1;
|
||||||
|
pos.center = cv::Point2f(0, 0);
|
||||||
|
pos.direction = cv::Point2f(0, 0);
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
//std::this_thread::sleep_for(std::chrono::seconds )
|
//std::this_thread::sleep_for(std::chrono::seconds )
|
||||||
//sleep(1);
|
//sleep(1);
|
||||||
if (nanosleep(&tim, &tim2) < 0) {
|
// if (nanosleep(&tim, &tim2) < 0) {
|
||||||
printf("Nano sleep system call failed \n");
|
// printf("Nano sleep system call failed \n");
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
// counter++;
|
||||||
|
// if (counter>=10) {
|
||||||
|
// flag=true;
|
||||||
|
// counter=0;
|
||||||
|
// }
|
||||||
//mutexTimer.unlock();
|
//mutexTimer.unlock();
|
||||||
if (sendImage==true) {
|
Img image = camera.Grab(); // 15fps
|
||||||
|
|
||||||
|
if (sendPosition == true) {
|
||||||
counter++;
|
counter++;
|
||||||
|
|
||||||
if (counter>=1) {
|
if (counter >= 1) { // div =15
|
||||||
counter=0;
|
counter = 0;
|
||||||
Img image=camera.Grab();
|
|
||||||
|
|
||||||
cout << image.ToString()<<endl<<flush;
|
//if (!arena.IsEmpty()) {
|
||||||
MessageImg *msg=new MessageImg(MESSAGE_CAM_IMAGE, &image);
|
image.dictionary = cv::aruco::getPredefinedDictionary(cv::aruco::PREDEFINED_DICTIONARY_NAME(3));
|
||||||
|
list<Position> poses = image.SearchAruco(arena);
|
||||||
monitor.Write(msg);
|
|
||||||
cout << "Image sent"<<endl<<flush;
|
//std::list<Position> poses = image.SearchRobot(arena);
|
||||||
|
cout << "Nbr of pos detected: " << to_string(poses.size()) << endl << flush;
|
||||||
|
|
||||||
|
if (poses.size() > 0) {
|
||||||
|
Position firstPos = poses.front();
|
||||||
|
|
||||||
|
pos.angle = firstPos.angle;
|
||||||
|
pos.robotId = firstPos.robotId;
|
||||||
|
pos.center = firstPos.center;
|
||||||
|
pos.direction = firstPos.direction;
|
||||||
|
} else {
|
||||||
|
// Nothing found
|
||||||
|
pos.angle = 0.0;
|
||||||
|
pos.robotId = -1;
|
||||||
|
pos.center = cv::Point2f(0,0);
|
||||||
|
pos.direction = cv::Point2f(0,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
MessagePosition *msgp = new MessagePosition(MESSAGE_CAM_POSITION, pos);
|
||||||
|
monitor.Write(msgp);
|
||||||
|
cout << "Position sent" << endl << flush;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sendPosition==true) {
|
if (sendImage == true) {
|
||||||
Position pos;
|
if (showArena) {
|
||||||
pos.angle=0.0;
|
arena = image.SearchArena();
|
||||||
pos.robotId=1;
|
|
||||||
pos.center=cv::Point2f(0.5,0.5);
|
if (!arena.IsEmpty()) image.DrawArena(arena);
|
||||||
pos.direction=cv::Point2f(1.0,2.5);
|
else cout << "Arena not found" << endl << flush;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (sendPosition == true) {
|
||||||
|
image.DrawRobot(pos);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!arena.IsEmpty()) image.DrawArena(arena);
|
||||||
|
|
||||||
MessagePosition *msgp=new MessagePosition(MESSAGE_CAM_POSITION, pos);
|
MessageImg *msg = new MessageImg(MESSAGE_CAM_IMAGE, &image);
|
||||||
monitor.Write(msgp);
|
|
||||||
cout << "Position sent"<<endl<<flush;
|
monitor.Write(msg);
|
||||||
|
cntFrame++;
|
||||||
|
cout << "cnt: " << to_string(cntFrame) << endl << flush;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Tasks::SendToMonTask(void* arg) {
|
void Tasks::SendToMonTask(void* arg) {
|
||||||
|
cout << "Start " << __PRETTY_FUNCTION__ << endl << flush;
|
||||||
cout << "Start " << __PRETTY_FUNCTION__ <<endl<<flush;
|
|
||||||
|
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,6 +93,11 @@ private:
|
||||||
bool sendImage=false;
|
bool sendImage=false;
|
||||||
bool sendPosition=false;
|
bool sendPosition=false;
|
||||||
|
|
||||||
|
int counter;
|
||||||
|
bool flag;
|
||||||
|
|
||||||
|
bool showArena=false;
|
||||||
|
|
||||||
thread *threadServer;
|
thread *threadServer;
|
||||||
thread *threadSendToMon;
|
thread *threadSendToMon;
|
||||||
thread *threadTimer;
|
thread *threadTimer;
|
||||||
|
|
Loading…
Reference in a new issue