diff --git a/software/monitor/monitor/Client.cs b/software/monitor/monitor/Client.cs index 6774f16..d12c3cd 100644 --- a/software/monitor/monitor/Client.cs +++ b/software/monitor/monitor/Client.cs @@ -1,38 +1,81 @@ using System; using System.Net.Sockets; -using System.Threading; using System.Text; namespace monitor { - public class Client + /// + /// Static class for TCP client + /// + public static class Client { + /// + /// Default server name + /// public const string defaultIP = "localhost"; + + /// + /// Default server port number + /// public const int defaultPort = 4500; + /// + /// Tcp client object + /// private static TcpClient client = null; + + /// + /// Stream object used for communication + /// private static NetworkStream stream = null; + /// + /// Size of internal buffer used when reading data from server + /// private const int BufferMaxSize = 512; + + /// + /// Internal buffer used when reading data from server + /// private static byte[] buffer = new byte[BufferMaxSize]; + + /// + /// buffer containing received message from TCP server + /// Used to concatenate internal buffers into one + /// private static byte[] receiveBuffer; + private static int initialReceiveBufferIndex = 0; + + /// + /// String containing received message from tcp server + /// private static StringBuilder message = new StringBuilder(); private static int newLength = 1; private static int packetCounter = 0; + /// + /// Callback to send received message to upper level + /// public delegate void ReadEvent(string msg, byte[] buffer); public static ReadEvent readEvent = null; - public Client() - { - } - + /// + /// Open connection to server "host", on default port number. + /// + /// true if connection succeded, false otherwise + /// Hostname to connect to public static bool Open(string host) { return Client.Open(host, defaultPort); } + /// + /// Open connection to server "host", with port number "port" + /// + /// true if connection succeded, false otherwise + /// Hostname to connect to + /// Port number for connection public static bool Open(string host, int port) { bool status = true; @@ -43,6 +86,13 @@ namespace monitor stream = client.GetStream(); + // Start reading tcp stream and call "ReadCallback" method when newLength data + // will be received + // initially, "newLength" is equal to 1, so first call to ReadCallback + // will be done after reception of 1 byte. + + // received data are stored in buffer + // Next reading will be done in ReadCallback method stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message); } catch (ArgumentNullException e) @@ -55,30 +105,38 @@ namespace monitor Console.WriteLine("SocketException: " + e.ToString()); status = false; } - catch (Exception e) + catch (Exception e) { Console.WriteLine("Unknown Exception: " + e.ToString()); - status = false; + status = false; } return status; } - public static void Close() + /// + /// Close connection to server + /// + public static void Close() { - if (stream!=null) stream.Close(); - if (client!=null) client.Close(); + if (stream != null) stream.Close(); + if (client != null) client.Close(); } + /// + /// Callback call by stream.BeginRead after reception of newLength data + /// + /// Not sure of what is it, but needed for terminate reading private static void ReadCallback(IAsyncResult ar) { if (client.Connected) { int bytesRead; - try + try { - bytesRead = stream.EndRead(ar); + // Termintae read operation, and get number of byte stored in buffer + bytesRead = stream.EndRead(ar); } catch (ObjectDisposedException e) { @@ -88,23 +146,28 @@ namespace monitor newLength = 1; + // if number of byte read is not 0, concatenate string and buffer if (bytesRead > 0) { packetCounter++; - if (packetCounter>=3) + 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)); - if (receiveBuffer == null) receiveBuffer = new byte[bytesRead]; - else Array.Resize(ref receiveBuffer, initialReceiveBufferIndex + bytesRead); - System.Buffer.BlockCopy(buffer, 0, receiveBuffer, initialReceiveBufferIndex, bytesRead); - initialReceiveBufferIndex = receiveBuffer.Length; + // Similarly, append received bytes to current buffer + if (receiveBuffer == null) receiveBuffer = new byte[bytesRead]; + else Array.Resize(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; @@ -113,6 +176,7 @@ namespace monitor } else { + // no more data to read, buffer and string can be send to upper level readEvent?.Invoke(message.ToString(), receiveBuffer); message.Clear(); @@ -121,10 +185,16 @@ namespace monitor packetCounter = 0; } + // Prepare for reading new data stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message); } } + /// + /// Write a string to server + /// + /// Nothing + /// Message to send to server public static void Write(string mes) { if (client.Connected) diff --git a/software/monitor/monitor/CommandManager.cs b/software/monitor/monitor/CommandManager.cs index 24ce9ec..71300f9 100644 --- a/software/monitor/monitor/CommandManager.cs +++ b/software/monitor/monitor/CommandManager.cs @@ -2,19 +2,43 @@ namespace monitor { + /// + /// Command Manager. Use for timeout managment during reception of data + /// Used as intermediate layer between TCP client class (Client) and application level + /// managment of command and answers + /// public class CommandManager { + /// + /// Callback for sending received data to upper level + /// public delegate void CommandReceivedEvent(string msg, byte[] buffer); public CommandReceivedEvent commandReceivedEvent = null; + /// + /// Timer for managing timeout + /// private System.Timers.Timer waitTimer = new System.Timers.Timer(); private ManualResetEvent waitEvent = new ManualResetEvent(false); + /// + /// Flag to tell rogram to wait for an acknowledge from server + /// private bool waitForAcknowledge = false; + /// + /// received message + /// private string messageReceived = null; + + /// + /// flag indicating command manager is currently busy waiting an acknowledge + /// private bool isBusy = false; + /// + /// Available status when sending command + /// public enum CommandManagerStatus { AnswerReceived, @@ -22,6 +46,10 @@ namespace monitor Busy }; + /// + /// Initializes a new instance of the class. + /// + /// Callback used when new message are received public CommandManager(CommandReceivedEvent callback) { Client.readEvent += this.OnMessageReception; @@ -30,53 +58,101 @@ namespace monitor waitTimer.Elapsed += OnMessageTimeout; } + /// + /// Releases unmanaged resources and performs other cleanup operations before the + /// is reclaimed by garbage collection. + /// ~CommandManager() { - Client.Close(); + Client.Close(); } + /// + /// Open the specified hostname server, using default port number. + /// + /// true if connection succeded, false otherwise + /// Hostname to connect to public bool Open(string hostname) { return this.Open(hostname, Client.defaultPort); } + /// + /// Open connection to server "host", with port number "port" + /// + /// true if connection succeded, false otherwise + /// Hostname to connect to + /// Port number for connection public bool Open(string hostname, int port) { return Client.Open(hostname, port); } + /// + /// Close connection to server + /// public void Close() { Client.Close(); } + /// + /// Callback called by Client class after reception of new message + /// + /// Message received from server + /// Raw buffer reived from server private void OnMessageReception(string message, byte[] buffer) { - waitTimer.Stop(); + waitTimer.Stop(); // Stop timeout stopwatch + this.messageReceived = message; isBusy = false; - if (waitForAcknowledge) { + // if SendCommand wait for an acknowledge, release semaphore waitEvent + // so that SendCommand will be able to read received answer + // Received answer will not be sent to upper level + if (waitForAcknowledge) + { waitForAcknowledge = false; waitEvent.Set(); // Envoi de l'evenement } - else { + else + // if sendCommand doesn't wait for an acknowledge, message received + // is for upper level, so call callback + { + waitForAcknowledge = false; + this.commandReceivedEvent?.Invoke(message, buffer); } } + /// + /// Callback called by stopwatch on timeout + /// + /// Sender object + /// Information on elapsed condition private void OnMessageTimeout(object sender, System.Timers.ElapsedEventArgs e) { messageReceived = null; + // set buffer and message as null to indicate that no message was received + // and call to OnMessagereception is due to timeout OnMessageReception(messageReceived, null); } + /// + /// Sends a command to TCP server + /// + /// status that is part of CommandManagerStatus enumerate + /// Command message to send to server + /// Answer from server, in case of acknowledge + /// Timeout (ms) waiting an acknowledge, 0 if no acknowledge needed public CommandManagerStatus SendCommand(string cmd, out string answer, double timeout) { CommandManagerStatus status = CommandManagerStatus.AnswerReceived; answer = null; + if (isBusy) status = CommandManagerStatus.Busy; else { diff --git a/software/monitor/monitor/DestijlCommandManager.cs b/software/monitor/monitor/DestijlCommandManager.cs index 9037f2f..4f49893 100644 --- a/software/monitor/monitor/DestijlCommandManager.cs +++ b/software/monitor/monitor/DestijlCommandManager.cs @@ -259,7 +259,7 @@ namespace monitor CreateCommand(DestijlCommandList.HeaderMtsDmbOrder, RobotCommandList.RobotGetBattery), out answer, 0); - + //if (localStatus == CommandManager.CommandManagerStatus.AnswerReceived) { // string[] msg = answer.Split(':'); diff --git a/software/monitor/monitor/MonitorUI.cs b/software/monitor/monitor/MonitorUI.cs index 33edeff..1dec4e5 100644 --- a/software/monitor/monitor/MonitorUI.cs +++ b/software/monitor/monitor/MonitorUI.cs @@ -1,10 +1,12 @@ using System; using Gtk; using Gdk; -using System.Threading; using monitor; +/// +/// Main window. +/// public partial class MainWindow : Gtk.Window { private DestijlCommandManager cmdManager; @@ -23,7 +25,7 @@ public partial class MainWindow : Gtk.Window public MainWindow() : base(Gtk.WindowType.Toplevel) { Build(); - + cmdManager = new DestijlCommandManager(OnCommandReceivedEvent); batteryTimer = new System.Timers.Timer(10000.0); @@ -210,9 +212,9 @@ public partial class MainWindow : Gtk.Window Console.WriteLine("Connecting to " + entryServerName.Text + ":" + entryServerPort.Text); bool status = false; - try + try { - cmdManager.timeout = Convert.ToDouble(entryTimeout.Text); + cmdManager.timeout = Convert.ToDouble(entryTimeout.Text); } catch (Exception) { @@ -427,9 +429,11 @@ public partial class MainWindow : Gtk.Window DrawingArea area = (DrawingArea)o; Gdk.Pixbuf displayPixbuf; + int areaWidth, areaHeight; Gdk.GC gc = area.Style.BackgroundGC(Gtk.StateType.Normal); - area.GdkWindow.GetSize(out int areaWidth, out int areaHeight); + + area.GdkWindow.GetSize(out areaWidth, out areaHeight); int width = drawingareaCameraPixbuf.Width; int height = drawingareaCameraPixbuf.Height; float ratio = (float)width / (float)height; @@ -440,7 +444,7 @@ public partial class MainWindow : Gtk.Window height = (int)(width / ratio); } - if (width>areaWidth) + if (width > areaWidth) { width = areaWidth; } @@ -470,9 +474,9 @@ public partial class MainWindow : Gtk.Window }; ResponseType result = (ResponseType)md.Run(); - md.Destroy(); + md.Destroy(); - if (result == ResponseType.Yes) + if (result == ResponseType.Yes) { status = cmdManager.CameraArenaConfirm(); } @@ -499,8 +503,6 @@ public partial class MainWindow : Gtk.Window return; } - //Thread askArena = new Thread(new System.Threading.ThreadStart(DetectArena)); - //askArena.Start(); DetectArena(); } } diff --git a/software/monitor/monitor/docs/html/_client_8cs.html b/software/monitor/monitor/docs/html/_client_8cs.html new file mode 100644 index 0000000..c82158f --- /dev/null +++ b/software/monitor/monitor/docs/html/_client_8cs.html @@ -0,0 +1,116 @@ + + + + + + + +Monitor: Client.cs File Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Client.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Classes

class  monitor.Client
 Static class for TCP client More...
 
+ + + +

+Namespaces

namespace  monitor
 
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_client_8cs_source.html b/software/monitor/monitor/docs/html/_client_8cs_source.html new file mode 100644 index 0000000..7d41410 --- /dev/null +++ b/software/monitor/monitor/docs/html/_client_8cs_source.html @@ -0,0 +1,120 @@ + + + + + + + +Monitor: Client.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Client.cs
+
+
+Go to the documentation of this file.
1 using System;
2 using System.Net.Sockets;
3 using System.Text;
4 
5 namespace monitor
6 {
10  public static class Client
11  {
15  public const string defaultIP = "localhost";
16 
20  public const int defaultPort = 4500;
21 
25  private static TcpClient client = null;
26 
30  private static NetworkStream stream = null;
31 
35  private const int BufferMaxSize = 512;
36 
40  private static byte[] buffer = new byte[BufferMaxSize];
41 
46  private static byte[] receiveBuffer;
47 
48  private static int initialReceiveBufferIndex = 0;
49 
53  private static StringBuilder message = new StringBuilder();
54  private static int newLength = 1;
55  private static int packetCounter = 0;
56 
60  public delegate void ReadEvent(string msg, byte[] buffer);
61  public static ReadEvent readEvent = null;
62 
68  public static bool Open(string host)
69  {
70  return Client.Open(host, defaultPort);
71  }
72 
79  public static bool Open(string host, int port)
80  {
81  bool status = true;
82 
83  try
84  {
85  client = new TcpClient(host, port);
86 
87  stream = client.GetStream();
88 
89  // Start reading tcp stream and call "ReadCallback" method when newLength data
90  // will be received
91  // initially, "newLength" is equal to 1, so first call to ReadCallback
92  // will be done after reception of 1 byte.
93 
94  // received data are stored in buffer
95  // Next reading will be done in ReadCallback method
96  stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message);
97  }
98  catch (ArgumentNullException e)
99  {
100  Console.WriteLine("ArgumentNullException: " + e);
101  status = false;
102  }
103  catch (SocketException e)
104  {
105  Console.WriteLine("SocketException: " + e.ToString());
106  status = false;
107  }
108  catch (Exception e)
109  {
110  Console.WriteLine("Unknown Exception: " + e.ToString());
111  status = false;
112  }
113 
114  return status;
115  }
116 
120  public static void Close()
121  {
122  if (stream != null) stream.Close();
123  if (client != null) client.Close();
124  }
125 
130  private static void ReadCallback(IAsyncResult ar)
131  {
132  if (client.Connected)
133  {
134  int bytesRead;
135 
136  try
137  {
138  // Termintae read operation, and get number of byte stored in buffer
139  bytesRead = stream.EndRead(ar);
140  }
141  catch (ObjectDisposedException e)
142  {
143  Console.WriteLine("Connection to server dropped: " + e.ToString());
144  return;
145  }
146 
147  newLength = 1;
148 
149  // if number of byte read is not 0, concatenate string and buffer
150  if (bytesRead > 0)
151  {
152  packetCounter++;
153 
154  if (packetCounter >= 3)
155  {
156  //Console.WriteLine("Supplementary packet " + packetCounter);
157  }
158 
159  // Append new data to current string (expecting data are ascii)
160  message.Append(Encoding.ASCII.GetString(buffer, 0, bytesRead));
161 
162  // Similarly, append received bytes to current buffer
163  if (receiveBuffer == null) receiveBuffer = new byte[bytesRead];
164  else Array.Resize<byte>(ref receiveBuffer, initialReceiveBufferIndex + bytesRead); // resize currrent buffer
165 
166  System.Buffer.BlockCopy(buffer, 0, receiveBuffer, initialReceiveBufferIndex, bytesRead); // and add received data
167  initialReceiveBufferIndex = receiveBuffer.Length; // move last index of current buffer
168  }
169 
170  // if it remains received data, prepare for a new reading (get another buffer to append to current one)
171  if (client.Available > 0)
172  {
173  newLength = client.Available;
174  if (newLength > BufferMaxSize) newLength = BufferMaxSize;
175  else newLength = client.Available;
176  }
177  else
178  {
179  // no more data to read, buffer and string can be send to upper level
180  readEvent?.Invoke(message.ToString(), receiveBuffer);
181 
182  message.Clear();
183  receiveBuffer = null;
184  initialReceiveBufferIndex = 0;
185  packetCounter = 0;
186  }
187 
188  // Prepare for reading new data
189  stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message);
190  }
191  }
192 
198  public static void Write(string mes)
199  {
200  if (client.Connected)
201  {
202  byte[] writeBuffer = Encoding.UTF8.GetBytes(mes);
203 
204  stream.Write(writeBuffer, 0, mes.Length);
205  }
206  }
207  }
208 }
static byte [] buffer
Internal buffer used when reading data from server
Definition: Client.cs:40
+
static int packetCounter
Definition: Client.cs:55
+
static int initialReceiveBufferIndex
Definition: Client.cs:48
+
const int defaultPort
Default server port number
Definition: Client.cs:20
+
static TcpClient client
Tcp client object
Definition: Client.cs:25
+
static void Write(string mes)
Write a string to server
Definition: Client.cs:198
+
static byte [] receiveBuffer
buffer containing received message from TCP server Used to concatenate internal buffers into one ...
Definition: Client.cs:46
+ +
const int BufferMaxSize
Size of internal buffer used when reading data from server
Definition: Client.cs:35
+
static NetworkStream stream
Stream object used for communication
Definition: Client.cs:30
+
const string defaultIP
Default server name
Definition: Client.cs:15
+
delegate void ReadEvent(string msg, byte[] buffer)
Callback to send received message to upper level
+
static StringBuilder message
String containing received message from tcp server
Definition: Client.cs:53
+
static int newLength
Definition: Client.cs:54
+
static bool Open(string host, int port)
Open connection to server "host", with port number "port"
Definition: Client.cs:79
+
Definition: Client.cs:5
+
static bool Open(string host)
Open connection to server "host", on default port number.
Definition: Client.cs:68
+
Static class for TCP client
Definition: Client.cs:10
+
static void Close()
Close connection to server
Definition: Client.cs:120
+
static ReadEvent readEvent
Definition: Client.cs:61
+
static void ReadCallback(IAsyncResult ar)
Callback call by stream.BeginRead after reception of newLength data
Definition: Client.cs:130
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_command_manager_8cs.html b/software/monitor/monitor/docs/html/_command_manager_8cs.html new file mode 100644 index 0000000..369ecf5 --- /dev/null +++ b/software/monitor/monitor/docs/html/_command_manager_8cs.html @@ -0,0 +1,116 @@ + + + + + + + +Monitor: CommandManager.cs File Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
CommandManager.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Classes

class  monitor.CommandManager
 Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (Client) and application level managment of command and answers More...
 
+ + + +

+Namespaces

namespace  monitor
 
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_command_manager_8cs_source.html b/software/monitor/monitor/docs/html/_command_manager_8cs_source.html new file mode 100644 index 0000000..39da238 --- /dev/null +++ b/software/monitor/monitor/docs/html/_command_manager_8cs_source.html @@ -0,0 +1,124 @@ + + + + + + + +Monitor: CommandManager.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
CommandManager.cs
+
+
+Go to the documentation of this file.
1 using System.Threading;
2 
3 namespace monitor
4 {
10  public class CommandManager
11  {
15  public delegate void CommandReceivedEvent(string msg, byte[] buffer);
16  public CommandReceivedEvent commandReceivedEvent = null;
17 
21  private System.Timers.Timer waitTimer = new System.Timers.Timer();
22  private ManualResetEvent waitEvent = new ManualResetEvent(false);
23 
27  private bool waitForAcknowledge = false;
28 
32  private string messageReceived = null;
33 
37  private bool isBusy = false;
38 
43  {
44  AnswerReceived,
45  Timeout,
46  Busy
47  };
48 
53  public CommandManager(CommandReceivedEvent callback)
54  {
56 
57  this.commandReceivedEvent += callback;
58  waitTimer.Elapsed += OnMessageTimeout;
59  }
60 
66  {
67  Client.Close();
68  }
69 
75  public bool Open(string hostname)
76  {
77  return this.Open(hostname, Client.defaultPort);
78  }
79 
86  public bool Open(string hostname, int port)
87  {
88  return Client.Open(hostname, port);
89  }
90 
94  public void Close()
95  {
96  Client.Close();
97  }
98 
104  private void OnMessageReception(string message, byte[] buffer)
105  {
106  waitTimer.Stop(); // Stop timeout stopwatch
107 
108  this.messageReceived = message;
109  isBusy = false;
110 
111  // if SendCommand wait for an acknowledge, release semaphore waitEvent
112  // so that SendCommand will be able to read received answer
113  // Received answer will not be sent to upper level
114  if (waitForAcknowledge)
115  {
116  waitForAcknowledge = false;
117  waitEvent.Set(); // Envoi de l'evenement
118  }
119  else
120  // if sendCommand doesn't wait for an acknowledge, message received
121  // is for upper level, so call callback
122  {
123 
124  waitForAcknowledge = false;
125 
126  this.commandReceivedEvent?.Invoke(message, buffer);
127  }
128  }
129 
135  private void OnMessageTimeout(object sender, System.Timers.ElapsedEventArgs e)
136  {
137  messageReceived = null;
138  // set buffer and message as null to indicate that no message was received
139  // and call to OnMessagereception is due to timeout
140  OnMessageReception(messageReceived, null);
141  }
142 
150  public CommandManagerStatus SendCommand(string cmd, out string answer, double timeout)
151  {
152  CommandManagerStatus status = CommandManagerStatus.AnswerReceived;
153  answer = null;
154 
155 
156  if (isBusy) status = CommandManagerStatus.Busy;
157  else
158  {
159  isBusy = true;
160 
161  Client.Write(cmd);
162 
163  if (timeout > 0) // la commande attend un acquitement
164  {
165  waitForAcknowledge = true;
166  waitTimer.Interval = timeout;
167  waitTimer.Start();
168 
169  waitEvent.WaitOne();
170  waitEvent.Reset(); // remise à zero pour une prochaine commande
171 
172  if (this.messageReceived == null) // timeout: connection au serveur defectueuse
173  {
174  status = CommandManagerStatus.Timeout;
175  }
176  }
177  else isBusy = false;
178 
179  answer = this.messageReceived;
180  this.messageReceived = null;
181  }
182 
183  return status;
184  }
185  }
186 }
void OnMessageTimeout(object sender, System.Timers.ElapsedEventArgs e)
Callback called by stopwatch on timeout
+
const int defaultPort
Default server port number
Definition: Client.cs:20
+
bool Open(string hostname)
Open the specified hostname server, using default port number.
+
static void Write(string mes)
Write a string to server
Definition: Client.cs:198
+
Command Manager. Use for timeout managment during reception of data Used as intermediate layer betwee...
+ +
delegate void CommandReceivedEvent(string msg, byte[] buffer)
Callback for sending received data to upper level
+
CommandManagerStatus SendCommand(string cmd, out string answer, double timeout)
Sends a command to TCP server
+
bool isBusy
flag indicating command manager is currently busy waiting an acknowledge
+
void OnMessageReception(string message, byte[] buffer)
Callback called by Client class after reception of new message
+
CommandReceivedEvent commandReceivedEvent
+
System.Timers.Timer waitTimer
Timer for managing timeout
+
ManualResetEvent waitEvent
+
Definition: Client.cs:5
+
static bool Open(string host)
Open connection to server "host", on default port number.
Definition: Client.cs:68
+
Static class for TCP client
Definition: Client.cs:10
+
static void Close()
Close connection to server
Definition: Client.cs:120
+
CommandManagerStatus
Available status when sending command
+
static ReadEvent readEvent
Definition: Client.cs:61
+
bool Open(string hostname, int port)
Open connection to server "host", with port number "port"
+
string messageReceived
received message
+
CommandManager(CommandReceivedEvent callback)
Initializes a new instance of the T:monitor.CommandManager class.
+
~CommandManager()
Releases unmanaged resources and performs other cleanup operations before the T:monitor.CommandManager is reclaimed by garbage collection.
+
bool waitForAcknowledge
Flag to tell rogram to wait for an acknowledge from server
+
void Close()
Close connection to server
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_destijl_command_manager_8cs.html b/software/monitor/monitor/docs/html/_destijl_command_manager_8cs.html new file mode 100644 index 0000000..5db1682 --- /dev/null +++ b/software/monitor/monitor/docs/html/_destijl_command_manager_8cs.html @@ -0,0 +1,119 @@ + + + + + + + +Monitor: DestijlCommandManager.cs File Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
DestijlCommandManager.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + + + + +

+Classes

class  monitor.DestijlCommandList
 
class  monitor.RobotCommandList
 
class  monitor.DestijlCommandManager
 
+ + + +

+Namespaces

namespace  monitor
 
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_destijl_command_manager_8cs_source.html b/software/monitor/monitor/docs/html/_destijl_command_manager_8cs_source.html new file mode 100644 index 0000000..ecb2c34 --- /dev/null +++ b/software/monitor/monitor/docs/html/_destijl_command_manager_8cs_source.html @@ -0,0 +1,168 @@ + + + + + + + +Monitor: DestijlCommandManager.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
DestijlCommandManager.cs
+
+
+Go to the documentation of this file.
1 using System;
2 
3 namespace monitor
4 {
5  public class DestijlCommandList
6  {
7  public const string HeaderMtsComDmb = "COM";
8  public const string HeaderMtsDmbOrder = "DMB";
9  public const string HeaderMtsCamera = "CAM";
10  public const string HeaderMtsMessage = "MSG";
11 
12  public const string DataComOpen = "o";
13  public const string DataComClose = "C";
14 
15  public const string DataCamOpen = "A";
16  public const string DataCamClose = "I";
17  public const string DataCamAskArena = "y";
18  public const string DataCamArenaConfirm = "x";
19  public const string DataCamInfirm = "z";
20  public const string DataCamComputePosition = "p";
21  public const string DataCamStopComputePosition = "s";
22 
23  public const string HeaderStmAck = "ACK";
24  public const string HeaderStmNoAck = "NAK";
25  public const string HeaderStmLostDmb = "LCD";
26  public const string HeaderStmImage = "IMG";
27  public const string HeaderStmPos = "POS";
28  public const string HeaderStmMes = "MSG";
29  public const string HeaderStmBat = "BAT";
30  }
31 
32  public class RobotCommandList
33  {
34  public const string RobotPing = "p";
35  public const string RobotReset = "r";
36  public const string RobotStartWithoutWatchdog = "u";
37  public const string RobotStartWithWatchdog = "W";
38  public const string RobotGetBattery = "v";
39  public const string RobotGetBusyState = "b";
40  public const string RobotMove = "M";
41  public const string RobotTurn = "T";
42  public const string RobotGetVersion = "V";
43  public const string RobotPowerOff = "z";
44  }
45 
46  public class DestijlCommandManager
47  {
48  private CommandManager commandManager = null;
49 
50  private string receivedHeader = null;
51  private string receivedData = null;
52 
53  public delegate void CommandReceivedEvent(string header, string data, byte[] buffer);
54  public CommandReceivedEvent commandReceivedEvent = null;
55 
56  public double timeout = 100; // timeout pour les commandes avec acquitement
57 
58  public enum CommandStatus
59  {
60  Success,
61  Rejected,
62  InvalidAnswer,
63  Busy,
64  CommunicationLostWithRobot,
65  CommunicationLostWithServer
66  }
67 
68  public DestijlCommandManager(CommandReceivedEvent callback)
69  {
70  commandManager = new CommandManager(OnCommandReceived);
71  this.commandReceivedEvent += callback;
72  }
73 
75  {
76  if (commandManager != null) commandManager.Close();
77  }
78 
79  private void OnCommandReceived(string msg, byte[] buffer)
80  {
81  string[] msgs = msg.Split(':');
82 
83  if (msgs.Length >= 1) receivedHeader = msgs[0];
84  else receivedHeader = null;
85 
86  if (msgs.Length >= 2) receivedData = msgs[1];
87  else receivedData = null;
88 
89  this.commandReceivedEvent?.Invoke(receivedHeader, receivedData, buffer);
90  }
91 
92  public bool Open(string hostname)
93  {
94  return this.Open(hostname, Client.defaultPort);
95  }
96 
97  public bool Open(string hostname, int port)
98  {
99  if (commandManager != null) return commandManager.Open(hostname, port);
100  else return false;
101  }
102 
103  public void Close()
104  {
105  if (commandManager != null) commandManager.Close();
106  }
107 
108  private string CreateCommand(string header, string data)
109  {
110  return header + ":" + data;
111  }
112 
113  private void SplitCommand(string cmd, out string header, out string data)
114  {
115  string[] cmdParts = cmd.Split(':');
116 
117  if (cmdParts.Length > 0) header = cmdParts[0];
118  else header = null;
119 
120  if (cmdParts.Length > 1) data = cmdParts[1];
121  else data = null;
122  }
123 
124  private CommandStatus DecodeStatus(CommandManager.CommandManagerStatus localStatus, string answer)
125  {
126  CommandStatus status = CommandStatus.Success;
127 
128  if (localStatus == CommandManager.CommandManagerStatus.Timeout) status = CommandStatus.CommunicationLostWithServer;
129  else if (localStatus == CommandManager.CommandManagerStatus.Busy) status = CommandStatus.Busy;
130  else
131  {
132  if (answer != null)
133  {
134  if (answer.ToUpper().Contains(DestijlCommandList.HeaderStmNoAck)) status = CommandStatus.Rejected;
135  else if (answer.ToUpper().Contains(DestijlCommandList.HeaderStmLostDmb)) status = CommandStatus.CommunicationLostWithRobot;
136  else if (answer.Length == 0) status = CommandStatus.CommunicationLostWithServer;
137  //else status = CommandStatus.InvalidAnswer;
138  }
139  }
140 
141  return status;
142  }
143 
145  {
147  string answer;
148 
149  localStatus = commandManager.SendCommand(
151  out answer,
152  this.timeout);
153 
154  return DecodeStatus(localStatus, answer);
155  }
156 
158  {
160  string answer;
161 
162  localStatus = commandManager.SendCommand(
164  out answer,
165  this.timeout);
166 
167  return DecodeStatus(localStatus, answer);
168  }
169 
171  {
173  string answer;
174 
175  localStatus = commandManager.SendCommand(
177  out answer,
178  this.timeout);
179 
180  return DecodeStatus(localStatus, answer);
181  }
182 
184  {
186  string answer;
187 
188  localStatus = commandManager.SendCommand(
190  out answer,
191  0);
192 
193  return DecodeStatus(localStatus, answer);
194  }
195 
197  {
199  string answer;
200 
201  localStatus = commandManager.SendCommand(
203  out answer,
204  this.timeout);
205 
206  return DecodeStatus(localStatus, answer);
207  }
208 
210  {
212  string answer;
213 
214  localStatus = commandManager.SendCommand(
216  out answer,
217  this.timeout);
218 
219  return DecodeStatus(localStatus, answer);
220  }
221 
222  public CommandStatus RobotMove(int distance)
223  {
225  string answer;
226 
227  localStatus = commandManager.SendCommand(
228  CreateCommand(DestijlCommandList.HeaderMtsDmbOrder, RobotCommandList.RobotMove + "=" + distance),
229  out answer,
230  0);
231 
232  return DecodeStatus(localStatus, answer);
233  }
234 
235  public CommandStatus RobotTurn(int angle)
236  {
238  string answer;
239 
240  localStatus = commandManager.SendCommand(
241  CreateCommand(DestijlCommandList.HeaderMtsDmbOrder, RobotCommandList.RobotTurn + "=" + angle),
242  out answer,
243  0);
244 
245  return DecodeStatus(localStatus, answer);
246  }
247 
248  //public CommandStatus RobotGetBattery(out int battery)
250  {
252  //CommandStatus status = CommandStatus.Success;
253 
254  //battery = -1;
255 
256  string answer;
257 
258  localStatus = commandManager.SendCommand(
260  out answer,
261  0);
262 
263  //if (localStatus == CommandManager.CommandManagerStatus.AnswerReceived) {
264  // string[] msg = answer.Split(':');
265 
266  // if (msg.Length > 1)
267  // {
268  // try
269  // {
270  // battery = Convert.ToInt32(msg[1]);
271  // }
272  // catch (Exception) { }
273  // }
274  //}
275  //else if (localStatus == CommandManager.CommandManagerStatus.Timeout)
276  //{
277  // status = CommandStatus.CommunicationLostWithServer;
278  //}
279 
280  //return status;
281  return DecodeStatus(localStatus, answer);
282  }
283 
284  public CommandStatus RobotGetVersion(out string version)
285  {
287  CommandStatus status = CommandStatus.Success;
288 
289  version = "";
290 
291  string answer;
292 
293  localStatus = commandManager.SendCommand(
295  out answer,
296  this.timeout);
297 
298  if (localStatus == CommandManager.CommandManagerStatus.AnswerReceived)
299  {
300  string[] msg = answer.Split(':');
301 
302  if (msg.Length > 1)
303  {
304  version = msg[1];
305  }
306  }
307  else if (localStatus == CommandManager.CommandManagerStatus.Timeout)
308  {
309  status = CommandStatus.CommunicationLostWithServer;
310  }
311 
312  return status;
313  }
314 
316  {
318  string answer;
319 
320  localStatus = commandManager.SendCommand(
322  out answer,
323  0);
324 
325  return DecodeStatus(localStatus, answer);
326  }
327 
329  {
331  string answer;
332 
333  localStatus = commandManager.SendCommand(
335  out answer,
336  this.timeout);
337 
338  return DecodeStatus(localStatus, answer);
339  }
340 
342  {
344  string answer;
345 
346  localStatus = commandManager.SendCommand(
348  out answer,
349  0);
350 
351  return DecodeStatus(localStatus, answer);
352  }
353 
355  {
357  string answer;
358 
359  localStatus = commandManager.SendCommand(
361  out answer,
362  0);
363 
364  return DecodeStatus(localStatus, answer);
365  }
366 
368  {
370  string answer;
371 
372  localStatus = commandManager.SendCommand(
374  out answer,
375  0);
376 
377  return DecodeStatus(localStatus, answer);
378  }
379 
381  {
383  string answer;
384 
385  localStatus = commandManager.SendCommand(
387  out answer,
388  0);
389 
390  return DecodeStatus(localStatus, answer);
391  }
392 
394  {
396  string answer;
397 
398  localStatus = commandManager.SendCommand(
400  out answer,
401  0);
402 
403  return DecodeStatus(localStatus, answer);
404  }
405 
407  {
409  string answer;
410 
411  localStatus = commandManager.SendCommand(
413  out answer,
414  0);
415 
416  return DecodeStatus(localStatus, answer);
417  }
418  }
419 }
+ +
CommandStatus RobotGetVersion(out string version)
+ +
const int defaultPort
Default server port number
Definition: Client.cs:20
+ +
bool Open(string hostname)
Open the specified hostname server, using default port number.
+ +
Command Manager. Use for timeout managment during reception of data Used as intermediate layer betwee...
+ + + + + +
void OnCommandReceived(string msg, byte[] buffer)
+ + + +
CommandManagerStatus SendCommand(string cmd, out string answer, double timeout)
Sends a command to TCP server
+ + +
bool Open(string hostname, int port)
+ +
void SplitCommand(string cmd, out string header, out string data)
+ + + + + + + + + + + + + + + + + + + +
DestijlCommandManager(CommandReceivedEvent callback)
+ +
CommandStatus RobotTurn(int angle)
+
string CreateCommand(string header, string data)
+ + + + +
Definition: Client.cs:5
+ + + +
Static class for TCP client
Definition: Client.cs:10
+ + +
CommandStatus RobotMove(int distance)
+
CommandManagerStatus
Available status when sending command
+ + + +
CommandStatus DecodeStatus(CommandManager.CommandManagerStatus localStatus, string answer)
+ + + + +
void Close()
Close connection to server
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_monitor_u_i_8cs.html b/software/monitor/monitor/docs/html/_monitor_u_i_8cs.html new file mode 100644 index 0000000..ed920a7 --- /dev/null +++ b/software/monitor/monitor/docs/html/_monitor_u_i_8cs.html @@ -0,0 +1,110 @@ + + + + + + + +Monitor: MonitorUI.cs File Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
MonitorUI.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + + +

+Classes

class  MainWindow
 Main window. More...
 
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_monitor_u_i_8cs_source.html b/software/monitor/monitor/docs/html/_monitor_u_i_8cs_source.html new file mode 100644 index 0000000..4891298 --- /dev/null +++ b/software/monitor/monitor/docs/html/_monitor_u_i_8cs_source.html @@ -0,0 +1,151 @@ + + + + + + + +Monitor: MonitorUI.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MonitorUI.cs
+
+
+Go to the documentation of this file.
1 using System;
2 using Gtk;
3 using Gdk;
4 
5 using monitor;
6 
10 public partial class MainWindow : Gtk.Window
11 {
13  private Pixbuf drawingareaCameraPixbuf;
14 
16  {
17  NotConnected,
18  ServerConnected,
19  RobotConnected
20  };
21 
22  private SystemState systemState = SystemState.NotConnected;
23  private System.Timers.Timer batteryTimer;
24 
25  public MainWindow() : base(Gtk.WindowType.Toplevel)
26  {
27  Build();
28 
30 
31  batteryTimer = new System.Timers.Timer(10000.0);
33 
35  PixbufFormat[] format = Gdk.Pixbuf.Formats;
36  foreach (PixbufFormat f in format)
37  {
38  Console.WriteLine("Format: " + f.Name);
39  }
40  }
41 
42  public void AdjustControls()
43  {
44  ChangeState(SystemState.NotConnected);
45 
46  drawingareaCameraPixbuf = new Pixbuf((string)null);
47  drawingareaCameraPixbuf = Pixbuf.LoadFromResource("monitor.ressources.missing_picture.png");
48 
49  entryServerName.Text = Client.defaultIP;
50  entryServerPort.Text = Client.defaultPort.ToString();
51  entryTimeout.Text = "10000";
52  }
53 
54  private void ChangeState(SystemState newState)
55  {
56  switch (newState)
57  {
58  case SystemState.NotConnected:
59  labelRobot.Sensitive = false;
60  gtkAlignmentRobot.Sensitive = false;
61 
62  labelRobotControl.Sensitive = false;
63  gtkAlignmentRobotControl.Sensitive = false;
64  boxCamera.Sensitive = false;
65 
66  buttonServerConnection.Label = "Connect";
67  buttonRobotActivation.Label = "Activate";
68  labelBatteryLevel.Text = "Unknown";
69 
70  checkButtonCameraOn.Active = false;
71  checkButtonRobotPosition.Active = false;
72  if (cmdManager != null) cmdManager.Close();
73 
74  batteryTimer.Stop();
75  break;
76  case SystemState.ServerConnected:
77  buttonServerConnection.Label = "Disconnect";
78  buttonRobotActivation.Label = "Activate";
79  labelBatteryLevel.Text = "Unknown";
80 
81  labelRobot.Sensitive = true;
82  gtkAlignmentRobot.Sensitive = true;
83  boxCamera.Sensitive = true;
84 
85  labelRobotControl.Sensitive = false;
86  gtkAlignmentRobotControl.Sensitive = false;
87 
88  batteryTimer.Stop();
89  break;
90  case SystemState.RobotConnected:
91  buttonRobotActivation.Label = "Reset";
92  labelRobotControl.Sensitive = true;
93  gtkAlignmentRobotControl.Sensitive = true;
94 
95  batteryTimer.Start();
96  break;
97  default:
98  labelRobot.Sensitive = false;
99  gtkAlignmentRobot.Sensitive = false;
100 
101  labelRobotControl.Sensitive = false;
102  gtkAlignmentRobotControl.Sensitive = false;
103  boxCamera.Sensitive = false;
104 
105  buttonServerConnection.Label = "Connect";
106  buttonRobotActivation.Label = "Activate";
107  labelBatteryLevel.Text = "Unknown";
108 
109  checkButtonCameraOn.Active = false;
110  checkButtonRobotPosition.Active = false;
111 
112  systemState = SystemState.NotConnected;
113 
114  return;
115  }
116 
117  systemState = newState;
118  }
119 
120  private void MessagePopup(MessageType type, ButtonsType buttons, string title, string message)
121  {
122  MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent, type, buttons, message)
123  {
124  Title = title
125  };
126 
127  md.Run();
128  md.Destroy();
129  }
130 
131  protected void OnDeleteEvent(object sender, DeleteEventArgs a)
132  {
133  Console.WriteLine("Bye bye");
134 
135  if (cmdManager != null) cmdManager.Close();
136  Application.Quit();
137  a.RetVal = true;
138  }
139 
140  public void OnCommandReceivedEvent(string header, string data, byte[] buffer)
141  {
142  if (header != null)
143  {
144  Console.WriteLine("Received header (" + header.Length + "): " + header);
145  if (header.ToUpper() != DestijlCommandList.HeaderStmImage)
146  {
147  if (data != null) Console.WriteLine("Received data (" + data.Length + "): " + data);
148  }
149 
150  if (header.ToUpper() == DestijlCommandList.HeaderStmBat)
151  {
152  switch (data[0])
153  {
154  case '2':
155  labelBatteryLevel.Text = "High";
156  break;
157  case '1':
158  labelBatteryLevel.Text = "Low";
159  break;
160  case '0':
161  labelBatteryLevel.Text = "Empty";
162  break;
163  default:
164  labelBatteryLevel.Text = "Invalid value";
165  break;
166  }
167  }
168  else if (header.ToUpper() == DestijlCommandList.HeaderStmImage)
169  {
170  byte[] image = new byte[buffer.Length - 4];
171  System.Buffer.BlockCopy(buffer, 4, image, 0, image.Length);
172 
173  drawingareaCameraPixbuf = new Pixbuf(image);
174  drawingAreaCamera.QueueDraw();
175  }
176  }
177  }
178 
179  protected void OnQuitActionActivated(object sender, EventArgs e)
180  {
181  Console.WriteLine("Bye bye 2");
182  if (cmdManager != null) cmdManager.Close();
183  this.Destroy();
184  Application.Quit();
185  }
186 
187  protected void OnShowLogWindowActionActivated(object sender, EventArgs e)
188  {
189  MessagePopup(MessageType.Info,
190  ButtonsType.Ok, "Info",
191  "Logger not yet implemented");
192  }
193 
194  protected void OnButtonServerConnectionClicked(object sender, EventArgs e)
195  {
197 
198  if (buttonServerConnection.Label == "Disconnect")
199  {
200  ChangeState(SystemState.NotConnected);
201  }
202  else
203  {
204  if ((entryServerName.Text == "") || (entryServerPort.Text == ""))
205  {
206  MessagePopup(MessageType.Error,
207  ButtonsType.Ok, "Error",
208  "Server name or port is invalid");
209  }
210  else
211  {
212  Console.WriteLine("Connecting to " + entryServerName.Text + ":" + entryServerPort.Text);
213  bool status = false;
214 
215  try
216  {
217  cmdManager.timeout = Convert.ToDouble(entryTimeout.Text);
218  }
219  catch (Exception)
220  {
221  cmdManager.timeout = 100;
222  entryTimeout.Text = cmdManager.timeout.ToString();
223  }
224 
225  try
226  {
227  status = cmdManager.Open(entryServerName.Text, Convert.ToInt32(entryServerPort.Text));
228  }
229  catch (Exception)
230  {
231  Console.WriteLine("Something went wrong during connection");
232  return;
233  }
234 
235  if (status != true)
236  {
237  MessagePopup(MessageType.Error,
238  ButtonsType.Ok, "Error",
239  "Unable to connect to server " + entryServerName.Text + ":" + Convert.ToInt32(entryServerPort.Text));
240  }
241  else
242  {
243  Console.Write("Send command RobotOpenCom: ");
244  statusCmd = cmdManager.RobotOpenCom();
245  Console.WriteLine(statusCmd.ToString());
246 
247  if (statusCmd == DestijlCommandManager.CommandStatus.Success)
248  {
249  ChangeState(SystemState.ServerConnected);
250  }
251  else
252  {
253  MessagePopup(MessageType.Error,
254  ButtonsType.Ok, "Error",
255  "Unable to open communication with robot.\nCheck that supervisor is accepting OPEN_COM_DMB command");
256 
257  cmdManager.Close();
258  }
259  }
260  }
261  }
262  }
263 
264  protected void OnButtonRobotActivationClicked(object sender, EventArgs e)
265  {
267 
268  if (buttonRobotActivation.Label == "Activate") // activation du robot
269  {
270  if (radioButtonWithWatchdog.Active) // Demarrage avec watchdog
271  {
272  status = cmdManager.RobotStartWithWatchdog();
273  }
274  else // Demarrage sans watchdog
275  {
276  status = cmdManager.RobotStartWithoutWatchdog();
277  }
278 
279  if (status == DestijlCommandManager.CommandStatus.Success)
280  {
281  ChangeState(SystemState.RobotConnected);
282  }
283  else
284  {
285  if (status == DestijlCommandManager.CommandStatus.CommunicationLostWithServer)
286  {
287  MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Connection lost with server");
288  ChangeState(SystemState.NotConnected);
289  }
290  else
291  {
292  MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Command rejected\nCheck that supervisor accept \nDMB_START_WITH_WD and/or DMB_START_WITHOUT_WD");
293  }
294  }
295  }
296  else // Reset du robot
297  {
298  status = cmdManager.RobotReset();
299 
300  if (status == DestijlCommandManager.CommandStatus.Success)
301  {
302  ChangeState(SystemState.ServerConnected);
303  }
304  else
305  {
306  if (status == DestijlCommandManager.CommandStatus.CommunicationLostWithServer)
307  {
308  MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Connection lost with server");
309  ChangeState(SystemState.NotConnected);
310  }
311  else
312  {
313  MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Unknown error");
314  }
315  }
316  }
317  }
318 
319  protected void OnButtonMouvClicked(object sender, EventArgs e)
320  {
321  if (sender == buttonRight)
322  {
323  cmdManager.RobotTurn(90);
324  }
325  else if (sender == buttonLeft)
326  {
327  cmdManager.RobotTurn(-90);
328  }
329  else if (sender == buttonForward)
330  {
331  cmdManager.RobotMove(100);
332  }
333  else if (sender == buttonDown)
334  {
335  cmdManager.RobotMove(-100);
336  }
337  else
338  {
339  MessagePopup(MessageType.Warning, ButtonsType.Ok, "Abnormal behavior", "Callback OnButtonMouvClicked called by unknown sender");
340  }
341  }
342 
343  void OnBatteryTimerElapsed(object sender, System.Timers.ElapsedEventArgs e)
344  {
346  batteryTimer.Stop();
347 
348  if (checkButtonGetBattery.Active)
349  {
350  status = cmdManager.RobotGetBattery();
351  switch (status)
352  {
354  batteryTimer.Start();
355  break;
356  case DestijlCommandManager.CommandStatus.CommunicationLostWithServer:
357  Console.WriteLine("Error: Connection lost with server");
358  batteryTimer.Stop();
359  labelBatteryLevel.Text = "Unknown";
360 
361  ChangeState(SystemState.NotConnected);
362  break;
363  case DestijlCommandManager.CommandStatus.CommunicationLostWithRobot:
364  Console.WriteLine("Error: Connection lost with robot");
365  batteryTimer.Stop();
366  labelBatteryLevel.Text = "Unknown";
367 
368  ChangeState(SystemState.ServerConnected);
369  break;
370  default:
371  labelBatteryLevel.Text = "Unknown";
372  batteryTimer.Start();
373  break;
374  }
375  }
376  else batteryTimer.Start();
377  }
378 
379  protected void OnCheckButtonCameraOnClicked(object sender, EventArgs e)
380  {
381  if (!checkButtonCameraOn.Active)
382  {
383  if (cmdManager.CameraClose() != DestijlCommandManager.CommandStatus.Success)
384  {
385  MessagePopup(MessageType.Error,
386  ButtonsType.Ok, "Error",
387  "Error when closing camera: bad answer for supervisor or timeout");
388  }
389  }
390  else
391  {
392  if (cmdManager.CameraOpen() != DestijlCommandManager.CommandStatus.Success)
393  {
394  MessagePopup(MessageType.Error,
395  ButtonsType.Ok, "Error",
396  "Error when opening camera: bad answer for supervisor or timeout");
397  checkButtonCameraOn.Active = false;
398  }
399  }
400  }
401 
402  protected void OnCheckButtonRobotPositionClicked(object sender, EventArgs e)
403  {
404  if (!checkButtonRobotPosition.Active)
405  {
407  {
408  MessagePopup(MessageType.Error,
409  ButtonsType.Ok, "Error",
410  "Error when stopping position reception: bad answer for supervisor or timeout");
411  }
412  }
413  else
414  {
415  if (cmdManager.CameraComputePosition() != DestijlCommandManager.CommandStatus.Success)
416  {
417  MessagePopup(MessageType.Error,
418  ButtonsType.Ok, "Error",
419  "Error when starting getting robot position: bad answer for supervisor or timeout");
420 
421  checkButtonRobotPosition.Active = false;
422  }
423  }
424  }
425 
426  protected void OnDrawingAreaCameraExposeEvent(object o, ExposeEventArgs args)
427  {
428  //Console.WriteLine("Event expose. Args = " + args.ToString());
429 
430  DrawingArea area = (DrawingArea)o;
431  Gdk.Pixbuf displayPixbuf;
432  int areaWidth, areaHeight;
433 
434  Gdk.GC gc = area.Style.BackgroundGC(Gtk.StateType.Normal);
435 
436  area.GdkWindow.GetSize(out areaWidth, out areaHeight);
437  int width = drawingareaCameraPixbuf.Width;
438  int height = drawingareaCameraPixbuf.Height;
439  float ratio = (float)width / (float)height;
440 
441  if (areaWidth <= width)
442  {
443  width = areaWidth;
444  height = (int)(width / ratio);
445  }
446 
447  if (width > areaWidth)
448  {
449  width = areaWidth;
450  }
451 
452  if (height > areaHeight)
453  {
454  height = areaHeight;
455  }
456 
457  displayPixbuf = drawingareaCameraPixbuf.ScaleSimple(width, height, InterpType.Bilinear);
458 
459  area.GdkWindow.DrawPixbuf(gc, displayPixbuf,
460  0, 0,
461  (areaWidth - displayPixbuf.Width) / 2,
462  (areaHeight - displayPixbuf.Height) / 2,
463  displayPixbuf.Width, displayPixbuf.Height,
464  RgbDither.Normal, 0, 0);
465  }
466 
467  protected void DetectArena()
468  {
470  MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent,
471  MessageType.Question, ButtonsType.YesNo, "Arena is correct ?");
472  {
473  Title = "Check arena";
474  };
475 
476  ResponseType result = (ResponseType)md.Run();
477  md.Destroy();
478 
479  if (result == ResponseType.Yes)
480  {
481  status = cmdManager.CameraArenaConfirm();
482  }
483  else
484  {
485  status = cmdManager.CameraArenaInfirm();
486  }
487 
488  if (status != DestijlCommandManager.CommandStatus.Success)
489  {
490  MessagePopup(MessageType.Error,
491  ButtonsType.Ok, "Error",
492  "Unable to send Confirm or Infirm arena command to supervisor");
493  }
494  }
495 
496  protected void OnButtonAskArenaClicked(object sender, EventArgs e)
497  {
498  if (cmdManager.CameraAskArena() != DestijlCommandManager.CommandStatus.Success)
499  {
500  MessagePopup(MessageType.Error,
501  ButtonsType.Ok, "Error",
502  "Error when asking for arena rendering");
503  return;
504  }
505 
506  DetectArena();
507  }
508 }
+ + + +
const int defaultPort
Default server port number
Definition: Client.cs:20
+
void OnButtonServerConnectionClicked(object sender, EventArgs e)
Definition: MonitorUI.cs:194
+ + + + + +
void OnButtonRobotActivationClicked(object sender, EventArgs e)
Definition: MonitorUI.cs:264
+
DestijlCommandManager cmdManager
Definition: MonitorUI.cs:12
+ +
void OnCheckButtonCameraOnClicked(object sender, EventArgs e)
Definition: MonitorUI.cs:379
+ +
void DetectArena()
Definition: MonitorUI.cs:467
+
Pixbuf drawingareaCameraPixbuf
Definition: MonitorUI.cs:13
+
void OnDeleteEvent(object sender, DeleteEventArgs a)
Definition: MonitorUI.cs:131
+ + + +
const string defaultIP
Default server name
Definition: Client.cs:15
+ + +
void OnBatteryTimerElapsed(object sender, System.Timers.ElapsedEventArgs e)
Definition: MonitorUI.cs:343
+
void OnButtonMouvClicked(object sender, EventArgs e)
Definition: MonitorUI.cs:319
+
void OnShowLogWindowActionActivated(object sender, EventArgs e)
Definition: MonitorUI.cs:187
+
void OnCheckButtonRobotPositionClicked(object sender, EventArgs e)
Definition: MonitorUI.cs:402
+ + +
void ChangeState(SystemState newState)
Definition: MonitorUI.cs:54
+
void MessagePopup(MessageType type, ButtonsType buttons, string title, string message)
Definition: MonitorUI.cs:120
+
void OnQuitActionActivated(object sender, EventArgs e)
Definition: MonitorUI.cs:179
+
MainWindow()
Definition: MonitorUI.cs:25
+ +
CommandStatus RobotTurn(int angle)
+ +
void OnDrawingAreaCameraExposeEvent(object o, ExposeEventArgs args)
Definition: MonitorUI.cs:426
+
Definition: Client.cs:5
+
void OnButtonAskArenaClicked(object sender, EventArgs e)
Definition: MonitorUI.cs:496
+
Static class for TCP client
Definition: Client.cs:10
+
System.Timers.Timer batteryTimer
Definition: MonitorUI.cs:23
+
void AdjustControls()
Definition: MonitorUI.cs:42
+
CommandStatus RobotMove(int distance)
+
SystemState systemState
Definition: MonitorUI.cs:22
+
Main window.
Definition: MonitorUI.cs:10
+ + +
void OnCommandReceivedEvent(string header, string data, byte[] buffer)
Definition: MonitorUI.cs:140
+ + +
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_program_8cs.html b/software/monitor/monitor/docs/html/_program_8cs.html new file mode 100644 index 0000000..881301d --- /dev/null +++ b/software/monitor/monitor/docs/html/_program_8cs.html @@ -0,0 +1,115 @@ + + + + + + + +Monitor: Program.cs File Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
Program.cs File Reference
+
+
+ +

Go to the source code of this file.

+ + + + +

+Classes

class  monitor.MainClass
 
+ + + +

+Namespaces

namespace  monitor
 
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/_program_8cs_source.html b/software/monitor/monitor/docs/html/_program_8cs_source.html new file mode 100644 index 0000000..4f4d079 --- /dev/null +++ b/software/monitor/monitor/docs/html/_program_8cs_source.html @@ -0,0 +1,105 @@ + + + + + + + +Monitor: Program.cs Source File + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Program.cs
+
+
+Go to the documentation of this file.
1 using System;
2 using Gtk;
3 
4 namespace monitor
5 {
6  class MainClass
7  {
8  public static void Main(string[] args)
9  {
10  Application.Init();
11  MainWindow win = new MainWindow();
12  win.Show();
13  Application.Run();
14  }
15  }
16 }
+ +
static void Main(string[] args)
Definition: Program.cs:8
+ +
Definition: Client.cs:5
+
Main window.
Definition: MonitorUI.cs:10
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/annotated.html b/software/monitor/monitor/docs/html/annotated.html new file mode 100644 index 0000000..c9bb726 --- /dev/null +++ b/software/monitor/monitor/docs/html/annotated.html @@ -0,0 +1,110 @@ + + + + + + + +Monitor: Class List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 12]
+ + + + + + + + +
 Nmonitor
 CClientStatic class for TCP client
 CCommandManagerCommand Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (Client) and application level managment of command and answers
 CDestijlCommandList
 CDestijlCommandManager
 CMainClass
 CRobotCommandList
 CMainWindowMain window.
+
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/annotated_dup.js b/software/monitor/monitor/docs/html/annotated_dup.js new file mode 100644 index 0000000..6714421 --- /dev/null +++ b/software/monitor/monitor/docs/html/annotated_dup.js @@ -0,0 +1,5 @@ +var annotated_dup = +[ + [ "monitor", "namespacemonitor.html", "namespacemonitor" ], + [ "MainWindow", "class_main_window.html", "class_main_window" ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/bc_s.png b/software/monitor/monitor/docs/html/bc_s.png new file mode 100644 index 0000000..224b29a Binary files /dev/null and b/software/monitor/monitor/docs/html/bc_s.png differ diff --git a/software/monitor/monitor/docs/html/bdwn.png b/software/monitor/monitor/docs/html/bdwn.png new file mode 100644 index 0000000..940a0b9 Binary files /dev/null and b/software/monitor/monitor/docs/html/bdwn.png differ diff --git a/software/monitor/monitor/docs/html/class_main_window-members.html b/software/monitor/monitor/docs/html/class_main_window-members.html new file mode 100644 index 0000000..2807c15 --- /dev/null +++ b/software/monitor/monitor/docs/html/class_main_window-members.html @@ -0,0 +1,123 @@ + + + + + + + +Monitor: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
MainWindow Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + +
AdjustControls()MainWindow
batteryTimerMainWindowprivate
ChangeState(SystemState newState)MainWindowprivate
cmdManagerMainWindowprivate
DetectArena()MainWindowprotected
drawingareaCameraPixbufMainWindowprivate
MainWindow()MainWindow
MessagePopup(MessageType type, ButtonsType buttons, string title, string message)MainWindowprivate
OnBatteryTimerElapsed(object sender, System.Timers.ElapsedEventArgs e)MainWindowprivate
OnButtonAskArenaClicked(object sender, EventArgs e)MainWindowprotected
OnButtonMouvClicked(object sender, EventArgs e)MainWindowprotected
OnButtonRobotActivationClicked(object sender, EventArgs e)MainWindowprotected
OnButtonServerConnectionClicked(object sender, EventArgs e)MainWindowprotected
OnCheckButtonCameraOnClicked(object sender, EventArgs e)MainWindowprotected
OnCheckButtonRobotPositionClicked(object sender, EventArgs e)MainWindowprotected
OnCommandReceivedEvent(string header, string data, byte[] buffer)MainWindow
OnDeleteEvent(object sender, DeleteEventArgs a)MainWindowprotected
OnDrawingAreaCameraExposeEvent(object o, ExposeEventArgs args)MainWindowprotected
OnQuitActionActivated(object sender, EventArgs e)MainWindowprotected
OnShowLogWindowActionActivated(object sender, EventArgs e)MainWindowprotected
SystemState enum nameMainWindowprivate
systemStateMainWindowprivate
+
+ + + + diff --git a/software/monitor/monitor/docs/html/class_main_window.html b/software/monitor/monitor/docs/html/class_main_window.html new file mode 100644 index 0000000..f6e0778 --- /dev/null +++ b/software/monitor/monitor/docs/html/class_main_window.html @@ -0,0 +1,919 @@ + + + + + + + +Monitor: MainWindow Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Main window. + More...

+
+Inheritance diagram for MainWindow:
+
+
Inheritance graph
+
[legend]
+
+Collaboration diagram for MainWindow:
+
+
Collaboration graph
+ + + + +
[legend]
+ + + + + + + + +

+Public Member Functions

 MainWindow ()
 
void AdjustControls ()
 
void OnCommandReceivedEvent (string header, string data, byte[] buffer)
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

void OnDeleteEvent (object sender, DeleteEventArgs a)
 
void OnQuitActionActivated (object sender, EventArgs e)
 
void OnShowLogWindowActionActivated (object sender, EventArgs e)
 
void OnButtonServerConnectionClicked (object sender, EventArgs e)
 
void OnButtonRobotActivationClicked (object sender, EventArgs e)
 
void OnButtonMouvClicked (object sender, EventArgs e)
 
void OnCheckButtonCameraOnClicked (object sender, EventArgs e)
 
void OnCheckButtonRobotPositionClicked (object sender, EventArgs e)
 
void OnDrawingAreaCameraExposeEvent (object o, ExposeEventArgs args)
 
void DetectArena ()
 
void OnButtonAskArenaClicked (object sender, EventArgs e)
 
+ + + +

+Private Types

enum  SystemState { SystemState.NotConnected, +SystemState.ServerConnected, +SystemState.RobotConnected + }
 
+ + + + + + + +

+Private Member Functions

void ChangeState (SystemState newState)
 
void MessagePopup (MessageType type, ButtonsType buttons, string title, string message)
 
void OnBatteryTimerElapsed (object sender, System.Timers.ElapsedEventArgs e)
 
+ + + + + + + + + +

+Private Attributes

DestijlCommandManager cmdManager
 
Pixbuf drawingareaCameraPixbuf
 
SystemState systemState = SystemState.NotConnected
 
System.Timers.Timer batteryTimer
 
+

Detailed Description

+

Main window.

+ +

Definition at line 10 of file MonitorUI.cs.

+

Member Enumeration Documentation

+ +

◆ SystemState

+ +
+
+ + + + + +
+ + + + +
enum MainWindow.SystemState
+
+strongprivate
+
+ + + + +
Enumerator
NotConnected 
ServerConnected 
RobotConnected 
+ +

Definition at line 15 of file MonitorUI.cs.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ MainWindow()

+ +
+
+ + + + + + + +
MainWindow.MainWindow ()
+
+ +

Definition at line 25 of file MonitorUI.cs.

+ +
+
+

Member Function Documentation

+ +

◆ AdjustControls()

+ +
+
+ + + + + + + +
void MainWindow.AdjustControls ()
+
+ +

Definition at line 42 of file MonitorUI.cs.

+ +
+
+ +

◆ ChangeState()

+ +
+
+ + + + + +
+ + + + + + + + +
void MainWindow.ChangeState (SystemState newState)
+
+private
+
+ +

Definition at line 54 of file MonitorUI.cs.

+ +
+
+ +

◆ DetectArena()

+ +
+
+ + + + + +
+ + + + + + + +
void MainWindow.DetectArena ()
+
+protected
+
+ +

Definition at line 467 of file MonitorUI.cs.

+ +
+
+ +

◆ MessagePopup()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void MainWindow.MessagePopup (MessageType type,
ButtonsType buttons,
string title,
string message 
)
+
+private
+
+ +

Definition at line 120 of file MonitorUI.cs.

+ +
+
+ +

◆ OnBatteryTimerElapsed()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnBatteryTimerElapsed (object sender,
System.Timers.ElapsedEventArgs e 
)
+
+private
+
+ +

Definition at line 343 of file MonitorUI.cs.

+ +
+
+ +

◆ OnButtonAskArenaClicked()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnButtonAskArenaClicked (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 496 of file MonitorUI.cs.

+ +
+
+ +

◆ OnButtonMouvClicked()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnButtonMouvClicked (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 319 of file MonitorUI.cs.

+ +
+
+ +

◆ OnButtonRobotActivationClicked()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnButtonRobotActivationClicked (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 264 of file MonitorUI.cs.

+ +
+
+ +

◆ OnButtonServerConnectionClicked()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnButtonServerConnectionClicked (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 194 of file MonitorUI.cs.

+ +
+
+ +

◆ OnCheckButtonCameraOnClicked()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnCheckButtonCameraOnClicked (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 379 of file MonitorUI.cs.

+ +
+
+ +

◆ OnCheckButtonRobotPositionClicked()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnCheckButtonRobotPositionClicked (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 402 of file MonitorUI.cs.

+ +
+
+ +

◆ OnCommandReceivedEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void MainWindow.OnCommandReceivedEvent (string header,
string data,
byte [] buffer 
)
+
+ +

Definition at line 140 of file MonitorUI.cs.

+ +
+
+ +

◆ OnDeleteEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnDeleteEvent (object sender,
DeleteEventArgs a 
)
+
+protected
+
+ +

Definition at line 131 of file MonitorUI.cs.

+ +
+
+ +

◆ OnDrawingAreaCameraExposeEvent()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnDrawingAreaCameraExposeEvent (object o,
ExposeEventArgs args 
)
+
+protected
+
+ +

Definition at line 426 of file MonitorUI.cs.

+ +
+
+ +

◆ OnQuitActionActivated()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnQuitActionActivated (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 179 of file MonitorUI.cs.

+ +
+
+ +

◆ OnShowLogWindowActionActivated()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void MainWindow.OnShowLogWindowActionActivated (object sender,
EventArgs e 
)
+
+protected
+
+ +

Definition at line 187 of file MonitorUI.cs.

+ +
+
+

Member Data Documentation

+ +

◆ batteryTimer

+ +
+
+ + + + + +
+ + + + +
System.Timers.Timer MainWindow.batteryTimer
+
+private
+
+ +

Definition at line 23 of file MonitorUI.cs.

+ +
+
+ +

◆ cmdManager

+ +
+
+ + + + + +
+ + + + +
DestijlCommandManager MainWindow.cmdManager
+
+private
+
+ +

Definition at line 12 of file MonitorUI.cs.

+ +
+
+ +

◆ drawingareaCameraPixbuf

+ +
+
+ + + + + +
+ + + + +
Pixbuf MainWindow.drawingareaCameraPixbuf
+
+private
+
+ +

Definition at line 13 of file MonitorUI.cs.

+ +
+
+ +

◆ systemState

+ +
+
+ + + + + +
+ + + + +
SystemState MainWindow.systemState = SystemState.NotConnected
+
+private
+
+ +

Definition at line 22 of file MonitorUI.cs.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/software/monitor/monitor/docs/html/class_main_window.js b/software/monitor/monitor/docs/html/class_main_window.js new file mode 100644 index 0000000..0ad7f99 --- /dev/null +++ b/software/monitor/monitor/docs/html/class_main_window.js @@ -0,0 +1,29 @@ +var class_main_window = +[ + [ "SystemState", "class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3d", [ + [ "NotConnected", "class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da4075072d219e061ca0f3124f8fbef463", null ], + [ "ServerConnected", "class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da911ba363fd1483b5b36fda7b0149cf76", null ], + [ "RobotConnected", "class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da9761e78f9ae0d6f598d953b4d9e839e1", null ] + ] ], + [ "MainWindow", "class_main_window.html#af607d50e4d1b04d3c494661489283f45", null ], + [ "AdjustControls", "class_main_window.html#a9a0f3d4cd871609f12d328af2f588664", null ], + [ "ChangeState", "class_main_window.html#aedc27cabbe1604313a452fcbf3ffe9f4", null ], + [ "DetectArena", "class_main_window.html#a89c79ce9ca4114ca9c50f32dc080e9cd", null ], + [ "MessagePopup", "class_main_window.html#afc4f923aaa481a93dddaff6303efb9e0", null ], + [ "OnBatteryTimerElapsed", "class_main_window.html#af303b70c08cda04a76f6418f727c4891", null ], + [ "OnButtonAskArenaClicked", "class_main_window.html#a31e299085d6286d680bd488c73fdff82", null ], + [ "OnButtonMouvClicked", "class_main_window.html#a7f8d06747f887216ab8c941ad10cb48b", null ], + [ "OnButtonRobotActivationClicked", "class_main_window.html#a2b5e11a49a10b24c59bebb377cdfeae8", null ], + [ "OnButtonServerConnectionClicked", "class_main_window.html#ac0acc6c3a63f405f14ec8e4d132a2661", null ], + [ "OnCheckButtonCameraOnClicked", "class_main_window.html#af4b587cdd614d5bdb8d9158a1f59e4fa", null ], + [ "OnCheckButtonRobotPositionClicked", "class_main_window.html#a20d07605619027d82a30552f294b128f", null ], + [ "OnCommandReceivedEvent", "class_main_window.html#a4b651f10b9079c128b9e36d15ad10211", null ], + [ "OnDeleteEvent", "class_main_window.html#a64bdcb29cebb58957790da1ee2733fe1", null ], + [ "OnDrawingAreaCameraExposeEvent", "class_main_window.html#afe4b0001f191554aed5d9b65208a06f5", null ], + [ "OnQuitActionActivated", "class_main_window.html#ab54b643c364b46a150f6f993267bb709", null ], + [ "OnShowLogWindowActionActivated", "class_main_window.html#a87132738a6ca496303940d56e091bdc7", null ], + [ "batteryTimer", "class_main_window.html#a57f0325d8b8a63be586001b9a469d9ae", null ], + [ "cmdManager", "class_main_window.html#a0b60450970b8a6fb6e016d5c0728e474", null ], + [ "drawingareaCameraPixbuf", "class_main_window.html#a41581e449b18e87acbdff5baa12c2050", null ], + [ "systemState", "class_main_window.html#a105025ee1bdfac188f1ce640d593550d", null ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/class_main_window__coll__graph.map b/software/monitor/monitor/docs/html/class_main_window__coll__graph.map new file mode 100644 index 0000000..720481f --- /dev/null +++ b/software/monitor/monitor/docs/html/class_main_window__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/software/monitor/monitor/docs/html/class_main_window__coll__graph.md5 b/software/monitor/monitor/docs/html/class_main_window__coll__graph.md5 new file mode 100644 index 0000000..7efc740 --- /dev/null +++ b/software/monitor/monitor/docs/html/class_main_window__coll__graph.md5 @@ -0,0 +1 @@ +4c8ddbcdb9d2101c683e4d7db177d12c \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/class_main_window__coll__graph.png b/software/monitor/monitor/docs/html/class_main_window__coll__graph.png new file mode 100644 index 0000000..97f7a0c Binary files /dev/null and b/software/monitor/monitor/docs/html/class_main_window__coll__graph.png differ diff --git a/software/monitor/monitor/docs/html/class_main_window__inherit__graph.map b/software/monitor/monitor/docs/html/class_main_window__inherit__graph.map new file mode 100644 index 0000000..10b2148 --- /dev/null +++ b/software/monitor/monitor/docs/html/class_main_window__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/software/monitor/monitor/docs/html/class_main_window__inherit__graph.md5 b/software/monitor/monitor/docs/html/class_main_window__inherit__graph.md5 new file mode 100644 index 0000000..f51a213 --- /dev/null +++ b/software/monitor/monitor/docs/html/class_main_window__inherit__graph.md5 @@ -0,0 +1 @@ +05926267b1243e6f0056859236801ddc \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/class_main_window__inherit__graph.png b/software/monitor/monitor/docs/html/class_main_window__inherit__graph.png new file mode 100644 index 0000000..efcd576 Binary files /dev/null and b/software/monitor/monitor/docs/html/class_main_window__inherit__graph.png differ diff --git a/software/monitor/monitor/docs/html/classes.html b/software/monitor/monitor/docs/html/classes.html new file mode 100644 index 0000000..c31fd7f --- /dev/null +++ b/software/monitor/monitor/docs/html/classes.html @@ -0,0 +1,111 @@ + + + + + + + +Monitor: Class Index + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
c | d | m | r
+ + + + + + +
  c  
+
CommandManager (monitor)   DestijlCommandManager (monitor)   MainWindow   
  d  
+
  m  
+
  r  
+
Client (monitor)   
DestijlCommandList (monitor)   MainClass (monitor)   RobotCommandList (monitor)   
+
c | d | m | r
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_client-members.html b/software/monitor/monitor/docs/html/classmonitor_1_1_client-members.html new file mode 100644 index 0000000..bed38ab --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_client-members.html @@ -0,0 +1,119 @@ + + + + + + + +Monitor: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
monitor.Client Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + +
buffermonitor.Clientprivatestatic
BufferMaxSizemonitor.Clientprivate
clientmonitor.Clientprivatestatic
Close()monitor.Clientstatic
defaultIPmonitor.Client
defaultPortmonitor.Client
initialReceiveBufferIndexmonitor.Clientprivatestatic
messagemonitor.Clientprivatestatic
newLengthmonitor.Clientprivatestatic
Open(string host)monitor.Clientstatic
Open(string host, int port)monitor.Clientstatic
packetCountermonitor.Clientprivatestatic
ReadCallback(IAsyncResult ar)monitor.Clientprivatestatic
readEventmonitor.Clientstatic
ReadEvent(string msg, byte[] buffer)monitor.Client
receiveBuffermonitor.Clientprivatestatic
streammonitor.Clientprivatestatic
Write(string mes)monitor.Clientstatic
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_client.html b/software/monitor/monitor/docs/html/classmonitor_1_1_client.html new file mode 100644 index 0000000..2abd088 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_client.html @@ -0,0 +1,697 @@ + + + + + + + +Monitor: monitor.Client Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Static class for TCP client + More...

+ + + + + +

+Public Member Functions

delegate void ReadEvent (string msg, byte[] buffer)
 Callback to send received message to upper level More...
 
+ + + + + + + + + + + + + +

+Static Public Member Functions

static bool Open (string host)
 Open connection to server "host", on default port number. More...
 
static bool Open (string host, int port)
 Open connection to server "host", with port number "port" More...
 
static void Close ()
 Close connection to server More...
 
static void Write (string mes)
 Write a string to server More...
 
+ + + + + + + +

+Public Attributes

const string defaultIP = "localhost"
 Default server name More...
 
const int defaultPort = 4500
 Default server port number More...
 
+ + + +

+Static Public Attributes

static ReadEvent readEvent = null
 
+ + + + +

+Static Private Member Functions

static void ReadCallback (IAsyncResult ar)
 Callback call by stream.BeginRead after reception of newLength data More...
 
+ + + + +

+Private Attributes

const int BufferMaxSize = 512
 Size of internal buffer used when reading data from server More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Static Private Attributes

static TcpClient client = null
 Tcp client object More...
 
static NetworkStream stream = null
 Stream object used for communication More...
 
static byte [] buffer = new byte[BufferMaxSize]
 Internal buffer used when reading data from server More...
 
static byte [] receiveBuffer
 buffer containing received message from TCP server Used to concatenate internal buffers into one More...
 
static int initialReceiveBufferIndex = 0
 
static StringBuilder message = new StringBuilder()
 String containing received message from tcp server More...
 
static int newLength = 1
 
static int packetCounter = 0
 
+

Detailed Description

+

Static class for TCP client

+ +

Definition at line 10 of file Client.cs.

+

Member Function Documentation

+ +

◆ Close()

+ +
+
+ + + + + +
+ + + + + + + +
static void monitor.Client.Close ()
+
+static
+
+ +

Close connection to server

+ +

Definition at line 120 of file Client.cs.

+ +
+
+ +

◆ Open() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
static bool monitor.Client.Open (string host)
+
+static
+
+ +

Open connection to server "host", on default port number.

+
Returns
true if connection succeded, false otherwise
+
Parameters
+ + +
hostHostname to connect to
+
+
+ +

Definition at line 68 of file Client.cs.

+ +
+
+ +

◆ Open() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static bool monitor.Client.Open (string host,
int port 
)
+
+static
+
+ +

Open connection to server "host", with port number "port"

+
Returns
true if connection succeded, false otherwise
+
Parameters
+ + + +
hostHostname to connect to
portPort number for connection
+
+
+ +

Definition at line 79 of file Client.cs.

+ +
+
+ +

◆ ReadCallback()

+ +
+
+ + + + + +
+ + + + + + + + +
static void monitor.Client.ReadCallback (IAsyncResult ar)
+
+staticprivate
+
+ +

Callback call by stream.BeginRead after reception of newLength data

+
Parameters
+ + +
arNot sure of what is it, but needed for terminate reading
+
+
+ +

Definition at line 130 of file Client.cs.

+ +
+
+ +

◆ ReadEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + +
delegate void monitor.Client.ReadEvent (string msg,
byte [] buffer 
)
+
+ +

Callback to send received message to upper level

+ +
+
+ +

◆ Write()

+ +
+
+ + + + + +
+ + + + + + + + +
static void monitor.Client.Write (string mes)
+
+static
+
+ +

Write a string to server

+
Returns
Nothing
+
Parameters
+ + +
mesMessage to send to server
+
+
+ +

Definition at line 198 of file Client.cs.

+ +
+
+

Member Data Documentation

+ +

◆ buffer

+ +
+
+ + + + + +
+ + + + +
byte [] monitor.Client.buffer = new byte[BufferMaxSize]
+
+staticprivate
+
+ +

Internal buffer used when reading data from server

+ +

Definition at line 40 of file Client.cs.

+ +
+
+ +

◆ BufferMaxSize

+ +
+
+ + + + + +
+ + + + +
const int monitor.Client.BufferMaxSize = 512
+
+private
+
+ +

Size of internal buffer used when reading data from server

+ +

Definition at line 35 of file Client.cs.

+ +
+
+ +

◆ client

+ +
+
+ + + + + +
+ + + + +
TcpClient monitor.Client.client = null
+
+staticprivate
+
+ +

Tcp client object

+ +

Definition at line 25 of file Client.cs.

+ +
+
+ +

◆ defaultIP

+ +
+
+ + + + +
const string monitor.Client.defaultIP = "localhost"
+
+ +

Default server name

+ +

Definition at line 15 of file Client.cs.

+ +
+
+ +

◆ defaultPort

+ +
+
+ + + + +
const int monitor.Client.defaultPort = 4500
+
+ +

Default server port number

+ +

Definition at line 20 of file Client.cs.

+ +
+
+ +

◆ initialReceiveBufferIndex

+ +
+
+ + + + + +
+ + + + +
int monitor.Client.initialReceiveBufferIndex = 0
+
+staticprivate
+
+ +

Definition at line 48 of file Client.cs.

+ +
+
+ +

◆ message

+ +
+
+ + + + + +
+ + + + +
StringBuilder monitor.Client.message = new StringBuilder()
+
+staticprivate
+
+ +

String containing received message from tcp server

+ +

Definition at line 53 of file Client.cs.

+ +
+
+ +

◆ newLength

+ +
+
+ + + + + +
+ + + + +
int monitor.Client.newLength = 1
+
+staticprivate
+
+ +

Definition at line 54 of file Client.cs.

+ +
+
+ +

◆ packetCounter

+ +
+
+ + + + + +
+ + + + +
int monitor.Client.packetCounter = 0
+
+staticprivate
+
+ +

Definition at line 55 of file Client.cs.

+ +
+
+ +

◆ readEvent

+ +
+
+ + + + + +
+ + + + +
ReadEvent monitor.Client.readEvent = null
+
+static
+
+ +

Definition at line 61 of file Client.cs.

+ +
+
+ +

◆ receiveBuffer

+ +
+
+ + + + + +
+ + + + +
byte [] monitor.Client.receiveBuffer
+
+staticprivate
+
+ +

buffer containing received message from TCP server Used to concatenate internal buffers into one

+ +

Definition at line 46 of file Client.cs.

+ +
+
+ +

◆ stream

+ +
+
+ + + + + +
+ + + + +
NetworkStream monitor.Client.stream = null
+
+staticprivate
+
+ +

Stream object used for communication

+ +

Definition at line 30 of file Client.cs.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_client.js b/software/monitor/monitor/docs/html/classmonitor_1_1_client.js new file mode 100644 index 0000000..1b33c54 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_client.js @@ -0,0 +1,21 @@ +var classmonitor_1_1_client = +[ + [ "Close", "classmonitor_1_1_client.html#ae6c0cbe19d622b008fd1f6d01d9cb315", null ], + [ "Open", "classmonitor_1_1_client.html#af802cd428aa08b9604e2246f11e1fe61", null ], + [ "Open", "classmonitor_1_1_client.html#aee6f8f594a9496600b78c37d6da457d4", null ], + [ "ReadCallback", "classmonitor_1_1_client.html#a8dd2eb26c164d0f566dd6c679ba340e0", null ], + [ "ReadEvent", "classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378", null ], + [ "Write", "classmonitor_1_1_client.html#a081413295e7a96662b39b2ddec854b02", null ], + [ "buffer", "classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762", null ], + [ "BufferMaxSize", "classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29", null ], + [ "client", "classmonitor_1_1_client.html#a4867b48ebfa930a80662c552f2911430", null ], + [ "defaultIP", "classmonitor_1_1_client.html#a326a20fe68a86757e16a6e45b8012640", null ], + [ "defaultPort", "classmonitor_1_1_client.html#ad0a9bfc361ccef7443625f399e67f84a", null ], + [ "initialReceiveBufferIndex", "classmonitor_1_1_client.html#afbbf4cf14d1a11747f6103e726dee77e", null ], + [ "message", "classmonitor_1_1_client.html#a2ddb7073c4bf8a42c231939d5c21d68e", null ], + [ "newLength", "classmonitor_1_1_client.html#a7083940b8fea9df2b080e3844549e805", null ], + [ "packetCounter", "classmonitor_1_1_client.html#a7eb13840c83beb2ab191cae3ba3210c9", null ], + [ "readEvent", "classmonitor_1_1_client.html#a01cb2a551d81fd82d2f7015e177f0f18", null ], + [ "receiveBuffer", "classmonitor_1_1_client.html#aade32a6043e0dc629509f0e1c0112a24", null ], + [ "stream", "classmonitor_1_1_client.html#a8de2a9e4fe2c2e896849ddd33d80d759", null ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager-members.html b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager-members.html new file mode 100644 index 0000000..e8d6e9a --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager-members.html @@ -0,0 +1,117 @@ + + + + + + + +Monitor: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
monitor.CommandManager Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + +
Close()monitor.CommandManager
CommandManager(CommandReceivedEvent callback)monitor.CommandManager
CommandManagerStatus enum namemonitor.CommandManager
commandReceivedEventmonitor.CommandManager
CommandReceivedEvent(string msg, byte[] buffer)monitor.CommandManager
isBusymonitor.CommandManagerprivate
messageReceivedmonitor.CommandManagerprivate
OnMessageReception(string message, byte[] buffer)monitor.CommandManagerprivate
OnMessageTimeout(object sender, System.Timers.ElapsedEventArgs e)monitor.CommandManagerprivate
Open(string hostname)monitor.CommandManager
Open(string hostname, int port)monitor.CommandManager
SendCommand(string cmd, out string answer, double timeout)monitor.CommandManager
waitEventmonitor.CommandManagerprivate
waitForAcknowledgemonitor.CommandManagerprivate
waitTimermonitor.CommandManagerprivate
~CommandManager()monitor.CommandManagerprivate
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager.html b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager.html new file mode 100644 index 0000000..c14d231 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager.html @@ -0,0 +1,685 @@ + + + + + + + +Monitor: monitor.CommandManager Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+ +

Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (Client) and application level managment of command and answers + More...

+
+Collaboration diagram for monitor.CommandManager:
+
+
Collaboration graph
+ + +
[legend]
+ + + + + +

+Public Types

enum  CommandManagerStatus { CommandManagerStatus.AnswerReceived, +CommandManagerStatus.Timeout, +CommandManagerStatus.Busy + }
 Available status when sending command More...
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

delegate void CommandReceivedEvent (string msg, byte[] buffer)
 Callback for sending received data to upper level More...
 
 CommandManager (CommandReceivedEvent callback)
 Initializes a new instance of the T:monitor.CommandManager class. More...
 
bool Open (string hostname)
 Open the specified hostname server, using default port number. More...
 
bool Open (string hostname, int port)
 Open connection to server "host", with port number "port" More...
 
void Close ()
 Close connection to server More...
 
CommandManagerStatus SendCommand (string cmd, out string answer, double timeout)
 Sends a command to TCP server More...
 
+ + + +

+Public Attributes

CommandReceivedEvent commandReceivedEvent = null
 
+ + + + + + + + + + +

+Private Member Functions

 ~CommandManager ()
 Releases unmanaged resources and performs other cleanup operations before the T:monitor.CommandManager is reclaimed by garbage collection. More...
 
void OnMessageReception (string message, byte[] buffer)
 Callback called by Client class after reception of new message More...
 
void OnMessageTimeout (object sender, System.Timers.ElapsedEventArgs e)
 Callback called by stopwatch on timeout More...
 
+ + + + + + + + + + + + + + + +

+Private Attributes

System.Timers.Timer waitTimer = new System.Timers.Timer()
 Timer for managing timeout More...
 
ManualResetEvent waitEvent = new ManualResetEvent(false)
 
bool waitForAcknowledge = false
 Flag to tell rogram to wait for an acknowledge from server More...
 
string messageReceived = null
 received message More...
 
bool isBusy = false
 flag indicating command manager is currently busy waiting an acknowledge More...
 
+

Detailed Description

+

Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (Client) and application level managment of command and answers

+ +

Definition at line 10 of file CommandManager.cs.

+

Member Enumeration Documentation

+ +

◆ CommandManagerStatus

+ +
+
+ + + + + +
+ + + + +
enum monitor.CommandManager.CommandManagerStatus
+
+strong
+
+ +

Available status when sending command

+ + + + +
Enumerator
AnswerReceived 
Timeout 
Busy 
+ +

Definition at line 42 of file CommandManager.cs.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ CommandManager()

+ +
+
+ + + + + + + + +
monitor.CommandManager.CommandManager (CommandReceivedEvent callback)
+
+ +

Initializes a new instance of the T:monitor.CommandManager class.

+
Parameters
+ + +
callbackCallback used when new message are received
+
+
+ +

Definition at line 53 of file CommandManager.cs.

+ +
+
+ +

◆ ~CommandManager()

+ +
+
+ + + + + +
+ + + + + + + +
monitor.CommandManager.~CommandManager ()
+
+private
+
+ +

Releases unmanaged resources and performs other cleanup operations before the T:monitor.CommandManager is reclaimed by garbage collection.

+ +

Definition at line 65 of file CommandManager.cs.

+ +
+
+

Member Function Documentation

+ +

◆ Close()

+ +
+
+ + + + + + + +
void monitor.CommandManager.Close ()
+
+ +

Close connection to server

+ +

Definition at line 94 of file CommandManager.cs.

+ +
+
+ +

◆ CommandReceivedEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + +
delegate void monitor.CommandManager.CommandReceivedEvent (string msg,
byte [] buffer 
)
+
+ +

Callback for sending received data to upper level

+ +
+
+ +

◆ OnMessageReception()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void monitor.CommandManager.OnMessageReception (string message,
byte [] buffer 
)
+
+private
+
+ +

Callback called by Client class after reception of new message

+
Parameters
+ + + +
messageMessage received from server
bufferRaw buffer reived from server
+
+
+ +

Definition at line 104 of file CommandManager.cs.

+ +
+
+ +

◆ OnMessageTimeout()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void monitor.CommandManager.OnMessageTimeout (object sender,
System.Timers.ElapsedEventArgs e 
)
+
+private
+
+ +

Callback called by stopwatch on timeout

+
Parameters
+ + + +
senderSender object
eInformation on elapsed condition
+
+
+ +

Definition at line 135 of file CommandManager.cs.

+ +
+
+ +

◆ Open() [1/2]

+ +
+
+ + + + + + + + +
bool monitor.CommandManager.Open (string hostname)
+
+ +

Open the specified hostname server, using default port number.

+
Returns
true if connection succeded, false otherwise
+
Parameters
+ + +
hostnameHostname to connect to
+
+
+ +

Definition at line 75 of file CommandManager.cs.

+ +
+
+ +

◆ Open() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool monitor.CommandManager.Open (string hostname,
int port 
)
+
+ +

Open connection to server "host", with port number "port"

+
Returns
true if connection succeded, false otherwise
+
Parameters
+ + + +
hostnameHostname to connect to
portPort number for connection
+
+
+ +

Definition at line 86 of file CommandManager.cs.

+ +
+
+ +

◆ SendCommand()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
CommandManagerStatus monitor.CommandManager.SendCommand (string cmd,
out string answer,
double timeout 
)
+
+ +

Sends a command to TCP server

+
Returns
status that is part of CommandManagerStatus enumerate
+
Parameters
+ + + + +
cmdCommand message to send to server
answerAnswer from server, in case of acknowledge
timeoutTimeout (ms) waiting an acknowledge, 0 if no acknowledge needed
+
+
+ +

Definition at line 150 of file CommandManager.cs.

+ +
+
+

Member Data Documentation

+ +

◆ commandReceivedEvent

+ +
+
+ + + + +
CommandReceivedEvent monitor.CommandManager.commandReceivedEvent = null
+
+ +

Definition at line 16 of file CommandManager.cs.

+ +
+
+ +

◆ isBusy

+ +
+
+ + + + + +
+ + + + +
bool monitor.CommandManager.isBusy = false
+
+private
+
+ +

flag indicating command manager is currently busy waiting an acknowledge

+ +

Definition at line 37 of file CommandManager.cs.

+ +
+
+ +

◆ messageReceived

+ +
+
+ + + + + +
+ + + + +
string monitor.CommandManager.messageReceived = null
+
+private
+
+ +

received message

+ +

Definition at line 32 of file CommandManager.cs.

+ +
+
+ +

◆ waitEvent

+ +
+
+ + + + + +
+ + + + +
ManualResetEvent monitor.CommandManager.waitEvent = new ManualResetEvent(false)
+
+private
+
+ +

Definition at line 22 of file CommandManager.cs.

+ +
+
+ +

◆ waitForAcknowledge

+ +
+
+ + + + + +
+ + + + +
bool monitor.CommandManager.waitForAcknowledge = false
+
+private
+
+ +

Flag to tell rogram to wait for an acknowledge from server

+ +

Definition at line 27 of file CommandManager.cs.

+ +
+
+ +

◆ waitTimer

+ +
+
+ + + + + +
+ + + + +
System.Timers.Timer monitor.CommandManager.waitTimer = new System.Timers.Timer()
+
+private
+
+ +

Timer for managing timeout

+ +

Definition at line 21 of file CommandManager.cs.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager.js b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager.js new file mode 100644 index 0000000..56dd8dd --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager.js @@ -0,0 +1,23 @@ +var classmonitor_1_1_command_manager = +[ + [ "CommandManagerStatus", "classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b", [ + [ "AnswerReceived", "classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3", null ], + [ "Timeout", "classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398", null ], + [ "Busy", "classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407", null ] + ] ], + [ "CommandManager", "classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72", null ], + [ "~CommandManager", "classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e", null ], + [ "Close", "classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6", null ], + [ "CommandReceivedEvent", "classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc", null ], + [ "OnMessageReception", "classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65", null ], + [ "OnMessageTimeout", "classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df", null ], + [ "Open", "classmonitor_1_1_command_manager.html#a7329cbf8008bcb8a0280aa7ffa6aa43c", null ], + [ "Open", "classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee", null ], + [ "SendCommand", "classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363", null ], + [ "commandReceivedEvent", "classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa", null ], + [ "isBusy", "classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db", null ], + [ "messageReceived", "classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57", null ], + [ "waitEvent", "classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447", null ], + [ "waitForAcknowledge", "classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd", null ], + [ "waitTimer", "classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0", null ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.map b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.map new file mode 100644 index 0000000..221e262 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.md5 b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.md5 new file mode 100644 index 0000000..8dfb1c4 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.md5 @@ -0,0 +1 @@ +ec8f855a949726bb444efe1a5eea1e95 \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.png b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.png new file mode 100644 index 0000000..2218007 Binary files /dev/null and b/software/monitor/monitor/docs/html/classmonitor_1_1_command_manager__coll__graph.png differ diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list-members.html b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list-members.html new file mode 100644 index 0000000..179d0ed --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list-members.html @@ -0,0 +1,121 @@ + + + + + + + +Monitor: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list.html b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list.html new file mode 100644 index 0000000..b3f0717 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list.html @@ -0,0 +1,473 @@ + + + + + + + +Monitor: monitor.DestijlCommandList Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
monitor.DestijlCommandList Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

const string HeaderMtsComDmb = "COM"
 
const string HeaderMtsDmbOrder = "DMB"
 
const string HeaderMtsCamera = "CAM"
 
const string HeaderMtsMessage = "MSG"
 
const string DataComOpen = "o"
 
const string DataComClose = "C"
 
const string DataCamOpen = "A"
 
const string DataCamClose = "I"
 
const string DataCamAskArena = "y"
 
const string DataCamArenaConfirm = "x"
 
const string DataCamInfirm = "z"
 
const string DataCamComputePosition = "p"
 
const string DataCamStopComputePosition = "s"
 
const string HeaderStmAck = "ACK"
 
const string HeaderStmNoAck = "NAK"
 
const string HeaderStmLostDmb = "LCD"
 
const string HeaderStmImage = "IMG"
 
const string HeaderStmPos = "POS"
 
const string HeaderStmMes = "MSG"
 
const string HeaderStmBat = "BAT"
 
+

Detailed Description

+
+

Definition at line 5 of file DestijlCommandManager.cs.

+

Member Data Documentation

+ +

◆ DataCamArenaConfirm

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataCamArenaConfirm = "x"
+
+ +

Definition at line 18 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataCamAskArena

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataCamAskArena = "y"
+
+ +

Definition at line 17 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataCamClose

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataCamClose = "I"
+
+ +

Definition at line 16 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataCamComputePosition

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataCamComputePosition = "p"
+
+ +

Definition at line 20 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataCamInfirm

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataCamInfirm = "z"
+
+ +

Definition at line 19 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataCamOpen

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataCamOpen = "A"
+
+ +

Definition at line 15 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataCamStopComputePosition

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataCamStopComputePosition = "s"
+
+ +

Definition at line 21 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataComClose

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataComClose = "C"
+
+ +

Definition at line 13 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DataComOpen

+ +
+
+ + + + +
const string monitor.DestijlCommandList.DataComOpen = "o"
+
+ +

Definition at line 12 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderMtsCamera

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderMtsCamera = "CAM"
+
+ +

Definition at line 9 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderMtsComDmb

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderMtsComDmb = "COM"
+
+ +

Definition at line 7 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderMtsDmbOrder

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderMtsDmbOrder = "DMB"
+
+ +

Definition at line 8 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderMtsMessage

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderMtsMessage = "MSG"
+
+ +

Definition at line 10 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderStmAck

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderStmAck = "ACK"
+
+ +

Definition at line 23 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderStmBat

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderStmBat = "BAT"
+
+ +

Definition at line 29 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderStmImage

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderStmImage = "IMG"
+
+ +

Definition at line 26 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderStmLostDmb

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderStmLostDmb = "LCD"
+
+ +

Definition at line 25 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderStmMes

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderStmMes = "MSG"
+
+ +

Definition at line 28 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderStmNoAck

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderStmNoAck = "NAK"
+
+ +

Definition at line 24 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ HeaderStmPos

+ +
+
+ + + + +
const string monitor.DestijlCommandList.HeaderStmPos = "POS"
+
+ +

Definition at line 27 of file DestijlCommandManager.cs.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list.js b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list.js new file mode 100644 index 0000000..27f0e97 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_list.js @@ -0,0 +1,23 @@ +var classmonitor_1_1_destijl_command_list = +[ + [ "DataCamArenaConfirm", "classmonitor_1_1_destijl_command_list.html#ad31b6758839a4c3b1b6ec4c71635e631", null ], + [ "DataCamAskArena", "classmonitor_1_1_destijl_command_list.html#aaaf85677671db1ef84fe67b2eb954f29", null ], + [ "DataCamClose", "classmonitor_1_1_destijl_command_list.html#a6f578f9d52dd2b50370177a5c03a2af7", null ], + [ "DataCamComputePosition", "classmonitor_1_1_destijl_command_list.html#ab114adce60b63976d8304f2ad11b317a", null ], + [ "DataCamInfirm", "classmonitor_1_1_destijl_command_list.html#ad3985694a06148f2014cb346e8891cba", null ], + [ "DataCamOpen", "classmonitor_1_1_destijl_command_list.html#a6380d1518931373bd0dfb84f888942e0", null ], + [ "DataCamStopComputePosition", "classmonitor_1_1_destijl_command_list.html#ad09dd921c6c8cf8c7d90a2c0a05d4056", null ], + [ "DataComClose", "classmonitor_1_1_destijl_command_list.html#ad97cbe948c71a4dc3fa95afbf9ca26d8", null ], + [ "DataComOpen", "classmonitor_1_1_destijl_command_list.html#a1bcde55da429bcf2c04ed6d0621e496f", null ], + [ "HeaderMtsCamera", "classmonitor_1_1_destijl_command_list.html#af570b0e8d14920402ce979778225ed68", null ], + [ "HeaderMtsComDmb", "classmonitor_1_1_destijl_command_list.html#aa9fe4e71b7faec183ab64f4cf6ecd395", null ], + [ "HeaderMtsDmbOrder", "classmonitor_1_1_destijl_command_list.html#adbcf7adab9f5e8ead971affbbc64178b", null ], + [ "HeaderMtsMessage", "classmonitor_1_1_destijl_command_list.html#acb283f1da96d8d522e3b28ca35187acd", null ], + [ "HeaderStmAck", "classmonitor_1_1_destijl_command_list.html#af494d7e1bddee8184873dc380a3066ba", null ], + [ "HeaderStmBat", "classmonitor_1_1_destijl_command_list.html#a88de91fa6abdc122245ceb26fc21fd33", null ], + [ "HeaderStmImage", "classmonitor_1_1_destijl_command_list.html#ae3ee8e0ecbb79faec9d24095d72cfbde", null ], + [ "HeaderStmLostDmb", "classmonitor_1_1_destijl_command_list.html#a54e9ebd5e8f34ac596b84b56bb2403f7", null ], + [ "HeaderStmMes", "classmonitor_1_1_destijl_command_list.html#ad1fa4557b2d44dd888d8640f374c9f04", null ], + [ "HeaderStmNoAck", "classmonitor_1_1_destijl_command_list.html#ae3dc86c7e90bba409317e63cf1c85a39", null ], + [ "HeaderStmPos", "classmonitor_1_1_destijl_command_list.html#abf99a718161a5a9017d7011cea429ec0", null ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager-members.html b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager-members.html new file mode 100644 index 0000000..d1e1e0a --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager-members.html @@ -0,0 +1,135 @@ + + + + + + + +Monitor: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
monitor.DestijlCommandManager Member List
+
+
+ +

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

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CameraArenaConfirm()monitor.DestijlCommandManager
CameraArenaInfirm()monitor.DestijlCommandManager
CameraAskArena()monitor.DestijlCommandManager
CameraClose()monitor.DestijlCommandManager
CameraComputePosition()monitor.DestijlCommandManager
CameraOpen()monitor.DestijlCommandManager
CameraStopComputePosition()monitor.DestijlCommandManager
Close()monitor.DestijlCommandManager
commandManagermonitor.DestijlCommandManagerprivate
commandReceivedEventmonitor.DestijlCommandManager
CommandReceivedEvent(string header, string data, byte[] buffer)monitor.DestijlCommandManager
CommandStatus enum namemonitor.DestijlCommandManager
CreateCommand(string header, string data)monitor.DestijlCommandManagerprivate
DecodeStatus(CommandManager.CommandManagerStatus localStatus, string answer)monitor.DestijlCommandManagerprivate
DestijlCommandManager(CommandReceivedEvent callback)monitor.DestijlCommandManager
OnCommandReceived(string msg, byte[] buffer)monitor.DestijlCommandManagerprivate
Open(string hostname)monitor.DestijlCommandManager
Open(string hostname, int port)monitor.DestijlCommandManager
receivedDatamonitor.DestijlCommandManagerprivate
receivedHeadermonitor.DestijlCommandManagerprivate
RobotCloseCom()monitor.DestijlCommandManager
RobotGetBattery()monitor.DestijlCommandManager
RobotGetVersion(out string version)monitor.DestijlCommandManager
RobotMove(int distance)monitor.DestijlCommandManager
RobotOpenCom()monitor.DestijlCommandManager
RobotPing()monitor.DestijlCommandManager
RobotPowerOff()monitor.DestijlCommandManager
RobotReset()monitor.DestijlCommandManager
RobotStartWithoutWatchdog()monitor.DestijlCommandManager
RobotStartWithWatchdog()monitor.DestijlCommandManager
RobotTurn(int angle)monitor.DestijlCommandManager
SplitCommand(string cmd, out string header, out string data)monitor.DestijlCommandManagerprivate
timeoutmonitor.DestijlCommandManager
~DestijlCommandManager()monitor.DestijlCommandManagerprivate
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager.html b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager.html new file mode 100644 index 0000000..44f083a --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager.html @@ -0,0 +1,1006 @@ + + + + + + + +Monitor: monitor.DestijlCommandManager Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ + +
+
+Collaboration diagram for monitor.DestijlCommandManager:
+
+
Collaboration graph
+ + + +
[legend]
+ + + + +

+Public Types

enum  CommandStatus {
+  CommandStatus.Success, +CommandStatus.Rejected, +CommandStatus.InvalidAnswer, +CommandStatus.Busy, +
+  CommandStatus.CommunicationLostWithRobot, +CommandStatus.CommunicationLostWithServer +
+ }
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

delegate void CommandReceivedEvent (string header, string data, byte[] buffer)
 
 DestijlCommandManager (CommandReceivedEvent callback)
 
bool Open (string hostname)
 
bool Open (string hostname, int port)
 
void Close ()
 
CommandStatus RobotOpenCom ()
 
CommandStatus RobotCloseCom ()
 
CommandStatus RobotPing ()
 
CommandStatus RobotReset ()
 
CommandStatus RobotStartWithWatchdog ()
 
CommandStatus RobotStartWithoutWatchdog ()
 
CommandStatus RobotMove (int distance)
 
CommandStatus RobotTurn (int angle)
 
CommandStatus RobotGetBattery ()
 
CommandStatus RobotGetVersion (out string version)
 
CommandStatus RobotPowerOff ()
 
CommandStatus CameraOpen ()
 
CommandStatus CameraClose ()
 
CommandStatus CameraAskArena ()
 
CommandStatus CameraArenaConfirm ()
 
CommandStatus CameraArenaInfirm ()
 
CommandStatus CameraComputePosition ()
 
CommandStatus CameraStopComputePosition ()
 
+ + + + + +

+Public Attributes

CommandReceivedEvent commandReceivedEvent = null
 
double timeout = 100
 
+ + + + + + + + + + + +

+Private Member Functions

 ~DestijlCommandManager ()
 
void OnCommandReceived (string msg, byte[] buffer)
 
string CreateCommand (string header, string data)
 
void SplitCommand (string cmd, out string header, out string data)
 
CommandStatus DecodeStatus (CommandManager.CommandManagerStatus localStatus, string answer)
 
+ + + + + + + +

+Private Attributes

CommandManager commandManager = null
 
string receivedHeader = null
 
string receivedData = null
 
+

Detailed Description

+
+

Definition at line 46 of file DestijlCommandManager.cs.

+

Member Enumeration Documentation

+ +

◆ CommandStatus

+ +
+
+ + + + + +
+ + + + +
enum monitor.DestijlCommandManager.CommandStatus
+
+strong
+
+ + + + + + + +
Enumerator
Success 
Rejected 
InvalidAnswer 
Busy 
CommunicationLostWithRobot 
CommunicationLostWithServer 
+ +

Definition at line 58 of file DestijlCommandManager.cs.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ DestijlCommandManager()

+ +
+
+ + + + + + + + +
monitor.DestijlCommandManager.DestijlCommandManager (CommandReceivedEvent callback)
+
+ +

Definition at line 68 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ ~DestijlCommandManager()

+ +
+
+ + + + + +
+ + + + + + + +
monitor.DestijlCommandManager.~DestijlCommandManager ()
+
+private
+
+ +

Definition at line 74 of file DestijlCommandManager.cs.

+ +
+
+

Member Function Documentation

+ +

◆ CameraArenaConfirm()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.CameraArenaConfirm ()
+
+ +

Definition at line 367 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ CameraArenaInfirm()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.CameraArenaInfirm ()
+
+ +

Definition at line 380 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ CameraAskArena()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.CameraAskArena ()
+
+ +

Definition at line 354 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ CameraClose()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.CameraClose ()
+
+ +

Definition at line 341 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ CameraComputePosition()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.CameraComputePosition ()
+
+ +

Definition at line 393 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ CameraOpen()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.CameraOpen ()
+
+ +

Definition at line 328 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ CameraStopComputePosition()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.CameraStopComputePosition ()
+
+ +

Definition at line 406 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ Close()

+ +
+
+ + + + + + + +
void monitor.DestijlCommandManager.Close ()
+
+ +

Definition at line 103 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ CommandReceivedEvent()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
delegate void monitor.DestijlCommandManager.CommandReceivedEvent (string header,
string data,
byte [] buffer 
)
+
+ +
+
+ +

◆ CreateCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
string monitor.DestijlCommandManager.CreateCommand (string header,
string data 
)
+
+private
+
+ +

Definition at line 108 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ DecodeStatus()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
CommandStatus monitor.DestijlCommandManager.DecodeStatus (CommandManager.CommandManagerStatus localStatus,
string answer 
)
+
+private
+
+ +

Definition at line 124 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ OnCommandReceived()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void monitor.DestijlCommandManager.OnCommandReceived (string msg,
byte [] buffer 
)
+
+private
+
+ +

Definition at line 79 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ Open() [1/2]

+ +
+
+ + + + + + + + +
bool monitor.DestijlCommandManager.Open (string hostname)
+
+ +

Definition at line 92 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ Open() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
bool monitor.DestijlCommandManager.Open (string hostname,
int port 
)
+
+ +

Definition at line 97 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotCloseCom()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotCloseCom ()
+
+ +

Definition at line 157 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotGetBattery()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotGetBattery ()
+
+ +

Definition at line 249 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotGetVersion()

+ +
+
+ + + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotGetVersion (out string version)
+
+ +

Definition at line 284 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotMove()

+ +
+
+ + + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotMove (int distance)
+
+ +

Definition at line 222 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotOpenCom()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotOpenCom ()
+
+ +

Definition at line 144 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotPing()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotPing ()
+
+ +

Definition at line 170 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotPowerOff()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotPowerOff ()
+
+ +

Definition at line 315 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotReset()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotReset ()
+
+ +

Definition at line 183 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotStartWithoutWatchdog()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotStartWithoutWatchdog ()
+
+ +

Definition at line 209 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotStartWithWatchdog()

+ +
+
+ + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotStartWithWatchdog ()
+
+ +

Definition at line 196 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotTurn()

+ +
+
+ + + + + + + + +
CommandStatus monitor.DestijlCommandManager.RobotTurn (int angle)
+
+ +

Definition at line 235 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ SplitCommand()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
void monitor.DestijlCommandManager.SplitCommand (string cmd,
out string header,
out string data 
)
+
+private
+
+ +

Definition at line 113 of file DestijlCommandManager.cs.

+ +
+
+

Member Data Documentation

+ +

◆ commandManager

+ +
+
+ + + + + +
+ + + + +
CommandManager monitor.DestijlCommandManager.commandManager = null
+
+private
+
+ +

Definition at line 48 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ commandReceivedEvent

+ +
+
+ + + + +
CommandReceivedEvent monitor.DestijlCommandManager.commandReceivedEvent = null
+
+ +

Definition at line 54 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ receivedData

+ +
+
+ + + + + +
+ + + + +
string monitor.DestijlCommandManager.receivedData = null
+
+private
+
+ +

Definition at line 51 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ receivedHeader

+ +
+
+ + + + + +
+ + + + +
string monitor.DestijlCommandManager.receivedHeader = null
+
+private
+
+ +

Definition at line 50 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ timeout

+ +
+
+ + + + +
double monitor.DestijlCommandManager.timeout = 100
+
+ +

Definition at line 56 of file DestijlCommandManager.cs.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager.js b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager.js new file mode 100644 index 0000000..8c199b2 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager.js @@ -0,0 +1,44 @@ +var classmonitor_1_1_destijl_command_manager = +[ + [ "CommandStatus", "classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0", [ + [ "Success", "classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0a505a83f220c02df2f85c3810cd9ceb38", null ], + [ "Rejected", "classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad37b1f6c0512e2118cee17fea015b699", null ], + [ "InvalidAnswer", "classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad410f0b6f9dc2f2b271f9cf2fc78eb34", null ], + [ "Busy", "classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad8a942ef2b04672adfafef0ad817a407", null ], + [ "CommunicationLostWithRobot", "classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0a37039bce065223d632b6974daa612656", null ], + [ "CommunicationLostWithServer", "classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ae7009a5c717d5d4d361433a9915e697e", null ] + ] ], + [ "DestijlCommandManager", "classmonitor_1_1_destijl_command_manager.html#a78bf0be922afbd9c5f8f4115fa83ad47", null ], + [ "~DestijlCommandManager", "classmonitor_1_1_destijl_command_manager.html#abc51dc980d7ba7e59a571e579cb626b9", null ], + [ "CameraArenaConfirm", "classmonitor_1_1_destijl_command_manager.html#ac58ed9c19d8c9ed547c35fb96a983668", null ], + [ "CameraArenaInfirm", "classmonitor_1_1_destijl_command_manager.html#a614be7a565a3a10308f20b073b40383f", null ], + [ "CameraAskArena", "classmonitor_1_1_destijl_command_manager.html#a8d178480fc09d474760eae995c9aa096", null ], + [ "CameraClose", "classmonitor_1_1_destijl_command_manager.html#a94b085d9de512cd7e80bcefd516d460c", null ], + [ "CameraComputePosition", "classmonitor_1_1_destijl_command_manager.html#ad04df7759d2698334a410fe32b78e21e", null ], + [ "CameraOpen", "classmonitor_1_1_destijl_command_manager.html#a292d7e2961ff31a80d9abf79b7b41126", null ], + [ "CameraStopComputePosition", "classmonitor_1_1_destijl_command_manager.html#a928f987f8f5f12135614678585ab2726", null ], + [ "Close", "classmonitor_1_1_destijl_command_manager.html#af1f57d8e3e980322e37da2cd3b61d1d7", null ], + [ "CommandReceivedEvent", "classmonitor_1_1_destijl_command_manager.html#acc08ece6a89e842188364226299b3d43", null ], + [ "CreateCommand", "classmonitor_1_1_destijl_command_manager.html#a47eb72ec1ae43505966bc5cf09c79e58", null ], + [ "DecodeStatus", "classmonitor_1_1_destijl_command_manager.html#a00c3fb9f163c4d9025b356a5a7e74012", null ], + [ "OnCommandReceived", "classmonitor_1_1_destijl_command_manager.html#ab83dbda4196240c242a5ac101901bb19", null ], + [ "Open", "classmonitor_1_1_destijl_command_manager.html#a5dd6b75386a554c2f026eee787477bb0", null ], + [ "Open", "classmonitor_1_1_destijl_command_manager.html#a842300511efb20783c271764ee0e3336", null ], + [ "RobotCloseCom", "classmonitor_1_1_destijl_command_manager.html#a0139bec493c965670226381f2ba63a23", null ], + [ "RobotGetBattery", "classmonitor_1_1_destijl_command_manager.html#a2ec8021340de939318ace65b8462b930", null ], + [ "RobotGetVersion", "classmonitor_1_1_destijl_command_manager.html#a7ddd552ed82382a09b4af075c34fb989", null ], + [ "RobotMove", "classmonitor_1_1_destijl_command_manager.html#a5976fe792e270c63bd9f0f4c792df129", null ], + [ "RobotOpenCom", "classmonitor_1_1_destijl_command_manager.html#aa1440a571e6aaf11203b4e4a4ed116d5", null ], + [ "RobotPing", "classmonitor_1_1_destijl_command_manager.html#ae1af16558213c3830ea3006e8e8c5e28", null ], + [ "RobotPowerOff", "classmonitor_1_1_destijl_command_manager.html#acb242a71fa40d4001dc1bc31d5bdc53f", null ], + [ "RobotReset", "classmonitor_1_1_destijl_command_manager.html#abe223aa12456e3f1c2519e9c379d891a", null ], + [ "RobotStartWithoutWatchdog", "classmonitor_1_1_destijl_command_manager.html#a0c964baa3ecd4ff9d19857061413938b", null ], + [ "RobotStartWithWatchdog", "classmonitor_1_1_destijl_command_manager.html#ade46aceeb79556e31fe632e9602e1636", null ], + [ "RobotTurn", "classmonitor_1_1_destijl_command_manager.html#a3f7ee6f1803cfb8b2eb4290f9e9acced", null ], + [ "SplitCommand", "classmonitor_1_1_destijl_command_manager.html#ad6fc73806e924e73dcf07c5cf3c81a66", null ], + [ "commandManager", "classmonitor_1_1_destijl_command_manager.html#a9efdcd3d35f46329e7aa167ad60062a9", null ], + [ "commandReceivedEvent", "classmonitor_1_1_destijl_command_manager.html#a5c10e8aaae48b83be0267aefa23eb62d", null ], + [ "receivedData", "classmonitor_1_1_destijl_command_manager.html#a88f907fc9c5fd8cd8d5976f45c323903", null ], + [ "receivedHeader", "classmonitor_1_1_destijl_command_manager.html#a1b99d771e7af8ffc8ced10d35e5e77ce", null ], + [ "timeout", "classmonitor_1_1_destijl_command_manager.html#a86a1fb03dc480dab8d6758aa0d675cd3", null ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.map b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.map new file mode 100644 index 0000000..28c4fa0 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.md5 b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.md5 new file mode 100644 index 0000000..07908c8 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.md5 @@ -0,0 +1 @@ +561e4283ebd4d9d2dabfa14931addf60 \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.png b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.png new file mode 100644 index 0000000..1cbebab Binary files /dev/null and b/software/monitor/monitor/docs/html/classmonitor_1_1_destijl_command_manager__coll__graph.png differ diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_main_class-members.html b/software/monitor/monitor/docs/html/classmonitor_1_1_main_class-members.html new file mode 100644 index 0000000..b8ebd56 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_main_class-members.html @@ -0,0 +1,102 @@ + + + + + + + +Monitor: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
monitor.MainClass Member List
+
+
+ +

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

+ + +
Main(string[] args)monitor.MainClassstatic
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_main_class.html b/software/monitor/monitor/docs/html/classmonitor_1_1_main_class.html new file mode 100644 index 0000000..63f66e6 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_main_class.html @@ -0,0 +1,143 @@ + + + + + + + +Monitor: monitor.MainClass Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
monitor.MainClass Class Reference
+
+
+ + + + +

+Static Public Member Functions

static void Main (string[] args)
 
+

Detailed Description

+
+

Definition at line 6 of file Program.cs.

+

Member Function Documentation

+ +

◆ Main()

+ +
+
+ + + + + +
+ + + + + + + + +
static void monitor.MainClass.Main (string [] args)
+
+static
+
+ +

Definition at line 8 of file Program.cs.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_main_class.js b/software/monitor/monitor/docs/html/classmonitor_1_1_main_class.js new file mode 100644 index 0000000..ee6a63b --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_main_class.js @@ -0,0 +1,4 @@ +var classmonitor_1_1_main_class = +[ + [ "Main", "classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1", null ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_robot_command_list-members.html b/software/monitor/monitor/docs/html/classmonitor_1_1_robot_command_list-members.html new file mode 100644 index 0000000..29eecc2 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_robot_command_list-members.html @@ -0,0 +1,111 @@ + + + + + + + +Monitor: Member List + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/software/monitor/monitor/docs/html/classmonitor_1_1_robot_command_list.html b/software/monitor/monitor/docs/html/classmonitor_1_1_robot_command_list.html new file mode 100644 index 0000000..0375361 --- /dev/null +++ b/software/monitor/monitor/docs/html/classmonitor_1_1_robot_command_list.html @@ -0,0 +1,293 @@ + + + + + + + +Monitor: monitor.RobotCommandList Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
monitor.RobotCommandList Class Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

const string RobotPing = "p"
 
const string RobotReset = "r"
 
const string RobotStartWithoutWatchdog = "u"
 
const string RobotStartWithWatchdog = "W"
 
const string RobotGetBattery = "v"
 
const string RobotGetBusyState = "b"
 
const string RobotMove = "M"
 
const string RobotTurn = "T"
 
const string RobotGetVersion = "V"
 
const string RobotPowerOff = "z"
 
+

Detailed Description

+
+

Definition at line 32 of file DestijlCommandManager.cs.

+

Member Data Documentation

+ +

◆ RobotGetBattery

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotGetBattery = "v"
+
+ +

Definition at line 38 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotGetBusyState

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotGetBusyState = "b"
+
+ +

Definition at line 39 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotGetVersion

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotGetVersion = "V"
+
+ +

Definition at line 42 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotMove

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotMove = "M"
+
+ +

Definition at line 40 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotPing

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotPing = "p"
+
+ +

Definition at line 34 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotPowerOff

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotPowerOff = "z"
+
+ +

Definition at line 43 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotReset

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotReset = "r"
+
+ +

Definition at line 35 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotStartWithoutWatchdog

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotStartWithoutWatchdog = "u"
+
+ +

Definition at line 36 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotStartWithWatchdog

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotStartWithWatchdog = "W"
+
+ +

Definition at line 37 of file DestijlCommandManager.cs.

+ +
+
+ +

◆ RobotTurn

+ +
+
+ + + + +
const string monitor.RobotCommandList.RobotTurn = "T"
+
+ +

Definition at line 41 of file DestijlCommandManager.cs.

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

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+ + +

- ~ -

+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/functions_enum.html b/software/monitor/monitor/docs/html/functions_enum.html new file mode 100644 index 0000000..480d3f1 --- /dev/null +++ b/software/monitor/monitor/docs/html/functions_enum.html @@ -0,0 +1,105 @@ + + + + + + + +Monitor: Class Members - Enumerations + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/functions_func.html b/software/monitor/monitor/docs/html/functions_func.html new file mode 100644 index 0000000..961bcb3 --- /dev/null +++ b/software/monitor/monitor/docs/html/functions_func.html @@ -0,0 +1,294 @@ + + + + + + + +Monitor: Class Members - Functions + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- c -

+ + +

- d -

+ + +

- m -

+ + +

- o -

+ + +

- r -

+ + +

- s -

+ + +

- w -

+ + +

- ~ -

+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/functions_vars.html b/software/monitor/monitor/docs/html/functions_vars.html new file mode 100644 index 0000000..aac52e8 --- /dev/null +++ b/software/monitor/monitor/docs/html/functions_vars.html @@ -0,0 +1,311 @@ + + + + + + + +Monitor: Class Members - Variables + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- h -

+ + +

- i -

+ + +

- m -

+ + +

- n -

+ + +

- p -

+ + +

- r -

+ + +

- s -

+ + +

- t -

+ + +

- w -

+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/graph_legend.html b/software/monitor/monitor/docs/html/graph_legend.html new file mode 100644 index 0000000..1c84f4e --- /dev/null +++ b/software/monitor/monitor/docs/html/graph_legend.html @@ -0,0 +1,127 @@ + + + + + + + +Monitor: Graph Legend + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

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

+

Consider the following example:

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

This will result in the following graph:

+
+ +
+

The boxes in the above graph have the following meaning:

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

The arrows have the following meaning:

+
    +
  • +A dark blue arrow is used to visualize a public inheritance relation between two classes.
  • +
  • +A dark green arrow is used for protected inheritance.
  • +
  • +A dark red arrow is used for private inheritance.
  • +
  • +A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
  • +
  • +A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
  • +
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/graph_legend.md5 b/software/monitor/monitor/docs/html/graph_legend.md5 new file mode 100644 index 0000000..a06ed05 --- /dev/null +++ b/software/monitor/monitor/docs/html/graph_legend.md5 @@ -0,0 +1 @@ +387ff8eb65306fa251338d3c9bd7bfff \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/graph_legend.png b/software/monitor/monitor/docs/html/graph_legend.png new file mode 100644 index 0000000..81788d8 Binary files /dev/null and b/software/monitor/monitor/docs/html/graph_legend.png differ diff --git a/software/monitor/monitor/docs/html/hierarchy.html b/software/monitor/monitor/docs/html/hierarchy.html new file mode 100644 index 0000000..c13d025 --- /dev/null +++ b/software/monitor/monitor/docs/html/hierarchy.html @@ -0,0 +1,112 @@ + + + + + + + +Monitor: Class Hierarchy + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 12]
+ + + + + + + + +
 Cmonitor.ClientStatic class for TCP client
 Cmonitor.CommandManagerCommand Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (Client) and application level managment of command and answers
 Cmonitor.DestijlCommandList
 Cmonitor.DestijlCommandManager
 Cmonitor.MainClass
 Cmonitor.RobotCommandList
 CWindow
 CMainWindowMain window.
+
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/hierarchy.js b/software/monitor/monitor/docs/html/hierarchy.js new file mode 100644 index 0000000..379b41e --- /dev/null +++ b/software/monitor/monitor/docs/html/hierarchy.js @@ -0,0 +1,12 @@ +var hierarchy = +[ + [ "monitor.Client", "classmonitor_1_1_client.html", null ], + [ "monitor.CommandManager", "classmonitor_1_1_command_manager.html", null ], + [ "monitor.DestijlCommandList", "classmonitor_1_1_destijl_command_list.html", null ], + [ "monitor.DestijlCommandManager", "classmonitor_1_1_destijl_command_manager.html", null ], + [ "monitor.MainClass", "classmonitor_1_1_main_class.html", null ], + [ "monitor.RobotCommandList", "classmonitor_1_1_robot_command_list.html", null ], + [ "Window", null, [ + [ "MainWindow", "class_main_window.html", null ] + ] ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/index.html b/software/monitor/monitor/docs/html/index.html new file mode 100644 index 0000000..d6e7c4b --- /dev/null +++ b/software/monitor/monitor/docs/html/index.html @@ -0,0 +1,98 @@ + + + + + + + +Monitor: Main Page + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Monitor Documentation
+
+
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_0.map b/software/monitor/monitor/docs/html/inherit_graph_0.map new file mode 100644 index 0000000..60e4d98 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_0.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_0.md5 b/software/monitor/monitor/docs/html/inherit_graph_0.md5 new file mode 100644 index 0000000..66929a1 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_0.md5 @@ -0,0 +1 @@ +71c93c301ffe32e83dee5c662586af4c \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/inherit_graph_0.png b/software/monitor/monitor/docs/html/inherit_graph_0.png new file mode 100644 index 0000000..5bbcbd8 Binary files /dev/null and b/software/monitor/monitor/docs/html/inherit_graph_0.png differ diff --git a/software/monitor/monitor/docs/html/inherit_graph_1.map b/software/monitor/monitor/docs/html/inherit_graph_1.map new file mode 100644 index 0000000..9110e02 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_1.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_1.md5 b/software/monitor/monitor/docs/html/inherit_graph_1.md5 new file mode 100644 index 0000000..b630693 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_1.md5 @@ -0,0 +1 @@ +7ed482185f3c7f6876ea12ca6eb8fccf \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/inherit_graph_1.png b/software/monitor/monitor/docs/html/inherit_graph_1.png new file mode 100644 index 0000000..973bc81 Binary files /dev/null and b/software/monitor/monitor/docs/html/inherit_graph_1.png differ diff --git a/software/monitor/monitor/docs/html/inherit_graph_2.map b/software/monitor/monitor/docs/html/inherit_graph_2.map new file mode 100644 index 0000000..604e392 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_2.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_2.md5 b/software/monitor/monitor/docs/html/inherit_graph_2.md5 new file mode 100644 index 0000000..656a952 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_2.md5 @@ -0,0 +1 @@ +706d8657342e1f394c6be50940f14c9b \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/inherit_graph_2.png b/software/monitor/monitor/docs/html/inherit_graph_2.png new file mode 100644 index 0000000..db1943b Binary files /dev/null and b/software/monitor/monitor/docs/html/inherit_graph_2.png differ diff --git a/software/monitor/monitor/docs/html/inherit_graph_3.map b/software/monitor/monitor/docs/html/inherit_graph_3.map new file mode 100644 index 0000000..89f6249 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_3.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_3.md5 b/software/monitor/monitor/docs/html/inherit_graph_3.md5 new file mode 100644 index 0000000..a007535 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_3.md5 @@ -0,0 +1 @@ +06cbb5b9e5915ca5e57f474509c4bbe8 \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/inherit_graph_3.png b/software/monitor/monitor/docs/html/inherit_graph_3.png new file mode 100644 index 0000000..73eb143 Binary files /dev/null and b/software/monitor/monitor/docs/html/inherit_graph_3.png differ diff --git a/software/monitor/monitor/docs/html/inherit_graph_4.map b/software/monitor/monitor/docs/html/inherit_graph_4.map new file mode 100644 index 0000000..e0899b8 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_4.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_4.md5 b/software/monitor/monitor/docs/html/inherit_graph_4.md5 new file mode 100644 index 0000000..5d8f449 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_4.md5 @@ -0,0 +1 @@ +e2d5d112fd08e78b011a153cd00d4f90 \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/inherit_graph_4.png b/software/monitor/monitor/docs/html/inherit_graph_4.png new file mode 100644 index 0000000..1cf0040 Binary files /dev/null and b/software/monitor/monitor/docs/html/inherit_graph_4.png differ diff --git a/software/monitor/monitor/docs/html/inherit_graph_5.map b/software/monitor/monitor/docs/html/inherit_graph_5.map new file mode 100644 index 0000000..84d052a --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_5.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_5.md5 b/software/monitor/monitor/docs/html/inherit_graph_5.md5 new file mode 100644 index 0000000..6ec8c63 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_5.md5 @@ -0,0 +1 @@ +769b0a77b061172f8835f76091d4a3b5 \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/inherit_graph_5.png b/software/monitor/monitor/docs/html/inherit_graph_5.png new file mode 100644 index 0000000..e46e4e3 Binary files /dev/null and b/software/monitor/monitor/docs/html/inherit_graph_5.png differ diff --git a/software/monitor/monitor/docs/html/inherit_graph_6.map b/software/monitor/monitor/docs/html/inherit_graph_6.map new file mode 100644 index 0000000..e8907d7 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_6.map @@ -0,0 +1,3 @@ + + + diff --git a/software/monitor/monitor/docs/html/inherit_graph_6.md5 b/software/monitor/monitor/docs/html/inherit_graph_6.md5 new file mode 100644 index 0000000..17e2de6 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherit_graph_6.md5 @@ -0,0 +1 @@ +b8ac255814f63b3b18972f7cb2f7fca2 \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/inherit_graph_6.png b/software/monitor/monitor/docs/html/inherit_graph_6.png new file mode 100644 index 0000000..603db1c Binary files /dev/null and b/software/monitor/monitor/docs/html/inherit_graph_6.png differ diff --git a/software/monitor/monitor/docs/html/inherits.html b/software/monitor/monitor/docs/html/inherits.html new file mode 100644 index 0000000..91090a8 --- /dev/null +++ b/software/monitor/monitor/docs/html/inherits.html @@ -0,0 +1,137 @@ + + + + + + + +Monitor: Class Hierarchy + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/jquery.js b/software/monitor/monitor/docs/html/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/software/monitor/monitor/docs/html/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

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

+Classes

class  Client
 Static class for TCP client More...
 
class  CommandManager
 Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (Client) and application level managment of command and answers More...
 
class  DestijlCommandList
 
class  DestijlCommandManager
 
class  MainClass
 
class  RobotCommandList
 
+ + + + + + diff --git a/software/monitor/monitor/docs/html/namespacemonitor.js b/software/monitor/monitor/docs/html/namespacemonitor.js new file mode 100644 index 0000000..850e9da --- /dev/null +++ b/software/monitor/monitor/docs/html/namespacemonitor.js @@ -0,0 +1,9 @@ +var namespacemonitor = +[ + [ "Client", "classmonitor_1_1_client.html", "classmonitor_1_1_client" ], + [ "CommandManager", "classmonitor_1_1_command_manager.html", "classmonitor_1_1_command_manager" ], + [ "DestijlCommandList", "classmonitor_1_1_destijl_command_list.html", "classmonitor_1_1_destijl_command_list" ], + [ "DestijlCommandManager", "classmonitor_1_1_destijl_command_manager.html", "classmonitor_1_1_destijl_command_manager" ], + [ "MainClass", "classmonitor_1_1_main_class.html", "classmonitor_1_1_main_class" ], + [ "RobotCommandList", "classmonitor_1_1_robot_command_list.html", "classmonitor_1_1_robot_command_list" ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/namespaces.html b/software/monitor/monitor/docs/html/namespaces.html new file mode 100644 index 0000000..e51243a --- /dev/null +++ b/software/monitor/monitor/docs/html/namespaces.html @@ -0,0 +1,103 @@ + + + + + + + +Monitor: Packages + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
Monitor +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
Packages
+
+
+
Here are the packages with brief descriptions (if available):
+ + +
 Nmonitor
+
+
+
+ + + + diff --git a/software/monitor/monitor/docs/html/namespaces.js b/software/monitor/monitor/docs/html/namespaces.js new file mode 100644 index 0000000..1a7475d --- /dev/null +++ b/software/monitor/monitor/docs/html/namespaces.js @@ -0,0 +1,4 @@ +var namespaces = +[ + [ "monitor", "namespacemonitor.html", null ] +]; \ No newline at end of file diff --git a/software/monitor/monitor/docs/html/nav_f.png b/software/monitor/monitor/docs/html/nav_f.png new file mode 100644 index 0000000..72a58a5 Binary files /dev/null and b/software/monitor/monitor/docs/html/nav_f.png differ diff --git a/software/monitor/monitor/docs/html/nav_g.png b/software/monitor/monitor/docs/html/nav_g.png new file mode 100644 index 0000000..2093a23 Binary files /dev/null and b/software/monitor/monitor/docs/html/nav_g.png differ diff --git a/software/monitor/monitor/docs/html/nav_h.png b/software/monitor/monitor/docs/html/nav_h.png new file mode 100644 index 0000000..33389b1 Binary files /dev/null and b/software/monitor/monitor/docs/html/nav_h.png differ diff --git a/software/monitor/monitor/docs/html/navtree.css b/software/monitor/monitor/docs/html/navtree.css new file mode 100644 index 0000000..0cc7e77 --- /dev/null +++ b/software/monitor/monitor/docs/html/navtree.css @@ -0,0 +1,146 @@ +#nav-tree .children_ul { + margin:0; + padding:4px; +} + +#nav-tree ul { + list-style:none outside none; + margin:0px; + padding:0px; +} + +#nav-tree li { + white-space:nowrap; + margin:0px; + padding:0px; +} + +#nav-tree .plus { + margin:0px; +} + +#nav-tree .selected { + background-image: url('tab_a.png'); + background-repeat:repeat-x; + color: #fff; + text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); +} + +#nav-tree img { + margin:0px; + padding:0px; + border:0px; + vertical-align: middle; +} + +#nav-tree a { + text-decoration:none; + padding:0px; + margin:0px; + outline:none; +} + +#nav-tree .label { + margin:0px; + padding:0px; + font: 12px 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; +} + +#nav-tree .label a { + padding:2px; +} + +#nav-tree .selected a { + text-decoration:none; + color:#fff; +} + +#nav-tree .children_ul { + margin:0px; + padding:0px; +} + +#nav-tree .item { + margin:0px; + padding:0px; +} + +#nav-tree { + padding: 0px 0px; + background-color: #FAFAFF; + font-size:14px; + overflow:auto; +} + +#doc-content { + overflow:auto; + display:block; + padding:0px; + margin:0px; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#side-nav { + padding:0 6px 0 0; + margin: 0px; + display:block; + position: absolute; + left: 0px; + width: 250px; +} + +.ui-resizable .ui-resizable-handle { + display:block; +} + +.ui-resizable-e { + background-image:url("splitbar.png"); + background-size:100%; + background-repeat:no-repeat; + background-attachment: scroll; + cursor:ew-resize; + height:100%; + right:0; + top:0; + width:6px; +} + +.ui-resizable-handle { + display:none; + font-size:0.1px; + position:absolute; + z-index:1; +} + +#nav-tree-contents { + margin: 6px 0px 0px 0px; +} + +#nav-tree { + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + -webkit-overflow-scrolling : touch; /* iOS 5+ */ +} + +#nav-sync { + position:absolute; + top:5px; + right:24px; + z-index:0; +} + +#nav-sync img { + opacity:0.3; +} + +#nav-sync img:hover { + opacity:0.9; +} + +@media print +{ + #nav-tree { display: none; } + div.ui-resizable-handle { display: none; position: relative; } +} + diff --git a/software/monitor/monitor/docs/html/navtree.js b/software/monitor/monitor/docs/html/navtree.js new file mode 100644 index 0000000..e6d31b0 --- /dev/null +++ b/software/monitor/monitor/docs/html/navtree.js @@ -0,0 +1,517 @@ +var navTreeSubIndices = new Array(); +var arrowDown = '▼'; +var arrowRight = '►'; + +function getData(varName) +{ + var i = varName.lastIndexOf('/'); + var n = i>=0 ? varName.substring(i+1) : varName; + return eval(n.replace(/\-/g,'_')); +} + +function stripPath(uri) +{ + return uri.substring(uri.lastIndexOf('/')+1); +} + +function stripPath2(uri) +{ + var i = uri.lastIndexOf('/'); + var s = uri.substring(i+1); + var m = uri.substring(0,i+1).match(/\/d\w\/d\w\w\/$/); + return m ? uri.substring(i-6) : s; +} + +function hashValue() +{ + return $(location).attr('hash').substring(1).replace(/[^\w\-]/g,''); +} + +function hashUrl() +{ + return '#'+hashValue(); +} + +function pathName() +{ + return $(location).attr('pathname').replace(/[^-A-Za-z0-9+&@#/%?=~_|!:,.;\(\)]/g, ''); +} + +function localStorageSupported() +{ + try { + return 'localStorage' in window && window['localStorage'] !== null && window.localStorage.getItem; + } + catch(e) { + return false; + } +} + + +function storeLink(link) +{ + if (!$("#nav-sync").hasClass('sync') && localStorageSupported()) { + window.localStorage.setItem('navpath',link); + } +} + +function deleteLink() +{ + if (localStorageSupported()) { + window.localStorage.setItem('navpath',''); + } +} + +function cachedLink() +{ + if (localStorageSupported()) { + return window.localStorage.getItem('navpath'); + } else { + return ''; + } +} + +function getScript(scriptName,func,show) +{ + var head = document.getElementsByTagName("head")[0]; + var script = document.createElement('script'); + script.id = scriptName; + script.type = 'text/javascript'; + script.onload = func; + script.src = scriptName+'.js'; + if ($.browser.msie && $.browser.version<=8) { + // script.onload does not work with older versions of IE + script.onreadystatechange = function() { + if (script.readyState=='complete' || script.readyState=='loaded') { + func(); if (show) showRoot(); + } + } + } + head.appendChild(script); +} + +function createIndent(o,domNode,node,level) +{ + var level=-1; + var n = node; + while (n.parentNode) { level++; n=n.parentNode; } + if (node.childrenData) { + var imgNode = document.createElement("span"); + imgNode.className = 'arrow'; + imgNode.style.paddingLeft=(16*level).toString()+'px'; + imgNode.innerHTML=arrowRight; + node.plus_img = imgNode; + node.expandToggle = document.createElement("a"); + node.expandToggle.href = "javascript:void(0)"; + node.expandToggle.onclick = function() { + if (node.expanded) { + $(node.getChildrenUL()).slideUp("fast"); + node.plus_img.innerHTML=arrowRight; + node.expanded = false; + } else { + expandNode(o, node, false, false); + } + } + node.expandToggle.appendChild(imgNode); + domNode.appendChild(node.expandToggle); + } else { + var span = document.createElement("span"); + span.className = 'arrow'; + span.style.width = 16*(level+1)+'px'; + span.innerHTML = ' '; + domNode.appendChild(span); + } +} + +var animationInProgress = false; + +function gotoAnchor(anchor,aname,updateLocation) +{ + var pos, docContent = $('#doc-content'); + var ancParent = $(anchor.parent()); + if (ancParent.hasClass('memItemLeft') || + ancParent.hasClass('fieldname') || + ancParent.hasClass('fieldtype') || + ancParent.is(':header')) + { + pos = ancParent.position().top; + } else if (anchor.position()) { + pos = anchor.position().top; + } + if (pos) { + var dist = Math.abs(Math.min( + pos-docContent.offset().top, + docContent[0].scrollHeight- + docContent.height()-docContent.scrollTop())); + animationInProgress=true; + docContent.animate({ + scrollTop: pos + docContent.scrollTop() - docContent.offset().top + },Math.max(50,Math.min(500,dist)),function(){ + if (updateLocation) window.location.href=aname; + animationInProgress=false; + }); + } +} + +function newNode(o, po, text, link, childrenData, lastNode) +{ + var node = new Object(); + node.children = Array(); + node.childrenData = childrenData; + node.depth = po.depth + 1; + node.relpath = po.relpath; + node.isLast = lastNode; + + node.li = document.createElement("li"); + po.getChildrenUL().appendChild(node.li); + node.parentNode = po; + + node.itemDiv = document.createElement("div"); + node.itemDiv.className = "item"; + + node.labelSpan = document.createElement("span"); + node.labelSpan.className = "label"; + + createIndent(o,node.itemDiv,node,0); + node.itemDiv.appendChild(node.labelSpan); + node.li.appendChild(node.itemDiv); + + var a = document.createElement("a"); + node.labelSpan.appendChild(a); + node.label = document.createTextNode(text); + node.expanded = false; + a.appendChild(node.label); + if (link) { + var url; + if (link.substring(0,1)=='^') { + url = link.substring(1); + link = url; + } else { + url = node.relpath+link; + } + a.className = stripPath(link.replace('#',':')); + if (link.indexOf('#')!=-1) { + var aname = '#'+link.split('#')[1]; + var srcPage = stripPath(pathName()); + var targetPage = stripPath(link.split('#')[0]); + a.href = srcPage!=targetPage ? url : "javascript:void(0)"; + a.onclick = function(){ + storeLink(link); + if (!$(a).parent().parent().hasClass('selected')) + { + $('.item').removeClass('selected'); + $('.item').removeAttr('id'); + $(a).parent().parent().addClass('selected'); + $(a).parent().parent().attr('id','selected'); + } + var anchor = $(aname); + gotoAnchor(anchor,aname,true); + }; + } else { + a.href = url; + a.onclick = function() { storeLink(link); } + } + } else { + if (childrenData != null) + { + a.className = "nolink"; + a.href = "javascript:void(0)"; + a.onclick = node.expandToggle.onclick; + } + } + + node.childrenUL = null; + node.getChildrenUL = function() { + if (!node.childrenUL) { + node.childrenUL = document.createElement("ul"); + node.childrenUL.className = "children_ul"; + node.childrenUL.style.display = "none"; + node.li.appendChild(node.childrenUL); + } + return node.childrenUL; + }; + + return node; +} + +function showRoot() +{ + var headerHeight = $("#top").height(); + var footerHeight = $("#nav-path").height(); + var windowHeight = $(window).height() - headerHeight - footerHeight; + (function (){ // retry until we can scroll to the selected item + try { + var navtree=$('#nav-tree'); + navtree.scrollTo('#selected',0,{offset:-windowHeight/2}); + } catch (err) { + setTimeout(arguments.callee, 0); + } + })(); +} + +function expandNode(o, node, imm, showRoot) +{ + if (node.childrenData && !node.expanded) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + expandNode(o, node, imm, showRoot); + }, showRoot); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } if (imm || ($.browser.msie && $.browser.version>8)) { + // somehow slideDown jumps to the start of tree for IE9 :-( + $(node.getChildrenUL()).show(); + } else { + $(node.getChildrenUL()).slideDown("fast"); + } + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + } + } +} + +function glowEffect(n,duration) +{ + n.addClass('glow').delay(duration).queue(function(next){ + $(this).removeClass('glow');next(); + }); +} + +function highlightAnchor() +{ + var aname = hashUrl(); + var anchor = $(aname); + if (anchor.parent().attr('class')=='memItemLeft'){ + var rows = $('.memberdecls tr[class$="'+hashValue()+'"]'); + glowEffect(rows.children(),300); // member without details + } else if (anchor.parent().attr('class')=='fieldname'){ + glowEffect(anchor.parent().parent(),1000); // enum value + } else if (anchor.parent().attr('class')=='fieldtype'){ + glowEffect(anchor.parent().parent(),1000); // struct field + } else if (anchor.parent().is(":header")) { + glowEffect(anchor.parent(),1000); // section header + } else { + glowEffect(anchor.next(),1000); // normal member + } + gotoAnchor(anchor,aname,false); +} + +function selectAndHighlight(hash,n) +{ + var a; + if (hash) { + var link=stripPath(pathName())+':'+hash.substring(1); + a=$('.item a[class$="'+link+'"]'); + } + if (a && a.length) { + a.parent().parent().addClass('selected'); + a.parent().parent().attr('id','selected'); + highlightAnchor(); + } else if (n) { + $(n.itemDiv).addClass('selected'); + $(n.itemDiv).attr('id','selected'); + } + if ($('#nav-tree-contents .item:first').hasClass('selected')) { + $('#nav-sync').css('top','30px'); + } else { + $('#nav-sync').css('top','5px'); + } + showRoot(); +} + +function showNode(o, node, index, hash) +{ + if (node && node.childrenData) { + if (typeof(node.childrenData)==='string') { + var varName = node.childrenData; + getScript(node.relpath+varName,function(){ + node.childrenData = getData(varName); + showNode(o,node,index,hash); + },true); + } else { + if (!node.childrenVisited) { + getNode(o, node); + } + $(node.getChildrenUL()).css({'display':'block'}); + node.plus_img.innerHTML = arrowDown; + node.expanded = true; + var n = node.children[o.breadcrumbs[index]]; + if (index+11) hash = '#'+parts[1].replace(/[^\w\-]/g,''); + else hash=''; + } + if (hash.match(/^#l\d+$/)) { + var anchor=$('a[name='+hash.substring(1)+']'); + glowEffect(anchor.parent(),1000); // line number + hash=''; // strip line number anchors + } + var url=root+hash; + var i=-1; + while (NAVTREEINDEX[i+1]<=url) i++; + if (i==-1) { i=0; root=NAVTREE[0][1]; } // fallback: show index + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath) + } else { + getScript(relpath+'navtreeindex'+i,function(){ + navTreeSubIndices[i] = eval('NAVTREEINDEX'+i); + if (navTreeSubIndices[i]) { + gotoNode(o,i,root,hash,relpath); + } + },true); + } +} + +function showSyncOff(n,relpath) +{ + n.html(''); +} + +function showSyncOn(n,relpath) +{ + n.html(''); +} + +function toggleSyncButton(relpath) +{ + var navSync = $('#nav-sync'); + if (navSync.hasClass('sync')) { + navSync.removeClass('sync'); + showSyncOff(navSync,relpath); + storeLink(stripPath2(pathName())+hashUrl()); + } else { + navSync.addClass('sync'); + showSyncOn(navSync,relpath); + deleteLink(); + } +} + +function initNavTree(toroot,relpath) +{ + var o = new Object(); + o.toroot = toroot; + o.node = new Object(); + o.node.li = document.getElementById("nav-tree-contents"); + o.node.childrenData = NAVTREE; + o.node.children = new Array(); + o.node.childrenUL = document.createElement("ul"); + o.node.getChildrenUL = function() { return o.node.childrenUL; }; + o.node.li.appendChild(o.node.childrenUL); + o.node.depth = 0; + o.node.relpath = relpath; + o.node.expanded = false; + o.node.isLast = true; + o.node.plus_img = document.createElement("span"); + o.node.plus_img.className = 'arrow'; + o.node.plus_img.innerHTML = arrowRight; + + if (localStorageSupported()) { + var navSync = $('#nav-sync'); + if (cachedLink()) { + showSyncOff(navSync,relpath); + navSync.removeClass('sync'); + } else { + showSyncOn(navSync,relpath); + } + navSync.click(function(){ toggleSyncButton(relpath); }); + } + + $(window).load(function(){ + navTo(o,toroot,hashUrl(),relpath); + showRoot(); + }); + + $(window).bind('hashchange', function(){ + if (window.location.hash && window.location.hash.length>1){ + var a; + if ($(location).attr('hash')){ + var clslink=stripPath(pathName())+':'+hashValue(); + a=$('.item a[class$="'+clslink.replace(/=desktop_vp) { + if (!collapsed) { + collapseExpand(); + } + } else if (width>desktop_vp && collapsedWidth0) { + restoreWidth(0); + collapsed=true; + } + else { + var width = readCookie('width'); + if (width>200 && width<$(window).width()) { restoreWidth(width); } else { restoreWidth(200); } + collapsed=false; + } + } + + header = $("#top"); + sidenav = $("#side-nav"); + content = $("#doc-content"); + navtree = $("#nav-tree"); + footer = $("#nav-path"); + $(".side-nav-resizable").resizable({resize: function(e, ui) { resizeWidth(); } }); + $(sidenav).resizable({ minWidth: 0 }); + $(window).resize(function() { resizeHeight(); }); + var device = navigator.userAgent.toLowerCase(); + var touch_device = device.match(/(iphone|ipod|ipad|android)/); + if (touch_device) { /* wider split bar for touch only devices */ + $(sidenav).css({ paddingRight:'20px' }); + $('.ui-resizable-e').css({ width:'20px' }); + $('#nav-sync').css({ right:'34px' }); + barWidth=20; + } + var width = readCookie('width'); + if (width) { restoreWidth(width); } else { resizeWidth(); } + resizeHeight(); + var url = location.href; + var i=url.indexOf("#"); + if (i>=0) window.location.hash=url.substr(i); + var _preventDefault = function(evt) { evt.preventDefault(); }; + $("#splitbar").bind("dragstart", _preventDefault).bind("selectstart", _preventDefault); + $(".ui-resizable-handle").dblclick(collapseExpand); + $(window).load(resizeHeight); +} + + diff --git a/software/monitor/monitor/docs/html/robot-icon.png b/software/monitor/monitor/docs/html/robot-icon.png new file mode 100644 index 0000000..91d6a8f Binary files /dev/null and b/software/monitor/monitor/docs/html/robot-icon.png differ diff --git a/software/monitor/monitor/docs/html/robot-icon.resized.png b/software/monitor/monitor/docs/html/robot-icon.resized.png new file mode 100644 index 0000000..e464bd0 Binary files /dev/null and b/software/monitor/monitor/docs/html/robot-icon.resized.png differ diff --git a/software/monitor/monitor/docs/html/search/all_0.html b/software/monitor/monitor/docs/html/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_0.js b/software/monitor/monitor/docs/html/search/all_0.js new file mode 100644 index 0000000..a728143 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['adjustcontrols',['AdjustControls',['../class_main_window.html#a9a0f3d4cd871609f12d328af2f588664',1,'MainWindow']]], + ['answerreceived',['AnswerReceived',['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3',1,'monitor::CommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_1.html b/software/monitor/monitor/docs/html/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_1.js b/software/monitor/monitor/docs/html/search/all_1.js new file mode 100644 index 0000000..ba69be9 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['batterytimer',['batteryTimer',['../class_main_window.html#a57f0325d8b8a63be586001b9a469d9ae',1,'MainWindow']]], + ['buffer',['buffer',['../classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762',1,'monitor::Client']]], + ['buffermaxsize',['BufferMaxSize',['../classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29',1,'monitor::Client']]], + ['busy',['Busy',['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407',1,'monitor.CommandManager.Busy()'],['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad8a942ef2b04672adfafef0ad817a407',1,'monitor.DestijlCommandManager.Busy()']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_2.html b/software/monitor/monitor/docs/html/search/all_2.html new file mode 100644 index 0000000..9543c57 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_2.js b/software/monitor/monitor/docs/html/search/all_2.js new file mode 100644 index 0000000..e3e5775 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_2.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['cameraarenaconfirm',['CameraArenaConfirm',['../classmonitor_1_1_destijl_command_manager.html#ac58ed9c19d8c9ed547c35fb96a983668',1,'monitor::DestijlCommandManager']]], + ['cameraarenainfirm',['CameraArenaInfirm',['../classmonitor_1_1_destijl_command_manager.html#a614be7a565a3a10308f20b073b40383f',1,'monitor::DestijlCommandManager']]], + ['cameraaskarena',['CameraAskArena',['../classmonitor_1_1_destijl_command_manager.html#a8d178480fc09d474760eae995c9aa096',1,'monitor::DestijlCommandManager']]], + ['cameraclose',['CameraClose',['../classmonitor_1_1_destijl_command_manager.html#a94b085d9de512cd7e80bcefd516d460c',1,'monitor::DestijlCommandManager']]], + ['cameracomputeposition',['CameraComputePosition',['../classmonitor_1_1_destijl_command_manager.html#ad04df7759d2698334a410fe32b78e21e',1,'monitor::DestijlCommandManager']]], + ['cameraopen',['CameraOpen',['../classmonitor_1_1_destijl_command_manager.html#a292d7e2961ff31a80d9abf79b7b41126',1,'monitor::DestijlCommandManager']]], + ['camerastopcomputeposition',['CameraStopComputePosition',['../classmonitor_1_1_destijl_command_manager.html#a928f987f8f5f12135614678585ab2726',1,'monitor::DestijlCommandManager']]], + ['changestate',['ChangeState',['../class_main_window.html#aedc27cabbe1604313a452fcbf3ffe9f4',1,'MainWindow']]], + ['client',['Client',['../classmonitor_1_1_client.html',1,'monitor.Client'],['../classmonitor_1_1_client.html#a4867b48ebfa930a80662c552f2911430',1,'monitor.Client.client()']]], + ['client_2ecs',['Client.cs',['../_client_8cs.html',1,'']]], + ['close',['Close',['../classmonitor_1_1_client.html#ae6c0cbe19d622b008fd1f6d01d9cb315',1,'monitor.Client.Close()'],['../classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6',1,'monitor.CommandManager.Close()'],['../classmonitor_1_1_destijl_command_manager.html#af1f57d8e3e980322e37da2cd3b61d1d7',1,'monitor.DestijlCommandManager.Close()']]], + ['cmdmanager',['cmdManager',['../class_main_window.html#a0b60450970b8a6fb6e016d5c0728e474',1,'MainWindow']]], + ['commandmanager',['CommandManager',['../classmonitor_1_1_command_manager.html',1,'monitor.CommandManager'],['../classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72',1,'monitor.CommandManager.CommandManager()'],['../classmonitor_1_1_destijl_command_manager.html#a9efdcd3d35f46329e7aa167ad60062a9',1,'monitor.DestijlCommandManager.commandManager()']]], + ['commandmanager_2ecs',['CommandManager.cs',['../_command_manager_8cs.html',1,'']]], + ['commandmanagerstatus',['CommandManagerStatus',['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b',1,'monitor::CommandManager']]], + ['commandreceivedevent',['commandReceivedEvent',['../classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa',1,'monitor.CommandManager.commandReceivedEvent()'],['../classmonitor_1_1_destijl_command_manager.html#a5c10e8aaae48b83be0267aefa23eb62d',1,'monitor.DestijlCommandManager.commandReceivedEvent()'],['../classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc',1,'monitor.CommandManager.CommandReceivedEvent()'],['../classmonitor_1_1_destijl_command_manager.html#acc08ece6a89e842188364226299b3d43',1,'monitor.DestijlCommandManager.CommandReceivedEvent()']]], + ['commandstatus',['CommandStatus',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0',1,'monitor::DestijlCommandManager']]], + ['communicationlostwithrobot',['CommunicationLostWithRobot',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0a37039bce065223d632b6974daa612656',1,'monitor::DestijlCommandManager']]], + ['communicationlostwithserver',['CommunicationLostWithServer',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ae7009a5c717d5d4d361433a9915e697e',1,'monitor::DestijlCommandManager']]], + ['createcommand',['CreateCommand',['../classmonitor_1_1_destijl_command_manager.html#a47eb72ec1ae43505966bc5cf09c79e58',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_3.html b/software/monitor/monitor/docs/html/search/all_3.html new file mode 100644 index 0000000..03405c0 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_3.js b/software/monitor/monitor/docs/html/search/all_3.js new file mode 100644 index 0000000..538a653 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_3.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['datacamarenaconfirm',['DataCamArenaConfirm',['../classmonitor_1_1_destijl_command_list.html#ad31b6758839a4c3b1b6ec4c71635e631',1,'monitor::DestijlCommandList']]], + ['datacamaskarena',['DataCamAskArena',['../classmonitor_1_1_destijl_command_list.html#aaaf85677671db1ef84fe67b2eb954f29',1,'monitor::DestijlCommandList']]], + ['datacamclose',['DataCamClose',['../classmonitor_1_1_destijl_command_list.html#a6f578f9d52dd2b50370177a5c03a2af7',1,'monitor::DestijlCommandList']]], + ['datacamcomputeposition',['DataCamComputePosition',['../classmonitor_1_1_destijl_command_list.html#ab114adce60b63976d8304f2ad11b317a',1,'monitor::DestijlCommandList']]], + ['datacaminfirm',['DataCamInfirm',['../classmonitor_1_1_destijl_command_list.html#ad3985694a06148f2014cb346e8891cba',1,'monitor::DestijlCommandList']]], + ['datacamopen',['DataCamOpen',['../classmonitor_1_1_destijl_command_list.html#a6380d1518931373bd0dfb84f888942e0',1,'monitor::DestijlCommandList']]], + ['datacamstopcomputeposition',['DataCamStopComputePosition',['../classmonitor_1_1_destijl_command_list.html#ad09dd921c6c8cf8c7d90a2c0a05d4056',1,'monitor::DestijlCommandList']]], + ['datacomclose',['DataComClose',['../classmonitor_1_1_destijl_command_list.html#ad97cbe948c71a4dc3fa95afbf9ca26d8',1,'monitor::DestijlCommandList']]], + ['datacomopen',['DataComOpen',['../classmonitor_1_1_destijl_command_list.html#a1bcde55da429bcf2c04ed6d0621e496f',1,'monitor::DestijlCommandList']]], + ['decodestatus',['DecodeStatus',['../classmonitor_1_1_destijl_command_manager.html#a00c3fb9f163c4d9025b356a5a7e74012',1,'monitor::DestijlCommandManager']]], + ['defaultip',['defaultIP',['../classmonitor_1_1_client.html#a326a20fe68a86757e16a6e45b8012640',1,'monitor::Client']]], + ['defaultport',['defaultPort',['../classmonitor_1_1_client.html#ad0a9bfc361ccef7443625f399e67f84a',1,'monitor::Client']]], + ['destijlcommandlist',['DestijlCommandList',['../classmonitor_1_1_destijl_command_list.html',1,'monitor']]], + ['destijlcommandmanager',['DestijlCommandManager',['../classmonitor_1_1_destijl_command_manager.html',1,'monitor.DestijlCommandManager'],['../classmonitor_1_1_destijl_command_manager.html#a78bf0be922afbd9c5f8f4115fa83ad47',1,'monitor.DestijlCommandManager.DestijlCommandManager()']]], + ['destijlcommandmanager_2ecs',['DestijlCommandManager.cs',['../_destijl_command_manager_8cs.html',1,'']]], + ['detectarena',['DetectArena',['../class_main_window.html#a89c79ce9ca4114ca9c50f32dc080e9cd',1,'MainWindow']]], + ['drawingareacamerapixbuf',['drawingareaCameraPixbuf',['../class_main_window.html#a41581e449b18e87acbdff5baa12c2050',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_4.html b/software/monitor/monitor/docs/html/search/all_4.html new file mode 100644 index 0000000..8e1f4b9 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_4.js b/software/monitor/monitor/docs/html/search/all_4.js new file mode 100644 index 0000000..6f17b8a --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_4.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['headermtscamera',['HeaderMtsCamera',['../classmonitor_1_1_destijl_command_list.html#af570b0e8d14920402ce979778225ed68',1,'monitor::DestijlCommandList']]], + ['headermtscomdmb',['HeaderMtsComDmb',['../classmonitor_1_1_destijl_command_list.html#aa9fe4e71b7faec183ab64f4cf6ecd395',1,'monitor::DestijlCommandList']]], + ['headermtsdmborder',['HeaderMtsDmbOrder',['../classmonitor_1_1_destijl_command_list.html#adbcf7adab9f5e8ead971affbbc64178b',1,'monitor::DestijlCommandList']]], + ['headermtsmessage',['HeaderMtsMessage',['../classmonitor_1_1_destijl_command_list.html#acb283f1da96d8d522e3b28ca35187acd',1,'monitor::DestijlCommandList']]], + ['headerstmack',['HeaderStmAck',['../classmonitor_1_1_destijl_command_list.html#af494d7e1bddee8184873dc380a3066ba',1,'monitor::DestijlCommandList']]], + ['headerstmbat',['HeaderStmBat',['../classmonitor_1_1_destijl_command_list.html#a88de91fa6abdc122245ceb26fc21fd33',1,'monitor::DestijlCommandList']]], + ['headerstmimage',['HeaderStmImage',['../classmonitor_1_1_destijl_command_list.html#ae3ee8e0ecbb79faec9d24095d72cfbde',1,'monitor::DestijlCommandList']]], + ['headerstmlostdmb',['HeaderStmLostDmb',['../classmonitor_1_1_destijl_command_list.html#a54e9ebd5e8f34ac596b84b56bb2403f7',1,'monitor::DestijlCommandList']]], + ['headerstmmes',['HeaderStmMes',['../classmonitor_1_1_destijl_command_list.html#ad1fa4557b2d44dd888d8640f374c9f04',1,'monitor::DestijlCommandList']]], + ['headerstmnoack',['HeaderStmNoAck',['../classmonitor_1_1_destijl_command_list.html#ae3dc86c7e90bba409317e63cf1c85a39',1,'monitor::DestijlCommandList']]], + ['headerstmpos',['HeaderStmPos',['../classmonitor_1_1_destijl_command_list.html#abf99a718161a5a9017d7011cea429ec0',1,'monitor::DestijlCommandList']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_5.html b/software/monitor/monitor/docs/html/search/all_5.html new file mode 100644 index 0000000..89a879e --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_5.js b/software/monitor/monitor/docs/html/search/all_5.js new file mode 100644 index 0000000..db6101e --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_5.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['initialreceivebufferindex',['initialReceiveBufferIndex',['../classmonitor_1_1_client.html#afbbf4cf14d1a11747f6103e726dee77e',1,'monitor::Client']]], + ['invalidanswer',['InvalidAnswer',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad410f0b6f9dc2f2b271f9cf2fc78eb34',1,'monitor::DestijlCommandManager']]], + ['isbusy',['isBusy',['../classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db',1,'monitor::CommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_6.html b/software/monitor/monitor/docs/html/search/all_6.html new file mode 100644 index 0000000..6afac06 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_6.js b/software/monitor/monitor/docs/html/search/all_6.js new file mode 100644 index 0000000..00a3aa9 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_6.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['main',['Main',['../classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1',1,'monitor::MainClass']]], + ['mainclass',['MainClass',['../classmonitor_1_1_main_class.html',1,'monitor']]], + ['mainwindow',['MainWindow',['../class_main_window.html',1,'MainWindow'],['../class_main_window.html#af607d50e4d1b04d3c494661489283f45',1,'MainWindow.MainWindow()']]], + ['message',['message',['../classmonitor_1_1_client.html#a2ddb7073c4bf8a42c231939d5c21d68e',1,'monitor::Client']]], + ['messagepopup',['MessagePopup',['../class_main_window.html#afc4f923aaa481a93dddaff6303efb9e0',1,'MainWindow']]], + ['messagereceived',['messageReceived',['../classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57',1,'monitor::CommandManager']]], + ['monitor',['monitor',['../namespacemonitor.html',1,'']]], + ['monitorui_2ecs',['MonitorUI.cs',['../_monitor_u_i_8cs.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_7.html b/software/monitor/monitor/docs/html/search/all_7.html new file mode 100644 index 0000000..de19107 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_7.js b/software/monitor/monitor/docs/html/search/all_7.js new file mode 100644 index 0000000..e5d8b8d --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_7.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['newlength',['newLength',['../classmonitor_1_1_client.html#a7083940b8fea9df2b080e3844549e805',1,'monitor::Client']]], + ['notconnected',['NotConnected',['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da4075072d219e061ca0f3124f8fbef463',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_8.html b/software/monitor/monitor/docs/html/search/all_8.html new file mode 100644 index 0000000..11e27cd --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_8.js b/software/monitor/monitor/docs/html/search/all_8.js new file mode 100644 index 0000000..5863f4b --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_8.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['onbatterytimerelapsed',['OnBatteryTimerElapsed',['../class_main_window.html#af303b70c08cda04a76f6418f727c4891',1,'MainWindow']]], + ['onbuttonaskarenaclicked',['OnButtonAskArenaClicked',['../class_main_window.html#a31e299085d6286d680bd488c73fdff82',1,'MainWindow']]], + ['onbuttonmouvclicked',['OnButtonMouvClicked',['../class_main_window.html#a7f8d06747f887216ab8c941ad10cb48b',1,'MainWindow']]], + ['onbuttonrobotactivationclicked',['OnButtonRobotActivationClicked',['../class_main_window.html#a2b5e11a49a10b24c59bebb377cdfeae8',1,'MainWindow']]], + ['onbuttonserverconnectionclicked',['OnButtonServerConnectionClicked',['../class_main_window.html#ac0acc6c3a63f405f14ec8e4d132a2661',1,'MainWindow']]], + ['oncheckbuttoncameraonclicked',['OnCheckButtonCameraOnClicked',['../class_main_window.html#af4b587cdd614d5bdb8d9158a1f59e4fa',1,'MainWindow']]], + ['oncheckbuttonrobotpositionclicked',['OnCheckButtonRobotPositionClicked',['../class_main_window.html#a20d07605619027d82a30552f294b128f',1,'MainWindow']]], + ['oncommandreceived',['OnCommandReceived',['../classmonitor_1_1_destijl_command_manager.html#ab83dbda4196240c242a5ac101901bb19',1,'monitor::DestijlCommandManager']]], + ['oncommandreceivedevent',['OnCommandReceivedEvent',['../class_main_window.html#a4b651f10b9079c128b9e36d15ad10211',1,'MainWindow']]], + ['ondeleteevent',['OnDeleteEvent',['../class_main_window.html#a64bdcb29cebb58957790da1ee2733fe1',1,'MainWindow']]], + ['ondrawingareacameraexposeevent',['OnDrawingAreaCameraExposeEvent',['../class_main_window.html#afe4b0001f191554aed5d9b65208a06f5',1,'MainWindow']]], + ['onmessagereception',['OnMessageReception',['../classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65',1,'monitor::CommandManager']]], + ['onmessagetimeout',['OnMessageTimeout',['../classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df',1,'monitor::CommandManager']]], + ['onquitactionactivated',['OnQuitActionActivated',['../class_main_window.html#ab54b643c364b46a150f6f993267bb709',1,'MainWindow']]], + ['onshowlogwindowactionactivated',['OnShowLogWindowActionActivated',['../class_main_window.html#a87132738a6ca496303940d56e091bdc7',1,'MainWindow']]], + ['open',['Open',['../classmonitor_1_1_client.html#af802cd428aa08b9604e2246f11e1fe61',1,'monitor.Client.Open(string host)'],['../classmonitor_1_1_client.html#aee6f8f594a9496600b78c37d6da457d4',1,'monitor.Client.Open(string host, int port)'],['../classmonitor_1_1_command_manager.html#a7329cbf8008bcb8a0280aa7ffa6aa43c',1,'monitor.CommandManager.Open(string hostname)'],['../classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee',1,'monitor.CommandManager.Open(string hostname, int port)'],['../classmonitor_1_1_destijl_command_manager.html#a5dd6b75386a554c2f026eee787477bb0',1,'monitor.DestijlCommandManager.Open(string hostname)'],['../classmonitor_1_1_destijl_command_manager.html#a842300511efb20783c271764ee0e3336',1,'monitor.DestijlCommandManager.Open(string hostname, int port)']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_9.html b/software/monitor/monitor/docs/html/search/all_9.html new file mode 100644 index 0000000..f8abbbe --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_9.js b/software/monitor/monitor/docs/html/search/all_9.js new file mode 100644 index 0000000..7c5b1ae --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['packetcounter',['packetCounter',['../classmonitor_1_1_client.html#a7eb13840c83beb2ab191cae3ba3210c9',1,'monitor::Client']]], + ['program_2ecs',['Program.cs',['../_program_8cs.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_a.html b/software/monitor/monitor/docs/html/search/all_a.html new file mode 100644 index 0000000..9601fce --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_a.js b/software/monitor/monitor/docs/html/search/all_a.js new file mode 100644 index 0000000..e6b196f --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_a.js @@ -0,0 +1,23 @@ +var searchData= +[ + ['readcallback',['ReadCallback',['../classmonitor_1_1_client.html#a8dd2eb26c164d0f566dd6c679ba340e0',1,'monitor::Client']]], + ['readevent',['readEvent',['../classmonitor_1_1_client.html#a01cb2a551d81fd82d2f7015e177f0f18',1,'monitor.Client.readEvent()'],['../classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378',1,'monitor.Client.ReadEvent(string msg, byte[] buffer)']]], + ['receivebuffer',['receiveBuffer',['../classmonitor_1_1_client.html#aade32a6043e0dc629509f0e1c0112a24',1,'monitor::Client']]], + ['receiveddata',['receivedData',['../classmonitor_1_1_destijl_command_manager.html#a88f907fc9c5fd8cd8d5976f45c323903',1,'monitor::DestijlCommandManager']]], + ['receivedheader',['receivedHeader',['../classmonitor_1_1_destijl_command_manager.html#a1b99d771e7af8ffc8ced10d35e5e77ce',1,'monitor::DestijlCommandManager']]], + ['rejected',['Rejected',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad37b1f6c0512e2118cee17fea015b699',1,'monitor::DestijlCommandManager']]], + ['robotclosecom',['RobotCloseCom',['../classmonitor_1_1_destijl_command_manager.html#a0139bec493c965670226381f2ba63a23',1,'monitor::DestijlCommandManager']]], + ['robotcommandlist',['RobotCommandList',['../classmonitor_1_1_robot_command_list.html',1,'monitor']]], + ['robotconnected',['RobotConnected',['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da9761e78f9ae0d6f598d953b4d9e839e1',1,'MainWindow']]], + ['robotgetbattery',['RobotGetBattery',['../classmonitor_1_1_robot_command_list.html#a374eb526d14b8499e47b065230afeed0',1,'monitor.RobotCommandList.RobotGetBattery()'],['../classmonitor_1_1_destijl_command_manager.html#a2ec8021340de939318ace65b8462b930',1,'monitor.DestijlCommandManager.RobotGetBattery()']]], + ['robotgetbusystate',['RobotGetBusyState',['../classmonitor_1_1_robot_command_list.html#a52a901f4e013dc33ff491c5fcda76860',1,'monitor::RobotCommandList']]], + ['robotgetversion',['RobotGetVersion',['../classmonitor_1_1_robot_command_list.html#a9a845beb5c040e4813f03cee7cd1cb71',1,'monitor.RobotCommandList.RobotGetVersion()'],['../classmonitor_1_1_destijl_command_manager.html#a7ddd552ed82382a09b4af075c34fb989',1,'monitor.DestijlCommandManager.RobotGetVersion()']]], + ['robotmove',['RobotMove',['../classmonitor_1_1_robot_command_list.html#af7017bac04f1976fe1c37e8ec77bcbce',1,'monitor.RobotCommandList.RobotMove()'],['../classmonitor_1_1_destijl_command_manager.html#a5976fe792e270c63bd9f0f4c792df129',1,'monitor.DestijlCommandManager.RobotMove()']]], + ['robotopencom',['RobotOpenCom',['../classmonitor_1_1_destijl_command_manager.html#aa1440a571e6aaf11203b4e4a4ed116d5',1,'monitor::DestijlCommandManager']]], + ['robotping',['RobotPing',['../classmonitor_1_1_robot_command_list.html#a93de788c0d7ed40caaa2e3912a429831',1,'monitor.RobotCommandList.RobotPing()'],['../classmonitor_1_1_destijl_command_manager.html#ae1af16558213c3830ea3006e8e8c5e28',1,'monitor.DestijlCommandManager.RobotPing()']]], + ['robotpoweroff',['RobotPowerOff',['../classmonitor_1_1_robot_command_list.html#a2e9616c1b75719c208902e595b79cc48',1,'monitor.RobotCommandList.RobotPowerOff()'],['../classmonitor_1_1_destijl_command_manager.html#acb242a71fa40d4001dc1bc31d5bdc53f',1,'monitor.DestijlCommandManager.RobotPowerOff()']]], + ['robotreset',['RobotReset',['../classmonitor_1_1_robot_command_list.html#a9ef80510dfe9ca241af290b003766526',1,'monitor.RobotCommandList.RobotReset()'],['../classmonitor_1_1_destijl_command_manager.html#abe223aa12456e3f1c2519e9c379d891a',1,'monitor.DestijlCommandManager.RobotReset()']]], + ['robotstartwithoutwatchdog',['RobotStartWithoutWatchdog',['../classmonitor_1_1_robot_command_list.html#a92acfe998bb9d265dd1f34f68f718386',1,'monitor.RobotCommandList.RobotStartWithoutWatchdog()'],['../classmonitor_1_1_destijl_command_manager.html#a0c964baa3ecd4ff9d19857061413938b',1,'monitor.DestijlCommandManager.RobotStartWithoutWatchdog()']]], + ['robotstartwithwatchdog',['RobotStartWithWatchdog',['../classmonitor_1_1_robot_command_list.html#aafa5d0e5fec3afe6586cca8b88d45c85',1,'monitor.RobotCommandList.RobotStartWithWatchdog()'],['../classmonitor_1_1_destijl_command_manager.html#ade46aceeb79556e31fe632e9602e1636',1,'monitor.DestijlCommandManager.RobotStartWithWatchdog()']]], + ['robotturn',['RobotTurn',['../classmonitor_1_1_robot_command_list.html#a2b88fc42fba8229f163e03e7252a77e6',1,'monitor.RobotCommandList.RobotTurn()'],['../classmonitor_1_1_destijl_command_manager.html#a3f7ee6f1803cfb8b2eb4290f9e9acced',1,'monitor.DestijlCommandManager.RobotTurn()']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_b.html b/software/monitor/monitor/docs/html/search/all_b.html new file mode 100644 index 0000000..0814e4e --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_b.js b/software/monitor/monitor/docs/html/search/all_b.js new file mode 100644 index 0000000..331730c --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_b.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['sendcommand',['SendCommand',['../classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363',1,'monitor::CommandManager']]], + ['serverconnected',['ServerConnected',['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da911ba363fd1483b5b36fda7b0149cf76',1,'MainWindow']]], + ['splitcommand',['SplitCommand',['../classmonitor_1_1_destijl_command_manager.html#ad6fc73806e924e73dcf07c5cf3c81a66',1,'monitor::DestijlCommandManager']]], + ['stream',['stream',['../classmonitor_1_1_client.html#a8de2a9e4fe2c2e896849ddd33d80d759',1,'monitor::Client']]], + ['success',['Success',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0a505a83f220c02df2f85c3810cd9ceb38',1,'monitor::DestijlCommandManager']]], + ['systemstate',['systemState',['../class_main_window.html#a105025ee1bdfac188f1ce640d593550d',1,'MainWindow.systemState()'],['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3d',1,'MainWindow.SystemState()']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_c.html b/software/monitor/monitor/docs/html/search/all_c.html new file mode 100644 index 0000000..da08c38 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_c.js b/software/monitor/monitor/docs/html/search/all_c.js new file mode 100644 index 0000000..2ceb51a --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['timeout',['../classmonitor_1_1_destijl_command_manager.html#a86a1fb03dc480dab8d6758aa0d675cd3',1,'monitor.DestijlCommandManager.timeout()'],['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398',1,'monitor.CommandManager.Timeout()']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_d.html b/software/monitor/monitor/docs/html/search/all_d.html new file mode 100644 index 0000000..9986c9c --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_d.js b/software/monitor/monitor/docs/html/search/all_d.js new file mode 100644 index 0000000..1b0062c --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_d.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['waitevent',['waitEvent',['../classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447',1,'monitor::CommandManager']]], + ['waitforacknowledge',['waitForAcknowledge',['../classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd',1,'monitor::CommandManager']]], + ['waittimer',['waitTimer',['../classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0',1,'monitor::CommandManager']]], + ['write',['Write',['../classmonitor_1_1_client.html#a081413295e7a96662b39b2ddec854b02',1,'monitor::Client']]] +]; diff --git a/software/monitor/monitor/docs/html/search/all_e.html b/software/monitor/monitor/docs/html/search/all_e.html new file mode 100644 index 0000000..9fa42bb --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/all_e.js b/software/monitor/monitor/docs/html/search/all_e.js new file mode 100644 index 0000000..8411c20 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/all_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_7ecommandmanager',['~CommandManager',['../classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e',1,'monitor::CommandManager']]], + ['_7edestijlcommandmanager',['~DestijlCommandManager',['../classmonitor_1_1_destijl_command_manager.html#abc51dc980d7ba7e59a571e579cb626b9',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/classes_0.html b/software/monitor/monitor/docs/html/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/classes_0.js b/software/monitor/monitor/docs/html/search/classes_0.js new file mode 100644 index 0000000..7292c75 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['client',['Client',['../classmonitor_1_1_client.html',1,'monitor']]], + ['commandmanager',['CommandManager',['../classmonitor_1_1_command_manager.html',1,'monitor']]] +]; diff --git a/software/monitor/monitor/docs/html/search/classes_1.html b/software/monitor/monitor/docs/html/search/classes_1.html new file mode 100644 index 0000000..a8e7069 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/classes_1.js b/software/monitor/monitor/docs/html/search/classes_1.js new file mode 100644 index 0000000..96759e3 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['destijlcommandlist',['DestijlCommandList',['../classmonitor_1_1_destijl_command_list.html',1,'monitor']]], + ['destijlcommandmanager',['DestijlCommandManager',['../classmonitor_1_1_destijl_command_manager.html',1,'monitor']]] +]; diff --git a/software/monitor/monitor/docs/html/search/classes_2.html b/software/monitor/monitor/docs/html/search/classes_2.html new file mode 100644 index 0000000..5c09c96 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/classes_2.js b/software/monitor/monitor/docs/html/search/classes_2.js new file mode 100644 index 0000000..2741278 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['mainclass',['MainClass',['../classmonitor_1_1_main_class.html',1,'monitor']]], + ['mainwindow',['MainWindow',['../class_main_window.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/classes_3.html b/software/monitor/monitor/docs/html/search/classes_3.html new file mode 100644 index 0000000..5faaeba --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/classes_3.js b/software/monitor/monitor/docs/html/search/classes_3.js new file mode 100644 index 0000000..0e55c0e --- /dev/null +++ b/software/monitor/monitor/docs/html/search/classes_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['robotcommandlist',['RobotCommandList',['../classmonitor_1_1_robot_command_list.html',1,'monitor']]] +]; diff --git a/software/monitor/monitor/docs/html/search/close.png b/software/monitor/monitor/docs/html/search/close.png new file mode 100644 index 0000000..9342d3d Binary files /dev/null and b/software/monitor/monitor/docs/html/search/close.png differ diff --git a/software/monitor/monitor/docs/html/search/enums_0.html b/software/monitor/monitor/docs/html/search/enums_0.html new file mode 100644 index 0000000..ee343ac --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enums_0.js b/software/monitor/monitor/docs/html/search/enums_0.js new file mode 100644 index 0000000..a53dda6 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enums_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['commandmanagerstatus',['CommandManagerStatus',['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b',1,'monitor::CommandManager']]], + ['commandstatus',['CommandStatus',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enums_1.html b/software/monitor/monitor/docs/html/search/enums_1.html new file mode 100644 index 0000000..3fd210a --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enums_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enums_1.js b/software/monitor/monitor/docs/html/search/enums_1.js new file mode 100644 index 0000000..4c75f75 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['systemstate',['SystemState',['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3d',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_0.html b/software/monitor/monitor/docs/html/search/enumvalues_0.html new file mode 100644 index 0000000..9387b6a --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_0.js b/software/monitor/monitor/docs/html/search/enumvalues_0.js new file mode 100644 index 0000000..2824753 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['answerreceived',['AnswerReceived',['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3',1,'monitor::CommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_1.html b/software/monitor/monitor/docs/html/search/enumvalues_1.html new file mode 100644 index 0000000..f622aba --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_1.js b/software/monitor/monitor/docs/html/search/enumvalues_1.js new file mode 100644 index 0000000..6a36231 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['busy',['Busy',['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407',1,'monitor.CommandManager.Busy()'],['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad8a942ef2b04672adfafef0ad817a407',1,'monitor.DestijlCommandManager.Busy()']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_2.html b/software/monitor/monitor/docs/html/search/enumvalues_2.html new file mode 100644 index 0000000..d499078 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_2.js b/software/monitor/monitor/docs/html/search/enumvalues_2.js new file mode 100644 index 0000000..2c136dc --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['communicationlostwithrobot',['CommunicationLostWithRobot',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0a37039bce065223d632b6974daa612656',1,'monitor::DestijlCommandManager']]], + ['communicationlostwithserver',['CommunicationLostWithServer',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ae7009a5c717d5d4d361433a9915e697e',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_3.html b/software/monitor/monitor/docs/html/search/enumvalues_3.html new file mode 100644 index 0000000..b4fc3ee --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_3.js b/software/monitor/monitor/docs/html/search/enumvalues_3.js new file mode 100644 index 0000000..576d8ec --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['invalidanswer',['InvalidAnswer',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad410f0b6f9dc2f2b271f9cf2fc78eb34',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_4.html b/software/monitor/monitor/docs/html/search/enumvalues_4.html new file mode 100644 index 0000000..d6f69ac --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_4.js b/software/monitor/monitor/docs/html/search/enumvalues_4.js new file mode 100644 index 0000000..c5d44b4 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['notconnected',['NotConnected',['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da4075072d219e061ca0f3124f8fbef463',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_5.html b/software/monitor/monitor/docs/html/search/enumvalues_5.html new file mode 100644 index 0000000..43a28d1 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_5.js b/software/monitor/monitor/docs/html/search/enumvalues_5.js new file mode 100644 index 0000000..a1bec87 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['rejected',['Rejected',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0ad37b1f6c0512e2118cee17fea015b699',1,'monitor::DestijlCommandManager']]], + ['robotconnected',['RobotConnected',['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da9761e78f9ae0d6f598d953b4d9e839e1',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_6.html b/software/monitor/monitor/docs/html/search/enumvalues_6.html new file mode 100644 index 0000000..7439ee1 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_6.js b/software/monitor/monitor/docs/html/search/enumvalues_6.js new file mode 100644 index 0000000..21b284b --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['serverconnected',['ServerConnected',['../class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3da911ba363fd1483b5b36fda7b0149cf76',1,'MainWindow']]], + ['success',['Success',['../classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0a505a83f220c02df2f85c3810cd9ceb38',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/enumvalues_7.html b/software/monitor/monitor/docs/html/search/enumvalues_7.html new file mode 100644 index 0000000..ab72ef1 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/enumvalues_7.js b/software/monitor/monitor/docs/html/search/enumvalues_7.js new file mode 100644 index 0000000..e42c46c --- /dev/null +++ b/software/monitor/monitor/docs/html/search/enumvalues_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['Timeout',['../classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398',1,'monitor::CommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/files_0.html b/software/monitor/monitor/docs/html/search/files_0.html new file mode 100644 index 0000000..4f272b8 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/files_0.js b/software/monitor/monitor/docs/html/search/files_0.js new file mode 100644 index 0000000..9c6ff95 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['client_2ecs',['Client.cs',['../_client_8cs.html',1,'']]], + ['commandmanager_2ecs',['CommandManager.cs',['../_command_manager_8cs.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/files_1.html b/software/monitor/monitor/docs/html/search/files_1.html new file mode 100644 index 0000000..dcce422 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/files_1.js b/software/monitor/monitor/docs/html/search/files_1.js new file mode 100644 index 0000000..764f18a --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['destijlcommandmanager_2ecs',['DestijlCommandManager.cs',['../_destijl_command_manager_8cs.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/files_2.html b/software/monitor/monitor/docs/html/search/files_2.html new file mode 100644 index 0000000..d5c6c3b --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/files_2.js b/software/monitor/monitor/docs/html/search/files_2.js new file mode 100644 index 0000000..3875ddf --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['monitorui_2ecs',['MonitorUI.cs',['../_monitor_u_i_8cs.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/files_3.html b/software/monitor/monitor/docs/html/search/files_3.html new file mode 100644 index 0000000..d5a9528 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/files_3.js b/software/monitor/monitor/docs/html/search/files_3.js new file mode 100644 index 0000000..1faf3e2 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/files_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['program_2ecs',['Program.cs',['../_program_8cs.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_0.html b/software/monitor/monitor/docs/html/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_0.js b/software/monitor/monitor/docs/html/search/functions_0.js new file mode 100644 index 0000000..44be363 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['adjustcontrols',['AdjustControls',['../class_main_window.html#a9a0f3d4cd871609f12d328af2f588664',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_1.html b/software/monitor/monitor/docs/html/search/functions_1.html new file mode 100644 index 0000000..b343e2d --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_1.js b/software/monitor/monitor/docs/html/search/functions_1.js new file mode 100644 index 0000000..682d65d --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_1.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['cameraarenaconfirm',['CameraArenaConfirm',['../classmonitor_1_1_destijl_command_manager.html#ac58ed9c19d8c9ed547c35fb96a983668',1,'monitor::DestijlCommandManager']]], + ['cameraarenainfirm',['CameraArenaInfirm',['../classmonitor_1_1_destijl_command_manager.html#a614be7a565a3a10308f20b073b40383f',1,'monitor::DestijlCommandManager']]], + ['cameraaskarena',['CameraAskArena',['../classmonitor_1_1_destijl_command_manager.html#a8d178480fc09d474760eae995c9aa096',1,'monitor::DestijlCommandManager']]], + ['cameraclose',['CameraClose',['../classmonitor_1_1_destijl_command_manager.html#a94b085d9de512cd7e80bcefd516d460c',1,'monitor::DestijlCommandManager']]], + ['cameracomputeposition',['CameraComputePosition',['../classmonitor_1_1_destijl_command_manager.html#ad04df7759d2698334a410fe32b78e21e',1,'monitor::DestijlCommandManager']]], + ['cameraopen',['CameraOpen',['../classmonitor_1_1_destijl_command_manager.html#a292d7e2961ff31a80d9abf79b7b41126',1,'monitor::DestijlCommandManager']]], + ['camerastopcomputeposition',['CameraStopComputePosition',['../classmonitor_1_1_destijl_command_manager.html#a928f987f8f5f12135614678585ab2726',1,'monitor::DestijlCommandManager']]], + ['changestate',['ChangeState',['../class_main_window.html#aedc27cabbe1604313a452fcbf3ffe9f4',1,'MainWindow']]], + ['close',['Close',['../classmonitor_1_1_client.html#ae6c0cbe19d622b008fd1f6d01d9cb315',1,'monitor.Client.Close()'],['../classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6',1,'monitor.CommandManager.Close()'],['../classmonitor_1_1_destijl_command_manager.html#af1f57d8e3e980322e37da2cd3b61d1d7',1,'monitor.DestijlCommandManager.Close()']]], + ['commandmanager',['CommandManager',['../classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72',1,'monitor::CommandManager']]], + ['commandreceivedevent',['CommandReceivedEvent',['../classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc',1,'monitor.CommandManager.CommandReceivedEvent()'],['../classmonitor_1_1_destijl_command_manager.html#acc08ece6a89e842188364226299b3d43',1,'monitor.DestijlCommandManager.CommandReceivedEvent()']]], + ['createcommand',['CreateCommand',['../classmonitor_1_1_destijl_command_manager.html#a47eb72ec1ae43505966bc5cf09c79e58',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_2.html b/software/monitor/monitor/docs/html/search/functions_2.html new file mode 100644 index 0000000..ecce2f3 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_2.js b/software/monitor/monitor/docs/html/search/functions_2.js new file mode 100644 index 0000000..ef36b0f --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_2.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['decodestatus',['DecodeStatus',['../classmonitor_1_1_destijl_command_manager.html#a00c3fb9f163c4d9025b356a5a7e74012',1,'monitor::DestijlCommandManager']]], + ['destijlcommandmanager',['DestijlCommandManager',['../classmonitor_1_1_destijl_command_manager.html#a78bf0be922afbd9c5f8f4115fa83ad47',1,'monitor::DestijlCommandManager']]], + ['detectarena',['DetectArena',['../class_main_window.html#a89c79ce9ca4114ca9c50f32dc080e9cd',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_3.html b/software/monitor/monitor/docs/html/search/functions_3.html new file mode 100644 index 0000000..15f06ab --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_3.js b/software/monitor/monitor/docs/html/search/functions_3.js new file mode 100644 index 0000000..f0ea237 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_3.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['main',['Main',['../classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1',1,'monitor::MainClass']]], + ['mainwindow',['MainWindow',['../class_main_window.html#af607d50e4d1b04d3c494661489283f45',1,'MainWindow']]], + ['messagepopup',['MessagePopup',['../class_main_window.html#afc4f923aaa481a93dddaff6303efb9e0',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_4.html b/software/monitor/monitor/docs/html/search/functions_4.html new file mode 100644 index 0000000..8985ff2 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_4.js b/software/monitor/monitor/docs/html/search/functions_4.js new file mode 100644 index 0000000..5863f4b --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_4.js @@ -0,0 +1,19 @@ +var searchData= +[ + ['onbatterytimerelapsed',['OnBatteryTimerElapsed',['../class_main_window.html#af303b70c08cda04a76f6418f727c4891',1,'MainWindow']]], + ['onbuttonaskarenaclicked',['OnButtonAskArenaClicked',['../class_main_window.html#a31e299085d6286d680bd488c73fdff82',1,'MainWindow']]], + ['onbuttonmouvclicked',['OnButtonMouvClicked',['../class_main_window.html#a7f8d06747f887216ab8c941ad10cb48b',1,'MainWindow']]], + ['onbuttonrobotactivationclicked',['OnButtonRobotActivationClicked',['../class_main_window.html#a2b5e11a49a10b24c59bebb377cdfeae8',1,'MainWindow']]], + ['onbuttonserverconnectionclicked',['OnButtonServerConnectionClicked',['../class_main_window.html#ac0acc6c3a63f405f14ec8e4d132a2661',1,'MainWindow']]], + ['oncheckbuttoncameraonclicked',['OnCheckButtonCameraOnClicked',['../class_main_window.html#af4b587cdd614d5bdb8d9158a1f59e4fa',1,'MainWindow']]], + ['oncheckbuttonrobotpositionclicked',['OnCheckButtonRobotPositionClicked',['../class_main_window.html#a20d07605619027d82a30552f294b128f',1,'MainWindow']]], + ['oncommandreceived',['OnCommandReceived',['../classmonitor_1_1_destijl_command_manager.html#ab83dbda4196240c242a5ac101901bb19',1,'monitor::DestijlCommandManager']]], + ['oncommandreceivedevent',['OnCommandReceivedEvent',['../class_main_window.html#a4b651f10b9079c128b9e36d15ad10211',1,'MainWindow']]], + ['ondeleteevent',['OnDeleteEvent',['../class_main_window.html#a64bdcb29cebb58957790da1ee2733fe1',1,'MainWindow']]], + ['ondrawingareacameraexposeevent',['OnDrawingAreaCameraExposeEvent',['../class_main_window.html#afe4b0001f191554aed5d9b65208a06f5',1,'MainWindow']]], + ['onmessagereception',['OnMessageReception',['../classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65',1,'monitor::CommandManager']]], + ['onmessagetimeout',['OnMessageTimeout',['../classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df',1,'monitor::CommandManager']]], + ['onquitactionactivated',['OnQuitActionActivated',['../class_main_window.html#ab54b643c364b46a150f6f993267bb709',1,'MainWindow']]], + ['onshowlogwindowactionactivated',['OnShowLogWindowActionActivated',['../class_main_window.html#a87132738a6ca496303940d56e091bdc7',1,'MainWindow']]], + ['open',['Open',['../classmonitor_1_1_client.html#af802cd428aa08b9604e2246f11e1fe61',1,'monitor.Client.Open(string host)'],['../classmonitor_1_1_client.html#aee6f8f594a9496600b78c37d6da457d4',1,'monitor.Client.Open(string host, int port)'],['../classmonitor_1_1_command_manager.html#a7329cbf8008bcb8a0280aa7ffa6aa43c',1,'monitor.CommandManager.Open(string hostname)'],['../classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee',1,'monitor.CommandManager.Open(string hostname, int port)'],['../classmonitor_1_1_destijl_command_manager.html#a5dd6b75386a554c2f026eee787477bb0',1,'monitor.DestijlCommandManager.Open(string hostname)'],['../classmonitor_1_1_destijl_command_manager.html#a842300511efb20783c271764ee0e3336',1,'monitor.DestijlCommandManager.Open(string hostname, int port)']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_5.html b/software/monitor/monitor/docs/html/search/functions_5.html new file mode 100644 index 0000000..0314918 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_5.js b/software/monitor/monitor/docs/html/search/functions_5.js new file mode 100644 index 0000000..e803c56 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_5.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['readcallback',['ReadCallback',['../classmonitor_1_1_client.html#a8dd2eb26c164d0f566dd6c679ba340e0',1,'monitor::Client']]], + ['readevent',['ReadEvent',['../classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378',1,'monitor::Client']]], + ['robotclosecom',['RobotCloseCom',['../classmonitor_1_1_destijl_command_manager.html#a0139bec493c965670226381f2ba63a23',1,'monitor::DestijlCommandManager']]], + ['robotgetbattery',['RobotGetBattery',['../classmonitor_1_1_destijl_command_manager.html#a2ec8021340de939318ace65b8462b930',1,'monitor::DestijlCommandManager']]], + ['robotgetversion',['RobotGetVersion',['../classmonitor_1_1_destijl_command_manager.html#a7ddd552ed82382a09b4af075c34fb989',1,'monitor::DestijlCommandManager']]], + ['robotmove',['RobotMove',['../classmonitor_1_1_destijl_command_manager.html#a5976fe792e270c63bd9f0f4c792df129',1,'monitor::DestijlCommandManager']]], + ['robotopencom',['RobotOpenCom',['../classmonitor_1_1_destijl_command_manager.html#aa1440a571e6aaf11203b4e4a4ed116d5',1,'monitor::DestijlCommandManager']]], + ['robotping',['RobotPing',['../classmonitor_1_1_destijl_command_manager.html#ae1af16558213c3830ea3006e8e8c5e28',1,'monitor::DestijlCommandManager']]], + ['robotpoweroff',['RobotPowerOff',['../classmonitor_1_1_destijl_command_manager.html#acb242a71fa40d4001dc1bc31d5bdc53f',1,'monitor::DestijlCommandManager']]], + ['robotreset',['RobotReset',['../classmonitor_1_1_destijl_command_manager.html#abe223aa12456e3f1c2519e9c379d891a',1,'monitor::DestijlCommandManager']]], + ['robotstartwithoutwatchdog',['RobotStartWithoutWatchdog',['../classmonitor_1_1_destijl_command_manager.html#a0c964baa3ecd4ff9d19857061413938b',1,'monitor::DestijlCommandManager']]], + ['robotstartwithwatchdog',['RobotStartWithWatchdog',['../classmonitor_1_1_destijl_command_manager.html#ade46aceeb79556e31fe632e9602e1636',1,'monitor::DestijlCommandManager']]], + ['robotturn',['RobotTurn',['../classmonitor_1_1_destijl_command_manager.html#a3f7ee6f1803cfb8b2eb4290f9e9acced',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_6.html b/software/monitor/monitor/docs/html/search/functions_6.html new file mode 100644 index 0000000..c506123 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_6.js b/software/monitor/monitor/docs/html/search/functions_6.js new file mode 100644 index 0000000..81310ae --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_6.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['sendcommand',['SendCommand',['../classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363',1,'monitor::CommandManager']]], + ['splitcommand',['SplitCommand',['../classmonitor_1_1_destijl_command_manager.html#ad6fc73806e924e73dcf07c5cf3c81a66',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_7.html b/software/monitor/monitor/docs/html/search/functions_7.html new file mode 100644 index 0000000..83a7b84 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_7.js b/software/monitor/monitor/docs/html/search/functions_7.js new file mode 100644 index 0000000..c8809fa --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['write',['Write',['../classmonitor_1_1_client.html#a081413295e7a96662b39b2ddec854b02',1,'monitor::Client']]] +]; diff --git a/software/monitor/monitor/docs/html/search/functions_8.html b/software/monitor/monitor/docs/html/search/functions_8.html new file mode 100644 index 0000000..b55f0e6 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/functions_8.js b/software/monitor/monitor/docs/html/search/functions_8.js new file mode 100644 index 0000000..8411c20 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/functions_8.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['_7ecommandmanager',['~CommandManager',['../classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e',1,'monitor::CommandManager']]], + ['_7edestijlcommandmanager',['~DestijlCommandManager',['../classmonitor_1_1_destijl_command_manager.html#abc51dc980d7ba7e59a571e579cb626b9',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/mag_sel.png b/software/monitor/monitor/docs/html/search/mag_sel.png new file mode 100644 index 0000000..81f6040 Binary files /dev/null and b/software/monitor/monitor/docs/html/search/mag_sel.png differ diff --git a/software/monitor/monitor/docs/html/search/namespaces_0.html b/software/monitor/monitor/docs/html/search/namespaces_0.html new file mode 100644 index 0000000..605ac45 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/namespaces_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/namespaces_0.js b/software/monitor/monitor/docs/html/search/namespaces_0.js new file mode 100644 index 0000000..0757527 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/namespaces_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['monitor',['monitor',['../namespacemonitor.html',1,'']]] +]; diff --git a/software/monitor/monitor/docs/html/search/nomatches.html b/software/monitor/monitor/docs/html/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
+
No Matches
+
+ + diff --git a/software/monitor/monitor/docs/html/search/search.css b/software/monitor/monitor/docs/html/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/software/monitor/monitor/docs/html/search/search.js b/software/monitor/monitor/docs/html/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/software/monitor/monitor/docs/html/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; e + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_0.js b/software/monitor/monitor/docs/html/search/variables_0.js new file mode 100644 index 0000000..87fd1cf --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['batterytimer',['batteryTimer',['../class_main_window.html#a57f0325d8b8a63be586001b9a469d9ae',1,'MainWindow']]], + ['buffer',['buffer',['../classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762',1,'monitor::Client']]], + ['buffermaxsize',['BufferMaxSize',['../classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29',1,'monitor::Client']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_1.html b/software/monitor/monitor/docs/html/search/variables_1.html new file mode 100644 index 0000000..84237b6 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_1.js b/software/monitor/monitor/docs/html/search/variables_1.js new file mode 100644 index 0000000..9d07b0f --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_1.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['client',['client',['../classmonitor_1_1_client.html#a4867b48ebfa930a80662c552f2911430',1,'monitor::Client']]], + ['cmdmanager',['cmdManager',['../class_main_window.html#a0b60450970b8a6fb6e016d5c0728e474',1,'MainWindow']]], + ['commandmanager',['commandManager',['../classmonitor_1_1_destijl_command_manager.html#a9efdcd3d35f46329e7aa167ad60062a9',1,'monitor::DestijlCommandManager']]], + ['commandreceivedevent',['commandReceivedEvent',['../classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa',1,'monitor.CommandManager.commandReceivedEvent()'],['../classmonitor_1_1_destijl_command_manager.html#a5c10e8aaae48b83be0267aefa23eb62d',1,'monitor.DestijlCommandManager.commandReceivedEvent()']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_2.html b/software/monitor/monitor/docs/html/search/variables_2.html new file mode 100644 index 0000000..5c9de1a --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_2.js b/software/monitor/monitor/docs/html/search/variables_2.js new file mode 100644 index 0000000..cfaa3b0 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_2.js @@ -0,0 +1,15 @@ +var searchData= +[ + ['datacamarenaconfirm',['DataCamArenaConfirm',['../classmonitor_1_1_destijl_command_list.html#ad31b6758839a4c3b1b6ec4c71635e631',1,'monitor::DestijlCommandList']]], + ['datacamaskarena',['DataCamAskArena',['../classmonitor_1_1_destijl_command_list.html#aaaf85677671db1ef84fe67b2eb954f29',1,'monitor::DestijlCommandList']]], + ['datacamclose',['DataCamClose',['../classmonitor_1_1_destijl_command_list.html#a6f578f9d52dd2b50370177a5c03a2af7',1,'monitor::DestijlCommandList']]], + ['datacamcomputeposition',['DataCamComputePosition',['../classmonitor_1_1_destijl_command_list.html#ab114adce60b63976d8304f2ad11b317a',1,'monitor::DestijlCommandList']]], + ['datacaminfirm',['DataCamInfirm',['../classmonitor_1_1_destijl_command_list.html#ad3985694a06148f2014cb346e8891cba',1,'monitor::DestijlCommandList']]], + ['datacamopen',['DataCamOpen',['../classmonitor_1_1_destijl_command_list.html#a6380d1518931373bd0dfb84f888942e0',1,'monitor::DestijlCommandList']]], + ['datacamstopcomputeposition',['DataCamStopComputePosition',['../classmonitor_1_1_destijl_command_list.html#ad09dd921c6c8cf8c7d90a2c0a05d4056',1,'monitor::DestijlCommandList']]], + ['datacomclose',['DataComClose',['../classmonitor_1_1_destijl_command_list.html#ad97cbe948c71a4dc3fa95afbf9ca26d8',1,'monitor::DestijlCommandList']]], + ['datacomopen',['DataComOpen',['../classmonitor_1_1_destijl_command_list.html#a1bcde55da429bcf2c04ed6d0621e496f',1,'monitor::DestijlCommandList']]], + ['defaultip',['defaultIP',['../classmonitor_1_1_client.html#a326a20fe68a86757e16a6e45b8012640',1,'monitor::Client']]], + ['defaultport',['defaultPort',['../classmonitor_1_1_client.html#ad0a9bfc361ccef7443625f399e67f84a',1,'monitor::Client']]], + ['drawingareacamerapixbuf',['drawingareaCameraPixbuf',['../class_main_window.html#a41581e449b18e87acbdff5baa12c2050',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_3.html b/software/monitor/monitor/docs/html/search/variables_3.html new file mode 100644 index 0000000..f95e34c --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_3.js b/software/monitor/monitor/docs/html/search/variables_3.js new file mode 100644 index 0000000..6f17b8a --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_3.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['headermtscamera',['HeaderMtsCamera',['../classmonitor_1_1_destijl_command_list.html#af570b0e8d14920402ce979778225ed68',1,'monitor::DestijlCommandList']]], + ['headermtscomdmb',['HeaderMtsComDmb',['../classmonitor_1_1_destijl_command_list.html#aa9fe4e71b7faec183ab64f4cf6ecd395',1,'monitor::DestijlCommandList']]], + ['headermtsdmborder',['HeaderMtsDmbOrder',['../classmonitor_1_1_destijl_command_list.html#adbcf7adab9f5e8ead971affbbc64178b',1,'monitor::DestijlCommandList']]], + ['headermtsmessage',['HeaderMtsMessage',['../classmonitor_1_1_destijl_command_list.html#acb283f1da96d8d522e3b28ca35187acd',1,'monitor::DestijlCommandList']]], + ['headerstmack',['HeaderStmAck',['../classmonitor_1_1_destijl_command_list.html#af494d7e1bddee8184873dc380a3066ba',1,'monitor::DestijlCommandList']]], + ['headerstmbat',['HeaderStmBat',['../classmonitor_1_1_destijl_command_list.html#a88de91fa6abdc122245ceb26fc21fd33',1,'monitor::DestijlCommandList']]], + ['headerstmimage',['HeaderStmImage',['../classmonitor_1_1_destijl_command_list.html#ae3ee8e0ecbb79faec9d24095d72cfbde',1,'monitor::DestijlCommandList']]], + ['headerstmlostdmb',['HeaderStmLostDmb',['../classmonitor_1_1_destijl_command_list.html#a54e9ebd5e8f34ac596b84b56bb2403f7',1,'monitor::DestijlCommandList']]], + ['headerstmmes',['HeaderStmMes',['../classmonitor_1_1_destijl_command_list.html#ad1fa4557b2d44dd888d8640f374c9f04',1,'monitor::DestijlCommandList']]], + ['headerstmnoack',['HeaderStmNoAck',['../classmonitor_1_1_destijl_command_list.html#ae3dc86c7e90bba409317e63cf1c85a39',1,'monitor::DestijlCommandList']]], + ['headerstmpos',['HeaderStmPos',['../classmonitor_1_1_destijl_command_list.html#abf99a718161a5a9017d7011cea429ec0',1,'monitor::DestijlCommandList']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_4.html b/software/monitor/monitor/docs/html/search/variables_4.html new file mode 100644 index 0000000..d7db285 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_4.js b/software/monitor/monitor/docs/html/search/variables_4.js new file mode 100644 index 0000000..e780e3d --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_4.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['initialreceivebufferindex',['initialReceiveBufferIndex',['../classmonitor_1_1_client.html#afbbf4cf14d1a11747f6103e726dee77e',1,'monitor::Client']]], + ['isbusy',['isBusy',['../classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db',1,'monitor::CommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_5.html b/software/monitor/monitor/docs/html/search/variables_5.html new file mode 100644 index 0000000..7bbceeb --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_5.js b/software/monitor/monitor/docs/html/search/variables_5.js new file mode 100644 index 0000000..a138913 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_5.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['message',['message',['../classmonitor_1_1_client.html#a2ddb7073c4bf8a42c231939d5c21d68e',1,'monitor::Client']]], + ['messagereceived',['messageReceived',['../classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57',1,'monitor::CommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_6.html b/software/monitor/monitor/docs/html/search/variables_6.html new file mode 100644 index 0000000..4eb162d --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_6.js b/software/monitor/monitor/docs/html/search/variables_6.js new file mode 100644 index 0000000..2542a98 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['newlength',['newLength',['../classmonitor_1_1_client.html#a7083940b8fea9df2b080e3844549e805',1,'monitor::Client']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_7.html b/software/monitor/monitor/docs/html/search/variables_7.html new file mode 100644 index 0000000..0408829 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_7.js b/software/monitor/monitor/docs/html/search/variables_7.js new file mode 100644 index 0000000..935781b --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['packetcounter',['packetCounter',['../classmonitor_1_1_client.html#a7eb13840c83beb2ab191cae3ba3210c9',1,'monitor::Client']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_8.html b/software/monitor/monitor/docs/html/search/variables_8.html new file mode 100644 index 0000000..d54d096 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_8.js b/software/monitor/monitor/docs/html/search/variables_8.js new file mode 100644 index 0000000..5402002 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_8.js @@ -0,0 +1,17 @@ +var searchData= +[ + ['readevent',['readEvent',['../classmonitor_1_1_client.html#a01cb2a551d81fd82d2f7015e177f0f18',1,'monitor::Client']]], + ['receivebuffer',['receiveBuffer',['../classmonitor_1_1_client.html#aade32a6043e0dc629509f0e1c0112a24',1,'monitor::Client']]], + ['receiveddata',['receivedData',['../classmonitor_1_1_destijl_command_manager.html#a88f907fc9c5fd8cd8d5976f45c323903',1,'monitor::DestijlCommandManager']]], + ['receivedheader',['receivedHeader',['../classmonitor_1_1_destijl_command_manager.html#a1b99d771e7af8ffc8ced10d35e5e77ce',1,'monitor::DestijlCommandManager']]], + ['robotgetbattery',['RobotGetBattery',['../classmonitor_1_1_robot_command_list.html#a374eb526d14b8499e47b065230afeed0',1,'monitor::RobotCommandList']]], + ['robotgetbusystate',['RobotGetBusyState',['../classmonitor_1_1_robot_command_list.html#a52a901f4e013dc33ff491c5fcda76860',1,'monitor::RobotCommandList']]], + ['robotgetversion',['RobotGetVersion',['../classmonitor_1_1_robot_command_list.html#a9a845beb5c040e4813f03cee7cd1cb71',1,'monitor::RobotCommandList']]], + ['robotmove',['RobotMove',['../classmonitor_1_1_robot_command_list.html#af7017bac04f1976fe1c37e8ec77bcbce',1,'monitor::RobotCommandList']]], + ['robotping',['RobotPing',['../classmonitor_1_1_robot_command_list.html#a93de788c0d7ed40caaa2e3912a429831',1,'monitor::RobotCommandList']]], + ['robotpoweroff',['RobotPowerOff',['../classmonitor_1_1_robot_command_list.html#a2e9616c1b75719c208902e595b79cc48',1,'monitor::RobotCommandList']]], + ['robotreset',['RobotReset',['../classmonitor_1_1_robot_command_list.html#a9ef80510dfe9ca241af290b003766526',1,'monitor::RobotCommandList']]], + ['robotstartwithoutwatchdog',['RobotStartWithoutWatchdog',['../classmonitor_1_1_robot_command_list.html#a92acfe998bb9d265dd1f34f68f718386',1,'monitor::RobotCommandList']]], + ['robotstartwithwatchdog',['RobotStartWithWatchdog',['../classmonitor_1_1_robot_command_list.html#aafa5d0e5fec3afe6586cca8b88d45c85',1,'monitor::RobotCommandList']]], + ['robotturn',['RobotTurn',['../classmonitor_1_1_robot_command_list.html#a2b88fc42fba8229f163e03e7252a77e6',1,'monitor::RobotCommandList']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_9.html b/software/monitor/monitor/docs/html/search/variables_9.html new file mode 100644 index 0000000..234dc60 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_9.js b/software/monitor/monitor/docs/html/search/variables_9.js new file mode 100644 index 0000000..6174c12 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['stream',['stream',['../classmonitor_1_1_client.html#a8de2a9e4fe2c2e896849ddd33d80d759',1,'monitor::Client']]], + ['systemstate',['systemState',['../class_main_window.html#a105025ee1bdfac188f1ce640d593550d',1,'MainWindow']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_a.html b/software/monitor/monitor/docs/html/search/variables_a.html new file mode 100644 index 0000000..0892488 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_a.js b/software/monitor/monitor/docs/html/search/variables_a.js new file mode 100644 index 0000000..4b7f160 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['timeout',['timeout',['../classmonitor_1_1_destijl_command_manager.html#a86a1fb03dc480dab8d6758aa0d675cd3',1,'monitor::DestijlCommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/search/variables_b.html b/software/monitor/monitor/docs/html/search/variables_b.html new file mode 100644 index 0000000..ea46965 --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
+
Loading...
+
+ +
Searching...
+
No Matches
+ +
+ + diff --git a/software/monitor/monitor/docs/html/search/variables_b.js b/software/monitor/monitor/docs/html/search/variables_b.js new file mode 100644 index 0000000..91f44ba --- /dev/null +++ b/software/monitor/monitor/docs/html/search/variables_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['waitevent',['waitEvent',['../classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447',1,'monitor::CommandManager']]], + ['waitforacknowledge',['waitForAcknowledge',['../classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd',1,'monitor::CommandManager']]], + ['waittimer',['waitTimer',['../classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0',1,'monitor::CommandManager']]] +]; diff --git a/software/monitor/monitor/docs/html/splitbar.png b/software/monitor/monitor/docs/html/splitbar.png new file mode 100644 index 0000000..fe895f2 Binary files /dev/null and b/software/monitor/monitor/docs/html/splitbar.png differ diff --git a/software/monitor/monitor/docs/html/sync_off.png b/software/monitor/monitor/docs/html/sync_off.png new file mode 100644 index 0000000..3b443fc Binary files /dev/null and b/software/monitor/monitor/docs/html/sync_off.png differ diff --git a/software/monitor/monitor/docs/html/sync_on.png b/software/monitor/monitor/docs/html/sync_on.png new file mode 100644 index 0000000..e08320f Binary files /dev/null and b/software/monitor/monitor/docs/html/sync_on.png differ diff --git a/software/monitor/monitor/docs/html/tab_a.png b/software/monitor/monitor/docs/html/tab_a.png new file mode 100644 index 0000000..3b725c4 Binary files /dev/null and b/software/monitor/monitor/docs/html/tab_a.png differ diff --git a/software/monitor/monitor/docs/html/tab_b.png b/software/monitor/monitor/docs/html/tab_b.png new file mode 100644 index 0000000..e2b4a86 Binary files /dev/null and b/software/monitor/monitor/docs/html/tab_b.png differ diff --git a/software/monitor/monitor/docs/html/tab_h.png b/software/monitor/monitor/docs/html/tab_h.png new file mode 100644 index 0000000..fd5cb70 Binary files /dev/null and b/software/monitor/monitor/docs/html/tab_h.png differ diff --git a/software/monitor/monitor/docs/html/tab_s.png b/software/monitor/monitor/docs/html/tab_s.png new file mode 100644 index 0000000..ab478c9 Binary files /dev/null and b/software/monitor/monitor/docs/html/tab_s.png differ diff --git a/software/monitor/monitor/docs/html/tabs.css b/software/monitor/monitor/docs/html/tabs.css new file mode 100644 index 0000000..bbde11e --- /dev/null +++ b/software/monitor/monitor/docs/html/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/software/monitor/monitor/docs/latex/Makefile b/software/monitor/monitor/docs/latex/Makefile new file mode 100644 index 0000000..8cc3866 --- /dev/null +++ b/software/monitor/monitor/docs/latex/Makefile @@ -0,0 +1,21 @@ +all: refman.pdf + +pdf: refman.pdf + +refman.pdf: clean refman.tex + pdflatex refman + makeindex refman.idx + pdflatex refman + latex_count=8 ; \ + while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\ + do \ + echo "Rerunning latex...." ;\ + pdflatex refman ;\ + latex_count=`expr $$latex_count - 1` ;\ + done + makeindex refman.idx + pdflatex refman + + +clean: + rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl refman.pdf diff --git a/software/monitor/monitor/docs/latex/_client_8cs.tex b/software/monitor/monitor/docs/latex/_client_8cs.tex new file mode 100644 index 0000000..863ce6f --- /dev/null +++ b/software/monitor/monitor/docs/latex/_client_8cs.tex @@ -0,0 +1,12 @@ +\section{Client.\+cs File Reference} +\label{_client_8cs}\index{Client.\+cs@{Client.\+cs}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \textbf{ monitor.\+Client} +\begin{DoxyCompactList}\small\item\em Static class for T\+CP client \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \textbf{ monitor} +\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/_command_manager_8cs.tex b/software/monitor/monitor/docs/latex/_command_manager_8cs.tex new file mode 100644 index 0000000..d03ce72 --- /dev/null +++ b/software/monitor/monitor/docs/latex/_command_manager_8cs.tex @@ -0,0 +1,12 @@ +\section{Command\+Manager.\+cs File Reference} +\label{_command_manager_8cs}\index{Command\+Manager.\+cs@{Command\+Manager.\+cs}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \textbf{ monitor.\+Command\+Manager} +\begin{DoxyCompactList}\small\item\em Command Manager. Use for timeout managment during reception of data Used as intermediate layer between T\+CP client class (\doxyref{Client}{p.}{classmonitor_1_1_client}) and application level managment of command and answers \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \textbf{ monitor} +\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/_destijl_command_manager_8cs.tex b/software/monitor/monitor/docs/latex/_destijl_command_manager_8cs.tex new file mode 100644 index 0000000..46f2ce1 --- /dev/null +++ b/software/monitor/monitor/docs/latex/_destijl_command_manager_8cs.tex @@ -0,0 +1,16 @@ +\section{Destijl\+Command\+Manager.\+cs File Reference} +\label{_destijl_command_manager_8cs}\index{Destijl\+Command\+Manager.\+cs@{Destijl\+Command\+Manager.\+cs}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \textbf{ monitor.\+Destijl\+Command\+List} +\item +class \textbf{ monitor.\+Robot\+Command\+List} +\item +class \textbf{ monitor.\+Destijl\+Command\+Manager} +\end{DoxyCompactItemize} +\subsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \textbf{ monitor} +\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/_monitor_u_i_8cs.tex b/software/monitor/monitor/docs/latex/_monitor_u_i_8cs.tex new file mode 100644 index 0000000..06933aa --- /dev/null +++ b/software/monitor/monitor/docs/latex/_monitor_u_i_8cs.tex @@ -0,0 +1,7 @@ +\section{Monitor\+U\+I.\+cs File Reference} +\label{_monitor_u_i_8cs}\index{Monitor\+U\+I.\+cs@{Monitor\+U\+I.\+cs}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \textbf{ Main\+Window} +\begin{DoxyCompactList}\small\item\em Main window. \end{DoxyCompactList}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/_program_8cs.tex b/software/monitor/monitor/docs/latex/_program_8cs.tex new file mode 100644 index 0000000..69237a1 --- /dev/null +++ b/software/monitor/monitor/docs/latex/_program_8cs.tex @@ -0,0 +1,12 @@ +\section{Program.\+cs File Reference} +\label{_program_8cs}\index{Program.\+cs@{Program.\+cs}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \textbf{ monitor.\+Main\+Class} +\end{DoxyCompactItemize} +\subsection*{Namespaces} +\begin{DoxyCompactItemize} +\item +namespace \textbf{ monitor} +\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/annotated.tex b/software/monitor/monitor/docs/latex/annotated.tex new file mode 100644 index 0000000..72748c9 --- /dev/null +++ b/software/monitor/monitor/docs/latex/annotated.tex @@ -0,0 +1,10 @@ +\section{Class List} +Here are the classes, structs, unions and interfaces with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\textbf{ monitor.\+Client} \\*Static class for T\+CP client }{\pageref{classmonitor_1_1_client}}{} +\item\contentsline{section}{\textbf{ monitor.\+Command\+Manager} \\*Command Manager. Use for timeout managment during reception of data Used as intermediate layer between T\+CP client class (\doxyref{Client}{p.}{classmonitor_1_1_client}) and application level managment of command and answers }{\pageref{classmonitor_1_1_command_manager}}{} +\item\contentsline{section}{\textbf{ monitor.\+Destijl\+Command\+List} }{\pageref{classmonitor_1_1_destijl_command_list}}{} +\item\contentsline{section}{\textbf{ monitor.\+Destijl\+Command\+Manager} }{\pageref{classmonitor_1_1_destijl_command_manager}}{} +\item\contentsline{section}{\textbf{ monitor.\+Main\+Class} }{\pageref{classmonitor_1_1_main_class}}{} +\item\contentsline{section}{\textbf{ Main\+Window} \\*Main window. }{\pageref{class_main_window}}{} +\item\contentsline{section}{\textbf{ monitor.\+Robot\+Command\+List} }{\pageref{classmonitor_1_1_robot_command_list}}{} +\end{DoxyCompactList} diff --git a/software/monitor/monitor/docs/latex/class_main_window.tex b/software/monitor/monitor/docs/latex/class_main_window.tex new file mode 100644 index 0000000..13dbf0e --- /dev/null +++ b/software/monitor/monitor/docs/latex/class_main_window.tex @@ -0,0 +1,348 @@ +\section{Main\+Window Class Reference} +\label{class_main_window}\index{Main\+Window@{Main\+Window}} + + +Main window. + + + + +Inheritance diagram for Main\+Window\+:\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=154pt]{class_main_window__inherit__graph} +\end{center} +\end{figure} + + +Collaboration diagram for Main\+Window\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=350pt]{class_main_window__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +\textbf{ Main\+Window} () +\item +void \textbf{ Adjust\+Controls} () +\item +void \textbf{ On\+Command\+Received\+Event} (string header, string data, byte[$\,$] buffer) +\end{DoxyCompactItemize} +\subsection*{Protected Member Functions} +\begin{DoxyCompactItemize} +\item +void \textbf{ On\+Delete\+Event} (object sender, Delete\+Event\+Args a) +\item +void \textbf{ On\+Quit\+Action\+Activated} (object sender, Event\+Args e) +\item +void \textbf{ On\+Show\+Log\+Window\+Action\+Activated} (object sender, Event\+Args e) +\item +void \textbf{ On\+Button\+Server\+Connection\+Clicked} (object sender, Event\+Args e) +\item +void \textbf{ On\+Button\+Robot\+Activation\+Clicked} (object sender, Event\+Args e) +\item +void \textbf{ On\+Button\+Mouv\+Clicked} (object sender, Event\+Args e) +\item +void \textbf{ On\+Check\+Button\+Camera\+On\+Clicked} (object sender, Event\+Args e) +\item +void \textbf{ On\+Check\+Button\+Robot\+Position\+Clicked} (object sender, Event\+Args e) +\item +void \textbf{ On\+Drawing\+Area\+Camera\+Expose\+Event} (object o, Expose\+Event\+Args args) +\item +void \textbf{ Detect\+Arena} () +\item +void \textbf{ On\+Button\+Ask\+Arena\+Clicked} (object sender, Event\+Args e) +\end{DoxyCompactItemize} +\subsection*{Private Types} +\begin{DoxyCompactItemize} +\item +enum \textbf{ System\+State} \{ \textbf{ System\+State.\+Not\+Connected}, +\textbf{ System\+State.\+Server\+Connected}, +\textbf{ System\+State.\+Robot\+Connected} + \} +\end{DoxyCompactItemize} +\subsection*{Private Member Functions} +\begin{DoxyCompactItemize} +\item +void \textbf{ Change\+State} (\textbf{ System\+State} new\+State) +\item +void \textbf{ Message\+Popup} (Message\+Type type, Buttons\+Type buttons, string title, string message) +\item +void \textbf{ On\+Battery\+Timer\+Elapsed} (object sender, System.\+Timers.\+Elapsed\+Event\+Args e) +\end{DoxyCompactItemize} +\subsection*{Private Attributes} +\begin{DoxyCompactItemize} +\item +\textbf{ Destijl\+Command\+Manager} \textbf{ cmd\+Manager} +\item +Pixbuf \textbf{ drawingarea\+Camera\+Pixbuf} +\item +\textbf{ System\+State} \textbf{ system\+State} = \textbf{ System\+State.\+Not\+Connected} +\item +System.\+Timers.\+Timer \textbf{ battery\+Timer} +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +Main window. + + + +Definition at line 10 of file Monitor\+U\+I.\+cs. + + + +\subsection{Member Enumeration Documentation} +\mbox{\label{class_main_window_a7b18ca1f8f71faf272c9856aaf7b8e3d}} +\index{Main\+Window@{Main\+Window}!System\+State@{System\+State}} +\index{System\+State@{System\+State}!Main\+Window@{Main\+Window}} +\subsubsection{System\+State} +{\footnotesize\ttfamily enum \textbf{ Main\+Window.\+System\+State}\hspace{0.3cm}{\ttfamily [strong]}, {\ttfamily [private]}} + +\begin{DoxyEnumFields}{Enumerator} +\raisebox{\heightof{T}}[0pt][0pt]{\index{Not\+Connected@{Not\+Connected}!Main\+Window@{Main\+Window}}\index{Main\+Window@{Main\+Window}!Not\+Connected@{Not\+Connected}}}\mbox{\label{class_main_window_a7b18ca1f8f71faf272c9856aaf7b8e3da4075072d219e061ca0f3124f8fbef463}} +Not\+Connected&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Server\+Connected@{Server\+Connected}!Main\+Window@{Main\+Window}}\index{Main\+Window@{Main\+Window}!Server\+Connected@{Server\+Connected}}}\mbox{\label{class_main_window_a7b18ca1f8f71faf272c9856aaf7b8e3da911ba363fd1483b5b36fda7b0149cf76}} +Server\+Connected&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Robot\+Connected@{Robot\+Connected}!Main\+Window@{Main\+Window}}\index{Main\+Window@{Main\+Window}!Robot\+Connected@{Robot\+Connected}}}\mbox{\label{class_main_window_a7b18ca1f8f71faf272c9856aaf7b8e3da9761e78f9ae0d6f598d953b4d9e839e1}} +Robot\+Connected&\\ +\hline + +\end{DoxyEnumFields} + + +Definition at line 15 of file Monitor\+U\+I.\+cs. + + + +\subsection{Constructor \& Destructor Documentation} +\mbox{\label{class_main_window_af607d50e4d1b04d3c494661489283f45}} +\index{Main\+Window@{Main\+Window}!Main\+Window@{Main\+Window}} +\index{Main\+Window@{Main\+Window}!Main\+Window@{Main\+Window}} +\subsubsection{Main\+Window()} +{\footnotesize\ttfamily Main\+Window.\+Main\+Window (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 25 of file Monitor\+U\+I.\+cs. + + + +\subsection{Member Function Documentation} +\mbox{\label{class_main_window_a9a0f3d4cd871609f12d328af2f588664}} +\index{Main\+Window@{Main\+Window}!Adjust\+Controls@{Adjust\+Controls}} +\index{Adjust\+Controls@{Adjust\+Controls}!Main\+Window@{Main\+Window}} +\subsubsection{Adjust\+Controls()} +{\footnotesize\ttfamily void Main\+Window.\+Adjust\+Controls (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 42 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_aedc27cabbe1604313a452fcbf3ffe9f4}} +\index{Main\+Window@{Main\+Window}!Change\+State@{Change\+State}} +\index{Change\+State@{Change\+State}!Main\+Window@{Main\+Window}} +\subsubsection{Change\+State()} +{\footnotesize\ttfamily void Main\+Window.\+Change\+State (\begin{DoxyParamCaption}\item[{\textbf{ System\+State}}]{new\+State }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 54 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a89c79ce9ca4114ca9c50f32dc080e9cd}} +\index{Main\+Window@{Main\+Window}!Detect\+Arena@{Detect\+Arena}} +\index{Detect\+Arena@{Detect\+Arena}!Main\+Window@{Main\+Window}} +\subsubsection{Detect\+Arena()} +{\footnotesize\ttfamily void Main\+Window.\+Detect\+Arena (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 467 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_afc4f923aaa481a93dddaff6303efb9e0}} +\index{Main\+Window@{Main\+Window}!Message\+Popup@{Message\+Popup}} +\index{Message\+Popup@{Message\+Popup}!Main\+Window@{Main\+Window}} +\subsubsection{Message\+Popup()} +{\footnotesize\ttfamily void Main\+Window.\+Message\+Popup (\begin{DoxyParamCaption}\item[{Message\+Type}]{type, }\item[{Buttons\+Type}]{buttons, }\item[{string}]{title, }\item[{string}]{message }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 120 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_af303b70c08cda04a76f6418f727c4891}} +\index{Main\+Window@{Main\+Window}!On\+Battery\+Timer\+Elapsed@{On\+Battery\+Timer\+Elapsed}} +\index{On\+Battery\+Timer\+Elapsed@{On\+Battery\+Timer\+Elapsed}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Battery\+Timer\+Elapsed()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Battery\+Timer\+Elapsed (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{System.\+Timers.\+Elapsed\+Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 343 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a31e299085d6286d680bd488c73fdff82}} +\index{Main\+Window@{Main\+Window}!On\+Button\+Ask\+Arena\+Clicked@{On\+Button\+Ask\+Arena\+Clicked}} +\index{On\+Button\+Ask\+Arena\+Clicked@{On\+Button\+Ask\+Arena\+Clicked}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Button\+Ask\+Arena\+Clicked()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Button\+Ask\+Arena\+Clicked (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 496 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a7f8d06747f887216ab8c941ad10cb48b}} +\index{Main\+Window@{Main\+Window}!On\+Button\+Mouv\+Clicked@{On\+Button\+Mouv\+Clicked}} +\index{On\+Button\+Mouv\+Clicked@{On\+Button\+Mouv\+Clicked}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Button\+Mouv\+Clicked()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Button\+Mouv\+Clicked (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 319 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a2b5e11a49a10b24c59bebb377cdfeae8}} +\index{Main\+Window@{Main\+Window}!On\+Button\+Robot\+Activation\+Clicked@{On\+Button\+Robot\+Activation\+Clicked}} +\index{On\+Button\+Robot\+Activation\+Clicked@{On\+Button\+Robot\+Activation\+Clicked}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Button\+Robot\+Activation\+Clicked()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Button\+Robot\+Activation\+Clicked (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 264 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_ac0acc6c3a63f405f14ec8e4d132a2661}} +\index{Main\+Window@{Main\+Window}!On\+Button\+Server\+Connection\+Clicked@{On\+Button\+Server\+Connection\+Clicked}} +\index{On\+Button\+Server\+Connection\+Clicked@{On\+Button\+Server\+Connection\+Clicked}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Button\+Server\+Connection\+Clicked()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Button\+Server\+Connection\+Clicked (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 194 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_af4b587cdd614d5bdb8d9158a1f59e4fa}} +\index{Main\+Window@{Main\+Window}!On\+Check\+Button\+Camera\+On\+Clicked@{On\+Check\+Button\+Camera\+On\+Clicked}} +\index{On\+Check\+Button\+Camera\+On\+Clicked@{On\+Check\+Button\+Camera\+On\+Clicked}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Check\+Button\+Camera\+On\+Clicked()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Check\+Button\+Camera\+On\+Clicked (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 379 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a20d07605619027d82a30552f294b128f}} +\index{Main\+Window@{Main\+Window}!On\+Check\+Button\+Robot\+Position\+Clicked@{On\+Check\+Button\+Robot\+Position\+Clicked}} +\index{On\+Check\+Button\+Robot\+Position\+Clicked@{On\+Check\+Button\+Robot\+Position\+Clicked}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Check\+Button\+Robot\+Position\+Clicked()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Check\+Button\+Robot\+Position\+Clicked (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 402 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a4b651f10b9079c128b9e36d15ad10211}} +\index{Main\+Window@{Main\+Window}!On\+Command\+Received\+Event@{On\+Command\+Received\+Event}} +\index{On\+Command\+Received\+Event@{On\+Command\+Received\+Event}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Command\+Received\+Event()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Command\+Received\+Event (\begin{DoxyParamCaption}\item[{string}]{header, }\item[{string}]{data, }\item[{byte [$\,$]}]{buffer }\end{DoxyParamCaption})} + + + +Definition at line 140 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a64bdcb29cebb58957790da1ee2733fe1}} +\index{Main\+Window@{Main\+Window}!On\+Delete\+Event@{On\+Delete\+Event}} +\index{On\+Delete\+Event@{On\+Delete\+Event}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Delete\+Event()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Delete\+Event (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Delete\+Event\+Args}]{a }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 131 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_afe4b0001f191554aed5d9b65208a06f5}} +\index{Main\+Window@{Main\+Window}!On\+Drawing\+Area\+Camera\+Expose\+Event@{On\+Drawing\+Area\+Camera\+Expose\+Event}} +\index{On\+Drawing\+Area\+Camera\+Expose\+Event@{On\+Drawing\+Area\+Camera\+Expose\+Event}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Drawing\+Area\+Camera\+Expose\+Event()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Drawing\+Area\+Camera\+Expose\+Event (\begin{DoxyParamCaption}\item[{object}]{o, }\item[{Expose\+Event\+Args}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 426 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_ab54b643c364b46a150f6f993267bb709}} +\index{Main\+Window@{Main\+Window}!On\+Quit\+Action\+Activated@{On\+Quit\+Action\+Activated}} +\index{On\+Quit\+Action\+Activated@{On\+Quit\+Action\+Activated}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Quit\+Action\+Activated()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Quit\+Action\+Activated (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 179 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a87132738a6ca496303940d56e091bdc7}} +\index{Main\+Window@{Main\+Window}!On\+Show\+Log\+Window\+Action\+Activated@{On\+Show\+Log\+Window\+Action\+Activated}} +\index{On\+Show\+Log\+Window\+Action\+Activated@{On\+Show\+Log\+Window\+Action\+Activated}!Main\+Window@{Main\+Window}} +\subsubsection{On\+Show\+Log\+Window\+Action\+Activated()} +{\footnotesize\ttfamily void Main\+Window.\+On\+Show\+Log\+Window\+Action\+Activated (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [protected]}} + + + +Definition at line 187 of file Monitor\+U\+I.\+cs. + + + +\subsection{Member Data Documentation} +\mbox{\label{class_main_window_a57f0325d8b8a63be586001b9a469d9ae}} +\index{Main\+Window@{Main\+Window}!battery\+Timer@{battery\+Timer}} +\index{battery\+Timer@{battery\+Timer}!Main\+Window@{Main\+Window}} +\subsubsection{battery\+Timer} +{\footnotesize\ttfamily System.\+Timers.\+Timer Main\+Window.\+battery\+Timer\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 23 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a0b60450970b8a6fb6e016d5c0728e474}} +\index{Main\+Window@{Main\+Window}!cmd\+Manager@{cmd\+Manager}} +\index{cmd\+Manager@{cmd\+Manager}!Main\+Window@{Main\+Window}} +\subsubsection{cmd\+Manager} +{\footnotesize\ttfamily \textbf{ Destijl\+Command\+Manager} Main\+Window.\+cmd\+Manager\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 12 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a41581e449b18e87acbdff5baa12c2050}} +\index{Main\+Window@{Main\+Window}!drawingarea\+Camera\+Pixbuf@{drawingarea\+Camera\+Pixbuf}} +\index{drawingarea\+Camera\+Pixbuf@{drawingarea\+Camera\+Pixbuf}!Main\+Window@{Main\+Window}} +\subsubsection{drawingarea\+Camera\+Pixbuf} +{\footnotesize\ttfamily Pixbuf Main\+Window.\+drawingarea\+Camera\+Pixbuf\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 13 of file Monitor\+U\+I.\+cs. + +\mbox{\label{class_main_window_a105025ee1bdfac188f1ce640d593550d}} +\index{Main\+Window@{Main\+Window}!system\+State@{system\+State}} +\index{system\+State@{system\+State}!Main\+Window@{Main\+Window}} +\subsubsection{system\+State} +{\footnotesize\ttfamily \textbf{ System\+State} Main\+Window.\+system\+State = \textbf{ System\+State.\+Not\+Connected}\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 22 of file Monitor\+U\+I.\+cs. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\textbf{ Monitor\+U\+I.\+cs}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/class_main_window__coll__graph.md5 b/software/monitor/monitor/docs/latex/class_main_window__coll__graph.md5 new file mode 100644 index 0000000..cef9683 --- /dev/null +++ b/software/monitor/monitor/docs/latex/class_main_window__coll__graph.md5 @@ -0,0 +1 @@ +c20ca9089172666b84d587afdb1b0351 \ No newline at end of file diff --git a/software/monitor/monitor/docs/latex/class_main_window__coll__graph.pdf b/software/monitor/monitor/docs/latex/class_main_window__coll__graph.pdf new file mode 100644 index 0000000..ccc3efa Binary files /dev/null and b/software/monitor/monitor/docs/latex/class_main_window__coll__graph.pdf differ diff --git a/software/monitor/monitor/docs/latex/class_main_window__inherit__graph.md5 b/software/monitor/monitor/docs/latex/class_main_window__inherit__graph.md5 new file mode 100644 index 0000000..410cf01 --- /dev/null +++ b/software/monitor/monitor/docs/latex/class_main_window__inherit__graph.md5 @@ -0,0 +1 @@ +f31b8b65fa596320f0453c8a55ed1b02 \ No newline at end of file diff --git a/software/monitor/monitor/docs/latex/class_main_window__inherit__graph.pdf b/software/monitor/monitor/docs/latex/class_main_window__inherit__graph.pdf new file mode 100644 index 0000000..6c5da11 Binary files /dev/null and b/software/monitor/monitor/docs/latex/class_main_window__inherit__graph.pdf differ diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_client.tex b/software/monitor/monitor/docs/latex/classmonitor_1_1_client.tex new file mode 100644 index 0000000..63c2902 --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_client.tex @@ -0,0 +1,347 @@ +\section{monitor.\+Client Class Reference} +\label{classmonitor_1_1_client}\index{monitor.\+Client@{monitor.\+Client}} + + +Static class for T\+CP client + + +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +delegate void \textbf{ Read\+Event} (string msg, byte[$\,$] \textbf{ buffer}) +\begin{DoxyCompactList}\small\item\em Callback to send received message to upper level \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Static Public Member Functions} +\begin{DoxyCompactItemize} +\item +static bool \textbf{ Open} (string host) +\begin{DoxyCompactList}\small\item\em Open connection to server \char`\"{}host\char`\"{}, on default port number. \end{DoxyCompactList}\item +static bool \textbf{ Open} (string host, int port) +\begin{DoxyCompactList}\small\item\em Open connection to server \char`\"{}host\char`\"{}, with port number \char`\"{}port\char`\"{} \end{DoxyCompactList}\item +static void \textbf{ Close} () +\begin{DoxyCompactList}\small\item\em Close connection to server \end{DoxyCompactList}\item +static void \textbf{ Write} (string mes) +\begin{DoxyCompactList}\small\item\em Write a string to server \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +const string \textbf{ default\+IP} = \char`\"{}localhost\char`\"{} +\begin{DoxyCompactList}\small\item\em Default server name \end{DoxyCompactList}\item +const int \textbf{ default\+Port} = 4500 +\begin{DoxyCompactList}\small\item\em Default server port number \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Static Public Attributes} +\begin{DoxyCompactItemize} +\item +static \textbf{ Read\+Event} \textbf{ read\+Event} = null +\end{DoxyCompactItemize} +\subsection*{Static Private Member Functions} +\begin{DoxyCompactItemize} +\item +static void \textbf{ Read\+Callback} (I\+Async\+Result ar) +\begin{DoxyCompactList}\small\item\em Callback call by stream.\+Begin\+Read after reception of new\+Length data \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Private Attributes} +\begin{DoxyCompactItemize} +\item +const int \textbf{ Buffer\+Max\+Size} = 512 +\begin{DoxyCompactList}\small\item\em Size of internal buffer used when reading data from server \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Static Private Attributes} +\begin{DoxyCompactItemize} +\item +static Tcp\+Client \textbf{ client} = null +\begin{DoxyCompactList}\small\item\em Tcp client object \end{DoxyCompactList}\item +static Network\+Stream \textbf{ stream} = null +\begin{DoxyCompactList}\small\item\em Stream object used for communication \end{DoxyCompactList}\item +static byte [$\,$] \textbf{ buffer} = new byte[\textbf{ Buffer\+Max\+Size}] +\begin{DoxyCompactList}\small\item\em Internal buffer used when reading data from server \end{DoxyCompactList}\item +static byte [$\,$] \textbf{ receive\+Buffer} +\begin{DoxyCompactList}\small\item\em buffer containing received message from T\+CP server Used to concatenate internal buffers into one \end{DoxyCompactList}\item +static int \textbf{ initial\+Receive\+Buffer\+Index} = 0 +\item +static String\+Builder \textbf{ message} = new String\+Builder() +\begin{DoxyCompactList}\small\item\em String containing received message from tcp server \end{DoxyCompactList}\item +static int \textbf{ new\+Length} = 1 +\item +static int \textbf{ packet\+Counter} = 0 +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +Static class for T\+CP client + + + +Definition at line 10 of file Client.\+cs. + + + +\subsection{Member Function Documentation} +\mbox{\label{classmonitor_1_1_client_ae6c0cbe19d622b008fd1f6d01d9cb315}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!Close@{Close}} +\index{Close@{Close}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{Close()} +{\footnotesize\ttfamily static void monitor.\+Client.\+Close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} + + + +Close connection to server + + + +Definition at line 120 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_af802cd428aa08b9604e2246f11e1fe61}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!Open@{Open}} +\index{Open@{Open}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{Open()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily static bool monitor.\+Client.\+Open (\begin{DoxyParamCaption}\item[{string}]{host }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} + + + +Open connection to server \char`\"{}host\char`\"{}, on default port number. + +\begin{DoxyReturn}{Returns} +true if connection succeded, false otherwise +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em host} & Hostname to connect to\\ +\hline +\end{DoxyParams} + + +Definition at line 68 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_aee6f8f594a9496600b78c37d6da457d4}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!Open@{Open}} +\index{Open@{Open}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{Open()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily static bool monitor.\+Client.\+Open (\begin{DoxyParamCaption}\item[{string}]{host, }\item[{int}]{port }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} + + + +Open connection to server \char`\"{}host\char`\"{}, with port number \char`\"{}port\char`\"{} + +\begin{DoxyReturn}{Returns} +true if connection succeded, false otherwise +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em host} & Hostname to connect to\\ +\hline +{\em port} & Port number for connection\\ +\hline +\end{DoxyParams} + + +Definition at line 79 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a8dd2eb26c164d0f566dd6c679ba340e0}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!Read\+Callback@{Read\+Callback}} +\index{Read\+Callback@{Read\+Callback}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{Read\+Callback()} +{\footnotesize\ttfamily static void monitor.\+Client.\+Read\+Callback (\begin{DoxyParamCaption}\item[{I\+Async\+Result}]{ar }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +Callback call by stream.\+Begin\+Read after reception of new\+Length data + + +\begin{DoxyParams}{Parameters} +{\em ar} & Not sure of what is it, but needed for terminate reading\\ +\hline +\end{DoxyParams} + + +Definition at line 130 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_ae85f4aa567a41488d5c65e470ae15378}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!Read\+Event@{Read\+Event}} +\index{Read\+Event@{Read\+Event}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{Read\+Event()} +{\footnotesize\ttfamily delegate void monitor.\+Client.\+Read\+Event (\begin{DoxyParamCaption}\item[{string}]{msg, }\item[{byte [$\,$]}]{buffer }\end{DoxyParamCaption})} + + + +Callback to send received message to upper level + +\mbox{\label{classmonitor_1_1_client_a081413295e7a96662b39b2ddec854b02}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!Write@{Write}} +\index{Write@{Write}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{Write()} +{\footnotesize\ttfamily static void monitor.\+Client.\+Write (\begin{DoxyParamCaption}\item[{string}]{mes }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} + + + +Write a string to server + +\begin{DoxyReturn}{Returns} +Nothing +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em mes} & Message to send to server\\ +\hline +\end{DoxyParams} + + +Definition at line 198 of file Client.\+cs. + + + +\subsection{Member Data Documentation} +\mbox{\label{classmonitor_1_1_client_abd5c33a23e0fab7b369b59ac296c7762}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!buffer@{buffer}} +\index{buffer@{buffer}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{buffer} +{\footnotesize\ttfamily byte [$\,$] monitor.\+Client.\+buffer = new byte[\textbf{ Buffer\+Max\+Size}]\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +Internal buffer used when reading data from server + + + +Definition at line 40 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_acbc4cae14536eccb5297aacdadb84f29}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!Buffer\+Max\+Size@{Buffer\+Max\+Size}} +\index{Buffer\+Max\+Size@{Buffer\+Max\+Size}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{Buffer\+Max\+Size} +{\footnotesize\ttfamily const int monitor.\+Client.\+Buffer\+Max\+Size = 512\hspace{0.3cm}{\ttfamily [private]}} + + + +Size of internal buffer used when reading data from server + + + +Definition at line 35 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a4867b48ebfa930a80662c552f2911430}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!client@{client}} +\index{client@{client}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{client} +{\footnotesize\ttfamily Tcp\+Client monitor.\+Client.\+client = null\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +Tcp client object + + + +Definition at line 25 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a326a20fe68a86757e16a6e45b8012640}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!default\+IP@{default\+IP}} +\index{default\+IP@{default\+IP}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{default\+IP} +{\footnotesize\ttfamily const string monitor.\+Client.\+default\+IP = \char`\"{}localhost\char`\"{}} + + + +Default server name + + + +Definition at line 15 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_ad0a9bfc361ccef7443625f399e67f84a}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!default\+Port@{default\+Port}} +\index{default\+Port@{default\+Port}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{default\+Port} +{\footnotesize\ttfamily const int monitor.\+Client.\+default\+Port = 4500} + + + +Default server port number + + + +Definition at line 20 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_afbbf4cf14d1a11747f6103e726dee77e}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!initial\+Receive\+Buffer\+Index@{initial\+Receive\+Buffer\+Index}} +\index{initial\+Receive\+Buffer\+Index@{initial\+Receive\+Buffer\+Index}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{initial\+Receive\+Buffer\+Index} +{\footnotesize\ttfamily int monitor.\+Client.\+initial\+Receive\+Buffer\+Index = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +Definition at line 48 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a2ddb7073c4bf8a42c231939d5c21d68e}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!message@{message}} +\index{message@{message}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{message} +{\footnotesize\ttfamily String\+Builder monitor.\+Client.\+message = new String\+Builder()\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +String containing received message from tcp server + + + +Definition at line 53 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a7083940b8fea9df2b080e3844549e805}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!new\+Length@{new\+Length}} +\index{new\+Length@{new\+Length}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{new\+Length} +{\footnotesize\ttfamily int monitor.\+Client.\+new\+Length = 1\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +Definition at line 54 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a7eb13840c83beb2ab191cae3ba3210c9}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!packet\+Counter@{packet\+Counter}} +\index{packet\+Counter@{packet\+Counter}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{packet\+Counter} +{\footnotesize\ttfamily int monitor.\+Client.\+packet\+Counter = 0\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +Definition at line 55 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a01cb2a551d81fd82d2f7015e177f0f18}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!read\+Event@{read\+Event}} +\index{read\+Event@{read\+Event}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{read\+Event} +{\footnotesize\ttfamily \textbf{ Read\+Event} monitor.\+Client.\+read\+Event = null\hspace{0.3cm}{\ttfamily [static]}} + + + +Definition at line 61 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_aade32a6043e0dc629509f0e1c0112a24}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!receive\+Buffer@{receive\+Buffer}} +\index{receive\+Buffer@{receive\+Buffer}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{receive\+Buffer} +{\footnotesize\ttfamily byte [$\,$] monitor.\+Client.\+receive\+Buffer\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +buffer containing received message from T\+CP server Used to concatenate internal buffers into one + + + +Definition at line 46 of file Client.\+cs. + +\mbox{\label{classmonitor_1_1_client_a8de2a9e4fe2c2e896849ddd33d80d759}} +\index{monitor\+::\+Client@{monitor\+::\+Client}!stream@{stream}} +\index{stream@{stream}!monitor\+::\+Client@{monitor\+::\+Client}} +\subsubsection{stream} +{\footnotesize\ttfamily Network\+Stream monitor.\+Client.\+stream = null\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [private]}} + + + +Stream object used for communication + + + +Definition at line 30 of file Client.\+cs. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\textbf{ Client.\+cs}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager.tex b/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager.tex new file mode 100644 index 0000000..cc3d3c0 --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager.tex @@ -0,0 +1,368 @@ +\section{monitor.\+Command\+Manager Class Reference} +\label{classmonitor_1_1_command_manager}\index{monitor.\+Command\+Manager@{monitor.\+Command\+Manager}} + + +Command Manager. Use for timeout managment during reception of data Used as intermediate layer between T\+CP client class (\doxyref{Client}{p.}{classmonitor_1_1_client}) and application level managment of command and answers + + + + +Collaboration diagram for monitor.\+Command\+Manager\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=214pt]{classmonitor_1_1_command_manager__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{DoxyCompactItemize} +\item +enum \textbf{ Command\+Manager\+Status} \{ \textbf{ Command\+Manager\+Status.\+Answer\+Received}, +\textbf{ Command\+Manager\+Status.\+Timeout}, +\textbf{ Command\+Manager\+Status.\+Busy} + \}\begin{DoxyCompactList}\small\item\em Available status when sending command \end{DoxyCompactList} +\end{DoxyCompactItemize} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +delegate void \textbf{ Command\+Received\+Event} (string msg, byte[$\,$] buffer) +\begin{DoxyCompactList}\small\item\em Callback for sending received data to upper level \end{DoxyCompactList}\item +\textbf{ Command\+Manager} (\textbf{ Command\+Received\+Event} callback) +\begin{DoxyCompactList}\small\item\em Initializes a new instance of the T\+:monitor.\+Command\+Manager class. \end{DoxyCompactList}\item +bool \textbf{ Open} (string hostname) +\begin{DoxyCompactList}\small\item\em Open the specified hostname server, using default port number. \end{DoxyCompactList}\item +bool \textbf{ Open} (string hostname, int port) +\begin{DoxyCompactList}\small\item\em Open connection to server \char`\"{}host\char`\"{}, with port number \char`\"{}port\char`\"{} \end{DoxyCompactList}\item +void \textbf{ Close} () +\begin{DoxyCompactList}\small\item\em Close connection to server \end{DoxyCompactList}\item +\textbf{ Command\+Manager\+Status} \textbf{ Send\+Command} (string cmd, out string answer, double timeout) +\begin{DoxyCompactList}\small\item\em Sends a command to T\+CP server \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\textbf{ Command\+Received\+Event} \textbf{ command\+Received\+Event} = null +\end{DoxyCompactItemize} +\subsection*{Private Member Functions} +\begin{DoxyCompactItemize} +\item +\textbf{ $\sim$\+Command\+Manager} () +\begin{DoxyCompactList}\small\item\em Releases unmanaged resources and performs other cleanup operations before the T\+:monitor.\+Command\+Manager is reclaimed by garbage collection. \end{DoxyCompactList}\item +void \textbf{ On\+Message\+Reception} (string message, byte[$\,$] buffer) +\begin{DoxyCompactList}\small\item\em Callback called by \doxyref{Client}{p.}{classmonitor_1_1_client} class after reception of new message \end{DoxyCompactList}\item +void \textbf{ On\+Message\+Timeout} (object sender, System.\+Timers.\+Elapsed\+Event\+Args e) +\begin{DoxyCompactList}\small\item\em Callback called by stopwatch on timeout \end{DoxyCompactList}\end{DoxyCompactItemize} +\subsection*{Private Attributes} +\begin{DoxyCompactItemize} +\item +System.\+Timers.\+Timer \textbf{ wait\+Timer} = new System.\+Timers.\+Timer() +\begin{DoxyCompactList}\small\item\em Timer for managing timeout \end{DoxyCompactList}\item +Manual\+Reset\+Event \textbf{ wait\+Event} = new Manual\+Reset\+Event(false) +\item +bool \textbf{ wait\+For\+Acknowledge} = false +\begin{DoxyCompactList}\small\item\em Flag to tell rogram to wait for an acknowledge from server \end{DoxyCompactList}\item +string \textbf{ message\+Received} = null +\begin{DoxyCompactList}\small\item\em received message \end{DoxyCompactList}\item +bool \textbf{ is\+Busy} = false +\begin{DoxyCompactList}\small\item\em flag indicating command manager is currently busy waiting an acknowledge \end{DoxyCompactList}\end{DoxyCompactItemize} + + +\subsection{Detailed Description} +Command Manager. Use for timeout managment during reception of data Used as intermediate layer between T\+CP client class (\doxyref{Client}{p.}{classmonitor_1_1_client}) and application level managment of command and answers + + + +Definition at line 10 of file Command\+Manager.\+cs. + + + +\subsection{Member Enumeration Documentation} +\mbox{\label{classmonitor_1_1_command_manager_ac8ca53031468acc8be05c37586671a9b}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Command\+Manager\+Status@{Command\+Manager\+Status}} +\index{Command\+Manager\+Status@{Command\+Manager\+Status}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{Command\+Manager\+Status} +{\footnotesize\ttfamily enum \textbf{ monitor.\+Command\+Manager.\+Command\+Manager\+Status}\hspace{0.3cm}{\ttfamily [strong]}} + + + +Available status when sending command + +\begin{DoxyEnumFields}{Enumerator} +\raisebox{\heightof{T}}[0pt][0pt]{\index{Answer\+Received@{Answer\+Received}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}}\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Answer\+Received@{Answer\+Received}}}\mbox{\label{classmonitor_1_1_command_manager_ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3}} +Answer\+Received&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Timeout@{Timeout}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}}\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Timeout@{Timeout}}}\mbox{\label{classmonitor_1_1_command_manager_ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398}} +Timeout&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Busy@{Busy}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}}\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Busy@{Busy}}}\mbox{\label{classmonitor_1_1_command_manager_ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407}} +Busy&\\ +\hline + +\end{DoxyEnumFields} + + +Definition at line 42 of file Command\+Manager.\+cs. + + + +\subsection{Constructor \& Destructor Documentation} +\mbox{\label{classmonitor_1_1_command_manager_ac2248c90d3a59bc2bf376cd876cece72}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Command\+Manager@{Command\+Manager}} +\index{Command\+Manager@{Command\+Manager}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{Command\+Manager()} +{\footnotesize\ttfamily monitor.\+Command\+Manager.\+Command\+Manager (\begin{DoxyParamCaption}\item[{\textbf{ Command\+Received\+Event}}]{callback }\end{DoxyParamCaption})} + + + +Initializes a new instance of the T\+:monitor.\+Command\+Manager class. + + +\begin{DoxyParams}{Parameters} +{\em callback} & Callback used when new message are received\\ +\hline +\end{DoxyParams} + + +Definition at line 53 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_ad2a8eb1139a5a25a6993887c55b3da4e}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!````~Command\+Manager@{$\sim$\+Command\+Manager}} +\index{````~Command\+Manager@{$\sim$\+Command\+Manager}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{$\sim$\+Command\+Manager()} +{\footnotesize\ttfamily monitor.\+Command\+Manager.$\sim$\+Command\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Releases unmanaged resources and performs other cleanup operations before the T\+:monitor.\+Command\+Manager is reclaimed by garbage collection. + + + +Definition at line 65 of file Command\+Manager.\+cs. + + + +\subsection{Member Function Documentation} +\mbox{\label{classmonitor_1_1_command_manager_ab28b0e5a2641391e655aaaaa05a1fdf6}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Close@{Close}} +\index{Close@{Close}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{Close()} +{\footnotesize\ttfamily void monitor.\+Command\+Manager.\+Close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Close connection to server + + + +Definition at line 94 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a5afd16036cc3d0e69554f69dacad0bcc}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Command\+Received\+Event@{Command\+Received\+Event}} +\index{Command\+Received\+Event@{Command\+Received\+Event}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{Command\+Received\+Event()} +{\footnotesize\ttfamily delegate void monitor.\+Command\+Manager.\+Command\+Received\+Event (\begin{DoxyParamCaption}\item[{string}]{msg, }\item[{byte [$\,$]}]{buffer }\end{DoxyParamCaption})} + + + +Callback for sending received data to upper level + +\mbox{\label{classmonitor_1_1_command_manager_a92e5d42afb61f29d9a4746b4446c2a65}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!On\+Message\+Reception@{On\+Message\+Reception}} +\index{On\+Message\+Reception@{On\+Message\+Reception}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{On\+Message\+Reception()} +{\footnotesize\ttfamily void monitor.\+Command\+Manager.\+On\+Message\+Reception (\begin{DoxyParamCaption}\item[{string}]{message, }\item[{byte [$\,$]}]{buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Callback called by \doxyref{Client}{p.}{classmonitor_1_1_client} class after reception of new message + + +\begin{DoxyParams}{Parameters} +{\em message} & Message received from server\\ +\hline +{\em buffer} & Raw buffer reived from server\\ +\hline +\end{DoxyParams} + + +Definition at line 104 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a2f91bb775ba25855be007886b994a5df}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!On\+Message\+Timeout@{On\+Message\+Timeout}} +\index{On\+Message\+Timeout@{On\+Message\+Timeout}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{On\+Message\+Timeout()} +{\footnotesize\ttfamily void monitor.\+Command\+Manager.\+On\+Message\+Timeout (\begin{DoxyParamCaption}\item[{object}]{sender, }\item[{System.\+Timers.\+Elapsed\+Event\+Args}]{e }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Callback called by stopwatch on timeout + + +\begin{DoxyParams}{Parameters} +{\em sender} & Sender object\\ +\hline +{\em e} & Information on elapsed condition\\ +\hline +\end{DoxyParams} + + +Definition at line 135 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a7329cbf8008bcb8a0280aa7ffa6aa43c}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Open@{Open}} +\index{Open@{Open}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{Open()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily bool monitor.\+Command\+Manager.\+Open (\begin{DoxyParamCaption}\item[{string}]{hostname }\end{DoxyParamCaption})} + + + +Open the specified hostname server, using default port number. + +\begin{DoxyReturn}{Returns} +true if connection succeded, false otherwise +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em hostname} & Hostname to connect to\\ +\hline +\end{DoxyParams} + + +Definition at line 75 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a0a0054ee87d293577fa39af1fcd5ffee}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Open@{Open}} +\index{Open@{Open}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{Open()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily bool monitor.\+Command\+Manager.\+Open (\begin{DoxyParamCaption}\item[{string}]{hostname, }\item[{int}]{port }\end{DoxyParamCaption})} + + + +Open connection to server \char`\"{}host\char`\"{}, with port number \char`\"{}port\char`\"{} + +\begin{DoxyReturn}{Returns} +true if connection succeded, false otherwise +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em hostname} & Hostname to connect to\\ +\hline +{\em port} & Port number for connection\\ +\hline +\end{DoxyParams} + + +Definition at line 86 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a3cd1f2303e47e5148fd3e927a7957363}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!Send\+Command@{Send\+Command}} +\index{Send\+Command@{Send\+Command}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{Send\+Command()} +{\footnotesize\ttfamily \textbf{ Command\+Manager\+Status} monitor.\+Command\+Manager.\+Send\+Command (\begin{DoxyParamCaption}\item[{string}]{cmd, }\item[{out string}]{answer, }\item[{double}]{timeout }\end{DoxyParamCaption})} + + + +Sends a command to T\+CP server + +\begin{DoxyReturn}{Returns} +status that is part of Command\+Manager\+Status enumerate +\end{DoxyReturn} + +\begin{DoxyParams}{Parameters} +{\em cmd} & Command message to send to server\\ +\hline +{\em answer} & Answer from server, in case of acknowledge\\ +\hline +{\em timeout} & Timeout (ms) waiting an acknowledge, 0 if no acknowledge needed\\ +\hline +\end{DoxyParams} + + +Definition at line 150 of file Command\+Manager.\+cs. + + + +\subsection{Member Data Documentation} +\mbox{\label{classmonitor_1_1_command_manager_ab90d68a3d3a9b3935fa9f1a57e8dabfa}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!command\+Received\+Event@{command\+Received\+Event}} +\index{command\+Received\+Event@{command\+Received\+Event}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{command\+Received\+Event} +{\footnotesize\ttfamily \textbf{ Command\+Received\+Event} monitor.\+Command\+Manager.\+command\+Received\+Event = null} + + + +Definition at line 16 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_aea039cd0f99f5193c307b805077669db}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!is\+Busy@{is\+Busy}} +\index{is\+Busy@{is\+Busy}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{is\+Busy} +{\footnotesize\ttfamily bool monitor.\+Command\+Manager.\+is\+Busy = false\hspace{0.3cm}{\ttfamily [private]}} + + + +flag indicating command manager is currently busy waiting an acknowledge + + + +Definition at line 37 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_aa610e72e8f23f0d26388f204c848ed57}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!message\+Received@{message\+Received}} +\index{message\+Received@{message\+Received}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{message\+Received} +{\footnotesize\ttfamily string monitor.\+Command\+Manager.\+message\+Received = null\hspace{0.3cm}{\ttfamily [private]}} + + + +received message + + + +Definition at line 32 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a0d27eb1a38efb01559f14a707ff86447}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!wait\+Event@{wait\+Event}} +\index{wait\+Event@{wait\+Event}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{wait\+Event} +{\footnotesize\ttfamily Manual\+Reset\+Event monitor.\+Command\+Manager.\+wait\+Event = new Manual\+Reset\+Event(false)\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 22 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a39c2c03f93b309e65a45ac91c6eb39bd}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!wait\+For\+Acknowledge@{wait\+For\+Acknowledge}} +\index{wait\+For\+Acknowledge@{wait\+For\+Acknowledge}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{wait\+For\+Acknowledge} +{\footnotesize\ttfamily bool monitor.\+Command\+Manager.\+wait\+For\+Acknowledge = false\hspace{0.3cm}{\ttfamily [private]}} + + + +Flag to tell rogram to wait for an acknowledge from server + + + +Definition at line 27 of file Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_command_manager_a07639cd39445a379667a2450e78001b0}} +\index{monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}!wait\+Timer@{wait\+Timer}} +\index{wait\+Timer@{wait\+Timer}!monitor\+::\+Command\+Manager@{monitor\+::\+Command\+Manager}} +\subsubsection{wait\+Timer} +{\footnotesize\ttfamily System.\+Timers.\+Timer monitor.\+Command\+Manager.\+wait\+Timer = new System.\+Timers.\+Timer()\hspace{0.3cm}{\ttfamily [private]}} + + + +Timer for managing timeout + + + +Definition at line 21 of file Command\+Manager.\+cs. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\textbf{ Command\+Manager.\+cs}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager__coll__graph.md5 b/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager__coll__graph.md5 new file mode 100644 index 0000000..d9c6022 --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager__coll__graph.md5 @@ -0,0 +1 @@ +ebcba2452189df0d75d8e63f66acf3c6 \ No newline at end of file diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager__coll__graph.pdf b/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager__coll__graph.pdf new file mode 100644 index 0000000..b79f7cc Binary files /dev/null and b/software/monitor/monitor/docs/latex/classmonitor_1_1_command_manager__coll__graph.pdf differ diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_list.tex b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_list.tex new file mode 100644 index 0000000..2d6d455 --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_list.tex @@ -0,0 +1,260 @@ +\section{monitor.\+Destijl\+Command\+List Class Reference} +\label{classmonitor_1_1_destijl_command_list}\index{monitor.\+Destijl\+Command\+List@{monitor.\+Destijl\+Command\+List}} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +const string \textbf{ Header\+Mts\+Com\+Dmb} = \char`\"{}C\+OM\char`\"{} +\item +const string \textbf{ Header\+Mts\+Dmb\+Order} = \char`\"{}D\+MB\char`\"{} +\item +const string \textbf{ Header\+Mts\+Camera} = \char`\"{}C\+AM\char`\"{} +\item +const string \textbf{ Header\+Mts\+Message} = \char`\"{}M\+SG\char`\"{} +\item +const string \textbf{ Data\+Com\+Open} = \char`\"{}o\char`\"{} +\item +const string \textbf{ Data\+Com\+Close} = \char`\"{}C\char`\"{} +\item +const string \textbf{ Data\+Cam\+Open} = \char`\"{}A\char`\"{} +\item +const string \textbf{ Data\+Cam\+Close} = \char`\"{}I\char`\"{} +\item +const string \textbf{ Data\+Cam\+Ask\+Arena} = \char`\"{}y\char`\"{} +\item +const string \textbf{ Data\+Cam\+Arena\+Confirm} = \char`\"{}x\char`\"{} +\item +const string \textbf{ Data\+Cam\+Infirm} = \char`\"{}z\char`\"{} +\item +const string \textbf{ Data\+Cam\+Compute\+Position} = \char`\"{}p\char`\"{} +\item +const string \textbf{ Data\+Cam\+Stop\+Compute\+Position} = \char`\"{}s\char`\"{} +\item +const string \textbf{ Header\+Stm\+Ack} = \char`\"{}A\+CK\char`\"{} +\item +const string \textbf{ Header\+Stm\+No\+Ack} = \char`\"{}N\+AK\char`\"{} +\item +const string \textbf{ Header\+Stm\+Lost\+Dmb} = \char`\"{}L\+CD\char`\"{} +\item +const string \textbf{ Header\+Stm\+Image} = \char`\"{}I\+MG\char`\"{} +\item +const string \textbf{ Header\+Stm\+Pos} = \char`\"{}P\+OS\char`\"{} +\item +const string \textbf{ Header\+Stm\+Mes} = \char`\"{}M\+SG\char`\"{} +\item +const string \textbf{ Header\+Stm\+Bat} = \char`\"{}B\+AT\char`\"{} +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} + + +Definition at line 5 of file Destijl\+Command\+Manager.\+cs. + + + +\subsection{Member Data Documentation} +\mbox{\label{classmonitor_1_1_destijl_command_list_ad31b6758839a4c3b1b6ec4c71635e631}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Cam\+Arena\+Confirm@{Data\+Cam\+Arena\+Confirm}} +\index{Data\+Cam\+Arena\+Confirm@{Data\+Cam\+Arena\+Confirm}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Cam\+Arena\+Confirm} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Cam\+Arena\+Confirm = \char`\"{}x\char`\"{}} + + + +Definition at line 18 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_aaaf85677671db1ef84fe67b2eb954f29}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Cam\+Ask\+Arena@{Data\+Cam\+Ask\+Arena}} +\index{Data\+Cam\+Ask\+Arena@{Data\+Cam\+Ask\+Arena}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Cam\+Ask\+Arena} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Cam\+Ask\+Arena = \char`\"{}y\char`\"{}} + + + +Definition at line 17 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_a6f578f9d52dd2b50370177a5c03a2af7}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Cam\+Close@{Data\+Cam\+Close}} +\index{Data\+Cam\+Close@{Data\+Cam\+Close}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Cam\+Close} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Cam\+Close = \char`\"{}I\char`\"{}} + + + +Definition at line 16 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_ab114adce60b63976d8304f2ad11b317a}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Cam\+Compute\+Position@{Data\+Cam\+Compute\+Position}} +\index{Data\+Cam\+Compute\+Position@{Data\+Cam\+Compute\+Position}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Cam\+Compute\+Position} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Cam\+Compute\+Position = \char`\"{}p\char`\"{}} + + + +Definition at line 20 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_ad3985694a06148f2014cb346e8891cba}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Cam\+Infirm@{Data\+Cam\+Infirm}} +\index{Data\+Cam\+Infirm@{Data\+Cam\+Infirm}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Cam\+Infirm} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Cam\+Infirm = \char`\"{}z\char`\"{}} + + + +Definition at line 19 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_a6380d1518931373bd0dfb84f888942e0}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Cam\+Open@{Data\+Cam\+Open}} +\index{Data\+Cam\+Open@{Data\+Cam\+Open}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Cam\+Open} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Cam\+Open = \char`\"{}A\char`\"{}} + + + +Definition at line 15 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_ad09dd921c6c8cf8c7d90a2c0a05d4056}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Cam\+Stop\+Compute\+Position@{Data\+Cam\+Stop\+Compute\+Position}} +\index{Data\+Cam\+Stop\+Compute\+Position@{Data\+Cam\+Stop\+Compute\+Position}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Cam\+Stop\+Compute\+Position} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Cam\+Stop\+Compute\+Position = \char`\"{}s\char`\"{}} + + + +Definition at line 21 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_ad97cbe948c71a4dc3fa95afbf9ca26d8}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Com\+Close@{Data\+Com\+Close}} +\index{Data\+Com\+Close@{Data\+Com\+Close}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Com\+Close} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Com\+Close = \char`\"{}C\char`\"{}} + + + +Definition at line 13 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_a1bcde55da429bcf2c04ed6d0621e496f}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Data\+Com\+Open@{Data\+Com\+Open}} +\index{Data\+Com\+Open@{Data\+Com\+Open}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Data\+Com\+Open} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Data\+Com\+Open = \char`\"{}o\char`\"{}} + + + +Definition at line 12 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_af570b0e8d14920402ce979778225ed68}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Mts\+Camera@{Header\+Mts\+Camera}} +\index{Header\+Mts\+Camera@{Header\+Mts\+Camera}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Mts\+Camera} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Mts\+Camera = \char`\"{}C\+AM\char`\"{}} + + + +Definition at line 9 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_aa9fe4e71b7faec183ab64f4cf6ecd395}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Mts\+Com\+Dmb@{Header\+Mts\+Com\+Dmb}} +\index{Header\+Mts\+Com\+Dmb@{Header\+Mts\+Com\+Dmb}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Mts\+Com\+Dmb} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Mts\+Com\+Dmb = \char`\"{}C\+OM\char`\"{}} + + + +Definition at line 7 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_adbcf7adab9f5e8ead971affbbc64178b}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Mts\+Dmb\+Order@{Header\+Mts\+Dmb\+Order}} +\index{Header\+Mts\+Dmb\+Order@{Header\+Mts\+Dmb\+Order}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Mts\+Dmb\+Order} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Mts\+Dmb\+Order = \char`\"{}D\+MB\char`\"{}} + + + +Definition at line 8 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_acb283f1da96d8d522e3b28ca35187acd}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Mts\+Message@{Header\+Mts\+Message}} +\index{Header\+Mts\+Message@{Header\+Mts\+Message}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Mts\+Message} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Mts\+Message = \char`\"{}M\+SG\char`\"{}} + + + +Definition at line 10 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_af494d7e1bddee8184873dc380a3066ba}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Stm\+Ack@{Header\+Stm\+Ack}} +\index{Header\+Stm\+Ack@{Header\+Stm\+Ack}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Stm\+Ack} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Stm\+Ack = \char`\"{}A\+CK\char`\"{}} + + + +Definition at line 23 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_a88de91fa6abdc122245ceb26fc21fd33}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Stm\+Bat@{Header\+Stm\+Bat}} +\index{Header\+Stm\+Bat@{Header\+Stm\+Bat}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Stm\+Bat} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Stm\+Bat = \char`\"{}B\+AT\char`\"{}} + + + +Definition at line 29 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_ae3ee8e0ecbb79faec9d24095d72cfbde}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Stm\+Image@{Header\+Stm\+Image}} +\index{Header\+Stm\+Image@{Header\+Stm\+Image}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Stm\+Image} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Stm\+Image = \char`\"{}I\+MG\char`\"{}} + + + +Definition at line 26 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_a54e9ebd5e8f34ac596b84b56bb2403f7}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Stm\+Lost\+Dmb@{Header\+Stm\+Lost\+Dmb}} +\index{Header\+Stm\+Lost\+Dmb@{Header\+Stm\+Lost\+Dmb}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Stm\+Lost\+Dmb} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Stm\+Lost\+Dmb = \char`\"{}L\+CD\char`\"{}} + + + +Definition at line 25 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_ad1fa4557b2d44dd888d8640f374c9f04}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Stm\+Mes@{Header\+Stm\+Mes}} +\index{Header\+Stm\+Mes@{Header\+Stm\+Mes}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Stm\+Mes} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Stm\+Mes = \char`\"{}M\+SG\char`\"{}} + + + +Definition at line 28 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_ae3dc86c7e90bba409317e63cf1c85a39}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Stm\+No\+Ack@{Header\+Stm\+No\+Ack}} +\index{Header\+Stm\+No\+Ack@{Header\+Stm\+No\+Ack}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Stm\+No\+Ack} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Stm\+No\+Ack = \char`\"{}N\+AK\char`\"{}} + + + +Definition at line 24 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_list_abf99a718161a5a9017d7011cea429ec0}} +\index{monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}!Header\+Stm\+Pos@{Header\+Stm\+Pos}} +\index{Header\+Stm\+Pos@{Header\+Stm\+Pos}!monitor\+::\+Destijl\+Command\+List@{monitor\+::\+Destijl\+Command\+List}} +\subsubsection{Header\+Stm\+Pos} +{\footnotesize\ttfamily const string monitor.\+Destijl\+Command\+List.\+Header\+Stm\+Pos = \char`\"{}P\+OS\char`\"{}} + + + +Definition at line 27 of file Destijl\+Command\+Manager.\+cs. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\textbf{ Destijl\+Command\+Manager.\+cs}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager.tex b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager.tex new file mode 100644 index 0000000..a35f1c1 --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager.tex @@ -0,0 +1,489 @@ +\section{monitor.\+Destijl\+Command\+Manager Class Reference} +\label{classmonitor_1_1_destijl_command_manager}\index{monitor.\+Destijl\+Command\+Manager@{monitor.\+Destijl\+Command\+Manager}} + + +Collaboration diagram for monitor.\+Destijl\+Command\+Manager\+: +\nopagebreak +\begin{figure}[H] +\begin{center} +\leavevmode +\includegraphics[width=245pt]{classmonitor_1_1_destijl_command_manager__coll__graph} +\end{center} +\end{figure} +\subsection*{Public Types} +\begin{DoxyCompactItemize} +\item +enum \textbf{ Command\+Status} \{ \newline +\textbf{ Command\+Status.\+Success}, +\textbf{ Command\+Status.\+Rejected}, +\textbf{ Command\+Status.\+Invalid\+Answer}, +\textbf{ Command\+Status.\+Busy}, +\newline +\textbf{ Command\+Status.\+Communication\+Lost\+With\+Robot}, +\textbf{ Command\+Status.\+Communication\+Lost\+With\+Server} + \} +\end{DoxyCompactItemize} +\subsection*{Public Member Functions} +\begin{DoxyCompactItemize} +\item +delegate void \textbf{ Command\+Received\+Event} (string header, string data, byte[$\,$] buffer) +\item +\textbf{ Destijl\+Command\+Manager} (\textbf{ Command\+Received\+Event} callback) +\item +bool \textbf{ Open} (string hostname) +\item +bool \textbf{ Open} (string hostname, int port) +\item +void \textbf{ Close} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Open\+Com} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Close\+Com} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Ping} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Reset} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Start\+With\+Watchdog} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Start\+Without\+Watchdog} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Move} (int distance) +\item +\textbf{ Command\+Status} \textbf{ Robot\+Turn} (int angle) +\item +\textbf{ Command\+Status} \textbf{ Robot\+Get\+Battery} () +\item +\textbf{ Command\+Status} \textbf{ Robot\+Get\+Version} (out string version) +\item +\textbf{ Command\+Status} \textbf{ Robot\+Power\+Off} () +\item +\textbf{ Command\+Status} \textbf{ Camera\+Open} () +\item +\textbf{ Command\+Status} \textbf{ Camera\+Close} () +\item +\textbf{ Command\+Status} \textbf{ Camera\+Ask\+Arena} () +\item +\textbf{ Command\+Status} \textbf{ Camera\+Arena\+Confirm} () +\item +\textbf{ Command\+Status} \textbf{ Camera\+Arena\+Infirm} () +\item +\textbf{ Command\+Status} \textbf{ Camera\+Compute\+Position} () +\item +\textbf{ Command\+Status} \textbf{ Camera\+Stop\+Compute\+Position} () +\end{DoxyCompactItemize} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +\textbf{ Command\+Received\+Event} \textbf{ command\+Received\+Event} = null +\item +double \textbf{ timeout} = 100 +\end{DoxyCompactItemize} +\subsection*{Private Member Functions} +\begin{DoxyCompactItemize} +\item +\textbf{ $\sim$\+Destijl\+Command\+Manager} () +\item +void \textbf{ On\+Command\+Received} (string msg, byte[$\,$] buffer) +\item +string \textbf{ Create\+Command} (string header, string data) +\item +void \textbf{ Split\+Command} (string cmd, out string header, out string data) +\item +\textbf{ Command\+Status} \textbf{ Decode\+Status} (\textbf{ Command\+Manager.\+Command\+Manager\+Status} local\+Status, string answer) +\end{DoxyCompactItemize} +\subsection*{Private Attributes} +\begin{DoxyCompactItemize} +\item +\textbf{ Command\+Manager} \textbf{ command\+Manager} = null +\item +string \textbf{ received\+Header} = null +\item +string \textbf{ received\+Data} = null +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} + + +Definition at line 46 of file Destijl\+Command\+Manager.\+cs. + + + +\subsection{Member Enumeration Documentation} +\mbox{\label{classmonitor_1_1_destijl_command_manager_a9cb23e7493a32872ac808f3b63200fb0}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Command\+Status@{Command\+Status}} +\index{Command\+Status@{Command\+Status}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Command\+Status} +{\footnotesize\ttfamily enum \textbf{ monitor.\+Destijl\+Command\+Manager.\+Command\+Status}\hspace{0.3cm}{\ttfamily [strong]}} + +\begin{DoxyEnumFields}{Enumerator} +\raisebox{\heightof{T}}[0pt][0pt]{\index{Success@{Success}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}}\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Success@{Success}}}\mbox{\label{classmonitor_1_1_destijl_command_manager_a9cb23e7493a32872ac808f3b63200fb0a505a83f220c02df2f85c3810cd9ceb38}} +Success&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Rejected@{Rejected}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}}\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Rejected@{Rejected}}}\mbox{\label{classmonitor_1_1_destijl_command_manager_a9cb23e7493a32872ac808f3b63200fb0ad37b1f6c0512e2118cee17fea015b699}} +Rejected&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Invalid\+Answer@{Invalid\+Answer}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}}\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Invalid\+Answer@{Invalid\+Answer}}}\mbox{\label{classmonitor_1_1_destijl_command_manager_a9cb23e7493a32872ac808f3b63200fb0ad410f0b6f9dc2f2b271f9cf2fc78eb34}} +Invalid\+Answer&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Busy@{Busy}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}}\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Busy@{Busy}}}\mbox{\label{classmonitor_1_1_destijl_command_manager_a9cb23e7493a32872ac808f3b63200fb0ad8a942ef2b04672adfafef0ad817a407}} +Busy&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Communication\+Lost\+With\+Robot@{Communication\+Lost\+With\+Robot}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}}\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Communication\+Lost\+With\+Robot@{Communication\+Lost\+With\+Robot}}}\mbox{\label{classmonitor_1_1_destijl_command_manager_a9cb23e7493a32872ac808f3b63200fb0a37039bce065223d632b6974daa612656}} +Communication\+Lost\+With\+Robot&\\ +\hline + +\raisebox{\heightof{T}}[0pt][0pt]{\index{Communication\+Lost\+With\+Server@{Communication\+Lost\+With\+Server}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}}\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Communication\+Lost\+With\+Server@{Communication\+Lost\+With\+Server}}}\mbox{\label{classmonitor_1_1_destijl_command_manager_a9cb23e7493a32872ac808f3b63200fb0ae7009a5c717d5d4d361433a9915e697e}} +Communication\+Lost\+With\+Server&\\ +\hline + +\end{DoxyEnumFields} + + +Definition at line 58 of file Destijl\+Command\+Manager.\+cs. + + + +\subsection{Constructor \& Destructor Documentation} +\mbox{\label{classmonitor_1_1_destijl_command_manager_a78bf0be922afbd9c5f8f4115fa83ad47}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Destijl\+Command\+Manager@{Destijl\+Command\+Manager}} +\index{Destijl\+Command\+Manager@{Destijl\+Command\+Manager}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Destijl\+Command\+Manager()} +{\footnotesize\ttfamily monitor.\+Destijl\+Command\+Manager.\+Destijl\+Command\+Manager (\begin{DoxyParamCaption}\item[{\textbf{ Command\+Received\+Event}}]{callback }\end{DoxyParamCaption})} + + + +Definition at line 68 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_abc51dc980d7ba7e59a571e579cb626b9}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!````~Destijl\+Command\+Manager@{$\sim$\+Destijl\+Command\+Manager}} +\index{````~Destijl\+Command\+Manager@{$\sim$\+Destijl\+Command\+Manager}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{$\sim$\+Destijl\+Command\+Manager()} +{\footnotesize\ttfamily monitor.\+Destijl\+Command\+Manager.$\sim$\+Destijl\+Command\+Manager (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 74 of file Destijl\+Command\+Manager.\+cs. + + + +\subsection{Member Function Documentation} +\mbox{\label{classmonitor_1_1_destijl_command_manager_ac58ed9c19d8c9ed547c35fb96a983668}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Camera\+Arena\+Confirm@{Camera\+Arena\+Confirm}} +\index{Camera\+Arena\+Confirm@{Camera\+Arena\+Confirm}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Camera\+Arena\+Confirm()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Camera\+Arena\+Confirm (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 367 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a614be7a565a3a10308f20b073b40383f}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Camera\+Arena\+Infirm@{Camera\+Arena\+Infirm}} +\index{Camera\+Arena\+Infirm@{Camera\+Arena\+Infirm}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Camera\+Arena\+Infirm()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Camera\+Arena\+Infirm (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 380 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a8d178480fc09d474760eae995c9aa096}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Camera\+Ask\+Arena@{Camera\+Ask\+Arena}} +\index{Camera\+Ask\+Arena@{Camera\+Ask\+Arena}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Camera\+Ask\+Arena()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Camera\+Ask\+Arena (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 354 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a94b085d9de512cd7e80bcefd516d460c}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Camera\+Close@{Camera\+Close}} +\index{Camera\+Close@{Camera\+Close}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Camera\+Close()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Camera\+Close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 341 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_ad04df7759d2698334a410fe32b78e21e}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Camera\+Compute\+Position@{Camera\+Compute\+Position}} +\index{Camera\+Compute\+Position@{Camera\+Compute\+Position}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Camera\+Compute\+Position()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Camera\+Compute\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 393 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a292d7e2961ff31a80d9abf79b7b41126}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Camera\+Open@{Camera\+Open}} +\index{Camera\+Open@{Camera\+Open}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Camera\+Open()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Camera\+Open (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 328 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a928f987f8f5f12135614678585ab2726}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Camera\+Stop\+Compute\+Position@{Camera\+Stop\+Compute\+Position}} +\index{Camera\+Stop\+Compute\+Position@{Camera\+Stop\+Compute\+Position}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Camera\+Stop\+Compute\+Position()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Camera\+Stop\+Compute\+Position (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 406 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_af1f57d8e3e980322e37da2cd3b61d1d7}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Close@{Close}} +\index{Close@{Close}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Close()} +{\footnotesize\ttfamily void monitor.\+Destijl\+Command\+Manager.\+Close (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 103 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_acc08ece6a89e842188364226299b3d43}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Command\+Received\+Event@{Command\+Received\+Event}} +\index{Command\+Received\+Event@{Command\+Received\+Event}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Command\+Received\+Event()} +{\footnotesize\ttfamily delegate void monitor.\+Destijl\+Command\+Manager.\+Command\+Received\+Event (\begin{DoxyParamCaption}\item[{string}]{header, }\item[{string}]{data, }\item[{byte [$\,$]}]{buffer }\end{DoxyParamCaption})} + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a47eb72ec1ae43505966bc5cf09c79e58}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Create\+Command@{Create\+Command}} +\index{Create\+Command@{Create\+Command}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Create\+Command()} +{\footnotesize\ttfamily string monitor.\+Destijl\+Command\+Manager.\+Create\+Command (\begin{DoxyParamCaption}\item[{string}]{header, }\item[{string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 108 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a00c3fb9f163c4d9025b356a5a7e74012}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Decode\+Status@{Decode\+Status}} +\index{Decode\+Status@{Decode\+Status}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Decode\+Status()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Decode\+Status (\begin{DoxyParamCaption}\item[{\textbf{ Command\+Manager.\+Command\+Manager\+Status}}]{local\+Status, }\item[{string}]{answer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 124 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_ab83dbda4196240c242a5ac101901bb19}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!On\+Command\+Received@{On\+Command\+Received}} +\index{On\+Command\+Received@{On\+Command\+Received}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{On\+Command\+Received()} +{\footnotesize\ttfamily void monitor.\+Destijl\+Command\+Manager.\+On\+Command\+Received (\begin{DoxyParamCaption}\item[{string}]{msg, }\item[{byte [$\,$]}]{buffer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 79 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a5dd6b75386a554c2f026eee787477bb0}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Open@{Open}} +\index{Open@{Open}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Open()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}} +{\footnotesize\ttfamily bool monitor.\+Destijl\+Command\+Manager.\+Open (\begin{DoxyParamCaption}\item[{string}]{hostname }\end{DoxyParamCaption})} + + + +Definition at line 92 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a842300511efb20783c271764ee0e3336}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Open@{Open}} +\index{Open@{Open}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Open()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}} +{\footnotesize\ttfamily bool monitor.\+Destijl\+Command\+Manager.\+Open (\begin{DoxyParamCaption}\item[{string}]{hostname, }\item[{int}]{port }\end{DoxyParamCaption})} + + + +Definition at line 97 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a0139bec493c965670226381f2ba63a23}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Close\+Com@{Robot\+Close\+Com}} +\index{Robot\+Close\+Com@{Robot\+Close\+Com}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Close\+Com()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Close\+Com (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 157 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a2ec8021340de939318ace65b8462b930}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Get\+Battery@{Robot\+Get\+Battery}} +\index{Robot\+Get\+Battery@{Robot\+Get\+Battery}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Get\+Battery()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Get\+Battery (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 249 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a7ddd552ed82382a09b4af075c34fb989}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Get\+Version@{Robot\+Get\+Version}} +\index{Robot\+Get\+Version@{Robot\+Get\+Version}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Get\+Version()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Get\+Version (\begin{DoxyParamCaption}\item[{out string}]{version }\end{DoxyParamCaption})} + + + +Definition at line 284 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a5976fe792e270c63bd9f0f4c792df129}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Move@{Robot\+Move}} +\index{Robot\+Move@{Robot\+Move}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Move()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Move (\begin{DoxyParamCaption}\item[{int}]{distance }\end{DoxyParamCaption})} + + + +Definition at line 222 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_aa1440a571e6aaf11203b4e4a4ed116d5}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Open\+Com@{Robot\+Open\+Com}} +\index{Robot\+Open\+Com@{Robot\+Open\+Com}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Open\+Com()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Open\+Com (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 144 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_ae1af16558213c3830ea3006e8e8c5e28}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Ping@{Robot\+Ping}} +\index{Robot\+Ping@{Robot\+Ping}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Ping()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Ping (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 170 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_acb242a71fa40d4001dc1bc31d5bdc53f}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Power\+Off@{Robot\+Power\+Off}} +\index{Robot\+Power\+Off@{Robot\+Power\+Off}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Power\+Off()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Power\+Off (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 315 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_abe223aa12456e3f1c2519e9c379d891a}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Reset@{Robot\+Reset}} +\index{Robot\+Reset@{Robot\+Reset}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Reset()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Reset (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 183 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a0c964baa3ecd4ff9d19857061413938b}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Start\+Without\+Watchdog@{Robot\+Start\+Without\+Watchdog}} +\index{Robot\+Start\+Without\+Watchdog@{Robot\+Start\+Without\+Watchdog}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Start\+Without\+Watchdog()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Start\+Without\+Watchdog (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 209 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_ade46aceeb79556e31fe632e9602e1636}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Start\+With\+Watchdog@{Robot\+Start\+With\+Watchdog}} +\index{Robot\+Start\+With\+Watchdog@{Robot\+Start\+With\+Watchdog}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Start\+With\+Watchdog()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Start\+With\+Watchdog (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})} + + + +Definition at line 196 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a3f7ee6f1803cfb8b2eb4290f9e9acced}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Robot\+Turn@{Robot\+Turn}} +\index{Robot\+Turn@{Robot\+Turn}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Robot\+Turn()} +{\footnotesize\ttfamily \textbf{ Command\+Status} monitor.\+Destijl\+Command\+Manager.\+Robot\+Turn (\begin{DoxyParamCaption}\item[{int}]{angle }\end{DoxyParamCaption})} + + + +Definition at line 235 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_ad6fc73806e924e73dcf07c5cf3c81a66}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!Split\+Command@{Split\+Command}} +\index{Split\+Command@{Split\+Command}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{Split\+Command()} +{\footnotesize\ttfamily void monitor.\+Destijl\+Command\+Manager.\+Split\+Command (\begin{DoxyParamCaption}\item[{string}]{cmd, }\item[{out string}]{header, }\item[{out string}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 113 of file Destijl\+Command\+Manager.\+cs. + + + +\subsection{Member Data Documentation} +\mbox{\label{classmonitor_1_1_destijl_command_manager_a9efdcd3d35f46329e7aa167ad60062a9}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!command\+Manager@{command\+Manager}} +\index{command\+Manager@{command\+Manager}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{command\+Manager} +{\footnotesize\ttfamily \textbf{ Command\+Manager} monitor.\+Destijl\+Command\+Manager.\+command\+Manager = null\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 48 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a5c10e8aaae48b83be0267aefa23eb62d}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!command\+Received\+Event@{command\+Received\+Event}} +\index{command\+Received\+Event@{command\+Received\+Event}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{command\+Received\+Event} +{\footnotesize\ttfamily \textbf{ Command\+Received\+Event} monitor.\+Destijl\+Command\+Manager.\+command\+Received\+Event = null} + + + +Definition at line 54 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a88f907fc9c5fd8cd8d5976f45c323903}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!received\+Data@{received\+Data}} +\index{received\+Data@{received\+Data}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{received\+Data} +{\footnotesize\ttfamily string monitor.\+Destijl\+Command\+Manager.\+received\+Data = null\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 51 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a1b99d771e7af8ffc8ced10d35e5e77ce}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!received\+Header@{received\+Header}} +\index{received\+Header@{received\+Header}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{received\+Header} +{\footnotesize\ttfamily string monitor.\+Destijl\+Command\+Manager.\+received\+Header = null\hspace{0.3cm}{\ttfamily [private]}} + + + +Definition at line 50 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_destijl_command_manager_a86a1fb03dc480dab8d6758aa0d675cd3}} +\index{monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}!timeout@{timeout}} +\index{timeout@{timeout}!monitor\+::\+Destijl\+Command\+Manager@{monitor\+::\+Destijl\+Command\+Manager}} +\subsubsection{timeout} +{\footnotesize\ttfamily double monitor.\+Destijl\+Command\+Manager.\+timeout = 100} + + + +Definition at line 56 of file Destijl\+Command\+Manager.\+cs. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\textbf{ Destijl\+Command\+Manager.\+cs}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager__coll__graph.md5 b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager__coll__graph.md5 new file mode 100644 index 0000000..52e485f --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager__coll__graph.md5 @@ -0,0 +1 @@ +419dc5fa32f16b41254569b271c1fd31 \ No newline at end of file diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager__coll__graph.pdf b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager__coll__graph.pdf new file mode 100644 index 0000000..9b59863 Binary files /dev/null and b/software/monitor/monitor/docs/latex/classmonitor_1_1_destijl_command_manager__coll__graph.pdf differ diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_main_class.tex b/software/monitor/monitor/docs/latex/classmonitor_1_1_main_class.tex new file mode 100644 index 0000000..62d3e94 --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_main_class.tex @@ -0,0 +1,32 @@ +\section{monitor.\+Main\+Class Class Reference} +\label{classmonitor_1_1_main_class}\index{monitor.\+Main\+Class@{monitor.\+Main\+Class}} +\subsection*{Static Public Member Functions} +\begin{DoxyCompactItemize} +\item +static void \textbf{ Main} (string[$\,$] args) +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} + + +Definition at line 6 of file Program.\+cs. + + + +\subsection{Member Function Documentation} +\mbox{\label{classmonitor_1_1_main_class_a991579f985cc4071757b30a8b035e7c1}} +\index{monitor\+::\+Main\+Class@{monitor\+::\+Main\+Class}!Main@{Main}} +\index{Main@{Main}!monitor\+::\+Main\+Class@{monitor\+::\+Main\+Class}} +\subsubsection{Main()} +{\footnotesize\ttfamily static void monitor.\+Main\+Class.\+Main (\begin{DoxyParamCaption}\item[{string [$\,$]}]{args }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} + + + +Definition at line 8 of file Program.\+cs. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\textbf{ Program.\+cs}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/classmonitor_1_1_robot_command_list.tex b/software/monitor/monitor/docs/latex/classmonitor_1_1_robot_command_list.tex new file mode 100644 index 0000000..669b912 --- /dev/null +++ b/software/monitor/monitor/docs/latex/classmonitor_1_1_robot_command_list.tex @@ -0,0 +1,140 @@ +\section{monitor.\+Robot\+Command\+List Class Reference} +\label{classmonitor_1_1_robot_command_list}\index{monitor.\+Robot\+Command\+List@{monitor.\+Robot\+Command\+List}} +\subsection*{Public Attributes} +\begin{DoxyCompactItemize} +\item +const string \textbf{ Robot\+Ping} = \char`\"{}p\char`\"{} +\item +const string \textbf{ Robot\+Reset} = \char`\"{}r\char`\"{} +\item +const string \textbf{ Robot\+Start\+Without\+Watchdog} = \char`\"{}u\char`\"{} +\item +const string \textbf{ Robot\+Start\+With\+Watchdog} = \char`\"{}W\char`\"{} +\item +const string \textbf{ Robot\+Get\+Battery} = \char`\"{}v\char`\"{} +\item +const string \textbf{ Robot\+Get\+Busy\+State} = \char`\"{}b\char`\"{} +\item +const string \textbf{ Robot\+Move} = \char`\"{}M\char`\"{} +\item +const string \textbf{ Robot\+Turn} = \char`\"{}T\char`\"{} +\item +const string \textbf{ Robot\+Get\+Version} = \char`\"{}V\char`\"{} +\item +const string \textbf{ Robot\+Power\+Off} = \char`\"{}z\char`\"{} +\end{DoxyCompactItemize} + + +\subsection{Detailed Description} + + +Definition at line 32 of file Destijl\+Command\+Manager.\+cs. + + + +\subsection{Member Data Documentation} +\mbox{\label{classmonitor_1_1_robot_command_list_a374eb526d14b8499e47b065230afeed0}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Get\+Battery@{Robot\+Get\+Battery}} +\index{Robot\+Get\+Battery@{Robot\+Get\+Battery}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Get\+Battery} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Get\+Battery = \char`\"{}v\char`\"{}} + + + +Definition at line 38 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_a52a901f4e013dc33ff491c5fcda76860}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Get\+Busy\+State@{Robot\+Get\+Busy\+State}} +\index{Robot\+Get\+Busy\+State@{Robot\+Get\+Busy\+State}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Get\+Busy\+State} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Get\+Busy\+State = \char`\"{}b\char`\"{}} + + + +Definition at line 39 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_a9a845beb5c040e4813f03cee7cd1cb71}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Get\+Version@{Robot\+Get\+Version}} +\index{Robot\+Get\+Version@{Robot\+Get\+Version}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Get\+Version} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Get\+Version = \char`\"{}V\char`\"{}} + + + +Definition at line 42 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_af7017bac04f1976fe1c37e8ec77bcbce}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Move@{Robot\+Move}} +\index{Robot\+Move@{Robot\+Move}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Move} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Move = \char`\"{}M\char`\"{}} + + + +Definition at line 40 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_a93de788c0d7ed40caaa2e3912a429831}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Ping@{Robot\+Ping}} +\index{Robot\+Ping@{Robot\+Ping}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Ping} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Ping = \char`\"{}p\char`\"{}} + + + +Definition at line 34 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_a2e9616c1b75719c208902e595b79cc48}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Power\+Off@{Robot\+Power\+Off}} +\index{Robot\+Power\+Off@{Robot\+Power\+Off}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Power\+Off} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Power\+Off = \char`\"{}z\char`\"{}} + + + +Definition at line 43 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_a9ef80510dfe9ca241af290b003766526}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Reset@{Robot\+Reset}} +\index{Robot\+Reset@{Robot\+Reset}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Reset} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Reset = \char`\"{}r\char`\"{}} + + + +Definition at line 35 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_a92acfe998bb9d265dd1f34f68f718386}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Start\+Without\+Watchdog@{Robot\+Start\+Without\+Watchdog}} +\index{Robot\+Start\+Without\+Watchdog@{Robot\+Start\+Without\+Watchdog}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Start\+Without\+Watchdog} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Start\+Without\+Watchdog = \char`\"{}u\char`\"{}} + + + +Definition at line 36 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_aafa5d0e5fec3afe6586cca8b88d45c85}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Start\+With\+Watchdog@{Robot\+Start\+With\+Watchdog}} +\index{Robot\+Start\+With\+Watchdog@{Robot\+Start\+With\+Watchdog}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Start\+With\+Watchdog} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Start\+With\+Watchdog = \char`\"{}W\char`\"{}} + + + +Definition at line 37 of file Destijl\+Command\+Manager.\+cs. + +\mbox{\label{classmonitor_1_1_robot_command_list_a2b88fc42fba8229f163e03e7252a77e6}} +\index{monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}!Robot\+Turn@{Robot\+Turn}} +\index{Robot\+Turn@{Robot\+Turn}!monitor\+::\+Robot\+Command\+List@{monitor\+::\+Robot\+Command\+List}} +\subsubsection{Robot\+Turn} +{\footnotesize\ttfamily const string monitor.\+Robot\+Command\+List.\+Robot\+Turn = \char`\"{}T\char`\"{}} + + + +Definition at line 41 of file Destijl\+Command\+Manager.\+cs. + + + +The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize} +\item +\textbf{ Destijl\+Command\+Manager.\+cs}\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/doxygen.sty b/software/monitor/monitor/docs/latex/doxygen.sty new file mode 100644 index 0000000..e457acc --- /dev/null +++ b/software/monitor/monitor/docs/latex/doxygen.sty @@ -0,0 +1,503 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} + +% Packages used by this style file +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{calc} +\RequirePackage{float} +\RequirePackage{ifthen} +\RequirePackage{verbatim} +\RequirePackage[table]{xcolor} +\RequirePackage{longtable} +\RequirePackage{tabu} +\RequirePackage{tabularx} +\RequirePackage{multirow} + +%---------- Internal commands used in this style file ---------------- + +\newcommand{\ensurespace}[1]{% + \begingroup% + \setlength{\dimen@}{#1}% + \vskip\z@\@plus\dimen@% + \penalty -100\vskip\z@\@plus -\dimen@% + \vskip\dimen@% + \penalty 9999% + \vskip -\dimen@% + \vskip\z@skip% hide the previous |\vskip| from |\addvspace| + \endgroup% +} + +\newcommand{\DoxyLabelFont}{} +\newcommand{\entrylabel}[1]{% + {% + \parbox[b]{\labelwidth-4pt}{% + \makebox[0pt][l]{\DoxyLabelFont#1}% + \vspace{1.5\baselineskip}% + }% + }% +} + +\newenvironment{DoxyDesc}[1]{% + \ensurespace{4\baselineskip}% + \begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +\newsavebox{\xrefbox} +\newlength{\xreflength} +\newcommand{\xreflabel}[1]{% + \sbox{\xrefbox}{#1}% + \setlength{\xreflength}{\wd\xrefbox}% + \ifthenelse{\xreflength>\labelwidth}{% + \begin{minipage}{\textwidth}% + \setlength{\parindent}{0pt}% + \hangindent=15pt\bfseries #1\vspace{1.2\itemsep}% + \end{minipage}% + }{% + \parbox[b]{\labelwidth}{\makebox[0pt][l]{\textbf{#1}}}% + }% +} + +%---------- Commands used by doxygen LaTeX output generator ---------- + +% Used by
 ... 
+\newenvironment{DoxyPre}{% + \small% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @code ... @endcode +\newenvironment{DoxyCode}{% + \par% + \scriptsize% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @example, @include, @includelineno and @dontinclude +\newenvironment{DoxyCodeInclude}{% + \DoxyCode% +}{% + \endDoxyCode% +} + +% Used by @verbatim ... @endverbatim +\newenvironment{DoxyVerb}{% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @verbinclude +\newenvironment{DoxyVerbInclude}{% + \DoxyVerb% +}{% + \endDoxyVerb% +} + +% Used by numbered lists (using '-#' or
    ...
) +\newenvironment{DoxyEnumerate}{% + \enumerate% +}{% + \endenumerate% +} + +% Used by bullet lists (using '-', @li, @arg, or
    ...
) +\newenvironment{DoxyItemize}{% + \itemize% +}{% + \enditemize% +} + +% Used by description lists (using
...
) +\newenvironment{DoxyDescription}{% + \description% +}{% + \enddescription% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if caption is specified) +\newenvironment{DoxyImage}{% + \begin{figure}[H]% + \begin{center}% +}{% + \end{center}% + \end{figure}% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if no caption is specified) +\newenvironment{DoxyImageNoCaption}{% + \begin{center}% +}{% + \end{center}% +} + +% Used by @attention +\newenvironment{DoxyAttention}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @author and @authors +\newenvironment{DoxyAuthor}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @date +\newenvironment{DoxyDate}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @invariant +\newenvironment{DoxyInvariant}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @note +\newenvironment{DoxyNote}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @post +\newenvironment{DoxyPostcond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @pre +\newenvironment{DoxyPrecond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @copyright +\newenvironment{DoxyCopyright}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @remark +\newenvironment{DoxyRemark}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @return and @returns +\newenvironment{DoxyReturn}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @since +\newenvironment{DoxySince}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @see +\newenvironment{DoxySeeAlso}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @version +\newenvironment{DoxyVersion}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @warning +\newenvironment{DoxyWarning}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @internal +\newenvironment{DoxyInternal}[1]{% + \paragraph*{#1}% +}{% +} + +% Used by @par and @paragraph +\newenvironment{DoxyParagraph}[1]{% + \begin{list}{}{% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{-4pt}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +% Used by parameter lists +\newenvironment{DoxyParams}[2][]{% + \tabulinesep=1mm% + \par% + \ifthenelse{\equal{#1}{}}% + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|}}% name + description + {\ifthenelse{\equal{#1}{1}}% + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + name + desc + {\begin{longtabu} spread 0pt [l]{|X[-1,l]|X[-1,l]|X[-1,l]|X[-1,l]|}}% in/out + type + name + desc + } + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #2}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for fields of simple structs +\newenvironment{DoxyFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|X[-1,l]|}% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{3}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for fields simple class style enums +\newenvironment{DoxyEnumFields}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for parameters within a detailed function description +\newenvironment{DoxyParamCaption}{% + \renewcommand{\item}[2][]{\\ \hspace*{2.0cm} ##1 {\em ##2}}% +}{% +} + +% Used by return value lists +\newenvironment{DoxyRetVals}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used by exception lists +\newenvironment{DoxyExceptions}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used by template parameter lists +\newenvironment{DoxyTemplParams}[1]{% + \tabulinesep=1mm% + \par% + \begin{longtabu} spread 0pt [l]{|X[-1,r]|X[-1,l]|}% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endfirsthead% + \multicolumn{2}{l}{\hspace{-6pt}\bfseries\fontseries{bc}\selectfont\color{darkgray} #1}\\[1ex]% + \hline% + \endhead% +}{% + \end{longtabu}% + \vspace{6pt}% +} + +% Used for member lists +\newenvironment{DoxyCompactItemize}{% + \begin{itemize}% + \setlength{\itemsep}{-3pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \setlength{\partopsep}{0pt}% +}{% + \end{itemize}% +} + +% Used for member descriptions +\newenvironment{DoxyCompactList}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + \setlength{\itemsep}{0pt}% + \setlength{\parsep}{0pt}% + \setlength{\topsep}{0pt}% + \renewcommand{\makelabel}{\hfill}% + }% +}{% + \end{list}% +} + +% Used for reference lists (@bug, @deprecated, @todo, etc.) +\newenvironment{DoxyRefList}{% + \begin{list}{}{% + \setlength{\labelwidth}{10pt}% + \setlength{\leftmargin}{\labelwidth}% + \addtolength{\leftmargin}{\labelsep}% + \renewcommand{\makelabel}{\xreflabel}% + }% +}{% + \end{list}% +} + +% Used by @bug, @deprecated, @todo, etc. +\newenvironment{DoxyRefDesc}[1]{% + \begin{list}{}{% + \renewcommand\makelabel[1]{\textbf{##1}}% + \settowidth\labelwidth{\makelabel{#1}}% + \setlength\leftmargin{\labelwidth+\labelsep}% + }% +}{% + \end{list}% +} + +% Used by parameter lists and simple sections +\newenvironment{Desc} +{\begin{list}{}{% + \settowidth{\labelwidth}{20pt}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{0pt}% + \setlength{\leftmargin}{\labelwidth+\labelsep}% + \renewcommand{\makelabel}{\entrylabel}% + } +}{% + \end{list}% +} + +% Used by tables +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}% +\newenvironment{TabularC}[1]% +{\tabulinesep=1mm +\begin{longtabu} spread 0pt [c]{*#1{|X[-1]}|}}% +{\end{longtabu}\par}% + +\newenvironment{TabularNC}[1]% +{\begin{tabu} spread 0pt [l]{*#1{|X[-1]}|}}% +{\end{tabu}\par}% + +% Used for member group headers +\newenvironment{Indent}{% + \begin{list}{}{% + \setlength{\leftmargin}{0.5cm}% + }% + \item[]\ignorespaces% +}{% + \unskip% + \end{list}% +} + +% Used when hyperlinks are turned off +\newcommand{\doxyref}[3]{% + \textbf{#1} (\textnormal{#2}\,\pageref{#3})% +} + +% Used to link to a table when hyperlinks are turned on +\newcommand{\doxytablelink}[2]{% + \ref{#1}% +} + +% Used to link to a table when hyperlinks are turned off +\newcommand{\doxytableref}[3]{% + \ref{#3}% +} + +% Used by @addindex +\newcommand{\lcurly}{\{} +\newcommand{\rcurly}{\}} + +% Colors used for syntax highlighting +\definecolor{comment}{rgb}{0.5,0.0,0.0} +\definecolor{keyword}{rgb}{0.0,0.5,0.0} +\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} +\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} +\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} +\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} +\definecolor{charliteral}{rgb}{0.0,0.5,0.5} +\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} +\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} +\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} +\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} + +% Color used for table heading +\newcommand{\tableheadbgcolor}{lightgray}% + +% Version of hypertarget with correct landing location +\newcommand{\Hypertarget}[1]{\Hy@raisedlink{\hypertarget{#1}{}}} + +% Define caption that is also suitable in a table +\makeatletter +\def\doxyfigcaption{% +\refstepcounter{figure}% +\@dblarg{\@caption{figure}}} +\makeatother diff --git a/software/monitor/monitor/docs/latex/files.tex b/software/monitor/monitor/docs/latex/files.tex new file mode 100644 index 0000000..c43f4cd --- /dev/null +++ b/software/monitor/monitor/docs/latex/files.tex @@ -0,0 +1,8 @@ +\section{File List} +Here is a list of all files with brief descriptions\+:\begin{DoxyCompactList} +\item\contentsline{section}{\textbf{ Client.\+cs} }{\pageref{_client_8cs}}{} +\item\contentsline{section}{\textbf{ Command\+Manager.\+cs} }{\pageref{_command_manager_8cs}}{} +\item\contentsline{section}{\textbf{ Destijl\+Command\+Manager.\+cs} }{\pageref{_destijl_command_manager_8cs}}{} +\item\contentsline{section}{\textbf{ Monitor\+U\+I.\+cs} }{\pageref{_monitor_u_i_8cs}}{} +\item\contentsline{section}{\textbf{ Program.\+cs} }{\pageref{_program_8cs}}{} +\end{DoxyCompactList} diff --git a/software/monitor/monitor/docs/latex/hierarchy.tex b/software/monitor/monitor/docs/latex/hierarchy.tex new file mode 100644 index 0000000..ee99725 --- /dev/null +++ b/software/monitor/monitor/docs/latex/hierarchy.tex @@ -0,0 +1,12 @@ +\section{Class Hierarchy} +This inheritance list is sorted roughly, but not completely, alphabetically\+:\begin{DoxyCompactList} +\item \contentsline{section}{monitor.\+Client}{\pageref{classmonitor_1_1_client}}{} +\item \contentsline{section}{monitor.\+Command\+Manager}{\pageref{classmonitor_1_1_command_manager}}{} +\item \contentsline{section}{monitor.\+Destijl\+Command\+List}{\pageref{classmonitor_1_1_destijl_command_list}}{} +\item \contentsline{section}{monitor.\+Destijl\+Command\+Manager}{\pageref{classmonitor_1_1_destijl_command_manager}}{} +\item \contentsline{section}{monitor.\+Main\+Class}{\pageref{classmonitor_1_1_main_class}}{} +\item \contentsline{section}{monitor.\+Robot\+Command\+List}{\pageref{classmonitor_1_1_robot_command_list}}{} +\item Window\begin{DoxyCompactList} +\item \contentsline{section}{Main\+Window}{\pageref{class_main_window}}{} +\end{DoxyCompactList} +\end{DoxyCompactList} diff --git a/software/monitor/monitor/docs/latex/namespacemonitor.tex b/software/monitor/monitor/docs/latex/namespacemonitor.tex new file mode 100644 index 0000000..9b4ad4f --- /dev/null +++ b/software/monitor/monitor/docs/latex/namespacemonitor.tex @@ -0,0 +1,17 @@ +\section{monitor Namespace Reference} +\label{namespacemonitor}\index{monitor@{monitor}} +\subsection*{Classes} +\begin{DoxyCompactItemize} +\item +class \textbf{ Client} +\begin{DoxyCompactList}\small\item\em Static class for T\+CP client \end{DoxyCompactList}\item +class \textbf{ Command\+Manager} +\begin{DoxyCompactList}\small\item\em Command Manager. Use for timeout managment during reception of data Used as intermediate layer between T\+CP client class (\doxyref{Client}{p.}{classmonitor_1_1_client}) and application level managment of command and answers \end{DoxyCompactList}\item +class \textbf{ Destijl\+Command\+List} +\item +class \textbf{ Destijl\+Command\+Manager} +\item +class \textbf{ Main\+Class} +\item +class \textbf{ Robot\+Command\+List} +\end{DoxyCompactItemize} diff --git a/software/monitor/monitor/docs/latex/namespaces.tex b/software/monitor/monitor/docs/latex/namespaces.tex new file mode 100644 index 0000000..7decfdf --- /dev/null +++ b/software/monitor/monitor/docs/latex/namespaces.tex @@ -0,0 +1,4 @@ +\section{Packages} +Here are the packages with brief descriptions (if available)\+:\begin{DoxyCompactList} +\item\contentsline{section}{\textbf{ monitor} }{\pageref{namespacemonitor}}{} +\end{DoxyCompactList} diff --git a/software/monitor/monitor/docs/latex/refman.tex b/software/monitor/monitor/docs/latex/refman.tex new file mode 100644 index 0000000..444b98d --- /dev/null +++ b/software/monitor/monitor/docs/latex/refman.tex @@ -0,0 +1,156 @@ +\documentclass[twoside]{book} + +% Packages required by doxygen +\usepackage{fixltx2e} +\usepackage{calc} +\usepackage{doxygen} +\usepackage[export]{adjustbox} % also loads graphicx +\usepackage{graphicx} +\usepackage[utf8]{inputenc} +\usepackage{makeidx} +\usepackage{multicol} +\usepackage{multirow} +\PassOptionsToPackage{warn}{textcomp} +\usepackage{textcomp} +\usepackage[nointegrals]{wasysym} +\usepackage[table]{xcolor} + +% Font selection +\usepackage[T1]{fontenc} +\usepackage[scaled=.90]{helvet} +\usepackage{courier} +\usepackage{amssymb} +\usepackage{sectsty} +\renewcommand{\familydefault}{\sfdefault} +\allsectionsfont{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\renewcommand{\DoxyLabelFont}{% + \fontseries{bc}\selectfont% + \color{darkgray}% +} +\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}} + +% Page & text layout +\usepackage{geometry} +\geometry{% + a4paper,% + top=2.5cm,% + bottom=2.5cm,% + left=2.5cm,% + right=2.5cm% +} +\tolerance=750 +\hfuzz=15pt +\hbadness=750 +\setlength{\emergencystretch}{15pt} +\setlength{\parindent}{0cm} +\setlength{\parskip}{3ex plus 2ex minus 2ex} +\makeatletter +\renewcommand{\paragraph}{% + \@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@parafont% + }% +} +\renewcommand{\subparagraph}{% + \@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{% + \normalfont\normalsize\bfseries\SS@subparafont% + }% +} +\makeatother + +% Headers & footers +\usepackage{fancyhdr} +\pagestyle{fancyplain} +\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}} +\fancyhead[CE]{\fancyplain{}{}} +\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}} +\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}} +\fancyhead[CO]{\fancyplain{}{}} +\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}} +\fancyfoot[LE]{\fancyplain{}{}} +\fancyfoot[CE]{\fancyplain{}{}} +\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} +\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }} +\fancyfoot[CO]{\fancyplain{}{}} +\fancyfoot[RO]{\fancyplain{}{}} +\renewcommand{\footrulewidth}{0.4pt} +\renewcommand{\chaptermark}[1]{% + \markboth{#1}{}% +} +\renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}% +} + +% Indices & bibliography +\usepackage{natbib} +\usepackage[titles]{tocloft} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{5} +\makeindex + +% Custom commands +\newcommand{\clearemptydoublepage}{% + \newpage{\pagestyle{empty}\cleardoublepage}% +} + +\usepackage{caption} +\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top} + +%===== C O N T E N T S ===== + +\begin{document} + +% Titlepage & ToC +\pagenumbering{alph} +\begin{titlepage} +\vspace*{7cm} +\begin{center}% +{\Large Monitor }\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.8.13}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} + +%--- Begin generated contents --- +\chapter{Namespace Index} +\input{namespaces} +\chapter{Hierarchical Index} +\input{hierarchy} +\chapter{Class Index} +\input{annotated} +\chapter{File Index} +\input{files} +\chapter{Namespace Documentation} +\input{namespacemonitor} +\chapter{Class Documentation} +\input{classmonitor_1_1_client} +\input{classmonitor_1_1_command_manager} +\input{classmonitor_1_1_destijl_command_list} +\input{classmonitor_1_1_destijl_command_manager} +\input{classmonitor_1_1_main_class} +\input{class_main_window} +\input{classmonitor_1_1_robot_command_list} +\chapter{File Documentation} +\input{_client_8cs} +\input{_command_manager_8cs} +\input{_destijl_command_manager_8cs} +\input{_monitor_u_i_8cs} +\input{_program_8cs} +%--- End generated contents --- + +% Index +\backmatter +\newpage +\phantomsection +\clearemptydoublepage +\addcontentsline{toc}{chapter}{Index} +\printindex + +\end{document} diff --git a/software/monitor/monitor/docs/latex/robot-icon.png b/software/monitor/monitor/docs/latex/robot-icon.png new file mode 100644 index 0000000..91d6a8f Binary files /dev/null and b/software/monitor/monitor/docs/latex/robot-icon.png differ diff --git a/software/monitor/monitor/docs/latex/robot-icon.resized.png b/software/monitor/monitor/docs/latex/robot-icon.resized.png new file mode 100644 index 0000000..e464bd0 Binary files /dev/null and b/software/monitor/monitor/docs/latex/robot-icon.resized.png differ diff --git a/software/monitor/monitor/gtk-gui/MainWindow.cs b/software/monitor/monitor/gtk-gui/MainWindow.cs index 1ca2333..d968bf5 100644 --- a/software/monitor/monitor/gtk-gui/MainWindow.cs +++ b/software/monitor/monitor/gtk-gui/MainWindow.cs @@ -207,6 +207,8 @@ public partial class MainWindow global::Gtk.Box.BoxChild w5 = ((global::Gtk.Box.BoxChild)(this.hbox2[this.buttonAskArena])); w5.PackType = ((global::Gtk.PackType)(1)); w5.Position = 2; + w5.Expand = false; + w5.Fill = false; this.alignment1.Add(this.hbox2); this.boxCamera.Add(this.alignment1); global::Gtk.Box.BoxChild w7 = ((global::Gtk.Box.BoxChild)(this.boxCamera[this.alignment1]));