Vergelijk commits

...

1 commit

Author SHA1 Message Date
vezde
c9683f8eba suppression du moniteur C# et ajout d'un moniteur python/qt 2022-08-22 16:47:42 +02:00
296 changed files with 1329 additions and 24488 deletions

2
software/monitor/monitor-python-qt/.gitignore vendored Normaal bestaand
View file

@ -0,0 +1,2 @@
__pycache__/

View file

@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
class GlobVar:
port = 5544 # default server port
timeout=1.0 # default waiting time for an answer. May be increased for debugging purpose
address = "localhost" # default server address. Use this with 'nc -l <port>' for testing on your machine
getBatteryLevelPeriod=2 # periodic delay for requesting battery level. If value is 0 or below, not battery check is done
# do not modify value below this line
connectedToPi = False
connectedToDumber = False
dumberStarted = False
batteryLevel = -1
currentMovement="STOP"
last_answer = -1
#message = []
exceptionmsg= ""

View file

@ -0,0 +1,43 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/log_dialog.ui'
#
# Created by: PyQt5 UI code generator 5.14.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(510, 336)
self.verticalLayout = QtWidgets.QVBoxLayout(Dialog)
self.verticalLayout.setObjectName("verticalLayout")
self.plainTextEdit = QtWidgets.QPlainTextEdit(Dialog)
self.plainTextEdit.setReadOnly(True)
self.plainTextEdit.setPlainText("")
self.plainTextEdit.setObjectName("plainTextEdit")
self.verticalLayout.addWidget(self.plainTextEdit)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.pushButton_clearLog = QtWidgets.QPushButton(Dialog)
self.pushButton_clearLog.setObjectName("pushButton_clearLog")
self.horizontalLayout.addWidget(self.pushButton_clearLog)
self.pushButton_closeLog = QtWidgets.QPushButton(Dialog)
self.pushButton_closeLog.setObjectName("pushButton_closeLog")
self.horizontalLayout.addWidget(self.pushButton_closeLog)
self.verticalLayout.addLayout(self.horizontalLayout)
self.retranslateUi(Dialog)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Messages Log"))
self.pushButton_clearLog.setText(_translate("Dialog", "Clear log"))
self.pushButton_closeLog.setText(_translate("Dialog", "Close"))

View file

@ -0,0 +1,221 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'ui/main_window.ui'
#
# Created by: PyQt5 UI code generator 5.14.1
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(928, 629)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout_6 = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout_6.setObjectName("horizontalLayout_6")
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.checkBox_enableCamera = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox_enableCamera.setObjectName("checkBox_enableCamera")
self.verticalLayout_4.addWidget(self.checkBox_enableCamera)
self.graphicsView_Image = QtWidgets.QGraphicsView(self.centralwidget)
self.graphicsView_Image.setObjectName("graphicsView_Image")
self.verticalLayout_4.addWidget(self.graphicsView_Image)
self.pushButton_confirmArena = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_confirmArena.setObjectName("pushButton_confirmArena")
self.verticalLayout_4.addWidget(self.pushButton_confirmArena)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.checkBox_enableFPS = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox_enableFPS.setObjectName("checkBox_enableFPS")
self.horizontalLayout_3.addWidget(self.checkBox_enableFPS)
self.checkBox_enablePosition = QtWidgets.QCheckBox(self.centralwidget)
self.checkBox_enablePosition.setObjectName("checkBox_enablePosition")
self.horizontalLayout_3.addWidget(self.checkBox_enablePosition)
self.verticalLayout_4.addLayout(self.horizontalLayout_3)
self.horizontalLayout_6.addLayout(self.verticalLayout_4)
self.verticalLayout_6 = QtWidgets.QVBoxLayout()
self.verticalLayout_6.setObjectName("verticalLayout_6")
self.groupBox_connection = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_connection.setAlignment(QtCore.Qt.AlignCenter)
self.groupBox_connection.setFlat(False)
self.groupBox_connection.setCheckable(False)
self.groupBox_connection.setObjectName("groupBox_connection")
self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox_connection)
self.verticalLayout.setObjectName("verticalLayout")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.label = QtWidgets.QLabel(self.groupBox_connection)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label.sizePolicy().hasHeightForWidth())
self.label.setSizePolicy(sizePolicy)
self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label)
self.lineEdit_address = QtWidgets.QLineEdit(self.groupBox_connection)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lineEdit_address.sizePolicy().hasHeightForWidth())
self.lineEdit_address.setSizePolicy(sizePolicy)
self.lineEdit_address.setMaximumSize(QtCore.QSize(300, 16777215))
self.lineEdit_address.setObjectName("lineEdit_address")
self.horizontalLayout.addWidget(self.lineEdit_address)
self.verticalLayout.addLayout(self.horizontalLayout)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_2 = QtWidgets.QLabel(self.groupBox_connection)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth())
self.label_2.setSizePolicy(sizePolicy)
self.label_2.setObjectName("label_2")
self.horizontalLayout_2.addWidget(self.label_2)
self.lineEdit_port = QtWidgets.QLineEdit(self.groupBox_connection)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lineEdit_port.sizePolicy().hasHeightForWidth())
self.lineEdit_port.setSizePolicy(sizePolicy)
self.lineEdit_port.setMaximumSize(QtCore.QSize(300, 16777215))
self.lineEdit_port.setObjectName("lineEdit_port")
self.horizontalLayout_2.addWidget(self.lineEdit_port)
self.verticalLayout.addLayout(self.horizontalLayout_2)
self.horizontalLayout_4 = QtWidgets.QHBoxLayout()
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.label_3 = QtWidgets.QLabel(self.groupBox_connection)
self.label_3.setObjectName("label_3")
self.horizontalLayout_4.addWidget(self.label_3)
self.label_connectionStatus = QtWidgets.QLabel(self.groupBox_connection)
self.label_connectionStatus.setObjectName("label_connectionStatus")
self.horizontalLayout_4.addWidget(self.label_connectionStatus)
self.verticalLayout.addLayout(self.horizontalLayout_4)
self.line = QtWidgets.QFrame(self.groupBox_connection)
self.line.setFrameShape(QtWidgets.QFrame.HLine)
self.line.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line.setObjectName("line")
self.verticalLayout.addWidget(self.line)
self.verticalLayout_6.addWidget(self.groupBox_connection)
self.groupBox_activation = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_activation.setAlignment(QtCore.Qt.AlignCenter)
self.groupBox_activation.setObjectName("groupBox_activation")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.groupBox_activation)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.checkBox_watchdog = QtWidgets.QCheckBox(self.groupBox_activation)
self.checkBox_watchdog.setObjectName("checkBox_watchdog")
self.verticalLayout_2.addWidget(self.checkBox_watchdog)
self.pushButton_start = QtWidgets.QPushButton(self.groupBox_activation)
self.pushButton_start.setObjectName("pushButton_start")
self.verticalLayout_2.addWidget(self.pushButton_start)
self.line_2 = QtWidgets.QFrame(self.groupBox_activation)
self.line_2.setFrameShape(QtWidgets.QFrame.HLine)
self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_2.setObjectName("line_2")
self.verticalLayout_2.addWidget(self.line_2)
self.verticalLayout_6.addWidget(self.groupBox_activation)
self.groupBox_mouvments = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_mouvments.setAlignment(QtCore.Qt.AlignCenter)
self.groupBox_mouvments.setObjectName("groupBox_mouvments")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_mouvments)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.pushButton_up = QtWidgets.QPushButton(self.groupBox_mouvments)
self.pushButton_up.setObjectName("pushButton_up")
self.gridLayout.addWidget(self.pushButton_up, 0, 1, 1, 1)
self.pushButton_left = QtWidgets.QPushButton(self.groupBox_mouvments)
self.pushButton_left.setObjectName("pushButton_left")
self.gridLayout.addWidget(self.pushButton_left, 1, 0, 1, 1)
self.pushButton_stop = QtWidgets.QPushButton(self.groupBox_mouvments)
self.pushButton_stop.setObjectName("pushButton_stop")
self.gridLayout.addWidget(self.pushButton_stop, 1, 1, 1, 1)
self.pushButton_right = QtWidgets.QPushButton(self.groupBox_mouvments)
self.pushButton_right.setObjectName("pushButton_right")
self.gridLayout.addWidget(self.pushButton_right, 1, 2, 1, 1)
self.pushButton_down = QtWidgets.QPushButton(self.groupBox_mouvments)
self.pushButton_down.setObjectName("pushButton_down")
self.gridLayout.addWidget(self.pushButton_down, 2, 1, 1, 1)
self.verticalLayout_3.addLayout(self.gridLayout)
self.line_3 = QtWidgets.QFrame(self.groupBox_mouvments)
self.line_3.setFrameShape(QtWidgets.QFrame.HLine)
self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken)
self.line_3.setObjectName("line_3")
self.verticalLayout_3.addWidget(self.line_3)
self.verticalLayout_6.addWidget(self.groupBox_mouvments)
self.groupBox_AnswerandBattery = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_AnswerandBattery.setObjectName("groupBox_AnswerandBattery")
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_AnswerandBattery)
self.verticalLayout_5.setObjectName("verticalLayout_5")
self.checkBox_getBattery = QtWidgets.QCheckBox(self.groupBox_AnswerandBattery)
self.checkBox_getBattery.setObjectName("checkBox_getBattery")
self.verticalLayout_5.addWidget(self.checkBox_getBattery)
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.label_4 = QtWidgets.QLabel(self.groupBox_AnswerandBattery)
self.label_4.setObjectName("label_4")
self.horizontalLayout_5.addWidget(self.label_4)
self.label_lastAnswer = QtWidgets.QLabel(self.groupBox_AnswerandBattery)
self.label_lastAnswer.setObjectName("label_lastAnswer")
self.horizontalLayout_5.addWidget(self.label_lastAnswer)
self.verticalLayout_5.addLayout(self.horizontalLayout_5)
self.verticalLayout_6.addWidget(self.groupBox_AnswerandBattery)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_6.addItem(spacerItem)
self.horizontalLayout_6.addLayout(self.verticalLayout_6)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 928, 22))
self.menubar.setObjectName("menubar")
self.menu_Quitter = QtWidgets.QMenu(self.menubar)
self.menu_Quitter.setObjectName("menu_Quitter")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.action_Quitter = QtWidgets.QAction(MainWindow)
self.action_Quitter.setObjectName("action_Quitter")
self.action_OpenMessageLog = QtWidgets.QAction(MainWindow)
self.action_OpenMessageLog.setObjectName("action_OpenMessageLog")
self.menu_Quitter.addAction(self.action_OpenMessageLog)
self.menu_Quitter.addSeparator()
self.menu_Quitter.addAction(self.action_Quitter)
self.menubar.addAction(self.menu_Quitter.menuAction())
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Robot Monitor"))
self.checkBox_enableCamera.setText(_translate("MainWindow", "Enable Ca&mera"))
self.pushButton_confirmArena.setText(_translate("MainWindow", "Co&nfirme arena border..."))
self.checkBox_enableFPS.setText(_translate("MainWindow", "Enable &FPS"))
self.checkBox_enablePosition.setText(_translate("MainWindow", "Enable Pos&ition"))
self.groupBox_connection.setTitle(_translate("MainWindow", "Connection"))
self.label.setText(_translate("MainWindow", "Address:"))
self.label_2.setText(_translate("MainWindow", "Port:"))
self.label_3.setText(_translate("MainWindow", "Status:"))
self.label_connectionStatus.setText(_translate("MainWindow", "Not connected"))
self.groupBox_activation.setTitle(_translate("MainWindow", "Robot Activation"))
self.checkBox_watchdog.setText(_translate("MainWindow", "Start with &watchdog"))
self.pushButton_start.setText(_translate("MainWindow", "Start r&obot"))
self.groupBox_mouvments.setTitle(_translate("MainWindow", "Mouvments"))
self.pushButton_up.setText(_translate("MainWindow", "&Up"))
self.pushButton_left.setText(_translate("MainWindow", "&Left"))
self.pushButton_stop.setText(_translate("MainWindow", "&Stop"))
self.pushButton_right.setText(_translate("MainWindow", "&Right"))
self.pushButton_down.setText(_translate("MainWindow", "&Down"))
self.groupBox_AnswerandBattery.setTitle(_translate("MainWindow", "Others"))
self.checkBox_getBattery.setText(_translate("MainWindow", "Get &Battery"))
self.label_4.setText(_translate("MainWindow", "Last answer:"))
self.label_lastAnswer.setText(_translate("MainWindow", "None"))
self.menu_Quitter.setTitle(_translate("MainWindow", "M&enu"))
self.action_Quitter.setText(_translate("MainWindow", "&Quitter"))
self.action_OpenMessageLog.setText(_translate("MainWindow", "O&pen message log..."))

View file

@ -0,0 +1,296 @@
#!/usr/bin/env python3
from email.message import Message
import os
import time
import sys
from PyQt5 import (QtCore, QtWidgets)
from main_window import Ui_MainWindow
from log_dialog import Ui_Dialog
from network import *
from globvar import GlobVar
class Window(QtWidgets.QMainWindow, Ui_MainWindow):
_msg_dialog= None
_batteryTimer=None
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.DisableUIWidgets("Network")
self.lineEdit_address.setText(GlobVar.address)
self.lineEdit_port.setText(str(GlobVar.port))
self._msg_dialog=QtWidgets.QDialog()
self._msg_dialog.ui= Ui_Dialog()
self._msg_dialog.ui.setupUi(self._msg_dialog)
self.networkThread = Network()
self.connectSignalSlots()
# Start network thread and wait for event indicating monitor is connected to a target
self.networkThread.start()
# Create battery timer
self._batteryTimer = QtCore.QTimer()
self._batteryTimer.timeout.connect(self.OnBatteryTimeout)
def connectSignalSlots(self):
# Buttons
self.pushButton_start.pressed.connect(self.OnButtonPress_Start)
self.pushButton_confirmArena.pressed.connect(self.OnButtonPress_ConfirmArena)
self.pushButton_up.pressed.connect(self.OnButtonPress_Up)
self.pushButton_down.pressed.connect(self.OnButtonPress_Down)
self.pushButton_stop.pressed.connect(self.OnButtonPress_Stop)
self.pushButton_left.pressed.connect(self.OnButtonPress_Left)
self.pushButton_right.pressed.connect(self.OnButtonPress_Right)
# Checkbox
self.checkBox_enableCamera.stateChanged.connect(self.OnCheckBoxChanged_EnableCamera)
self.checkBox_enableFPS.stateChanged.connect(self.OnCheckBoxChanged_EnableFPS)
self.checkBox_enablePosition.stateChanged.connect(self.OnCheckBoxChanged_EnablePosition)
self.checkBox_getBattery.stateChanged.connect(self.OnCheckBoxChanged_GetBattery)
# LineEdit
self.lineEdit_address.textChanged.connect(self.OnLineEditChange_Address)
self.lineEdit_port.textChanged.connect(self.OnLineEditChange_Port)
# Menu
self.action_OpenMessageLog.triggered.connect(self.OnMenu_OpenMessageLog)
self.action_Quitter.triggered.connect(self.OnMenu_Quitter)
# Message Dialog
self._msg_dialog.ui.pushButton_clearLog.pressed.connect(self.OnButtonPress_ClearLog)
self._msg_dialog.ui.pushButton_closeLog.pressed.connect(self.OnButtonPress_CloseLog)
# Network signals
self.networkThread.receptionEvent.connect(self.OnReceptionEvent)
self.networkThread.connectionEvent.connect(self.OnConnectionEvent)
self.networkThread.logEvent.connect(self.OnLogEvent)
self.networkThread.answerEvent.connect(self.OnAnswerEvent)
def EnableUIWidgets(self, area):
if area == "Network":
self.groupBox_activation.setDisabled(False)
self.graphicsView_Image.setDisabled(False)
self.pushButton_confirmArena.setDisabled(False)
self.checkBox_enableCamera.setDisabled(False)
self.checkBox_enableFPS.setDisabled(False)
self.checkBox_enablePosition.setDisabled(False)
else:
self.groupBox_mouvments.setDisabled(False)
self.groupBox_AnswerandBattery.setDisabled(False)
def DisableUIWidgets(self, area):
if area == "Network":
self.groupBox_activation.setDisabled(True)
self.graphicsView_Image.setDisabled(True)
self.pushButton_confirmArena.setDisabled(True)
self.checkBox_enableCamera.setDisabled(True)
self.checkBox_enableFPS.setDisabled(True)
self.checkBox_enablePosition.setDisabled(True)
self.groupBox_AnswerandBattery.setDisabled(True)
self.groupBox_mouvments.setDisabled(True)
else:
self.groupBox_mouvments.setDisabled(True)
self.groupBox_AnswerandBattery.setDisabled(True)
@QtCore.pyqtSlot(str)
def OnLineEditChange_Address(self, text):
if self.networkThread.checkAddressIsValid(text):
GlobVar.address = text
@QtCore.pyqtSlot(str)
def OnLineEditChange_Port(self, text):
GlobVar.port = int(text)
@QtCore.pyqtSlot()
def OnButtonPress_Start (self):
if self.pushButton_start.text() == "Start r&obot":
if self.networkThread.robotOpenCom() == NetworkAnswers.ACK:
# com opened successfully, start robot
if self.checkBox_watchdog.isChecked():
# start with watchdog
if self.networkThread.robotStartWithWatchdog() == NetworkAnswers.ACK:
self.pushButton_start.setText("Reset r&obot")
self.EnableUIWidgets("Robot")
else:
# start without watchdog
if self.networkThread.robotStartWithoutWatchdog() == NetworkAnswers.ACK:
self.pushButton_start.setText("Reset r&obot")
self.EnableUIWidgets("Robot")
else:
if self.networkThread.robotCloseCom() != NetworkAnswers.ACK:
msg= QtWidgets.QMessageBox
msg.warning(self,'Invalid answer', 'Server answer was not acknowledged. Maybe robot is still running', msg.Ok)
self.pushButton_start.setText("Start r&obot")
self.DisableUIWidgets("Robot")
@QtCore.pyqtSlot()
def OnButtonPress_ConfirmArena(self):
msg= QtWidgets.QMessageBox
ret = msg.question(self, '', 'Arena boundaries are correctly detected ?',msg.Yes| msg.No)
if ret == msg.Yes:
print ("Answer is YES")
else:
print ("Answer is NO")
@QtCore.pyqtSlot()
def OnButtonPress_Up(self):
self.networkThread.robotGoForward()
@QtCore.pyqtSlot()
def OnButtonPress_Down(self):
self.networkThread.robotGoBackward()
@QtCore.pyqtSlot()
def OnButtonPress_Stop(self):
self.networkThread.robotStop()
@QtCore.pyqtSlot()
def OnButtonPress_Left(self):
self.networkThread.robotGoLeft()
@QtCore.pyqtSlot()
def OnButtonPress_Right(self):
self.networkThread.robotGoRight()
@QtCore.pyqtSlot(int)
def OnCheckBoxChanged_EnableCamera(self, state):
msg= QtWidgets.QMessageBox
msg.information(self, 'Feature not ready', 'Feature not yet available', msg.Ok)
self.checkBox_enableCamera.setChecked(False)
@QtCore.pyqtSlot(int)
def OnCheckBoxChanged_EnableFPS(self, state):
msg= QtWidgets.QMessageBox
msg.information(self, 'Feature not ready', 'Feature not yet available', msg.Ok)
self.checkBox_enableFPS.setChecked(False)
@QtCore.pyqtSlot(int)
def OnCheckBoxChanged_EnablePosition(self, state):
msg= QtWidgets.QMessageBox
msg.information(self, 'Feature not ready', 'Feature not yet available', msg.Ok)
self.checkBox_enablePosition.setChecked(False)
@QtCore.pyqtSlot(int)
def OnCheckBoxChanged_GetBattery(self, state):
if state !=0:
self._batteryTimer.start(5000)
else:
self._batteryTimer.stop()
@QtCore.pyqtSlot()
def OnMenu_OpenMessageLog(self):
self._msg_dialog.show()
@QtCore.pyqtSlot()
def OnMenu_Quitter(self):
self._msg_dialog.hide()
self.close()
def closeEvent(self, event):
self._msg_dialog.hide()
event.accept()
@QtCore.pyqtSlot()
def OnButtonPress_ClearLog(self):
plainTextEdit=self._msg_dialog.ui.plainTextEdit
plainTextEdit.document().clear()
@QtCore.pyqtSlot()
def OnButtonPress_CloseLog(self):
self._msg_dialog.hide()
# Callback used to decode non answer message from server (mainly battery level and log message)
@QtCore.pyqtSlot(str)
def OnReceptionEvent(self, s) -> None:
if Network.ROBOT_BATTERY_LEVEL in s:
str_split = s.split(':')
try:
batteryLevel = int(str_split[1])
except:
batteryLevel = -1
if batteryLevel == 0:
self.checkBox_getBattery.setText ("Get battery (0 = empty)")
elif batteryLevel == 1:
self.checkBox_getBattery.setText ("Get battery (1 = low)")
elif batteryLevel == 2:
self.checkBox_getBattery.setText ("Get battery (2 = full)")
else:
self.checkBox_getBattery.setText ("Get battery (invalid value)")
# Callback for battery timeout
@QtCore.pyqtSlot()
def OnBatteryTimeout(self) -> None:
# Send a request for battery level. Answer will be done in OnReceptionEvent callback
self.networkThread.robotGetBattery()
# Callback for connection/deconnection event from network manager
@QtCore.pyqtSlot(int)
def OnConnectionEvent(self, event) -> None:
if event == NetworkEvents.EVENT_CONNECTED:
GlobVar.connectedToPi = True
print ("Connected to server")
self.label_connectionStatus.setText("Connected")
self.EnableUIWidgets("Network")
elif event == NetworkEvents.EVENT_CONNECTION_LOST:
GlobVar.connectedToPi = False
print ("Disconnected from server")
self.label_connectionStatus.setText("Not connected")
self.pushButton_start.setText("Start r&obot")
self.DisableUIWidgets("Network")
# Callback for answer event from network manager
@QtCore.pyqtSlot(int)
def OnAnswerEvent(self, ans) -> None:
if ans == NetworkAnswers.ACK:
self.label_lastAnswer.setText("Acknowledged (AACK)")
elif ans == NetworkAnswers.NACK:
self.label_lastAnswer.setText("Not acknowledged (ANAK)")
elif ans == NetworkAnswers.COM_ERROR:
self.label_lastAnswer.setText("Command error (ACER)")
elif ans == NetworkAnswers.TIMEOUT_ERROR:
self.label_lastAnswer.setText("Timeout - no answer")
elif ans == NetworkAnswers.CMD_REJECTED:
self.label_lastAnswer.setText("Command rejected (ACRJ)")
else:
self.label_lastAnswer.setText("Unknown answer")
# Callback for log event from network manager
@QtCore.pyqtSlot(str)
def OnLogEvent(self, txt) -> None:
self._msg_dialog.ui.plainTextEdit.textCursor().insertText(txt)
try:
if len(sys.argv)>=2:
GlobVar.address = sys.argv[1]
else:
print ("No target address specified: using localhost:5544")
print ("Usage: monitor-python.py address [port]")
#exit (-1) # Comment this line for connecting to localhost
if len(sys.argv)>=3:
GlobVar.port = int(sys.argv[2])
app = QtWidgets.QApplication(sys.argv)
window = Window()
window.show()
app.exec_()
except KeyboardInterrupt: # exception when pressing CTRL-C
print ("Bye bye")

View file

@ -0,0 +1,340 @@
# -*- coding: utf-8 -*-
import socket
import time
import sys
from PyQt5 import QtCore
from globvar import GlobVar
import ipaddress
import threading
# Network event from socket.
# Event are 'Connected to server' or 'disconnected from server'
class NetworkEvents():
EVENT_CONNECTED=1
EVENT_CONNECTION_LOST=0
UNKNOWN_EVENT=-1
class NetworkAnswers():
# Decoded answers
ACK = 1
NACK =2
COM_ERROR =3
TIMEOUT_ERROR=4
CMD_REJECTED=5
UNKNOWN=-1
# Network managment class
# Contain a thread for conenction to server and data reception
# Contains functions for sending message to server
# Contains functions for answer decoding
class Network(QtCore.QThread):
i=0
reconnectionDelay =0
waitForAnswer=False
receivedAnswer = ""
receiveFlag = None
receptionEvent = QtCore.pyqtSignal(str)
connectionEvent= QtCore.pyqtSignal(int)
answerEvent= QtCore.pyqtSignal(int)
logEvent = QtCore.pyqtSignal(str)
# List of possible answers from server
ANSWER_ACK = "AACK"
ANSWER_NACK = "ANAK"
ANSWER_COM_ERROR = "ACER"
ANSWER_TIMEOUT = "ATIM"
ANSWER_CMD_REJECTED = "ACRJ"
# List of possible messages from server
MESSAGE = "MSSG"
ROBOT_BATTERY_LEVEL = "RBLV"
ROBOT_CURRENT_STATE = "RCST"
# List of accepted command by server
CAMERA_OPEN = "COPN"
CAMERA_CLOSE = "CCLS"
CAMERA_IMAGE = "CIMG"
CAMERA_ARENA_ASK = "CASA"
CAMERA_ARENA_INFIRM = "CAIN"
CAMERA_ARENA_CONFIRM = "CACO"
CAMERA_POSITION_COMPUTE = "CPCO"
CAMERA_POSITION_STOP = "CPST"
CAMERA_POSITION = "CPOS"
ROBOT_COM_OPEN = "ROPN"
ROBOT_COM_CLOSE = "RCLS"
ROBOT_PING = "RPIN"
ROBOT_RESET = "RRST"
ROBOT_START_WITHOUT_WD = "RSOW"
ROBOT_START_WITH_WD = "RSWW"
ROBOT_RELOAD_WD = "RLDW"
ROBOT_MOVE = "RMOV"
ROBOT_TURN = "RTRN"
ROBOT_GO_FORWARD = "RGFW"
ROBOT_GO_BACKWARD = "RGBW"
ROBOT_GO_LEFT = "RGLF"
ROBOT_GO_RIGHT = "RGRI"
ROBOT_STOP = "RSTP"
ROBOT_POWEROFF = "RPOF"
ROBOT_GET_BATTERY = "RGBT"
ROBOT_GET_STATE = "RGST"
SEPARATOR_CHAR = ':'
def __init__(self):
super(Network, self).__init__()
self.i =0
self.receiveFlag = threading.Event()
def run(self):
print ("Network thread started" )
self.i =0
while True:
self.i = self.i+1
try:
self.__connect()
self.connectionEvent.emit(NetworkEvents.EVENT_CONNECTED)
self.__read()
except (RuntimeError, TimeoutError, socket.gaierror, ConnectionResetError, ConnectionRefusedError) as e:
print ("exception in network thread: " + str(e))
if e.__class__ == RuntimeError or \
e.__class__== ConnectionResetError or \
e.__class__ == ConnectionRefusedError:
self.connectionEvent.emit(NetworkEvents.EVENT_CONNECTION_LOST)
except Exception as e:
print ("unknown exception in network thread: " + str(e))
time.sleep(2.0)
# Private method for connecting to server
def __connect(self) -> None:
#self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
self.sock.connect((GlobVar.address, GlobVar.port))
except ConnectionRefusedError:
raise RuntimeError("Unable to connect to " + GlobVar.address + ":" + str(GlobVar.port))
# In UDP, no way to know if server is running (connect is always successfull).
# So, send a single line feed to ping the server
self.sock.send(str.encode("\n"))
self.waitForAnswer=False
# Private method for receiving data from server.
# Data received are sent to callback __receiveHandler for decoding
def __read(self) -> None:
chunks = []
bytes_recd = 0
last_char=0
while True:
while last_char != 0x0A:
chunk = self.sock.recv(2048)
#print ("Chunk =" + str(chunk))
if chunk == b'':
raise RuntimeError("Connection lost with " + GlobVar.address + ":" + str(GlobVar.port))
chunks.append(chunk)
bytes_recd = bytes_recd + len(chunk)
last_char=chunk[-1]
self.__receiveHandler(b''.join(chunks).decode("utf-8"))
chunks = []
bytes_recd =0
last_char=0
# private callback for reception and decoding of data.
# If no answer is wait, send data to caller callback
def __receiveHandler(self, data: str) -> None:
# traitement a faire lors de la reception de donnée
self.logEvent.emit("< " + data)
if self.waitForAnswer:
self.receivedAnswer = data
self.waitForAnswer=False
self.receiveFlag.set()
else:
# si pas de donnée prevue en reception, alors envoie au callback
self.receptionEvent.emit(data)
def checkAddressIsValid(self, address: str) -> bool:
try:
if address == "localhost":
return True
ip=ipaddress.ip_address(address)
return True
except ValueError as e:
return False
# Private method for sending raw data to server
def __write(self, msg: str) -> None:
totalsent = 0
if msg[-1] != '\n':
msg = msg + '\n'
MSGLEN = len(msg)
msgbytes = bytes(msg,'UTF-8')
self.logEvent.emit ("> " + msg)
while totalsent < MSGLEN:
sent = self.sock.send(msgbytes[totalsent:])
if sent == 0:
GlobVar.connectedToPi=False
raise RuntimeError("Unable to send data to " + GlobVar.address + ":" + str(GlobVar.port))
totalsent = totalsent + sent
# Private method for sending command to server
def __sendCommand(self,cmd, waitans: bool) -> str:
if waitans == True:
self.waitForAnswer = True
else:
self.waitForAnswer = False
self.__write(cmd)
if waitans:
ans = self.ANSWER_TIMEOUT
try:
self.receiveFlag.wait(timeout=GlobVar.timeout) # Max waiting time = GlobVar.timeout
if self.receiveFlag.is_set():
ans=self.receivedAnswer
self.receivedAnswer=""
else:
ans=self.ANSWER_TIMEOUT
self.receiveFlag.clear()
except TimeoutError:
ans=self.ANSWER_TIMEOUT
except Exception as e:
GlobVar.exceptionmsg = str(e)
self.waitForAnswer=False
return ans
else:
return self.ANSWER_ACK
# Private method for decoding answer from server
def __decodeAnswer(self, ans: str) -> int:
if self.ANSWER_ACK in ans:
return NetworkAnswers.ACK
elif self.ANSWER_NACK in ans:
return NetworkAnswers.NACK
elif self.ANSWER_COM_ERROR in ans:
return NetworkAnswers.COM_ERROR
elif self.ANSWER_TIMEOUT in ans:
return NetworkAnswers.TIMEOUT_ERROR
elif self.ANSWER_CMD_REJECTED in ans:
return NetworkAnswers.CMD_REJECTED
else:
return NetworkAnswers.UNKNOWN
# Send OpenCom command to server
def robotOpenCom(self) -> int:
ans = self.__sendCommand(self.ROBOT_COM_OPEN, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send CloseCom command to server
def robotCloseCom(self) -> int:
ans = self.__sendCommand(self.ROBOT_COM_CLOSE, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send StartWithWatchdog command to server
def robotStartWithWatchdog(self) -> int:
ans = self.__sendCommand(self.ROBOT_START_WITH_WD, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send StartWithoutWatchdog command to server
def robotStartWithoutWatchdog(self) -> int:
ans = self.__sendCommand(self.ROBOT_START_WITHOUT_WD, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send Reset command to server
def robotReset(self) -> int:
ans = self.__sendCommand(self.ROBOT_RESET, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send Stop command to server
def robotStop(self) -> int:
ans = self.__sendCommand(self.ROBOT_STOP, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send GoLeft command to server
def robotGoLeft(self) -> int:
ans = self.__sendCommand(self.ROBOT_GO_LEFT, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send GoRight command to server
def robotGoRight(self) -> int:
ans = self.__sendCommand(self.ROBOT_GO_RIGHT, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send GoForward command to server
def robotGoForward(self) -> int:
ans = self.__sendCommand(self.ROBOT_GO_FORWARD, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send GoBackward command to server
def robotGoBackward(self) -> int:
ans = self.__sendCommand(self.ROBOT_GO_BACKWARD, True)
decodedAns = self.__decodeAnswer(ans)
self.answerEvent.emit(decodedAns)
return decodedAns
# Send GetBattery command to server
def robotGetBattery(self) -> None:
ans = self.__sendCommand(self.ROBOT_GET_BATTERY,False)
# Function for decoding battery level
def batterylevelToStr(batlvl: int) -> str:
switcher = {
2: "Full",
1: "Mid",
0: "Empty",
}
return switcher.get(batlvl, "Unknown")
# Function for display human readable answer
def answertoStr(ans: int) -> str:
switcher = {
Network.ACK: "Acknowledged",
Network.NACK: "Not acknowledged",
Network.TIMEOUT_ERROR: "No answer (timeout)",
Network.CMD_REJECTED: "Command rejected",
Network.COM_ERROR: "Communication error (invalid command)"
}
return switcher.get(ans, "Unknown answer")

View file

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>510</width>
<height>336</height>
</rect>
</property>
<property name="windowTitle">
<string>Messages Log</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QPlainTextEdit" name="plainTextEdit">
<property name="readOnly">
<bool>true</bool>
</property>
<property name="plainText">
<string notr="true"/>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pushButton_clearLog">
<property name="text">
<string>Clear log</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_closeLog">
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -0,0 +1,343 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>928</width>
<height>629</height>
</rect>
</property>
<property name="windowTitle">
<string>Robot Monitor</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="checkBox_enableCamera">
<property name="text">
<string>Enable Ca&amp;mera</string>
</property>
</widget>
</item>
<item>
<widget class="QGraphicsView" name="graphicsView_Image"/>
</item>
<item>
<widget class="QPushButton" name="pushButton_confirmArena">
<property name="text">
<string>Co&amp;nfirme arena border...</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QCheckBox" name="checkBox_enableFPS">
<property name="text">
<string>Enable &amp;FPS</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_enablePosition">
<property name="text">
<string>Enable Pos&amp;ition</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QGroupBox" name="groupBox_connection">
<property name="title">
<string>Connection</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="flat">
<bool>false</bool>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Address:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_address">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>300</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Port:</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_port">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>300</width>
<height>16777215</height>
</size>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Status:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_connectionStatus">
<property name="text">
<string>Not connected</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_activation">
<property name="title">
<string>Robot Activation</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QCheckBox" name="checkBox_watchdog">
<property name="text">
<string>Start with &amp;watchdog</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_start">
<property name="text">
<string>Start r&amp;obot</string>
</property>
</widget>
</item>
<item>
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_mouvments">
<property name="title">
<string>Mouvments</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<widget class="QPushButton" name="pushButton_up">
<property name="text">
<string>&amp;Up</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="pushButton_left">
<property name="text">
<string>&amp;Left</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="pushButton_stop">
<property name="text">
<string>&amp;Stop</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="pushButton_right">
<property name="text">
<string>&amp;Right</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="pushButton_down">
<property name="text">
<string>&amp;Down</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_AnswerandBattery">
<property name="title">
<string>Others</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<widget class="QCheckBox" name="checkBox_getBattery">
<property name="text">
<string>Get &amp;Battery</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Last answer:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_lastAnswer">
<property name="text">
<string>None</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>928</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menu_Quitter">
<property name="title">
<string>M&amp;enu</string>
</property>
<addaction name="action_OpenMessageLog"/>
<addaction name="separator"/>
<addaction name="action_Quitter"/>
</widget>
<addaction name="menu_Quitter"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="action_Quitter">
<property name="text">
<string>&amp;Quitter</string>
</property>
</action>
<action name="action_OpenMessageLog">
<property name="text">
<string>O&amp;pen message log...</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>

View file

@ -1,40 +0,0 @@
# Autosave files
*~
# build
[Oo]bj/
[Bb]in/
packages/
TestResults/
# globs
Makefile.in
*.DS_Store
*.sln.cache
*.suo
*.cache
*.pidb
*.userprefs
*.usertasks
config.log
config.make
config.status
aclocal.m4
install-sh
autom4te.cache/
*.user
*.tar.gz
tarballs/
test-results/
Thumbs.db
# Mac bundle stuff
*.dmg
*.app
# resharper
*_Resharper.*
*.Resharper
# dotCover
*.dotCover

View file

@ -1,272 +0,0 @@
//
// Client.cs
//
// Author:
// Di MERCURIO Sébastien <dimercur@insa-toulouse.fr>
//
// Copyright (c) 2018 INSA - DGEI
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.Net.Sockets;
using System.Text;
using System.Threading;
namespace monitor
{
/// <summary>
/// Static class for TCP client
/// </summary>
public static class Client
{
/// <summary>
/// Default server name
/// </summary>
public const string defaultIP = "10.105.1.13";
/// <summary>
/// Default server port number
/// </summary>
public const int defaultPort = 5544;
/// <summary>
/// Tcp client object
/// </summary>
private static TcpClient client = null;
/// <summary>
/// Stream object used for communication
/// </summary>
private static NetworkStream stream = null;
/// <summary>
/// Size of internal buffer used when reading data from server
/// </summary>
private const int BufferMaxSize = 8*1024;
/// <summary>
/// Internal buffer used when reading data from server
/// </summary>
private static byte[] buffer = new byte[BufferMaxSize];
/// <summary>
/// String containing received message from tcp server
/// </summary>
private static StringBuilder message = new StringBuilder();
/// <summary>
/// Callback to send received message to upper level
/// </summary>
public delegate void ReadEvent(string msg);
public static ReadEvent readEvent = null;
/// <summary>
/// Open connection to server "host", on default port number.
/// </summary>
/// <returns>true if connection succeded, false otherwise</returns>
/// <param name="host">Hostname to connect to</param>
public static bool Open(string host)
{
return Client.Open(host, defaultPort);
}
/// <summary>
/// Open connection to server "host", with port number "port"
/// </summary>
/// <returns>true if connection succeded, false otherwise</returns>
/// <param name="host">Hostname to connect to</param>
/// <param name="port">Port number for connection</param>
public static bool Open(string host, int port)
{
bool status = true;
try
{
client = new TcpClient(host, port);
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, 1, new AsyncCallback(ReadCallback), message);
}
catch (ArgumentNullException e)
{
Console.WriteLine("ArgumentNullException: " + e);
status = false;
}
catch (SocketException e)
{
Console.WriteLine("SocketException: " + e.ToString());
status = false;
}
catch (Exception e)
{
Console.WriteLine("Unknown Exception: " + e.ToString());
status = false;
}
return status;
}
/// <summary>
/// Close connection to server
/// </summary>
public static void Close()
{
if (stream != null) stream.Close();
if (client != null) client.Close();
}
/// <summary>
/// Callback call by stream.BeginRead after reception of newLength data
/// </summary>
/// <param name="ar">Not sure of what is it, but needed for terminate reading</param>
private static void ReadCallback(IAsyncResult ar)
{
int newLength = 1;
int index = -1;
if (client.Connected)
{
int bytesRead;
try
{
// Terminate read operation, and get number of byte stored in buffer
bytesRead = stream.EndRead(ar);
}
catch (ObjectDisposedException e)
{
Console.WriteLine("Connection to server dropped: " + e.ToString());
return;
}
catch (System.IO.IOException e)
{
Console.WriteLine("Connection to server dropped: " + e.ToString());
return;
}
newLength = 1;
index = -1;
// if number of byte read is not 0, concatenate string and buffer
if (bytesRead > 0)
{
//Console.WriteLine("Receive " + bytesRead + " data");
// Append new data to current string (expecting data are ascii)
message.Append(Encoding.ASCII.GetString(buffer, 0, bytesRead));
index = SearchCarriageReturn(buffer, bytesRead);
}
// if it remains received data, prepare for a new reading (get another buffer to append to current one)
if (index == -1)
{
if (client.Available > 0)
{
newLength = client.Available;
if (newLength > BufferMaxSize) newLength = BufferMaxSize;
else newLength = client.Available;
}
}
else
{
string s = message.ToString();
// no more data to read, buffer and string can be send to upper level
readEvent?.Invoke(s);
message.Clear();
if (index != bytesRead - 1)
{
byte[] trailing=new byte[BufferMaxSize];
Array.Copy(buffer, index + 1, trailing, 0, bytesRead - index - 1);
message.Append(Encoding.ASCII.GetString(trailing, 0, bytesRead - index - 1));
}
}
// Prepare for reading new data
if (newLength> BufferMaxSize) newLength = BufferMaxSize;
if (newLength <= 0) newLength = 1;
try
{
stream.BeginRead(buffer, 0, newLength, new AsyncCallback(ReadCallback), message);
}
catch (ObjectDisposedException e)
{
Console.WriteLine("Connection to server dropped: " + e.ToString());
return;
}
catch (System.IO.IOException e)
{
Console.WriteLine("Connection to server dropped: " + e.ToString());
return;
}
}
}
/// <summary>
/// Searchs the carriage return.
/// </summary>
/// <returns>Index of carriage return, if present, -1 otherwise.</returns>
/// <param name="buf">Buffer of byte</param>
/// <param name="length">Length of buffer</param>
private static int SearchCarriageReturn(byte[] buf, int length)
{
int index = -1;
int i = 0;
for (i = 0; i < length; i++)
{
if (buf[i] == (byte)'\n') break;
}
if (i!= length) index = i;
return index;
}
/// <summary>
/// Write a string to server
/// </summary>
/// <returns>Nothing</returns>
/// <param name="mes">Message to send to server</param>
public static void Write(string mes)
{
if (client.Connected)
{
byte[] writeBuffer = Encoding.UTF8.GetBytes(mes);
try
{
stream.Write(writeBuffer, 0, mes.Length);
}
catch (System.IO.IOException) {
Console.WriteLine("Server closed");
client.Close();
}
}
}
}
}

View file

@ -1,214 +0,0 @@
//
// CommandManager.cs
//
// Author:
// Di MERCURIO Sébastien <dimercur@insa-toulouse.fr>
//
// Copyright (c) 2018 INSA - DGEI
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System.Threading;
namespace monitor
{
/// <summary>
/// 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
/// </summary>
public class CommandManager
{
/// <summary>
/// Callback for sending received data to upper level
/// </summary>
public delegate void CommandReceivedEvent(string msg);
public CommandReceivedEvent commandReceivedEvent = null;
/// <summary>
/// Timer for managing timeout
/// </summary>
private System.Timers.Timer waitTimer = new System.Timers.Timer();
private ManualResetEvent waitEvent = new ManualResetEvent(false);
/// <summary>
/// Flag to tell rogram to wait for an acknowledge from server
/// </summary>
private bool waitForAcknowledge = false;
/// <summary>
/// received message
/// </summary>
private string messageReceived = null;
/// <summary>
/// flag indicating command manager is currently busy waiting an acknowledge
/// </summary>
private bool isBusy = false;
/// <summary>
/// Available status when sending command
/// </summary>
public enum CommandManagerStatus
{
AnswerReceived,
Timeout,
Busy
};
/// <summary>
/// Initializes a new instance of the <see cref="T:monitor.CommandManager"/> class.
/// </summary>
/// <param name="callback">Callback used when new message are received</param>
public CommandManager(CommandReceivedEvent callback)
{
Client.readEvent += this.OnMessageReception;
this.commandReceivedEvent += callback;
waitTimer.Elapsed += OnMessageTimeout;
}
/// <summary>
/// Releases unmanaged resources and performs other cleanup operations before the
/// <see cref="T:monitor.CommandManager"/> is reclaimed by garbage collection.
/// </summary>
~CommandManager()
{
Client.Close();
}
/// <summary>
/// Open the specified hostname server, using default port number.
/// </summary>
/// <returns>true if connection succeded, false otherwise</returns>
/// <param name="hostname">Hostname to connect to</param>
public bool Open(string hostname)
{
return this.Open(hostname, Client.defaultPort);
}
/// <summary>
/// Open connection to server "host", with port number "port"
/// </summary>
/// <returns>true if connection succeded, false otherwise</returns>
/// <param name="hostname">Hostname to connect to</param>
/// <param name="port">Port number for connection</param>
public bool Open(string hostname, int port)
{
return Client.Open(hostname, port);
}
/// <summary>
/// Close connection to server
/// </summary>
public void Close()
{
Client.Close();
}
/// <summary>
/// Callback called by Client class after reception of new message
/// </summary>
/// <param name="message">Message received from server</param>
/// <param name="buffer">Raw buffer reived from server</param>
private void OnMessageReception(string message)
{
waitTimer.Stop(); // Stop timeout stopwatch
this.messageReceived = message;
isBusy = false;
// 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
// if sendCommand doesn't wait for an acknowledge, message received
// is for upper level, so call callback
{
waitForAcknowledge = false;
this.commandReceivedEvent?.Invoke(message);
}
}
/// <summary>
/// Callback called by stopwatch on timeout
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Information on elapsed condition</param>
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);
}
/// <summary>
/// Sends a command to TCP server
/// </summary>
/// <returns>status that is part of CommandManagerStatus enumerate</returns>
/// <param name="cmd">Command message to send to server</param>
/// <param name="answer">Answer from server, in case of acknowledge</param>
/// <param name="timeout">Timeout (ms) waiting an acknowledge, 0 if no acknowledge needed</param>
public CommandManagerStatus SendCommand(string cmd, out string answer, double timeout)
{
CommandManagerStatus status = CommandManagerStatus.AnswerReceived;
answer = null;
if (isBusy) status = CommandManagerStatus.Busy;
else
{
isBusy = true;
// Send command to server
Client.Write(cmd);
if (timeout > 0) // Command request an acknowledge
{
waitForAcknowledge = true; // Flag used in OnMessageReception callback to avoid
// sending acknowledge message to upper level
waitTimer.Interval = timeout;
waitTimer.Start(); // Start timeout timer
waitEvent.WaitOne(); // Stop current thread, waiting for waitEvent semaphore
// produced in OnMessageReception when either a message is received
// or a timeout occur
waitEvent.Reset(); // reset semaphore for next message
if (this.messageReceived == null) // timeout: server connection error
{
status = CommandManagerStatus.Timeout;
}
}
else isBusy = false;
// return received answer, null in case of timeout
answer = this.messageReceived;
this.messageReceived = null;
}
return status;
}
}
}

View file

@ -1,700 +0,0 @@
//
// DestijlCommandManager.cs
//
// Author:
// Di MERCURIO Sébastien <dimercur@insa-toulouse.fr>
//
// Copyright (c) 2018 INSA - DGEI
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// 15/01/2019 dimercur
// Demande #41: Modifier les messages envoyés par les flèches de direction
using System;
using System.Globalization;
namespace monitor
{
/// <summary>
/// Commands and options parameters used in Destijl project when communicating with server
/// </summary>
public static class DestijlCommandList
{
public const string ANSWER_ACK = "AACK";
public const string ANSWER_NACK = "ANAK";
public const string ANSWER_COM_ERROR = "ACER";
public const string ANSWER_TIMEOUT = "ATIM";
public const string ANSWER_CMD_REJECTED = "ACRJ";
public const string MESSAGE = "MSSG";
public const string CAMERA_OPEN = "COPN";
public const string CAMERA_CLOSE = "CCLS";
public const string CAMERA_IMAGE = "CIMG";
public const string CAMERA_ARENA_ASK = "CASA";
public const string CAMERA_ARENA_INFIRM = "CAIN";
public const string CAMERA_ARENA_CONFIRM = "CACO";
public const string CAMERA_POSITION_COMPUTE = "CPCO";
public const string CAMERA_POSITION_STOP = "CPST";
public const string CAMERA_POSITION = "CPOS";
public const string ROBOT_COM_OPEN = "ROPN";
public const string ROBOT_COM_CLOSE = "RCLS";
public const string ROBOT_PING = "RPIN";
public const string ROBOT_RESET = "RRST";
public const string ROBOT_START_WITHOUT_WD = "RSOW";
public const string ROBOT_START_WITH_WD = "RSWW";
public const string ROBOT_RELOAD_WD = "RLDW";
public const string ROBOT_MOVE = "RMOV";
public const string ROBOT_TURN = "RTRN";
public const string ROBOT_GO_FORWARD = "RGFW";
public const string ROBOT_GO_BACKWARD = "RGBW";
public const string ROBOT_GO_LEFT = "RGLF";
public const string ROBOT_GO_RIGHT = "RGRI";
public const string ROBOT_STOP = "RSTP";
public const string ROBOT_POWEROFF = "RPOF";
public const string ROBOT_BATTERY_LEVEL = "RBLV";
public const string ROBOT_GET_BATTERY = "RGBT";
public const string ROBOT_GET_STATE = "RGST";
public const string ROBOT_CURRENT_STATE = "RCST";
public const char SEPARATOR_CHAR = ':';
}
/// <summary>
/// Specialization class for command manager, which implemnent destijl protocol between monitor and server
/// </summary>
public class DestijlCommandManager
{
/// <summary>
/// Command Manager object
/// </summary>
private CommandManager commandManager = null;
/// <summary>
/// Part of received message corresponding to command header
/// </summary>
private string receivedHeader = null;
/// <summary>
/// Part of received message corresponding to command data
/// </summary>
private string receivedData = null;
/// <summary>
/// Callback for sending received data to application level
/// </summary>
public delegate void CommandReceivedEvent(string header, string data);
public CommandReceivedEvent commandReceivedEvent = null;
/// <summary>
/// Timeout used for command with acknowledge
/// </summary>
public double timeout = 100;
/// <summary>
/// List of available return status
/// </summary>
public enum CommandStatus
{
Success,
Rejected,
InvalidAnswer,
Busy,
CommunicationLostWithRobot,
CommunicationLostWithServer
}
public struct Point {
public double x;
public double y;
}
public class Position {
public int robotID;
public double angle;
public Point centre;
public Point direction;
public Position() {
robotID = 0;
angle = 0.0;
centre.x = 0.0;
centre.y = 0.0;
direction.x = 0.0;
direction.y = 0.0;
}
public override string ToString() {
string s = "ID: " + robotID + ", Angle: " + angle +
", Centre (x: " + centre.x + ", y: " + centre.y +
"), Direction (x: " + direction.x + ", y: " + direction.y + ")";
return s;
}
}
/// <summary>
/// Initializes a new instance of the <see cref="monitor.DestijlCommandManager"/> class.
/// </summary>
/// <param name="callback">Callback reference for reception of data</param>
public DestijlCommandManager(CommandReceivedEvent callback)
{
commandManager = new CommandManager(OnCommandReceived);
this.commandReceivedEvent += callback;
}
/// <summary>
/// Releases unmanaged resources and performs other cleanup operations before the
/// <see cref="monitor.DestijlCommandManager"/> is reclaimed by garbage collection.
/// </summary>
~DestijlCommandManager()
{
if (commandManager != null) commandManager.Close();
}
/// <summary>
/// Callback used for receiving data from lower layer (CommandManager class)
/// </summary>
/// <param name="msg">String containing received message</param>
/// <param name="buffer">Raw buffer to be used when data are not in ascii format (image for example)</param>
private void OnCommandReceived(string msg)
{
// Firstly, remove ending \n and everything after
string[] msgsCarriageReturn = msg.Split('\n');
// Second, split message in (at least) two part : header, and data
string[] msgs = msgsCarriageReturn[0].Split(DestijlCommandList.SEPARATOR_CHAR);
// If it exist at least on element in string array, it should be command header
if (msgs.Length >= 1) receivedHeader = msgs[0];
else receivedHeader = null;
// if msgs array contains at least two elements, second element is normally data
if (msgs.Length >= 2) receivedData = msgs[1];
else receivedData = null;
// when split is done, provide data to application
this.commandReceivedEvent?.Invoke(receivedHeader, receivedData);
}
/// <summary>
/// Open the specified hostname server, using default port number.
/// </summary>
/// <returns>true if connection succeded, false otherwise</returns>
/// <param name="hostname">Hostname to connect to</param>
public bool Open(string hostname)
{
return this.Open(hostname, Client.defaultPort);
}
/// <summary>
/// Open connection to server "host", with port number "port"
/// </summary>
/// <returns>true if connection succeded, false otherwise</returns>
/// <param name="hostname">Hostname to connect to</param>
/// <param name="port">Port number for connection</param>
public bool Open(string hostname, int port)
{
if (commandManager != null) return commandManager.Open(hostname, port);
else return false;
}
/// <summary>
/// Close connection to server
/// </summary>
public void Close()
{
if (commandManager != null) commandManager.Close();
}
/// <summary>
/// Creates the command to send to server, based on header and data provided
/// </summary>
/// <returns>The command string</returns>
/// <param name="header">Header part of the command</param>
/// <param name="data">Data part of the command</param>
private string CreateCommand(string header, string data)
{
return header + DestijlCommandList.SEPARATOR_CHAR + data+"\n";
}
/// <summary>
/// Creates the command to send to server, based on header
/// </summary>
/// <returns>The command string</returns>
/// <param name="header">Header part of the command</param>
private string CreateCommand(string header)
{
return header + DestijlCommandList.SEPARATOR_CHAR+"\n";
}
/// <summary>
/// Provide DestijlCommandManager.CommandStatus based on status received by CommandManager.SendCommand and answer string
/// </summary>
/// <returns>Status compatible with DestijlCommandManager.CommandStatus type</returns>
/// <param name="localStatus">Status provided by CommandManager.SendCommand</param>
/// <param name="answer">Answer provided by CommandManager.SendCommand</param>
private CommandStatus DecodeStatus(CommandManager.CommandManagerStatus localStatus, string answer)
{
CommandStatus status = CommandStatus.Success;
// if timeout occures, return CommandStatus.CommunicationLostWithServer
if (localStatus == CommandManager.CommandManagerStatus.Timeout) status = CommandStatus.CommunicationLostWithServer;
// if a command is currently processed, return Busy
else if (localStatus == CommandManager.CommandManagerStatus.Busy) status = CommandStatus.Busy;
else
{
if (answer != null)
{
// if command is not acknowledged, return Rejected
if (answer.ToUpper().Contains(DestijlCommandList.ANSWER_NACK)) status = CommandStatus.Rejected;
// if communication is lost with robot, return CommunicationLostWithRobot
else if (answer.ToUpper().Contains(DestijlCommandList.ANSWER_TIMEOUT)) status = CommandStatus.CommunicationLostWithRobot;
// if answer is empty, communication with robot is lost
else if (answer.Length == 0) status = CommandStatus.CommunicationLostWithServer;
//else status = CommandStatus.InvalidAnswer;
}
}
return status;
}
/// <summary>
/// Open communication with robot and wait acknowledge
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotOpenCom()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_COM_OPEN),
out answer,
this.timeout);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Close communication with robot and wait acknowledge
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotCloseCom()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_COM_CLOSE),
out answer,
this.timeout);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Ping the robot.
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotPing()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_PING),
out answer,
this.timeout);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Reset robot and let it in idle mode
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotReset()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_RESET),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Start robot, enabling watchdog
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotStartWithWatchdog()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_START_WITH_WD),
out answer,
this.timeout);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Start robot, without enabling watchdog
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotStartWithoutWatchdog()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_START_WITHOUT_WD),
out answer,
this.timeout);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Move robot forward for an unlimited distance
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotGoForward()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_GO_FORWARD),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Move robot backward for an unlimited distance
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotGoBackward()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_GO_BACKWARD),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Turn robot to the left for an unlimited number of turn
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotGoLeft()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_GO_LEFT),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Turn robot to the right for an unlimited number of turn
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotGoRight()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_GO_RIGHT),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Stop robot mouvement
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotStop()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_STOP),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Make robot turn left or right, for a given angle
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
/// <param name="angle">Angle of turn, in degree (negative for left, positive for right)</param>
public CommandStatus RobotTurn(int angle)
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_TURN, Convert.ToString(angle)),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Request robot battery level
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotGetBattery()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_GET_BATTERY),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Power off robot
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus RobotPowerOff()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.ROBOT_POWEROFF),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Open camera on remote device
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus CameraOpen()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.CAMERA_OPEN),
out answer,
this.timeout);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Close camera on remote device
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus CameraClose()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.CAMERA_CLOSE),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Request still image of detected arena
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus CameraAskArena()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.CAMERA_ARENA_ASK),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Confirm arena detection (after requesting image of detected arena, using CameraAskArena
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus CameraArenaConfirm()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.CAMERA_ARENA_CONFIRM),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Reject arena detected (after requesting image of detected arena, using CameraAskArena
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus CameraArenaInfirm()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.CAMERA_ARENA_INFIRM),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Request robot position computing
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus CameraComputePosition()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.CAMERA_POSITION_COMPUTE),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
/// <summary>
/// Stop robot position computing
/// </summary>
/// <returns>Command status (see DecodeStatus)</returns>
public CommandStatus CameraStopComputePosition()
{
CommandManager.CommandManagerStatus localStatus;
string answer;
localStatus = commandManager.SendCommand(
CreateCommand(DestijlCommandList.CAMERA_POSITION_STOP),
out answer,
0);
return DecodeStatus(localStatus, answer);
}
public static Position DecodePosition(string data) {
Position pos = new Position();
pos.robotID = 0;
pos.angle = 0.0;
pos.centre.x = 0.0;
pos.centre.y=0.0;
pos.direction.x = 0.0;
pos.direction.y = 0.0;
string[] parts = data.Split(';');
NumberFormatInfo provider = new NumberFormatInfo();
provider.NumberDecimalSeparator = ".";
provider.NumberGroupSeparator = ",";
provider.NumberGroupSizes = new int[] { 3 };
if (parts.Length == 6) {
pos.robotID = Convert.ToInt32(parts[0]);
try
{
pos.angle = Convert.ToDouble(parts[1]);
} catch (FormatException)
{
pos.angle = Convert.ToDouble(parts[1],provider);
}
try
{
pos.centre.x = Convert.ToDouble(parts[2]);
} catch (FormatException)
{
pos.centre.x = Convert.ToDouble(parts[2], provider);
}
try
{
pos.centre.y = Convert.ToDouble(parts[3]);
}
catch (FormatException)
{
pos.centre.y = Convert.ToDouble(parts[3], provider);
}
try
{
pos.direction.x = Convert.ToDouble(parts[4]);
}
catch (FormatException)
{
pos.direction.x = Convert.ToDouble(parts[4], provider);
}
try
{
pos.direction.y = Convert.ToDouble(parts[5]);
}
catch (FormatException)
{
pos.direction.y = Convert.ToDouble(parts[5], provider);
}
} else {
// misformatted data, return 0 filled position
Console.WriteLine("Misformated position");
}
return pos;
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,304 +0,0 @@
//
// ImageWidget.cs
//
// Author:
// Di MERCURIO Sébastien <dimercur@insa-toulouse.fr>
//
// Copyright (c) 2019 INSA - DGEI
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// 15/10/2019 dimercur
// Demande #43: Migrer le code lié à la gestion des images dans sa propre classe widget
using System;
using Gtk;
using Cairo;
using Gdk;
using System.Timers;
namespace monitor
{
/// <summary>
/// Class used for video display
/// </summary>
public class ImageWidget
{
/// <summary>
/// Reference to GTK base widget
/// </summary>
private DrawingArea drawingArea;
/// <summary>
/// Pixbuffer used for displaying image
/// </summary>
private Pixbuf drawingareaCameraPixbuf;
/// <summary>
/// Indicate if position must be displayed or not
/// </summary>
public bool showPosition;
/// <summary>
/// Indicate if FPS must be displayed or not
/// </summary>
private bool showFPS;
public bool ShowFPS
{
get
{
return showFPS;
}
set
{
showFPS = value;
if (value == true)
{
imageFPS = 0;
imageFPScounter = 0;
fpsTimer.Start();
}
else
{
fpsTimer.Stop();
Refresh();
}
}
}
/// <summary>
/// Counter used for FPS computation
/// </summary>
private int imageFPS = 0;
private int imageFPScounter = 0;
/// <summary>
/// Timer for FPS request
/// </summary>
private System.Timers.Timer fpsTimer;
/// <summary>
/// Hold position to be displayed
/// </summary>
private DestijlCommandManager.Position position;
public DestijlCommandManager.Position Position
{
get
{
return position;
}
set
{
position = value;
Refresh();
}
}
/// <summary>
/// Request a refresh of drawing area
/// </summary>
private void Refresh()
{
Gtk.Application.Invoke(delegate
{
drawingArea.QueueDraw();
});
}
/// <summary>
/// Initializes a new instance of ImageWidget class.
/// </summary>
/// <param name="area">Reference to GTK drawing area widget</param>
public ImageWidget(DrawingArea area)
{
this.drawingArea = area;
// create new timer for FPS , every 1s
fpsTimer = new System.Timers.Timer(1000.0);
fpsTimer.Elapsed += OnFpsTimerElapsed;
showPosition = false;
showFPS = false;
drawingArea.ExposeEvent += OnDrawingAreaCameraExposeEvent;
}
/// <summary>
/// Show an image from a ressource
/// </summary>
/// <param name="ressource">Ressource path</param>
public void ShowImage(string ressource)
{
drawingareaCameraPixbuf = Pixbuf.LoadFromResource("monitor.ressources.missing_picture.png");
imageFPScounter++;
Refresh();
}
/// <summary>
/// Show an image from a byte array
/// </summary>
/// <param name="image">Byte array containing a valid image</param>
public void ShowImage(byte[] image)
{
drawingareaCameraPixbuf = new Pixbuf(image);
imageFPScounter++;
Refresh();
}
/// <summary>
/// Callback called when drawingarea need refresh
/// </summary>
/// <param name="o">Sender object</param>
/// <param name="args">Expose arguments</param>
protected void OnDrawingAreaCameraExposeEvent(object o, ExposeEventArgs args)
{
//Console.WriteLine("Event expose. Args = " + args.ToString());
DrawingArea area = (DrawingArea)o;
Gdk.Pixbuf displayPixbuf;
int areaWidth, areaHeight;
// Get graphic context for background
Gdk.GC gc = area.Style.BackgroundGC(Gtk.StateType.Normal);
// get size of drawingarea widget
area.GdkWindow.GetSize(out areaWidth, out areaHeight);
int width = drawingareaCameraPixbuf.Width;
int height = drawingareaCameraPixbuf.Height;
float ratio = (float)width / (float)height;
// if widget is smaller than image, reduce it
if (areaWidth <= width)
{
width = areaWidth;
height = (int)(width / ratio);
}
// if image is smaller than widget, enlarge it
if (width > areaWidth)
{
width = areaWidth;
}
if (height > areaHeight)
{
height = areaHeight;
}
//scale original picture and copy result in local pixbuf
displayPixbuf = drawingareaCameraPixbuf.ScaleSimple(width, height, InterpType.Bilinear);
// draw local pixbuff centered on drawingarea
area.GdkWindow.DrawPixbuf(gc, displayPixbuf,
0, 0,
(areaWidth - displayPixbuf.Width) / 2,
(areaHeight - displayPixbuf.Height) / 2,
displayPixbuf.Width, displayPixbuf.Height,
RgbDither.Normal, 0, 0);
if (showPosition)
{
Cairo.Context cr = Gdk.CairoHelper.Create(area.GdkWindow);
Cairo.Color textFontColor = new Cairo.Color(0.8, 0, 0);
cr.SelectFontFace("Cantarell", FontSlant.Normal, FontWeight.Bold);
cr.SetSourceColor(textFontColor);
cr.SetFontSize(16);
if (position != null)
{
double space = 0.0;
string text = "Direction (" + position.direction.x.ToString("0.##") + " ; " + position.direction.y.ToString("0.##") + ")";
TextExtents te = cr.TextExtents(text);
cr.MoveTo(areaWidth - te.Width - 5,
areaHeight - te.Height - 5);
space = te.Height;
cr.ShowText(text);
text = "Centre (" + position.centre.x.ToString("0.##") + " ; " + position.centre.y.ToString("0.##") + ")";
te = cr.TextExtents(text);
cr.MoveTo(areaWidth - te.Width - 5,
areaHeight - te.Height - 5 - space - 5);
space = space + te.Height + 5;
cr.ShowText(text);
text = "Angle: " + position.angle.ToString("0.##");
te = cr.TextExtents(text);
cr.MoveTo(areaWidth - te.Width - 5,
areaHeight - te.Height - 5 - space - 5);
space = space + te.Height + 5;
cr.ShowText(text);
text = "ID: " + position.robotID;
te = cr.TextExtents(text);
cr.MoveTo(areaWidth - te.Width - 5,
areaHeight - te.Height - 5 - space - 5);
cr.ShowText(text);
}
else
{
string text = "Position (NULL)";
TextExtents te = cr.TextExtents(text);
cr.MoveTo(areaWidth - te.Width - 5,
areaHeight - te.Height - 5);
cr.ShowText(text);
}
((IDisposable)cr.GetTarget()).Dispose();
((IDisposable)cr).Dispose();
}
if (showFPS)
{
Cairo.Context cr = Gdk.CairoHelper.Create(area.GdkWindow);
Cairo.Color textFontColor = new Cairo.Color(0.8, 0, 0);
cr.SelectFontFace("Cantarell", FontSlant.Normal, FontWeight.Bold);
cr.SetSourceColor(textFontColor);
cr.SetFontSize(16);
string text = "FPS= " + imageFPS.ToString();
TextExtents te = cr.TextExtents(text);
cr.MoveTo(10, 10 + te.Height);
cr.ShowText(text);
((IDisposable)cr.GetTarget()).Dispose();
((IDisposable)cr).Dispose();
}
}
/// <summary>
/// Timer used for FPS computation
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">unused parameter</param>
private void OnFpsTimerElapsed(object sender, ElapsedEventArgs e)
{
imageFPS = imageFPScounter;
imageFPScounter = 0;
Refresh();
}
}
}

View file

@ -1,655 +0,0 @@
//
// MonitorUI.cs
//
// Author:
// Di MERCURIO Sébastien <dimercur@insa-toulouse.fr>
//
// Copyright (c) 2018 INSA - DGEI
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// 15/01/2019 dimercur
// Demande #41: Modifier les messages envoyés par les flèches de direction
// 15/10/2019 dimercur
// Demande #43: Migrer le code lié à la gestion des images dans sa propre classe widget
// 11/04/2019 dimercur
// Suppression du timer battery
// suppression de la case à cocher getbattery
// Prise en charge des messages ANSWER_TIMEOUT et ANSWER_COM_ERROR dans OnCommandReceivedEvent
using System;
using Gtk;
using Gdk;
using Cairo;
using monitor;
using System.Timers;
/// <summary>
/// Main part of the program, behavior of main window
/// </summary>
public partial class MainWindow : Gtk.Window
{
/// <summary>
/// Destijl command manager reference
/// </summary>
private DestijlCommandManager cmdManager;
/// <summary>
/// Position used for displaying position
/// </summary>
private DestijlCommandManager.Position position=new DestijlCommandManager.Position();
/// <summary>
/// List of availble state for the application
/// </summary>
enum SystemState
{
NotConnected,
ServerConnected,
RobotConnected
};
/// <summary>
/// The state of the system. Can take a value from SystemState
/// </summary>
private SystemState systemState = SystemState.NotConnected;
/// <summary>
/// Object used for displaying image on a valid DrawingArea widget
/// </summary>
private ImageWidget imageWidget;
/// <summary>
/// Counter for image reception and detecting bad picture ratio
/// </summary>
private int imageReceivedCounter = 0;
private int badImageReceivedCounter = 0;
/// <summary>
/// Initializes a new instance of the <see cref="MainWindow"/> class.
/// </summary>
public MainWindow() : base(Gtk.WindowType.Toplevel)
{
Build();
cmdManager = new DestijlCommandManager(OnCommandReceivedEvent);
// Init of image widget
imageWidget = new ImageWidget(drawingAreaCamera);
// Customize controls
AdjustControls();
}
/// <summary>
/// Make some adjustement to controls, like disabling some controls
/// </summary>
public void AdjustControls()
{
// Change state of system, and grey every controls not needed
ChangeState(SystemState.NotConnected);
// Load "no picture" image from disque
imageWidget.ShowImage("monitor.ressources.missing_picture.png");
// setup server controls
entryServerName.Text = Client.defaultIP;
entryServerPort.Text = Client.defaultPort.ToString();
entryTimeout.Text = "1000";
}
/// <summary>
/// Method used to change controls visibility (greyed or not) depending on current state
/// </summary>
/// <param name="newState">New state</param>
private void ChangeState(SystemState newState)
{
switch (newState)
{
case SystemState.NotConnected:
labelRobot.Sensitive = false;
gtkAlignmentRobot.Sensitive = false;
labelRobotControl.Sensitive = false;
gtkAlignmentRobotControl.Sensitive = false;
boxCamera.Sensitive = false;
buttonServerConnection.Label = "Connect";
buttonRobotActivation.Label = "Activate";
labelBatteryLevel.Text = "Unknown";
checkButtonCameraOn.Active = false;
checkButtonRobotPosition.Active = false;
checkButtonFPS.Active = false;
imageWidget.ShowFPS = false;
imageWidget.showPosition = false;
if (cmdManager != null) cmdManager.Close();
break;
case SystemState.ServerConnected:
buttonServerConnection.Label = "Disconnect";
buttonRobotActivation.Label = "Activate";
labelBatteryLevel.Text = "Unknown";
labelRobot.Sensitive = true;
gtkAlignmentRobot.Sensitive = true;
boxCamera.Sensitive = true;
labelRobotControl.Sensitive = false;
gtkAlignmentRobotControl.Sensitive = false;
break;
case SystemState.RobotConnected:
buttonRobotActivation.Label = "Reset";
labelRobotControl.Sensitive = true;
gtkAlignmentRobotControl.Sensitive = true;
break;
default:
labelRobot.Sensitive = false;
gtkAlignmentRobot.Sensitive = false;
labelRobotControl.Sensitive = false;
gtkAlignmentRobotControl.Sensitive = false;
boxCamera.Sensitive = false;
buttonServerConnection.Label = "Connect";
buttonRobotActivation.Label = "Activate";
labelBatteryLevel.Text = "Unknown";
checkButtonCameraOn.Active = false;
checkButtonRobotPosition.Active = false;
checkButtonFPS.Active = false;
imageWidget.ShowFPS = false;
imageWidget.showPosition = false;
systemState = SystemState.NotConnected;
return;
}
systemState = newState;
}
/// <summary>
/// Display a popup message window
/// </summary>
/// <param name="type">Type of popup window (question, error, information,...)</param>
/// <param name="buttons">Buttons available on popup window</param>
/// <param name="title">Title of window</param>
/// <param name="message">Message</param>
private void MessagePopup(MessageType type, ButtonsType buttons, string title, string message)
{
MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent, type, buttons, message);
md.Title = title;
md.Run();
md.Destroy();
}
/// <summary>
/// Callback called when delete event is sent by window
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="a">Not really sure of what it is...</param>
protected void OnDeleteEvent(object sender, DeleteEventArgs a)
{
Console.WriteLine("Bye bye");
if (cmdManager != null) cmdManager.Close();
Application.Quit();
a.RetVal = true;
}
/// <summary>
/// Callback called when new message is received from server
/// </summary>
/// <param name="header">Header of message</param>
/// <param name="data">Data of message</param>
public void OnCommandReceivedEvent(string header, string data)
{
if (header == null)
{
// we have lost server
ChangeState(SystemState.NotConnected);
Gtk.Application.Invoke(delegate
{
MessagePopup(MessageType.Error,
ButtonsType.Ok, "Server lost",
"Server is down: disconnecting");
cmdManager.Close();
});
}
// if we have received a valid message
if (header != null)
{
#if DEBUG
// print message content
if (header.Length > 4)
{
Console.WriteLine("Bad header(" + header.Length + ")");
}
#endif
// Depending on message received (based on header), launch correponding action
header = header.ToUpper();
switch (header)
{
case DestijlCommandList.ANSWER_TIMEOUT:
case DestijlCommandList.ANSWER_COM_ERROR:
Console.WriteLine("Communication lost with robot");
Gtk.Application.Invoke(delegate
{
MessagePopup(MessageType.Error, ButtonsType.Ok, "Robot lost", "Communication with robot lost !");
});
ChangeState(SystemState.ServerConnected);
break;
case DestijlCommandList.ROBOT_BATTERY_LEVEL:
string batLevel = "";
switch (data[0])
{
case '2':
batLevel = "High";
break;
case '1':
batLevel = "Low";
break;
case '0':
batLevel = "Empty";
break;
default:
batLevel = "Invalid value";
break;
}
Gtk.Application.Invoke(delegate
{
labelBatteryLevel.Text = batLevel;
});
break;
case DestijlCommandList.CAMERA_IMAGE:
imageReceivedCounter++;
byte[] image = new byte[2];
try
{
image = Convert.FromBase64String(data);
}
catch (FormatException)
{
badImageReceivedCounter++;
Console.WriteLine("Unable to convert from base64 ");
}
try
{
imageWidget.ShowImage(image);
}
catch (GLib.GException)
{
badImageReceivedCounter++;
#if DEBUG
Console.WriteLine("Bad Image: " + badImageReceivedCounter +
" / " + imageReceivedCounter +
" (" + badImageReceivedCounter * 100 / imageReceivedCounter + "%)");
#endif
}
break;
case DestijlCommandList.CAMERA_POSITION:
imageWidget.Position = DestijlCommandManager.DecodePosition(data);
break;
default:
Console.WriteLine("Untreated message from supervisor: " + header + ": " + data);
break;
}
}
}
/// <summary>
/// Callback called by "quit" menu
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event</param>
protected void OnQuitActionActivated(object sender, EventArgs e)
{
Console.WriteLine("Bye bye 2");
if (cmdManager != null) cmdManager.Close();
this.Destroy();
Application.Quit();
}
/// <summary>
/// Callback called by "show log" menu
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event</param>
protected void OnShowLogWindowActionActivated(object sender, EventArgs e)
{
MessagePopup(MessageType.Info,
ButtonsType.Ok, "Info",
"Logger not yet implemented");
}
/// <summary>
/// Callback called by "buttonServerConnection" button
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event</param>
protected void OnButtonServerConnectionClicked(object sender, EventArgs e)
{
DestijlCommandManager.CommandStatus statusCmd;
// if we are currently connected
if (buttonServerConnection.Label == "Disconnect")
{
// Change state to disconnect and close connection
ChangeState(SystemState.NotConnected);
}
else // we are not currently connected to server
{
// if information about hostname or port are invalid, show a popup error
if ((entryServerName.Text == "") || (entryServerPort.Text == ""))
{
MessagePopup(MessageType.Error,
ButtonsType.Ok, "Error",
"Server name or port is invalid");
}
else
{
Console.WriteLine("Connecting to " + entryServerName.Text + ":" + entryServerPort.Text);
bool status = false;
// try to convert timout string value to double. If that failed, default to 100 ms
try
{
cmdManager.timeout = Convert.ToDouble(entryTimeout.Text);
}
catch (Exception)
{
cmdManager.timeout = 100;
entryTimeout.Text = cmdManager.timeout.ToString();
}
// try to connect to givn server.
try
{
status = cmdManager.Open(entryServerName.Text, Convert.ToInt32(entryServerPort.Text));
}
catch (Exception)
{
Console.WriteLine("Something went wrong during connection");
return;
}
//if connection status is not ok, show an error popup
if (status != true)
{
MessagePopup(MessageType.Error,
ButtonsType.Ok, "Error",
"Unable to connect to server " + entryServerName.Text + ":" + Convert.ToInt32(entryServerPort.Text));
}
else // if we succed in connecting, open communication with robot
{
Console.Write("Send command RobotOpenCom: ");
statusCmd = cmdManager.RobotOpenCom();
Console.WriteLine(statusCmd.ToString());
if (statusCmd == DestijlCommandManager.CommandStatus.Success)
{
ChangeState(SystemState.ServerConnected);
}
else // if communication with robot is not possible, show error
{
MessagePopup(MessageType.Error,
ButtonsType.Ok, "Error",
"Unable to open communication with robot.\nCheck that supervisor is accepting OPEN_COM_DMB command");
cmdManager.Close();
}
}
}
}
}
/// <summary>
/// Callback called when "buttonRobotactivation" is clicked
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event</param>
protected void OnButtonRobotActivationClicked(object sender, EventArgs e)
{
DestijlCommandManager.CommandStatus status;
//if robot is not activated
if (buttonRobotActivation.Label == "Activate")
{
// if a startup with watchdog is requested
if (radioButtonWithWatchdog.Active)
{
status = cmdManager.RobotStartWithWatchdog();
}
else // startup without watchdog
{
status = cmdManager.RobotStartWithoutWatchdog();
}
// if status of command is ok, change state of system, enabling robot control
if (status == DestijlCommandManager.CommandStatus.Success)
{
ChangeState(SystemState.RobotConnected);
}
else // if status is not ok, depending of error, show appropriate error
{
if (status == DestijlCommandManager.CommandStatus.CommunicationLostWithServer)
{
MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Connection lost with server");
ChangeState(SystemState.NotConnected);
}
else
{
MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Command rejected\nCheck that supervisor accept \nDMB_START_WITH_WD and/or DMB_START_WITHOUT_WD");
}
}
}
else // If robot is already activated, request reset of robot
{
status = cmdManager.RobotReset();
// if status of command is ok, change state of system, disabling robot control
if (status == DestijlCommandManager.CommandStatus.Success)
{
ChangeState(SystemState.ServerConnected);
}
else // if status is not ok, depending of error, show appropriate error
{
if (status == DestijlCommandManager.CommandStatus.CommunicationLostWithServer)
{
MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Connection lost with server");
ChangeState(SystemState.NotConnected);
}
else
{
MessagePopup(MessageType.Error, ButtonsType.Ok, "Error", "Unknown error");
}
}
}
}
/// <summary>
/// Callback called when user click on direction button
/// </summary>
/// <param name="sender">Sender button</param>
/// <param name="e">Event</param>
protected void OnButtonMouvClicked(object sender, EventArgs e)
{
// depending on button clicked, launch appropriate action
if (sender == buttonRight)
{
cmdManager.RobotGoRight();
}
else if (sender == buttonLeft)
{
cmdManager.RobotGoLeft();
}
else if (sender == buttonForward)
{
cmdManager.RobotGoForward();
}
else if (sender == buttonDown)
{
cmdManager.RobotGoBackward();
}
else if (sender == buttonStop)
{
cmdManager.RobotStop();
}
else
{
MessagePopup(MessageType.Warning, ButtonsType.Ok, "Abnormal behavior", "Callback OnButtonMouvClicked called by unknown sender");
}
}
/// <summary>
/// Callback called when checkbutton for camera is clicked
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event</param>
protected void OnCheckButtonCameraOnClicked(object sender, EventArgs e)
{
// if camera is already active, switch it off
if (!checkButtonCameraOn.Active)
{
if (cmdManager.CameraClose() != DestijlCommandManager.CommandStatus.Success)
{
Console.WriteLine("Error when closing camera: bad answer for supervisor or timeout");
}
}
else // camera is not active, switch it on
{
badImageReceivedCounter = 0;
imageReceivedCounter = 0;
if (cmdManager.CameraOpen() != DestijlCommandManager.CommandStatus.Success)
{
Console.WriteLine("Error when opening camera: bad answer for supervisor or timeout");
//checkButtonCameraOn.Active = false;
}
}
}
/// <summary>
/// Callback called when checkbutton robot position is clicked
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event</param>
protected void OnCheckButtonRobotPositionClicked(object sender, EventArgs e)
{
// if server already send robot position, stop it
if (!checkButtonRobotPosition.Active)
{
if (cmdManager.CameraStopComputePosition() != DestijlCommandManager.CommandStatus.Success)
{
Console.WriteLine("Error when stopping position reception: bad answer for supervisor or timeout");
}
}
else // start reception of robot position
{
if (cmdManager.CameraComputePosition() != DestijlCommandManager.CommandStatus.Success)
{
Console.WriteLine("Error when starting getting robot position: bad answer for supervisor or timeout");
//checkButtonRobotPosition.Active = false;
}
}
imageWidget.showPosition = checkButtonRobotPosition.Active;
}
/// <summary>
/// Show a popup asking user to tell if arena is correct or not
/// </summary>
protected void DetectArena()
{
DestijlCommandManager.CommandStatus status;
MessageDialog md = new MessageDialog(this, DialogFlags.DestroyWithParent,
MessageType.Question, ButtonsType.YesNo, "Arena is correct ?");
md.Title = "Check arena";
ResponseType result = (ResponseType)md.Run();
md.Destroy();
if (result == ResponseType.Yes)
{
status = cmdManager.CameraArenaConfirm();
}
else
{
status = cmdManager.CameraArenaInfirm();
}
if (status != DestijlCommandManager.CommandStatus.Success)
{
MessagePopup(MessageType.Error,
ButtonsType.Ok, "Error",
"Unable to send Confirm or Infirm arena command to supervisor");
}
}
/// <summary>
/// Callback called when "Detect Arena" button is clicked
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">Event</param>
protected void OnButtonAskArenaClicked(object sender, EventArgs e)
{
// Send command to server for arean rendering
if (cmdManager.CameraAskArena() != DestijlCommandManager.CommandStatus.Success)
{
MessagePopup(MessageType.Error,
ButtonsType.Ok, "Error",
"Error when asking for arena rendering");
return;
}
// show popup and wait for user to say if arena is ok or not
DetectArena();
}
/// <summary>
/// Callback function for FPS checkbutton
/// </summary>
/// <param name="sender">Sender object</param>
/// <param name="e">unused paramter</param>
protected void OnCheckButtonFPSToggled(object sender, EventArgs e)
{
imageWidget.ShowFPS = checkButtonFPS.Active;
}
}

View file

@ -1,37 +0,0 @@
//
// Program.cs
//
// Author:
// Di MERCURIO Sébastien <dimercur@insa-toulouse.fr>
//
// Copyright (c) 2018 INSA - DGEI
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using Gtk;
namespace monitor
{
class MainClass
{
public static void Main(string[] args)
{
Application.Init();
MainWindow win = new MainWindow();
win.Show();
Application.Run();
}
}
}

View file

@ -1,26 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
[assembly: AssemblyTitle("monitor")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("${AuthorCopyright}")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
// The form "{Major}.{Minor}.*" will automatically update the build and revision,
// and "{Major}.{Minor}.{Build}.*" will update just the revision.
[assembly: AssemblyVersion("1.0.*")]
// The following attributes are used to specify the signing key for the assembly,
// if desired. See the Mono documentation for more information about signing.
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]

View file

@ -1,3 +0,0 @@
echo $(pwd)
cp $(pwd)/bin/Debug/monitor.exe $(pwd)/monitor
chmod +x $(pwd)/monitor

View file

@ -1,116 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Client.cs File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_client_8cs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">Client.cs File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="_client_8cs_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static class for TCP client <a href="classmonitor_1_1_client.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemonitor"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemonitor.html">monitor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="_client_8cs.html">Client.cs</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -1,116 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: CommandManager.cs File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_command_manager_8cs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">CommandManager.cs File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="_command_manager_8cs_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (<a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a>) and application level managment of command and answers <a href="classmonitor_1_1_command_manager.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemonitor"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemonitor.html">monitor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="_command_manager_8cs.html">CommandManager.cs</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -1,122 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: DestijlCommandManager.cs File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_destijl_command_manager_8cs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">DestijlCommandManager.cs File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="_destijl_command_manager_8cs_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commands and options parameters used in Destijl project when communicating with server <a href="classmonitor_1_1_destijl_command_list.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commands used for robot messages <a href="classmonitor_1_1_robot_command_list.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specialization class for command manager, which implemnent destijl protocol between monitor and server <a href="classmonitor_1_1_destijl_command_manager.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemonitor"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemonitor.html">monitor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="_destijl_command_manager_8cs.html">DestijlCommandManager.cs</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -1,110 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: MonitorUI.cs File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_monitor_u_i_8cs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> </div>
<div class="headertitle">
<div class="title">MonitorUI.cs File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="_monitor_u_i_8cs_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_main_window.html">MainWindow</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Main part of the program, behavior of main window <a href="class_main_window.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="_monitor_u_i_8cs.html">MonitorUI.cs</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -1,115 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Program.cs File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('_program_8cs.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#namespaces">Namespaces</a> </div>
<div class="headertitle">
<div class="title">Program.cs File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="_program_8cs_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_main_class.html">monitor.MainClass</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespacemonitor"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemonitor.html">monitor</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="_program_8cs.html">Program.cs</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -1,110 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('annotated.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="namespacemonitor.html" target="_self">monitor</a></td><td class="desc"></td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_client.html" target="_self">Client</a></td><td class="desc">Static class for TCP client </td></tr>
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_command_manager.html" target="_self">CommandManager</a></td><td class="desc">Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (<a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a>) and application level managment of command and answers </td></tr>
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_destijl_command_list.html" target="_self">DestijlCommandList</a></td><td class="desc">Commands and options parameters used in Destijl project when communicating with server </td></tr>
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_destijl_command_manager.html" target="_self">DestijlCommandManager</a></td><td class="desc">Specialization class for command manager, which implemnent destijl protocol between monitor and server </td></tr>
<tr id="row_0_4_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_main_class.html" target="_self">MainClass</a></td><td class="desc"></td></tr>
<tr id="row_0_5_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_robot_command_list.html" target="_self">RobotCommandList</a></td><td class="desc">Commands used for robot messages </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_window.html" target="_self">MainWindow</a></td><td class="desc">Main part of the program, behavior of main window </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,5 +0,0 @@
var annotated_dup =
[
[ "monitor", "namespacemonitor.html", "namespacemonitor" ],
[ "MainWindow", "class_main_window.html", "class_main_window" ]
];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 676 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

View file

@ -1,123 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_main_window.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">MainWindow Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_main_window.html">MainWindow</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a9a0f3d4cd871609f12d328af2f588664">AdjustControls</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a57f0325d8b8a63be586001b9a469d9ae">batteryTimer</a></td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#aedc27cabbe1604313a452fcbf3ffe9f4">ChangeState</a>(SystemState newState)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a0b60450970b8a6fb6e016d5c0728e474">cmdManager</a></td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a89c79ce9ca4114ca9c50f32dc080e9cd">DetectArena</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a41581e449b18e87acbdff5baa12c2050">drawingareaCameraPixbuf</a></td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#af607d50e4d1b04d3c494661489283f45">MainWindow</a>()</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#afc4f923aaa481a93dddaff6303efb9e0">MessagePopup</a>(MessageType type, ButtonsType buttons, string title, string message)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#af303b70c08cda04a76f6418f727c4891">OnBatteryTimerElapsed</a>(object sender, System.Timers.ElapsedEventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a31e299085d6286d680bd488c73fdff82">OnButtonAskArenaClicked</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a7f8d06747f887216ab8c941ad10cb48b">OnButtonMouvClicked</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a2b5e11a49a10b24c59bebb377cdfeae8">OnButtonRobotActivationClicked</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ac0acc6c3a63f405f14ec8e4d132a2661">OnButtonServerConnectionClicked</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#af4b587cdd614d5bdb8d9158a1f59e4fa">OnCheckButtonCameraOnClicked</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a20d07605619027d82a30552f294b128f">OnCheckButtonRobotPositionClicked</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a4b651f10b9079c128b9e36d15ad10211">OnCommandReceivedEvent</a>(string header, string data, byte[] buffer)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a64bdcb29cebb58957790da1ee2733fe1">OnDeleteEvent</a>(object sender, DeleteEventArgs a)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#afe4b0001f191554aed5d9b65208a06f5">OnDrawingAreaCameraExposeEvent</a>(object o, ExposeEventArgs args)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#ab54b643c364b46a150f6f993267bb709">OnQuitActionActivated</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a87132738a6ca496303940d56e091bdc7">OnShowLogWindowActionActivated</a>(object sender, EventArgs e)</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">protected</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3d">SystemState</a> enum name</td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="class_main_window.html#a105025ee1bdfac188f1ce640d593550d">systemState</a></td><td class="entry"><a class="el" href="class_main_window.html">MainWindow</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

File diff suppressed because it is too large Load diff

View file

@ -1,29 +0,0 @@
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 ]
];

View file

@ -1,4 +0,0 @@
<map id="MainWindow" name="MainWindow">
<area shape="rect" id="node3" href="$classmonitor_1_1_destijl_command_manager.html" title="Specialization class for command manager, which implemnent destijl protocol between monitor and serve..." alt="" coords="179,184,395,211"/>
<area shape="rect" id="node4" href="$classmonitor_1_1_command_manager.html" title="Command Manager. Use for timeout managment during reception of data Used as intermediate layer betwee..." alt="" coords="188,95,367,121"/>
</map>

View file

@ -1 +0,0 @@
150be75c198c88c6d6956083b335a70c

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View file

@ -1,2 +0,0 @@
<map id="MainWindow" name="MainWindow">
</map>

View file

@ -1 +0,0 @@
05926267b1243e6f0056859236801ddc

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3,3 KiB

View file

@ -1,111 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classes.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
</td><td valign="top"><a class="el" href="classmonitor_1_1_command_manager.html">CommandManager</a> (<a class="el" href="namespacemonitor.html">monitor</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">DestijlCommandManager</a> (<a class="el" href="namespacemonitor.html">monitor</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="class_main_window.html">MainWindow</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
</td><td rowspan="2" valign="bottom"><a name="letter_r"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;r&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td valign="top"><a class="el" href="classmonitor_1_1_client.html">Client</a> (<a class="el" href="namespacemonitor.html">monitor</a>)&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td valign="top"><a class="el" href="classmonitor_1_1_destijl_command_list.html">DestijlCommandList</a> (<a class="el" href="namespacemonitor.html">monitor</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmonitor_1_1_main_class.html">MainClass</a> (<a class="el" href="namespacemonitor.html">monitor</a>)&#160;&#160;&#160;</td><td valign="top"><a class="el" href="classmonitor_1_1_robot_command_list.html">RobotCommandList</a> (<a class="el" href="namespacemonitor.html">monitor</a>)&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_r">r</a></div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,119 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_client.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">monitor.Client Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmonitor_1_1_client.html">monitor.Client</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762">buffer</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29">BufferMaxSize</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a4867b48ebfa930a80662c552f2911430">client</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#ae6c0cbe19d622b008fd1f6d01d9cb315">Close</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a326a20fe68a86757e16a6e45b8012640">defaultIP</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#ad0a9bfc361ccef7443625f399e67f84a">defaultPort</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#afbbf4cf14d1a11747f6103e726dee77e">initialReceiveBufferIndex</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a2ddb7073c4bf8a42c231939d5c21d68e">message</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a7083940b8fea9df2b080e3844549e805">newLength</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#af802cd428aa08b9604e2246f11e1fe61">Open</a>(string host)</td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#aee6f8f594a9496600b78c37d6da457d4">Open</a>(string host, int port)</td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a7eb13840c83beb2ab191cae3ba3210c9">packetCounter</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a8dd2eb26c164d0f566dd6c679ba340e0">ReadCallback</a>(IAsyncResult ar)</td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a01cb2a551d81fd82d2f7015e177f0f18">readEvent</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378">ReadEvent</a>(string msg, byte[] buffer)</td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#aade32a6043e0dc629509f0e1c0112a24">receiveBuffer</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a8de2a9e4fe2c2e896849ddd33d80d759">stream</a></td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_client.html#a081413295e7a96662b39b2ddec854b02">Write</a>(string mes)</td><td class="entry"><a class="el" href="classmonitor_1_1_client.html">monitor.Client</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,697 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: monitor.Client Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_client.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#pri-static-methods">Static Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a> &#124;
<a href="classmonitor_1_1_client-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">monitor.Client Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Static class for TCP client
<a href="classmonitor_1_1_client.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae85f4aa567a41488d5c65e470ae15378"><td class="memItemLeft" align="right" valign="top">delegate void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378">ReadEvent</a> (string msg, byte[] <a class="el" href="classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762">buffer</a>)</td></tr>
<tr class="memdesc:ae85f4aa567a41488d5c65e470ae15378"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback to send received message to upper level <a href="#ae85f4aa567a41488d5c65e470ae15378">More...</a><br /></td></tr>
<tr class="separator:ae85f4aa567a41488d5c65e470ae15378"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:af802cd428aa08b9604e2246f11e1fe61"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#af802cd428aa08b9604e2246f11e1fe61">Open</a> (string host)</td></tr>
<tr class="memdesc:af802cd428aa08b9604e2246f11e1fe61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open connection to server "host", on default port number. <a href="#af802cd428aa08b9604e2246f11e1fe61">More...</a><br /></td></tr>
<tr class="separator:af802cd428aa08b9604e2246f11e1fe61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aee6f8f594a9496600b78c37d6da457d4"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#aee6f8f594a9496600b78c37d6da457d4">Open</a> (string host, int port)</td></tr>
<tr class="memdesc:aee6f8f594a9496600b78c37d6da457d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open connection to server "host", with port number "port" <a href="#aee6f8f594a9496600b78c37d6da457d4">More...</a><br /></td></tr>
<tr class="separator:aee6f8f594a9496600b78c37d6da457d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6c0cbe19d622b008fd1f6d01d9cb315"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#ae6c0cbe19d622b008fd1f6d01d9cb315">Close</a> ()</td></tr>
<tr class="memdesc:ae6c0cbe19d622b008fd1f6d01d9cb315"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close connection to server <a href="#ae6c0cbe19d622b008fd1f6d01d9cb315">More...</a><br /></td></tr>
<tr class="separator:ae6c0cbe19d622b008fd1f6d01d9cb315"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a081413295e7a96662b39b2ddec854b02"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a081413295e7a96662b39b2ddec854b02">Write</a> (string mes)</td></tr>
<tr class="memdesc:a081413295e7a96662b39b2ddec854b02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write a string to server <a href="#a081413295e7a96662b39b2ddec854b02">More...</a><br /></td></tr>
<tr class="separator:a081413295e7a96662b39b2ddec854b02"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a326a20fe68a86757e16a6e45b8012640"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a326a20fe68a86757e16a6e45b8012640">defaultIP</a> = &quot;localhost&quot;</td></tr>
<tr class="memdesc:a326a20fe68a86757e16a6e45b8012640"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default server name <a href="#a326a20fe68a86757e16a6e45b8012640">More...</a><br /></td></tr>
<tr class="separator:a326a20fe68a86757e16a6e45b8012640"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0a9bfc361ccef7443625f399e67f84a"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#ad0a9bfc361ccef7443625f399e67f84a">defaultPort</a> = 4500</td></tr>
<tr class="memdesc:ad0a9bfc361ccef7443625f399e67f84a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default server port number <a href="#ad0a9bfc361ccef7443625f399e67f84a">More...</a><br /></td></tr>
<tr class="separator:ad0a9bfc361ccef7443625f399e67f84a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a01cb2a551d81fd82d2f7015e177f0f18"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378">ReadEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a01cb2a551d81fd82d2f7015e177f0f18">readEvent</a> = null</td></tr>
<tr class="separator:a01cb2a551d81fd82d2f7015e177f0f18"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-methods"></a>
Static Private Member Functions</h2></td></tr>
<tr class="memitem:a8dd2eb26c164d0f566dd6c679ba340e0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a8dd2eb26c164d0f566dd6c679ba340e0">ReadCallback</a> (IAsyncResult ar)</td></tr>
<tr class="memdesc:a8dd2eb26c164d0f566dd6c679ba340e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback call by stream.BeginRead after reception of newLength data <a href="#a8dd2eb26c164d0f566dd6c679ba340e0">More...</a><br /></td></tr>
<tr class="separator:a8dd2eb26c164d0f566dd6c679ba340e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:acbc4cae14536eccb5297aacdadb84f29"><td class="memItemLeft" align="right" valign="top">const int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29">BufferMaxSize</a> = 512</td></tr>
<tr class="memdesc:acbc4cae14536eccb5297aacdadb84f29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of internal buffer used when reading data from server <a href="#acbc4cae14536eccb5297aacdadb84f29">More...</a><br /></td></tr>
<tr class="separator:acbc4cae14536eccb5297aacdadb84f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:a4867b48ebfa930a80662c552f2911430"><td class="memItemLeft" align="right" valign="top">static TcpClient&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a4867b48ebfa930a80662c552f2911430">client</a> = null</td></tr>
<tr class="memdesc:a4867b48ebfa930a80662c552f2911430"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tcp client object <a href="#a4867b48ebfa930a80662c552f2911430">More...</a><br /></td></tr>
<tr class="separator:a4867b48ebfa930a80662c552f2911430"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de2a9e4fe2c2e896849ddd33d80d759"><td class="memItemLeft" align="right" valign="top">static NetworkStream&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a8de2a9e4fe2c2e896849ddd33d80d759">stream</a> = null</td></tr>
<tr class="memdesc:a8de2a9e4fe2c2e896849ddd33d80d759"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stream object used for communication <a href="#a8de2a9e4fe2c2e896849ddd33d80d759">More...</a><br /></td></tr>
<tr class="separator:a8de2a9e4fe2c2e896849ddd33d80d759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd5c33a23e0fab7b369b59ac296c7762"><td class="memItemLeft" align="right" valign="top">static byte []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762">buffer</a> = new byte[<a class="el" href="classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29">BufferMaxSize</a>]</td></tr>
<tr class="memdesc:abd5c33a23e0fab7b369b59ac296c7762"><td class="mdescLeft">&#160;</td><td class="mdescRight">Internal buffer used when reading data from server <a href="#abd5c33a23e0fab7b369b59ac296c7762">More...</a><br /></td></tr>
<tr class="separator:abd5c33a23e0fab7b369b59ac296c7762"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aade32a6043e0dc629509f0e1c0112a24"><td class="memItemLeft" align="right" valign="top">static byte []&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#aade32a6043e0dc629509f0e1c0112a24">receiveBuffer</a></td></tr>
<tr class="memdesc:aade32a6043e0dc629509f0e1c0112a24"><td class="mdescLeft">&#160;</td><td class="mdescRight">buffer containing received message from TCP server Used to concatenate internal buffers into one <a href="#aade32a6043e0dc629509f0e1c0112a24">More...</a><br /></td></tr>
<tr class="separator:aade32a6043e0dc629509f0e1c0112a24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbbf4cf14d1a11747f6103e726dee77e"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#afbbf4cf14d1a11747f6103e726dee77e">initialReceiveBufferIndex</a> = 0</td></tr>
<tr class="separator:afbbf4cf14d1a11747f6103e726dee77e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ddb7073c4bf8a42c231939d5c21d68e"><td class="memItemLeft" align="right" valign="top">static StringBuilder&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a2ddb7073c4bf8a42c231939d5c21d68e">message</a> = new StringBuilder()</td></tr>
<tr class="memdesc:a2ddb7073c4bf8a42c231939d5c21d68e"><td class="mdescLeft">&#160;</td><td class="mdescRight">String containing received message from tcp server <a href="#a2ddb7073c4bf8a42c231939d5c21d68e">More...</a><br /></td></tr>
<tr class="separator:a2ddb7073c4bf8a42c231939d5c21d68e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7083940b8fea9df2b080e3844549e805"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a7083940b8fea9df2b080e3844549e805">newLength</a> = 1</td></tr>
<tr class="separator:a7083940b8fea9df2b080e3844549e805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eb13840c83beb2ab191cae3ba3210c9"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_client.html#a7eb13840c83beb2ab191cae3ba3210c9">packetCounter</a> = 0</td></tr>
<tr class="separator:a7eb13840c83beb2ab191cae3ba3210c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Static class for TCP client </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00031">31</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ae6c0cbe19d622b008fd1f6d01d9cb315"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6c0cbe19d622b008fd1f6d01d9cb315">&#9670;&nbsp;</a></span>Close()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void monitor.Client.Close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Close connection to server </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00141">141</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="af802cd428aa08b9604e2246f11e1fe61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af802cd428aa08b9604e2246f11e1fe61">&#9670;&nbsp;</a></span>Open() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool monitor.Client.Open </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>host</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Open connection to server "host", on default port number. </p>
<dl class="section return"><dt>Returns</dt><dd>true if connection succeded, false otherwise</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>Hostname to connect to</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00089">89</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="aee6f8f594a9496600b78c37d6da457d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee6f8f594a9496600b78c37d6da457d4">&#9670;&nbsp;</a></span>Open() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static bool monitor.Client.Open </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>host</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Open connection to server "host", with port number "port" </p>
<dl class="section return"><dt>Returns</dt><dd>true if connection succeded, false otherwise</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">host</td><td>Hostname to connect to</td></tr>
<tr><td class="paramname">port</td><td>Port number for connection</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00100">100</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a8dd2eb26c164d0f566dd6c679ba340e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8dd2eb26c164d0f566dd6c679ba340e0">&#9670;&nbsp;</a></span>ReadCallback()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void monitor.Client.ReadCallback </td>
<td>(</td>
<td class="paramtype">IAsyncResult&#160;</td>
<td class="paramname"><em>ar</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback call by stream.BeginRead after reception of newLength data </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">ar</td><td>Not sure of what is it, but needed for terminate reading</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00151">151</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="ae85f4aa567a41488d5c65e470ae15378"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae85f4aa567a41488d5c65e470ae15378">&#9670;&nbsp;</a></span>ReadEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">delegate void monitor.Client.ReadEvent </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>msg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte []&#160;</td>
<td class="paramname"><em>buffer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback to send received message to upper level </p>
</div>
</div>
<a id="a081413295e7a96662b39b2ddec854b02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a081413295e7a96662b39b2ddec854b02">&#9670;&nbsp;</a></span>Write()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void monitor.Client.Write </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>mes</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Write a string to server </p>
<dl class="section return"><dt>Returns</dt><dd>Nothing</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">mes</td><td>Message to send to server</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00219">219</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="abd5c33a23e0fab7b369b59ac296c7762"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd5c33a23e0fab7b369b59ac296c7762">&#9670;&nbsp;</a></span>buffer</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">byte [] monitor.Client.buffer = new byte[<a class="el" href="classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29">BufferMaxSize</a>]</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Internal buffer used when reading data from server </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00061">61</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="acbc4cae14536eccb5297aacdadb84f29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbc4cae14536eccb5297aacdadb84f29">&#9670;&nbsp;</a></span>BufferMaxSize</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const int monitor.Client.BufferMaxSize = 512</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Size of internal buffer used when reading data from server </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00056">56</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a4867b48ebfa930a80662c552f2911430"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4867b48ebfa930a80662c552f2911430">&#9670;&nbsp;</a></span>client</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">TcpClient monitor.Client.client = null</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Tcp client object </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00046">46</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a326a20fe68a86757e16a6e45b8012640"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a326a20fe68a86757e16a6e45b8012640">&#9670;&nbsp;</a></span>defaultIP</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.Client.defaultIP = &quot;localhost&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p>Default server name </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00036">36</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="ad0a9bfc361ccef7443625f399e67f84a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0a9bfc361ccef7443625f399e67f84a">&#9670;&nbsp;</a></span>defaultPort</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int monitor.Client.defaultPort = 4500</td>
</tr>
</table>
</div><div class="memdoc">
<p>Default server port number </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00041">41</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="afbbf4cf14d1a11747f6103e726dee77e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbbf4cf14d1a11747f6103e726dee77e">&#9670;&nbsp;</a></span>initialReceiveBufferIndex</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int monitor.Client.initialReceiveBufferIndex = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00069">69</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a2ddb7073c4bf8a42c231939d5c21d68e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ddb7073c4bf8a42c231939d5c21d68e">&#9670;&nbsp;</a></span>message</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">StringBuilder monitor.Client.message = new StringBuilder()</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>String containing received message from tcp server </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00074">74</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a7083940b8fea9df2b080e3844549e805"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7083940b8fea9df2b080e3844549e805">&#9670;&nbsp;</a></span>newLength</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int monitor.Client.newLength = 1</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00075">75</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a7eb13840c83beb2ab191cae3ba3210c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eb13840c83beb2ab191cae3ba3210c9">&#9670;&nbsp;</a></span>packetCounter</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int monitor.Client.packetCounter = 0</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00076">76</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a01cb2a551d81fd82d2f7015e177f0f18"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01cb2a551d81fd82d2f7015e177f0f18">&#9670;&nbsp;</a></span>readEvent</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378">ReadEvent</a> monitor.Client.readEvent = null</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00082">82</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="aade32a6043e0dc629509f0e1c0112a24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aade32a6043e0dc629509f0e1c0112a24">&#9670;&nbsp;</a></span>receiveBuffer</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">byte [] monitor.Client.receiveBuffer</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>buffer containing received message from TCP server Used to concatenate internal buffers into one </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00067">67</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<a id="a8de2a9e4fe2c2e896849ddd33d80d759"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8de2a9e4fe2c2e896849ddd33d80d759">&#9670;&nbsp;</a></span>stream</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">NetworkStream monitor.Client.stream = null</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Stream object used for communication </p>
<p class="definition">Definition at line <a class="el" href="_client_8cs_source.html#l00051">51</a> of file <a class="el" href="_client_8cs_source.html">Client.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_client_8cs_source.html">Client.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacemonitor.html">monitor</a></li><li class="navelem"><a class="el" href="classmonitor_1_1_client.html">Client</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,21 +0,0 @@
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 ]
];

View file

@ -1,117 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_command_manager.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">monitor.CommandManager Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6">Close</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72">CommandManager</a>(CommandReceivedEvent callback)</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">CommandManagerStatus</a> enum name</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa">commandReceivedEvent</a></td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a>(string msg, byte[] buffer)</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db">isBusy</a></td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57">messageReceived</a></td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65">OnMessageReception</a>(string message, byte[] buffer)</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df">OnMessageTimeout</a>(object sender, System.Timers.ElapsedEventArgs e)</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a7329cbf8008bcb8a0280aa7ffa6aa43c">Open</a>(string hostname)</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee">Open</a>(string hostname, int port)</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363">SendCommand</a>(string cmd, out string answer, double timeout)</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447">waitEvent</a></td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd">waitForAcknowledge</a></td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0">waitTimer</a></td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e">~CommandManager</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_command_manager.html">monitor.CommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,683 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: monitor.CommandManager Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_command_manager.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classmonitor_1_1_command_manager-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">monitor.CommandManager Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (<a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a>) and application level managment of command and answers
<a href="classmonitor_1_1_command_manager.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for monitor.CommandManager:</div>
<div class="dyncontent">
<div class="center"><img src="classmonitor_1_1_command_manager__coll__graph.png" border="0" usemap="#monitor_8_command_manager_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ac8ca53031468acc8be05c37586671a9b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">CommandManagerStatus</a> { <a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3">CommandManagerStatus.AnswerReceived</a>,
<a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398">CommandManagerStatus.Timeout</a>,
<a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407">CommandManagerStatus.Busy</a>
}<tr class="memdesc:ac8ca53031468acc8be05c37586671a9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Available status when sending command <a href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:ac8ca53031468acc8be05c37586671a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5afd16036cc3d0e69554f69dacad0bcc"><td class="memItemLeft" align="right" valign="top">delegate void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a> (string msg, byte[] buffer)</td></tr>
<tr class="memdesc:a5afd16036cc3d0e69554f69dacad0bcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback for sending received data to upper level <a href="#a5afd16036cc3d0e69554f69dacad0bcc">More...</a><br /></td></tr>
<tr class="separator:a5afd16036cc3d0e69554f69dacad0bcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac2248c90d3a59bc2bf376cd876cece72"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72">CommandManager</a> (<a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a> callback)</td></tr>
<tr class="memdesc:ac2248c90d3a59bc2bf376cd876cece72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes a new instance of the T:monitor.CommandManager class. <a href="#ac2248c90d3a59bc2bf376cd876cece72">More...</a><br /></td></tr>
<tr class="separator:ac2248c90d3a59bc2bf376cd876cece72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7329cbf8008bcb8a0280aa7ffa6aa43c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a7329cbf8008bcb8a0280aa7ffa6aa43c">Open</a> (string hostname)</td></tr>
<tr class="memdesc:a7329cbf8008bcb8a0280aa7ffa6aa43c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open the specified hostname server, using default port number. <a href="#a7329cbf8008bcb8a0280aa7ffa6aa43c">More...</a><br /></td></tr>
<tr class="separator:a7329cbf8008bcb8a0280aa7ffa6aa43c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a0054ee87d293577fa39af1fcd5ffee"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee">Open</a> (string hostname, int port)</td></tr>
<tr class="memdesc:a0a0054ee87d293577fa39af1fcd5ffee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open connection to server "host", with port number "port" <a href="#a0a0054ee87d293577fa39af1fcd5ffee">More...</a><br /></td></tr>
<tr class="separator:a0a0054ee87d293577fa39af1fcd5ffee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab28b0e5a2641391e655aaaaa05a1fdf6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6">Close</a> ()</td></tr>
<tr class="memdesc:ab28b0e5a2641391e655aaaaa05a1fdf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close connection to server <a href="#ab28b0e5a2641391e655aaaaa05a1fdf6">More...</a><br /></td></tr>
<tr class="separator:ab28b0e5a2641391e655aaaaa05a1fdf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cd1f2303e47e5148fd3e927a7957363"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">CommandManagerStatus</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363">SendCommand</a> (string cmd, out string answer, double timeout)</td></tr>
<tr class="memdesc:a3cd1f2303e47e5148fd3e927a7957363"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a command to TCP server <a href="#a3cd1f2303e47e5148fd3e927a7957363">More...</a><br /></td></tr>
<tr class="separator:a3cd1f2303e47e5148fd3e927a7957363"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ab90d68a3d3a9b3935fa9f1a57e8dabfa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa">commandReceivedEvent</a> = null</td></tr>
<tr class="separator:ab90d68a3d3a9b3935fa9f1a57e8dabfa"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:ad2a8eb1139a5a25a6993887c55b3da4e"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e">~CommandManager</a> ()</td></tr>
<tr class="memdesc:ad2a8eb1139a5a25a6993887c55b3da4e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases unmanaged resources and performs other cleanup operations before the T:monitor.CommandManager is reclaimed by garbage collection. <a href="#ad2a8eb1139a5a25a6993887c55b3da4e">More...</a><br /></td></tr>
<tr class="separator:ad2a8eb1139a5a25a6993887c55b3da4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92e5d42afb61f29d9a4746b4446c2a65"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65">OnMessageReception</a> (string message, byte[] buffer)</td></tr>
<tr class="memdesc:a92e5d42afb61f29d9a4746b4446c2a65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback called by <a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a> class after reception of new message <a href="#a92e5d42afb61f29d9a4746b4446c2a65">More...</a><br /></td></tr>
<tr class="separator:a92e5d42afb61f29d9a4746b4446c2a65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f91bb775ba25855be007886b994a5df"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df">OnMessageTimeout</a> (object sender, System.Timers.ElapsedEventArgs e)</td></tr>
<tr class="memdesc:a2f91bb775ba25855be007886b994a5df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback called by stopwatch on timeout <a href="#a2f91bb775ba25855be007886b994a5df">More...</a><br /></td></tr>
<tr class="separator:a2f91bb775ba25855be007886b994a5df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a07639cd39445a379667a2450e78001b0"><td class="memItemLeft" align="right" valign="top">System.Timers.Timer&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0">waitTimer</a> = new System.Timers.Timer()</td></tr>
<tr class="memdesc:a07639cd39445a379667a2450e78001b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Timer for managing timeout <a href="#a07639cd39445a379667a2450e78001b0">More...</a><br /></td></tr>
<tr class="separator:a07639cd39445a379667a2450e78001b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d27eb1a38efb01559f14a707ff86447"><td class="memItemLeft" align="right" valign="top">ManualResetEvent&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447">waitEvent</a> = new ManualResetEvent(false)</td></tr>
<tr class="separator:a0d27eb1a38efb01559f14a707ff86447"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39c2c03f93b309e65a45ac91c6eb39bd"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd">waitForAcknowledge</a> = false</td></tr>
<tr class="memdesc:a39c2c03f93b309e65a45ac91c6eb39bd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag to tell rogram to wait for an acknowledge from server <a href="#a39c2c03f93b309e65a45ac91c6eb39bd">More...</a><br /></td></tr>
<tr class="separator:a39c2c03f93b309e65a45ac91c6eb39bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa610e72e8f23f0d26388f204c848ed57"><td class="memItemLeft" align="right" valign="top">string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57">messageReceived</a> = null</td></tr>
<tr class="memdesc:aa610e72e8f23f0d26388f204c848ed57"><td class="mdescLeft">&#160;</td><td class="mdescRight">received message <a href="#aa610e72e8f23f0d26388f204c848ed57">More...</a><br /></td></tr>
<tr class="separator:aa610e72e8f23f0d26388f204c848ed57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea039cd0f99f5193c307b805077669db"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db">isBusy</a> = false</td></tr>
<tr class="memdesc:aea039cd0f99f5193c307b805077669db"><td class="mdescLeft">&#160;</td><td class="mdescRight">flag indicating command manager is currently busy waiting an acknowledge <a href="#aea039cd0f99f5193c307b805077669db">More...</a><br /></td></tr>
<tr class="separator:aea039cd0f99f5193c307b805077669db"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (<a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a>) and application level managment of command and answers </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00031">31</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="ac8ca53031468acc8be05c37586671a9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8ca53031468acc8be05c37586671a9b">&#9670;&nbsp;</a></span>CommandManagerStatus</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">monitor.CommandManager.CommandManagerStatus</a></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">strong</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Available status when sending command </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ac8ca53031468acc8be05c37586671a9bae3e095863e3b99e11e8c18efb3901da3"></a>AnswerReceived&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac8ca53031468acc8be05c37586671a9bac85a251cc457840f1e032f1b733e9398"></a>Timeout&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="ac8ca53031468acc8be05c37586671a9bad8a942ef2b04672adfafef0ad817a407"></a>Busy&#160;</td><td class="fielddoc"></td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00063">63</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="ac2248c90d3a59bc2bf376cd876cece72"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac2248c90d3a59bc2bf376cd876cece72">&#9670;&nbsp;</a></span>CommandManager()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">monitor.CommandManager.CommandManager </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a>&#160;</td>
<td class="paramname"><em>callback</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Initializes a new instance of the T:monitor.CommandManager class. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">callback</td><td>Callback used when new message are received</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00074">74</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="ad2a8eb1139a5a25a6993887c55b3da4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2a8eb1139a5a25a6993887c55b3da4e">&#9670;&nbsp;</a></span>~CommandManager()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">monitor.CommandManager.~CommandManager </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Releases unmanaged resources and performs other cleanup operations before the T:monitor.CommandManager is reclaimed by garbage collection. </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00086">86</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab28b0e5a2641391e655aaaaa05a1fdf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab28b0e5a2641391e655aaaaa05a1fdf6">&#9670;&nbsp;</a></span>Close()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void monitor.CommandManager.Close </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Close connection to server </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00115">115</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a5afd16036cc3d0e69554f69dacad0bcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5afd16036cc3d0e69554f69dacad0bcc">&#9670;&nbsp;</a></span>CommandReceivedEvent()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">delegate void monitor.CommandManager.CommandReceivedEvent </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>msg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte []&#160;</td>
<td class="paramname"><em>buffer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback for sending received data to upper level </p>
</div>
</div>
<a id="a92e5d42afb61f29d9a4746b4446c2a65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92e5d42afb61f29d9a4746b4446c2a65">&#9670;&nbsp;</a></span>OnMessageReception()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void monitor.CommandManager.OnMessageReception </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>message</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">byte []&#160;</td>
<td class="paramname"><em>buffer</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback called by <a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a> class after reception of new message </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">message</td><td>Message received from server</td></tr>
<tr><td class="paramname">buffer</td><td>Raw buffer reived from server</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00125">125</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a2f91bb775ba25855be007886b994a5df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f91bb775ba25855be007886b994a5df">&#9670;&nbsp;</a></span>OnMessageTimeout()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void monitor.CommandManager.OnMessageTimeout </td>
<td>(</td>
<td class="paramtype">object&#160;</td>
<td class="paramname"><em>sender</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">System.Timers.ElapsedEventArgs&#160;</td>
<td class="paramname"><em>e</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Callback called by stopwatch on timeout </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sender</td><td>Sender object</td></tr>
<tr><td class="paramname">e</td><td>Information on elapsed condition</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00156">156</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a7329cbf8008bcb8a0280aa7ffa6aa43c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7329cbf8008bcb8a0280aa7ffa6aa43c">&#9670;&nbsp;</a></span>Open() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.Open </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>hostname</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Open the specified hostname server, using default port number. </p>
<dl class="section return"><dt>Returns</dt><dd>true if connection succeded, false otherwise</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hostname</td><td>Hostname to connect to</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00096">96</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a0a0054ee87d293577fa39af1fcd5ffee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a0054ee87d293577fa39af1fcd5ffee">&#9670;&nbsp;</a></span>Open() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.Open </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>hostname</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>port</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Open connection to server "host", with port number "port" </p>
<dl class="section return"><dt>Returns</dt><dd>true if connection succeded, false otherwise</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">hostname</td><td>Hostname to connect to</td></tr>
<tr><td class="paramname">port</td><td>Port number for connection</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00107">107</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a3cd1f2303e47e5148fd3e927a7957363"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3cd1f2303e47e5148fd3e927a7957363">&#9670;&nbsp;</a></span>SendCommand()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">CommandManagerStatus</a> monitor.CommandManager.SendCommand </td>
<td>(</td>
<td class="paramtype">string&#160;</td>
<td class="paramname"><em>cmd</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">out string&#160;</td>
<td class="paramname"><em>answer</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sends a command to TCP server </p>
<dl class="section return"><dt>Returns</dt><dd>status that is part of CommandManagerStatus enumerate</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cmd</td><td>Command message to send to server</td></tr>
<tr><td class="paramname">answer</td><td>Answer from server, in case of acknowledge</td></tr>
<tr><td class="paramname">timeout</td><td>Timeout (ms) waiting an acknowledge, 0 if no acknowledge needed</td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00171">171</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ab90d68a3d3a9b3935fa9f1a57e8dabfa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab90d68a3d3a9b3935fa9f1a57e8dabfa">&#9670;&nbsp;</a></span>commandReceivedEvent</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">CommandReceivedEvent</a> monitor.CommandManager.commandReceivedEvent = null</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00037">37</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="aea039cd0f99f5193c307b805077669db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea039cd0f99f5193c307b805077669db">&#9670;&nbsp;</a></span>isBusy</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.isBusy = false</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>flag indicating command manager is currently busy waiting an acknowledge </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00058">58</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="aa610e72e8f23f0d26388f204c848ed57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa610e72e8f23f0d26388f204c848ed57">&#9670;&nbsp;</a></span>messageReceived</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">string monitor.CommandManager.messageReceived = null</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>received message </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00053">53</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a0d27eb1a38efb01559f14a707ff86447"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d27eb1a38efb01559f14a707ff86447">&#9670;&nbsp;</a></span>waitEvent</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">ManualResetEvent monitor.CommandManager.waitEvent = new ManualResetEvent(false)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00043">43</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a39c2c03f93b309e65a45ac91c6eb39bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39c2c03f93b309e65a45ac91c6eb39bd">&#9670;&nbsp;</a></span>waitForAcknowledge</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool monitor.CommandManager.waitForAcknowledge = false</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Flag to tell rogram to wait for an acknowledge from server </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00048">48</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<a id="a07639cd39445a379667a2450e78001b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a07639cd39445a379667a2450e78001b0">&#9670;&nbsp;</a></span>waitTimer</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">System.Timers.Timer monitor.CommandManager.waitTimer = new System.Timers.Timer()</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Timer for managing timeout </p>
<p class="definition">Definition at line <a class="el" href="_command_manager_8cs_source.html#l00042">42</a> of file <a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_command_manager_8cs_source.html">CommandManager.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacemonitor.html">monitor</a></li><li class="navelem"><a class="el" href="classmonitor_1_1_command_manager.html">CommandManager</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,23 +0,0 @@
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 ]
];

View file

@ -1,2 +0,0 @@
<map id="monitor.CommandManager" name="monitor.CommandManager">
</map>

View file

@ -1 +0,0 @@
ec8f855a949726bb444efe1a5eea1e95

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4,6 KiB

View file

@ -1,121 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_destijl_command_list.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">monitor.DestijlCommandList Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad31b6758839a4c3b1b6ec4c71635e631">DataCamArenaConfirm</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#aaaf85677671db1ef84fe67b2eb954f29">DataCamAskArena</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a6f578f9d52dd2b50370177a5c03a2af7">DataCamClose</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ab114adce60b63976d8304f2ad11b317a">DataCamComputePosition</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad3985694a06148f2014cb346e8891cba">DataCamInfirm</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a6380d1518931373bd0dfb84f888942e0">DataCamOpen</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad09dd921c6c8cf8c7d90a2c0a05d4056">DataCamStopComputePosition</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad97cbe948c71a4dc3fa95afbf9ca26d8">DataComClose</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a1bcde55da429bcf2c04ed6d0621e496f">DataComOpen</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#af570b0e8d14920402ce979778225ed68">HeaderMtsCamera</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#aa9fe4e71b7faec183ab64f4cf6ecd395">HeaderMtsComDmb</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#adbcf7adab9f5e8ead971affbbc64178b">HeaderMtsDmbOrder</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#acb283f1da96d8d522e3b28ca35187acd">HeaderMtsMessage</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#af494d7e1bddee8184873dc380a3066ba">HeaderStmAck</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a88de91fa6abdc122245ceb26fc21fd33">HeaderStmBat</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3ee8e0ecbb79faec9d24095d72cfbde">HeaderStmImage</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a54e9ebd5e8f34ac596b84b56bb2403f7">HeaderStmLostDmb</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad1fa4557b2d44dd888d8640f374c9f04">HeaderStmMes</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3dc86c7e90bba409317e63cf1c85a39">HeaderStmNoAck</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html#abf99a718161a5a9017d7011cea429ec0">HeaderStmPos</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_list.html">monitor.DestijlCommandList</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,477 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: monitor.DestijlCommandList Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_destijl_command_list.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classmonitor_1_1_destijl_command_list-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">monitor.DestijlCommandList Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Commands and options parameters used in Destijl project when communicating with server
<a href="classmonitor_1_1_destijl_command_list.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa9fe4e71b7faec183ab64f4cf6ecd395"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#aa9fe4e71b7faec183ab64f4cf6ecd395">HeaderMtsComDmb</a> = &quot;COM&quot;</td></tr>
<tr class="separator:aa9fe4e71b7faec183ab64f4cf6ecd395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbcf7adab9f5e8ead971affbbc64178b"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#adbcf7adab9f5e8ead971affbbc64178b">HeaderMtsDmbOrder</a> = &quot;DMB&quot;</td></tr>
<tr class="separator:adbcf7adab9f5e8ead971affbbc64178b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af570b0e8d14920402ce979778225ed68"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#af570b0e8d14920402ce979778225ed68">HeaderMtsCamera</a> = &quot;CAM&quot;</td></tr>
<tr class="separator:af570b0e8d14920402ce979778225ed68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb283f1da96d8d522e3b28ca35187acd"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#acb283f1da96d8d522e3b28ca35187acd">HeaderMtsMessage</a> = &quot;MSG&quot;</td></tr>
<tr class="separator:acb283f1da96d8d522e3b28ca35187acd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bcde55da429bcf2c04ed6d0621e496f"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a1bcde55da429bcf2c04ed6d0621e496f">DataComOpen</a> = &quot;o&quot;</td></tr>
<tr class="separator:a1bcde55da429bcf2c04ed6d0621e496f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad97cbe948c71a4dc3fa95afbf9ca26d8"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad97cbe948c71a4dc3fa95afbf9ca26d8">DataComClose</a> = &quot;C&quot;</td></tr>
<tr class="separator:ad97cbe948c71a4dc3fa95afbf9ca26d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6380d1518931373bd0dfb84f888942e0"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a6380d1518931373bd0dfb84f888942e0">DataCamOpen</a> = &quot;A&quot;</td></tr>
<tr class="separator:a6380d1518931373bd0dfb84f888942e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f578f9d52dd2b50370177a5c03a2af7"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a6f578f9d52dd2b50370177a5c03a2af7">DataCamClose</a> = &quot;I&quot;</td></tr>
<tr class="separator:a6f578f9d52dd2b50370177a5c03a2af7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaf85677671db1ef84fe67b2eb954f29"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#aaaf85677671db1ef84fe67b2eb954f29">DataCamAskArena</a> = &quot;y&quot;</td></tr>
<tr class="separator:aaaf85677671db1ef84fe67b2eb954f29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad31b6758839a4c3b1b6ec4c71635e631"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad31b6758839a4c3b1b6ec4c71635e631">DataCamArenaConfirm</a> = &quot;x&quot;</td></tr>
<tr class="separator:ad31b6758839a4c3b1b6ec4c71635e631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3985694a06148f2014cb346e8891cba"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad3985694a06148f2014cb346e8891cba">DataCamInfirm</a> = &quot;z&quot;</td></tr>
<tr class="separator:ad3985694a06148f2014cb346e8891cba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab114adce60b63976d8304f2ad11b317a"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ab114adce60b63976d8304f2ad11b317a">DataCamComputePosition</a> = &quot;p&quot;</td></tr>
<tr class="separator:ab114adce60b63976d8304f2ad11b317a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad09dd921c6c8cf8c7d90a2c0a05d4056"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad09dd921c6c8cf8c7d90a2c0a05d4056">DataCamStopComputePosition</a> = &quot;s&quot;</td></tr>
<tr class="separator:ad09dd921c6c8cf8c7d90a2c0a05d4056"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af494d7e1bddee8184873dc380a3066ba"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#af494d7e1bddee8184873dc380a3066ba">HeaderStmAck</a> = &quot;ACK&quot;</td></tr>
<tr class="separator:af494d7e1bddee8184873dc380a3066ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3dc86c7e90bba409317e63cf1c85a39"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3dc86c7e90bba409317e63cf1c85a39">HeaderStmNoAck</a> = &quot;NAK&quot;</td></tr>
<tr class="separator:ae3dc86c7e90bba409317e63cf1c85a39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54e9ebd5e8f34ac596b84b56bb2403f7"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a54e9ebd5e8f34ac596b84b56bb2403f7">HeaderStmLostDmb</a> = &quot;LCD&quot;</td></tr>
<tr class="separator:a54e9ebd5e8f34ac596b84b56bb2403f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3ee8e0ecbb79faec9d24095d72cfbde"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3ee8e0ecbb79faec9d24095d72cfbde">HeaderStmImage</a> = &quot;IMG&quot;</td></tr>
<tr class="separator:ae3ee8e0ecbb79faec9d24095d72cfbde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf99a718161a5a9017d7011cea429ec0"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#abf99a718161a5a9017d7011cea429ec0">HeaderStmPos</a> = &quot;POS&quot;</td></tr>
<tr class="separator:abf99a718161a5a9017d7011cea429ec0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1fa4557b2d44dd888d8640f374c9f04"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#ad1fa4557b2d44dd888d8640f374c9f04">HeaderStmMes</a> = &quot;MSG&quot;</td></tr>
<tr class="separator:ad1fa4557b2d44dd888d8640f374c9f04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88de91fa6abdc122245ceb26fc21fd33"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_destijl_command_list.html#a88de91fa6abdc122245ceb26fc21fd33">HeaderStmBat</a> = &quot;BAT&quot;</td></tr>
<tr class="separator:a88de91fa6abdc122245ceb26fc21fd33"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Commands and options parameters used in Destijl project when communicating with server </p>
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00029">29</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="ad31b6758839a4c3b1b6ec4c71635e631"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad31b6758839a4c3b1b6ec4c71635e631">&#9670;&nbsp;</a></span>DataCamArenaConfirm</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataCamArenaConfirm = &quot;x&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00042">42</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="aaaf85677671db1ef84fe67b2eb954f29"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaf85677671db1ef84fe67b2eb954f29">&#9670;&nbsp;</a></span>DataCamAskArena</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataCamAskArena = &quot;y&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00041">41</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a6f578f9d52dd2b50370177a5c03a2af7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f578f9d52dd2b50370177a5c03a2af7">&#9670;&nbsp;</a></span>DataCamClose</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataCamClose = &quot;I&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00040">40</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="ab114adce60b63976d8304f2ad11b317a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab114adce60b63976d8304f2ad11b317a">&#9670;&nbsp;</a></span>DataCamComputePosition</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataCamComputePosition = &quot;p&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00044">44</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="ad3985694a06148f2014cb346e8891cba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3985694a06148f2014cb346e8891cba">&#9670;&nbsp;</a></span>DataCamInfirm</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataCamInfirm = &quot;z&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00043">43</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a6380d1518931373bd0dfb84f888942e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6380d1518931373bd0dfb84f888942e0">&#9670;&nbsp;</a></span>DataCamOpen</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataCamOpen = &quot;A&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00039">39</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="ad09dd921c6c8cf8c7d90a2c0a05d4056"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad09dd921c6c8cf8c7d90a2c0a05d4056">&#9670;&nbsp;</a></span>DataCamStopComputePosition</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataCamStopComputePosition = &quot;s&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00045">45</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="ad97cbe948c71a4dc3fa95afbf9ca26d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad97cbe948c71a4dc3fa95afbf9ca26d8">&#9670;&nbsp;</a></span>DataComClose</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataComClose = &quot;C&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00037">37</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a1bcde55da429bcf2c04ed6d0621e496f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1bcde55da429bcf2c04ed6d0621e496f">&#9670;&nbsp;</a></span>DataComOpen</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.DataComOpen = &quot;o&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00036">36</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="af570b0e8d14920402ce979778225ed68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af570b0e8d14920402ce979778225ed68">&#9670;&nbsp;</a></span>HeaderMtsCamera</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderMtsCamera = &quot;CAM&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00033">33</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="aa9fe4e71b7faec183ab64f4cf6ecd395"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9fe4e71b7faec183ab64f4cf6ecd395">&#9670;&nbsp;</a></span>HeaderMtsComDmb</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderMtsComDmb = &quot;COM&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00031">31</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="adbcf7adab9f5e8ead971affbbc64178b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbcf7adab9f5e8ead971affbbc64178b">&#9670;&nbsp;</a></span>HeaderMtsDmbOrder</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderMtsDmbOrder = &quot;DMB&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00032">32</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="acb283f1da96d8d522e3b28ca35187acd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb283f1da96d8d522e3b28ca35187acd">&#9670;&nbsp;</a></span>HeaderMtsMessage</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderMtsMessage = &quot;MSG&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00034">34</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="af494d7e1bddee8184873dc380a3066ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af494d7e1bddee8184873dc380a3066ba">&#9670;&nbsp;</a></span>HeaderStmAck</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderStmAck = &quot;ACK&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00047">47</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a88de91fa6abdc122245ceb26fc21fd33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88de91fa6abdc122245ceb26fc21fd33">&#9670;&nbsp;</a></span>HeaderStmBat</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderStmBat = &quot;BAT&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00053">53</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="ae3ee8e0ecbb79faec9d24095d72cfbde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3ee8e0ecbb79faec9d24095d72cfbde">&#9670;&nbsp;</a></span>HeaderStmImage</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderStmImage = &quot;IMG&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00050">50</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a54e9ebd5e8f34ac596b84b56bb2403f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54e9ebd5e8f34ac596b84b56bb2403f7">&#9670;&nbsp;</a></span>HeaderStmLostDmb</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderStmLostDmb = &quot;LCD&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00049">49</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="ad1fa4557b2d44dd888d8640f374c9f04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1fa4557b2d44dd888d8640f374c9f04">&#9670;&nbsp;</a></span>HeaderStmMes</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderStmMes = &quot;MSG&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00052">52</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="ae3dc86c7e90bba409317e63cf1c85a39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3dc86c7e90bba409317e63cf1c85a39">&#9670;&nbsp;</a></span>HeaderStmNoAck</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderStmNoAck = &quot;NAK&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00048">48</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="abf99a718161a5a9017d7011cea429ec0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf99a718161a5a9017d7011cea429ec0">&#9670;&nbsp;</a></span>HeaderStmPos</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.DestijlCommandList.HeaderStmPos = &quot;POS&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00051">51</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacemonitor.html">monitor</a></li><li class="navelem"><a class="el" href="classmonitor_1_1_destijl_command_list.html">DestijlCommandList</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,23 +0,0 @@
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 ]
];

View file

@ -1,134 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_destijl_command_manager.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">monitor.DestijlCommandManager Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#ac58ed9c19d8c9ed547c35fb96a983668">CameraArenaConfirm</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a614be7a565a3a10308f20b073b40383f">CameraArenaInfirm</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a8d178480fc09d474760eae995c9aa096">CameraAskArena</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a94b085d9de512cd7e80bcefd516d460c">CameraClose</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#ad04df7759d2698334a410fe32b78e21e">CameraComputePosition</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a292d7e2961ff31a80d9abf79b7b41126">CameraOpen</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a928f987f8f5f12135614678585ab2726">CameraStopComputePosition</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#af1f57d8e3e980322e37da2cd3b61d1d7">Close</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a9efdcd3d35f46329e7aa167ad60062a9">commandManager</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5c10e8aaae48b83be0267aefa23eb62d">commandReceivedEvent</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#acc08ece6a89e842188364226299b3d43">CommandReceivedEvent</a>(string header, string data, byte[] buffer)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0">CommandStatus</a> enum name</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a47eb72ec1ae43505966bc5cf09c79e58">CreateCommand</a>(string header, string data)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a00c3fb9f163c4d9025b356a5a7e74012">DecodeStatus</a>(CommandManager.CommandManagerStatus localStatus, string answer)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a78bf0be922afbd9c5f8f4115fa83ad47">DestijlCommandManager</a>(CommandReceivedEvent callback)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#ab83dbda4196240c242a5ac101901bb19">OnCommandReceived</a>(string msg, byte[] buffer)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5dd6b75386a554c2f026eee787477bb0">Open</a>(string hostname)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a842300511efb20783c271764ee0e3336">Open</a>(string hostname, int port)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a88f907fc9c5fd8cd8d5976f45c323903">receivedData</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a1b99d771e7af8ffc8ced10d35e5e77ce">receivedHeader</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a0139bec493c965670226381f2ba63a23">RobotCloseCom</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a2ec8021340de939318ace65b8462b930">RobotGetBattery</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a7ddd552ed82382a09b4af075c34fb989">RobotGetVersion</a>(out string version)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5976fe792e270c63bd9f0f4c792df129">RobotMove</a>(int distance)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#aa1440a571e6aaf11203b4e4a4ed116d5">RobotOpenCom</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#ae1af16558213c3830ea3006e8e8c5e28">RobotPing</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#acb242a71fa40d4001dc1bc31d5bdc53f">RobotPowerOff</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#abe223aa12456e3f1c2519e9c379d891a">RobotReset</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a0c964baa3ecd4ff9d19857061413938b">RobotStartWithoutWatchdog</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#ade46aceeb79556e31fe632e9602e1636">RobotStartWithWatchdog</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a3f7ee6f1803cfb8b2eb4290f9e9acced">RobotTurn</a>(int angle)</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#a86a1fb03dc480dab8d6758aa0d675cd3">timeout</a></td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html#abc51dc980d7ba7e59a571e579cb626b9">~DestijlCommandManager</a>()</td><td class="entry"><a class="el" href="classmonitor_1_1_destijl_command_manager.html">monitor.DestijlCommandManager</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,43 +0,0 @@
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 ],
[ "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 ]
];

View file

@ -1,3 +0,0 @@
<map id="monitor.DestijlCommandManager" name="monitor.DestijlCommandManager">
<area shape="rect" id="node2" href="$classmonitor_1_1_command_manager.html" title="Command Manager. Use for timeout managment during reception of data Used as intermediate layer betwee..." alt="" coords="24,95,203,121"/>
</map>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9,1 KiB

View file

@ -1,102 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_main_class.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">monitor.MainClass Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmonitor_1_1_main_class.html">monitor.MainClass</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1">Main</a>(string[] args)</td><td class="entry"><a class="el" href="classmonitor_1_1_main_class.html">monitor.MainClass</a></td><td class="entry"><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,143 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: monitor.MainClass Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_main_class.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classmonitor_1_1_main_class-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">monitor.MainClass Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a991579f985cc4071757b30a8b035e7c1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1">Main</a> (string[] args)</td></tr>
<tr class="separator:a991579f985cc4071757b30a8b035e7c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="_program_8cs_source.html#l00027">27</a> of file <a class="el" href="_program_8cs_source.html">Program.cs</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a991579f985cc4071757b30a8b035e7c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a991579f985cc4071757b30a8b035e7c1">&#9670;&nbsp;</a></span>Main()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void monitor.MainClass.Main </td>
<td>(</td>
<td class="paramtype">string []&#160;</td>
<td class="paramname"><em>args</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_program_8cs_source.html#l00029">29</a> of file <a class="el" href="_program_8cs_source.html">Program.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_program_8cs_source.html">Program.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacemonitor.html">monitor</a></li><li class="navelem"><a class="el" href="classmonitor_1_1_main_class.html">MainClass</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,4 +0,0 @@
var classmonitor_1_1_main_class =
[
[ "Main", "classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1", null ]
];

View file

@ -1,111 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_robot_command_list.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">monitor.RobotCommandList Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a374eb526d14b8499e47b065230afeed0">RobotGetBattery</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a52a901f4e013dc33ff491c5fcda76860">RobotGetBusyState</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a9a845beb5c040e4813f03cee7cd1cb71">RobotGetVersion</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#af7017bac04f1976fe1c37e8ec77bcbce">RobotMove</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a93de788c0d7ed40caaa2e3912a429831">RobotPing</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a2e9616c1b75719c208902e595b79cc48">RobotPowerOff</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a9ef80510dfe9ca241af290b003766526">RobotReset</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a92acfe998bb9d265dd1f34f68f718386">RobotStartWithoutWatchdog</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#aafa5d0e5fec3afe6586cca8b88d45c85">RobotStartWithWatchdog</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html#a2b88fc42fba8229f163e03e7252a77e6">RobotTurn</a></td><td class="entry"><a class="el" href="classmonitor_1_1_robot_command_list.html">monitor.RobotCommandList</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,297 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: monitor.RobotCommandList Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classmonitor_1_1_robot_command_list.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="classmonitor_1_1_robot_command_list-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">monitor.RobotCommandList Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Commands used for robot messages
<a href="classmonitor_1_1_robot_command_list.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a93de788c0d7ed40caaa2e3912a429831"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a93de788c0d7ed40caaa2e3912a429831">RobotPing</a> = &quot;p&quot;</td></tr>
<tr class="separator:a93de788c0d7ed40caaa2e3912a429831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ef80510dfe9ca241af290b003766526"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a9ef80510dfe9ca241af290b003766526">RobotReset</a> = &quot;r&quot;</td></tr>
<tr class="separator:a9ef80510dfe9ca241af290b003766526"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92acfe998bb9d265dd1f34f68f718386"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a92acfe998bb9d265dd1f34f68f718386">RobotStartWithoutWatchdog</a> = &quot;u&quot;</td></tr>
<tr class="separator:a92acfe998bb9d265dd1f34f68f718386"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafa5d0e5fec3afe6586cca8b88d45c85"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#aafa5d0e5fec3afe6586cca8b88d45c85">RobotStartWithWatchdog</a> = &quot;W&quot;</td></tr>
<tr class="separator:aafa5d0e5fec3afe6586cca8b88d45c85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a374eb526d14b8499e47b065230afeed0"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a374eb526d14b8499e47b065230afeed0">RobotGetBattery</a> = &quot;v&quot;</td></tr>
<tr class="separator:a374eb526d14b8499e47b065230afeed0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52a901f4e013dc33ff491c5fcda76860"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a52a901f4e013dc33ff491c5fcda76860">RobotGetBusyState</a> = &quot;b&quot;</td></tr>
<tr class="separator:a52a901f4e013dc33ff491c5fcda76860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7017bac04f1976fe1c37e8ec77bcbce"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#af7017bac04f1976fe1c37e8ec77bcbce">RobotMove</a> = &quot;M&quot;</td></tr>
<tr class="separator:af7017bac04f1976fe1c37e8ec77bcbce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b88fc42fba8229f163e03e7252a77e6"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a2b88fc42fba8229f163e03e7252a77e6">RobotTurn</a> = &quot;T&quot;</td></tr>
<tr class="separator:a2b88fc42fba8229f163e03e7252a77e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a845beb5c040e4813f03cee7cd1cb71"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a9a845beb5c040e4813f03cee7cd1cb71">RobotGetVersion</a> = &quot;V&quot;</td></tr>
<tr class="separator:a9a845beb5c040e4813f03cee7cd1cb71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e9616c1b75719c208902e595b79cc48"><td class="memItemLeft" align="right" valign="top">const string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmonitor_1_1_robot_command_list.html#a2e9616c1b75719c208902e595b79cc48">RobotPowerOff</a> = &quot;z&quot;</td></tr>
<tr class="separator:a2e9616c1b75719c208902e595b79cc48"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Commands used for robot messages </p>
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00059">59</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div><h2 class="groupheader">Member Data Documentation</h2>
<a id="a374eb526d14b8499e47b065230afeed0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a374eb526d14b8499e47b065230afeed0">&#9670;&nbsp;</a></span>RobotGetBattery</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotGetBattery = &quot;v&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00065">65</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a52a901f4e013dc33ff491c5fcda76860"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52a901f4e013dc33ff491c5fcda76860">&#9670;&nbsp;</a></span>RobotGetBusyState</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotGetBusyState = &quot;b&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00066">66</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a9a845beb5c040e4813f03cee7cd1cb71"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a845beb5c040e4813f03cee7cd1cb71">&#9670;&nbsp;</a></span>RobotGetVersion</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotGetVersion = &quot;V&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00069">69</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="af7017bac04f1976fe1c37e8ec77bcbce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af7017bac04f1976fe1c37e8ec77bcbce">&#9670;&nbsp;</a></span>RobotMove</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotMove = &quot;M&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00067">67</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a93de788c0d7ed40caaa2e3912a429831"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93de788c0d7ed40caaa2e3912a429831">&#9670;&nbsp;</a></span>RobotPing</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotPing = &quot;p&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00061">61</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a2e9616c1b75719c208902e595b79cc48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e9616c1b75719c208902e595b79cc48">&#9670;&nbsp;</a></span>RobotPowerOff</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotPowerOff = &quot;z&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00070">70</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a9ef80510dfe9ca241af290b003766526"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ef80510dfe9ca241af290b003766526">&#9670;&nbsp;</a></span>RobotReset</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotReset = &quot;r&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00062">62</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a92acfe998bb9d265dd1f34f68f718386"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92acfe998bb9d265dd1f34f68f718386">&#9670;&nbsp;</a></span>RobotStartWithoutWatchdog</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotStartWithoutWatchdog = &quot;u&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00063">63</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="aafa5d0e5fec3afe6586cca8b88d45c85"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafa5d0e5fec3afe6586cca8b88d45c85">&#9670;&nbsp;</a></span>RobotStartWithWatchdog</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotStartWithWatchdog = &quot;W&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00064">64</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<a id="a2b88fc42fba8229f163e03e7252a77e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b88fc42fba8229f163e03e7252a77e6">&#9670;&nbsp;</a></span>RobotTurn</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const string monitor.RobotCommandList.RobotTurn = &quot;T&quot;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="_destijl_command_manager_8cs_source.html#l00068">68</a> of file <a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="_destijl_command_manager_8cs_source.html">DestijlCommandManager.cs</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="namespacemonitor.html">monitor</a></li><li class="navelem"><a class="el" href="classmonitor_1_1_robot_command_list.html">RobotCommandList</a></li>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,13 +0,0 @@
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 ]
];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 746 B

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3,7 KiB

View file

@ -1,104 +0,0 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}
$(document).ready(function() {
$('.code,.codeRef').each(function() {
$(this).data('powertip',$('#'+$(this).attr('href').replace(/.*\//,'').replace(/[^a-z_A-Z0-9]/g,'_')).html());
$(this).powerTip({ placement: 's', smartPlacement: true, mouseOnToPopup: true });
});
});

View file

@ -1,107 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('files.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all files with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_client_8cs_source.html"><span class="icondoc"></span></a><a class="el" href="_client_8cs.html" target="_self">Client.cs</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_command_manager_8cs_source.html"><span class="icondoc"></span></a><a class="el" href="_command_manager_8cs.html" target="_self">CommandManager.cs</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_destijl_command_manager_8cs_source.html"><span class="icondoc"></span></a><a class="el" href="_destijl_command_manager_8cs.html" target="_self">DestijlCommandManager.cs</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_monitor_u_i_8cs_source.html"><span class="icondoc"></span></a><a class="el" href="_monitor_u_i_8cs.html" target="_self">MonitorUI.cs</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_program_8cs_source.html"><span class="icondoc"></span></a><a class="el" href="_program_8cs.html" target="_self">Program.cs</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,20 +0,0 @@
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" ]
] ]
];

Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 597 B

View file

@ -1,477 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('functions.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>
<h3><a id="index_a"></a>- a -</h3><ul>
<li>AdjustControls()
: <a class="el" href="class_main_window.html#a9a0f3d4cd871609f12d328af2f588664">MainWindow</a>
</li>
</ul>
<h3><a id="index_b"></a>- b -</h3><ul>
<li>batteryTimer
: <a class="el" href="class_main_window.html#a57f0325d8b8a63be586001b9a469d9ae">MainWindow</a>
</li>
<li>buffer
: <a class="el" href="classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762">monitor.Client</a>
</li>
<li>BufferMaxSize
: <a class="el" href="classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29">monitor.Client</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>CameraArenaConfirm()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ac58ed9c19d8c9ed547c35fb96a983668">monitor.DestijlCommandManager</a>
</li>
<li>CameraArenaInfirm()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a614be7a565a3a10308f20b073b40383f">monitor.DestijlCommandManager</a>
</li>
<li>CameraAskArena()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a8d178480fc09d474760eae995c9aa096">monitor.DestijlCommandManager</a>
</li>
<li>CameraClose()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a94b085d9de512cd7e80bcefd516d460c">monitor.DestijlCommandManager</a>
</li>
<li>CameraComputePosition()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ad04df7759d2698334a410fe32b78e21e">monitor.DestijlCommandManager</a>
</li>
<li>CameraOpen()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a292d7e2961ff31a80d9abf79b7b41126">monitor.DestijlCommandManager</a>
</li>
<li>CameraStopComputePosition()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a928f987f8f5f12135614678585ab2726">monitor.DestijlCommandManager</a>
</li>
<li>ChangeState()
: <a class="el" href="class_main_window.html#aedc27cabbe1604313a452fcbf3ffe9f4">MainWindow</a>
</li>
<li>client
: <a class="el" href="classmonitor_1_1_client.html#a4867b48ebfa930a80662c552f2911430">monitor.Client</a>
</li>
<li>Close()
: <a class="el" href="classmonitor_1_1_client.html#ae6c0cbe19d622b008fd1f6d01d9cb315">monitor.Client</a>
, <a class="el" href="classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6">monitor.CommandManager</a>
, <a class="el" href="classmonitor_1_1_destijl_command_manager.html#af1f57d8e3e980322e37da2cd3b61d1d7">monitor.DestijlCommandManager</a>
</li>
<li>cmdManager
: <a class="el" href="class_main_window.html#a0b60450970b8a6fb6e016d5c0728e474">MainWindow</a>
</li>
<li>CommandManager()
: <a class="el" href="classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72">monitor.CommandManager</a>
</li>
<li>commandManager
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a9efdcd3d35f46329e7aa167ad60062a9">monitor.DestijlCommandManager</a>
</li>
<li>CommandManagerStatus
: <a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">monitor.CommandManager</a>
</li>
<li>CommandReceivedEvent()
: <a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">monitor.CommandManager</a>
</li>
<li>commandReceivedEvent
: <a class="el" href="classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa">monitor.CommandManager</a>
, <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5c10e8aaae48b83be0267aefa23eb62d">monitor.DestijlCommandManager</a>
</li>
<li>CommandReceivedEvent()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#acc08ece6a89e842188364226299b3d43">monitor.DestijlCommandManager</a>
</li>
<li>CommandStatus
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0">monitor.DestijlCommandManager</a>
</li>
<li>CreateCommand()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a47eb72ec1ae43505966bc5cf09c79e58">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>DataCamArenaConfirm
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad31b6758839a4c3b1b6ec4c71635e631">monitor.DestijlCommandList</a>
</li>
<li>DataCamAskArena
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#aaaf85677671db1ef84fe67b2eb954f29">monitor.DestijlCommandList</a>
</li>
<li>DataCamClose
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a6f578f9d52dd2b50370177a5c03a2af7">monitor.DestijlCommandList</a>
</li>
<li>DataCamComputePosition
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ab114adce60b63976d8304f2ad11b317a">monitor.DestijlCommandList</a>
</li>
<li>DataCamInfirm
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad3985694a06148f2014cb346e8891cba">monitor.DestijlCommandList</a>
</li>
<li>DataCamOpen
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a6380d1518931373bd0dfb84f888942e0">monitor.DestijlCommandList</a>
</li>
<li>DataCamStopComputePosition
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad09dd921c6c8cf8c7d90a2c0a05d4056">monitor.DestijlCommandList</a>
</li>
<li>DataComClose
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad97cbe948c71a4dc3fa95afbf9ca26d8">monitor.DestijlCommandList</a>
</li>
<li>DataComOpen
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a1bcde55da429bcf2c04ed6d0621e496f">monitor.DestijlCommandList</a>
</li>
<li>DecodeStatus()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a00c3fb9f163c4d9025b356a5a7e74012">monitor.DestijlCommandManager</a>
</li>
<li>defaultIP
: <a class="el" href="classmonitor_1_1_client.html#a326a20fe68a86757e16a6e45b8012640">monitor.Client</a>
</li>
<li>defaultPort
: <a class="el" href="classmonitor_1_1_client.html#ad0a9bfc361ccef7443625f399e67f84a">monitor.Client</a>
</li>
<li>DestijlCommandManager()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a78bf0be922afbd9c5f8f4115fa83ad47">monitor.DestijlCommandManager</a>
</li>
<li>DetectArena()
: <a class="el" href="class_main_window.html#a89c79ce9ca4114ca9c50f32dc080e9cd">MainWindow</a>
</li>
<li>drawingareaCameraPixbuf
: <a class="el" href="class_main_window.html#a41581e449b18e87acbdff5baa12c2050">MainWindow</a>
</li>
</ul>
<h3><a id="index_h"></a>- h -</h3><ul>
<li>HeaderMtsCamera
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#af570b0e8d14920402ce979778225ed68">monitor.DestijlCommandList</a>
</li>
<li>HeaderMtsComDmb
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#aa9fe4e71b7faec183ab64f4cf6ecd395">monitor.DestijlCommandList</a>
</li>
<li>HeaderMtsDmbOrder
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#adbcf7adab9f5e8ead971affbbc64178b">monitor.DestijlCommandList</a>
</li>
<li>HeaderMtsMessage
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#acb283f1da96d8d522e3b28ca35187acd">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmAck
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#af494d7e1bddee8184873dc380a3066ba">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmBat
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a88de91fa6abdc122245ceb26fc21fd33">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmImage
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3ee8e0ecbb79faec9d24095d72cfbde">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmLostDmb
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a54e9ebd5e8f34ac596b84b56bb2403f7">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmMes
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad1fa4557b2d44dd888d8640f374c9f04">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmNoAck
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3dc86c7e90bba409317e63cf1c85a39">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmPos
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#abf99a718161a5a9017d7011cea429ec0">monitor.DestijlCommandList</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>initialReceiveBufferIndex
: <a class="el" href="classmonitor_1_1_client.html#afbbf4cf14d1a11747f6103e726dee77e">monitor.Client</a>
</li>
<li>isBusy
: <a class="el" href="classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db">monitor.CommandManager</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>Main()
: <a class="el" href="classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1">monitor.MainClass</a>
</li>
<li>MainWindow()
: <a class="el" href="class_main_window.html#af607d50e4d1b04d3c494661489283f45">MainWindow</a>
</li>
<li>message
: <a class="el" href="classmonitor_1_1_client.html#a2ddb7073c4bf8a42c231939d5c21d68e">monitor.Client</a>
</li>
<li>MessagePopup()
: <a class="el" href="class_main_window.html#afc4f923aaa481a93dddaff6303efb9e0">MainWindow</a>
</li>
<li>messageReceived
: <a class="el" href="classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57">monitor.CommandManager</a>
</li>
</ul>
<h3><a id="index_n"></a>- n -</h3><ul>
<li>newLength
: <a class="el" href="classmonitor_1_1_client.html#a7083940b8fea9df2b080e3844549e805">monitor.Client</a>
</li>
</ul>
<h3><a id="index_o"></a>- o -</h3><ul>
<li>OnBatteryTimerElapsed()
: <a class="el" href="class_main_window.html#af303b70c08cda04a76f6418f727c4891">MainWindow</a>
</li>
<li>OnButtonAskArenaClicked()
: <a class="el" href="class_main_window.html#a31e299085d6286d680bd488c73fdff82">MainWindow</a>
</li>
<li>OnButtonMouvClicked()
: <a class="el" href="class_main_window.html#a7f8d06747f887216ab8c941ad10cb48b">MainWindow</a>
</li>
<li>OnButtonRobotActivationClicked()
: <a class="el" href="class_main_window.html#a2b5e11a49a10b24c59bebb377cdfeae8">MainWindow</a>
</li>
<li>OnButtonServerConnectionClicked()
: <a class="el" href="class_main_window.html#ac0acc6c3a63f405f14ec8e4d132a2661">MainWindow</a>
</li>
<li>OnCheckButtonCameraOnClicked()
: <a class="el" href="class_main_window.html#af4b587cdd614d5bdb8d9158a1f59e4fa">MainWindow</a>
</li>
<li>OnCheckButtonRobotPositionClicked()
: <a class="el" href="class_main_window.html#a20d07605619027d82a30552f294b128f">MainWindow</a>
</li>
<li>OnCommandReceived()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ab83dbda4196240c242a5ac101901bb19">monitor.DestijlCommandManager</a>
</li>
<li>OnCommandReceivedEvent()
: <a class="el" href="class_main_window.html#a4b651f10b9079c128b9e36d15ad10211">MainWindow</a>
</li>
<li>OnDeleteEvent()
: <a class="el" href="class_main_window.html#a64bdcb29cebb58957790da1ee2733fe1">MainWindow</a>
</li>
<li>OnDrawingAreaCameraExposeEvent()
: <a class="el" href="class_main_window.html#afe4b0001f191554aed5d9b65208a06f5">MainWindow</a>
</li>
<li>OnMessageReception()
: <a class="el" href="classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65">monitor.CommandManager</a>
</li>
<li>OnMessageTimeout()
: <a class="el" href="classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df">monitor.CommandManager</a>
</li>
<li>OnQuitActionActivated()
: <a class="el" href="class_main_window.html#ab54b643c364b46a150f6f993267bb709">MainWindow</a>
</li>
<li>OnShowLogWindowActionActivated()
: <a class="el" href="class_main_window.html#a87132738a6ca496303940d56e091bdc7">MainWindow</a>
</li>
<li>Open()
: <a class="el" href="classmonitor_1_1_client.html#af802cd428aa08b9604e2246f11e1fe61">monitor.Client</a>
, <a class="el" href="classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee">monitor.CommandManager</a>
, <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5dd6b75386a554c2f026eee787477bb0">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>packetCounter
: <a class="el" href="classmonitor_1_1_client.html#a7eb13840c83beb2ab191cae3ba3210c9">monitor.Client</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>ReadCallback()
: <a class="el" href="classmonitor_1_1_client.html#a8dd2eb26c164d0f566dd6c679ba340e0">monitor.Client</a>
</li>
<li>readEvent
: <a class="el" href="classmonitor_1_1_client.html#a01cb2a551d81fd82d2f7015e177f0f18">monitor.Client</a>
</li>
<li>ReadEvent()
: <a class="el" href="classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378">monitor.Client</a>
</li>
<li>receiveBuffer
: <a class="el" href="classmonitor_1_1_client.html#aade32a6043e0dc629509f0e1c0112a24">monitor.Client</a>
</li>
<li>receivedData
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a88f907fc9c5fd8cd8d5976f45c323903">monitor.DestijlCommandManager</a>
</li>
<li>receivedHeader
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a1b99d771e7af8ffc8ced10d35e5e77ce">monitor.DestijlCommandManager</a>
</li>
<li>RobotCloseCom()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a0139bec493c965670226381f2ba63a23">monitor.DestijlCommandManager</a>
</li>
<li>RobotGetBattery()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a2ec8021340de939318ace65b8462b930">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#a374eb526d14b8499e47b065230afeed0">monitor.RobotCommandList</a>
</li>
<li>RobotGetBusyState
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a52a901f4e013dc33ff491c5fcda76860">monitor.RobotCommandList</a>
</li>
<li>RobotGetVersion()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a7ddd552ed82382a09b4af075c34fb989">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#a9a845beb5c040e4813f03cee7cd1cb71">monitor.RobotCommandList</a>
</li>
<li>RobotMove()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5976fe792e270c63bd9f0f4c792df129">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#af7017bac04f1976fe1c37e8ec77bcbce">monitor.RobotCommandList</a>
</li>
<li>RobotOpenCom()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#aa1440a571e6aaf11203b4e4a4ed116d5">monitor.DestijlCommandManager</a>
</li>
<li>RobotPing()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ae1af16558213c3830ea3006e8e8c5e28">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#a93de788c0d7ed40caaa2e3912a429831">monitor.RobotCommandList</a>
</li>
<li>RobotPowerOff()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#acb242a71fa40d4001dc1bc31d5bdc53f">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#a2e9616c1b75719c208902e595b79cc48">monitor.RobotCommandList</a>
</li>
<li>RobotReset()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#abe223aa12456e3f1c2519e9c379d891a">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#a9ef80510dfe9ca241af290b003766526">monitor.RobotCommandList</a>
</li>
<li>RobotStartWithoutWatchdog()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a0c964baa3ecd4ff9d19857061413938b">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#a92acfe998bb9d265dd1f34f68f718386">monitor.RobotCommandList</a>
</li>
<li>RobotStartWithWatchdog()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ade46aceeb79556e31fe632e9602e1636">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#aafa5d0e5fec3afe6586cca8b88d45c85">monitor.RobotCommandList</a>
</li>
<li>RobotTurn()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a3f7ee6f1803cfb8b2eb4290f9e9acced">monitor.DestijlCommandManager</a>
, <a class="el" href="classmonitor_1_1_robot_command_list.html#a2b88fc42fba8229f163e03e7252a77e6">monitor.RobotCommandList</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>SendCommand()
: <a class="el" href="classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363">monitor.CommandManager</a>
</li>
<li>stream
: <a class="el" href="classmonitor_1_1_client.html#a8de2a9e4fe2c2e896849ddd33d80d759">monitor.Client</a>
</li>
<li>SystemState
: <a class="el" href="class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3d">MainWindow</a>
</li>
<li>systemState
: <a class="el" href="class_main_window.html#a105025ee1bdfac188f1ce640d593550d">MainWindow</a>
</li>
</ul>
<h3><a id="index_t"></a>- t -</h3><ul>
<li>timeout
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a86a1fb03dc480dab8d6758aa0d675cd3">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_w"></a>- w -</h3><ul>
<li>waitEvent
: <a class="el" href="classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447">monitor.CommandManager</a>
</li>
<li>waitForAcknowledge
: <a class="el" href="classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd">monitor.CommandManager</a>
</li>
<li>waitTimer
: <a class="el" href="classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0">monitor.CommandManager</a>
</li>
<li>Write()
: <a class="el" href="classmonitor_1_1_client.html#a081413295e7a96662b39b2ddec854b02">monitor.Client</a>
</li>
</ul>
<h3><a id="index_0x7e"></a>- ~ -</h3><ul>
<li>~CommandManager()
: <a class="el" href="classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e">monitor.CommandManager</a>
</li>
<li>~DestijlCommandManager()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#abc51dc980d7ba7e59a571e579cb626b9">monitor.DestijlCommandManager</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,105 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Class Members - Enumerations</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('functions_enum.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>CommandManagerStatus
: <a class="el" href="classmonitor_1_1_command_manager.html#ac8ca53031468acc8be05c37586671a9b">monitor.CommandManager</a>
</li>
<li>CommandStatus
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a9cb23e7493a32872ac808f3b63200fb0">monitor.DestijlCommandManager</a>
</li>
<li>SystemState
: <a class="el" href="class_main_window.html#a7b18ca1f8f71faf272c9856aaf7b8e3d">MainWindow</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,291 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('functions_func.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index_a"></a>- a -</h3><ul>
<li>AdjustControls()
: <a class="el" href="class_main_window.html#a9a0f3d4cd871609f12d328af2f588664">MainWindow</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>CameraArenaConfirm()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ac58ed9c19d8c9ed547c35fb96a983668">monitor.DestijlCommandManager</a>
</li>
<li>CameraArenaInfirm()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a614be7a565a3a10308f20b073b40383f">monitor.DestijlCommandManager</a>
</li>
<li>CameraAskArena()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a8d178480fc09d474760eae995c9aa096">monitor.DestijlCommandManager</a>
</li>
<li>CameraClose()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a94b085d9de512cd7e80bcefd516d460c">monitor.DestijlCommandManager</a>
</li>
<li>CameraComputePosition()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ad04df7759d2698334a410fe32b78e21e">monitor.DestijlCommandManager</a>
</li>
<li>CameraOpen()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a292d7e2961ff31a80d9abf79b7b41126">monitor.DestijlCommandManager</a>
</li>
<li>CameraStopComputePosition()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a928f987f8f5f12135614678585ab2726">monitor.DestijlCommandManager</a>
</li>
<li>ChangeState()
: <a class="el" href="class_main_window.html#aedc27cabbe1604313a452fcbf3ffe9f4">MainWindow</a>
</li>
<li>Close()
: <a class="el" href="classmonitor_1_1_client.html#ae6c0cbe19d622b008fd1f6d01d9cb315">monitor.Client</a>
, <a class="el" href="classmonitor_1_1_command_manager.html#ab28b0e5a2641391e655aaaaa05a1fdf6">monitor.CommandManager</a>
, <a class="el" href="classmonitor_1_1_destijl_command_manager.html#af1f57d8e3e980322e37da2cd3b61d1d7">monitor.DestijlCommandManager</a>
</li>
<li>CommandManager()
: <a class="el" href="classmonitor_1_1_command_manager.html#ac2248c90d3a59bc2bf376cd876cece72">monitor.CommandManager</a>
</li>
<li>CommandReceivedEvent()
: <a class="el" href="classmonitor_1_1_command_manager.html#a5afd16036cc3d0e69554f69dacad0bcc">monitor.CommandManager</a>
, <a class="el" href="classmonitor_1_1_destijl_command_manager.html#acc08ece6a89e842188364226299b3d43">monitor.DestijlCommandManager</a>
</li>
<li>CreateCommand()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a47eb72ec1ae43505966bc5cf09c79e58">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>DecodeStatus()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a00c3fb9f163c4d9025b356a5a7e74012">monitor.DestijlCommandManager</a>
</li>
<li>DestijlCommandManager()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a78bf0be922afbd9c5f8f4115fa83ad47">monitor.DestijlCommandManager</a>
</li>
<li>DetectArena()
: <a class="el" href="class_main_window.html#a89c79ce9ca4114ca9c50f32dc080e9cd">MainWindow</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>Main()
: <a class="el" href="classmonitor_1_1_main_class.html#a991579f985cc4071757b30a8b035e7c1">monitor.MainClass</a>
</li>
<li>MainWindow()
: <a class="el" href="class_main_window.html#af607d50e4d1b04d3c494661489283f45">MainWindow</a>
</li>
<li>MessagePopup()
: <a class="el" href="class_main_window.html#afc4f923aaa481a93dddaff6303efb9e0">MainWindow</a>
</li>
</ul>
<h3><a id="index_o"></a>- o -</h3><ul>
<li>OnBatteryTimerElapsed()
: <a class="el" href="class_main_window.html#af303b70c08cda04a76f6418f727c4891">MainWindow</a>
</li>
<li>OnButtonAskArenaClicked()
: <a class="el" href="class_main_window.html#a31e299085d6286d680bd488c73fdff82">MainWindow</a>
</li>
<li>OnButtonMouvClicked()
: <a class="el" href="class_main_window.html#a7f8d06747f887216ab8c941ad10cb48b">MainWindow</a>
</li>
<li>OnButtonRobotActivationClicked()
: <a class="el" href="class_main_window.html#a2b5e11a49a10b24c59bebb377cdfeae8">MainWindow</a>
</li>
<li>OnButtonServerConnectionClicked()
: <a class="el" href="class_main_window.html#ac0acc6c3a63f405f14ec8e4d132a2661">MainWindow</a>
</li>
<li>OnCheckButtonCameraOnClicked()
: <a class="el" href="class_main_window.html#af4b587cdd614d5bdb8d9158a1f59e4fa">MainWindow</a>
</li>
<li>OnCheckButtonRobotPositionClicked()
: <a class="el" href="class_main_window.html#a20d07605619027d82a30552f294b128f">MainWindow</a>
</li>
<li>OnCommandReceived()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ab83dbda4196240c242a5ac101901bb19">monitor.DestijlCommandManager</a>
</li>
<li>OnCommandReceivedEvent()
: <a class="el" href="class_main_window.html#a4b651f10b9079c128b9e36d15ad10211">MainWindow</a>
</li>
<li>OnDeleteEvent()
: <a class="el" href="class_main_window.html#a64bdcb29cebb58957790da1ee2733fe1">MainWindow</a>
</li>
<li>OnDrawingAreaCameraExposeEvent()
: <a class="el" href="class_main_window.html#afe4b0001f191554aed5d9b65208a06f5">MainWindow</a>
</li>
<li>OnMessageReception()
: <a class="el" href="classmonitor_1_1_command_manager.html#a92e5d42afb61f29d9a4746b4446c2a65">monitor.CommandManager</a>
</li>
<li>OnMessageTimeout()
: <a class="el" href="classmonitor_1_1_command_manager.html#a2f91bb775ba25855be007886b994a5df">monitor.CommandManager</a>
</li>
<li>OnQuitActionActivated()
: <a class="el" href="class_main_window.html#ab54b643c364b46a150f6f993267bb709">MainWindow</a>
</li>
<li>OnShowLogWindowActionActivated()
: <a class="el" href="class_main_window.html#a87132738a6ca496303940d56e091bdc7">MainWindow</a>
</li>
<li>Open()
: <a class="el" href="classmonitor_1_1_client.html#af802cd428aa08b9604e2246f11e1fe61">monitor.Client</a>
, <a class="el" href="classmonitor_1_1_command_manager.html#a0a0054ee87d293577fa39af1fcd5ffee">monitor.CommandManager</a>
, <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5dd6b75386a554c2f026eee787477bb0">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>ReadCallback()
: <a class="el" href="classmonitor_1_1_client.html#a8dd2eb26c164d0f566dd6c679ba340e0">monitor.Client</a>
</li>
<li>ReadEvent()
: <a class="el" href="classmonitor_1_1_client.html#ae85f4aa567a41488d5c65e470ae15378">monitor.Client</a>
</li>
<li>RobotCloseCom()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a0139bec493c965670226381f2ba63a23">monitor.DestijlCommandManager</a>
</li>
<li>RobotGetBattery()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a2ec8021340de939318ace65b8462b930">monitor.DestijlCommandManager</a>
</li>
<li>RobotGetVersion()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a7ddd552ed82382a09b4af075c34fb989">monitor.DestijlCommandManager</a>
</li>
<li>RobotMove()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5976fe792e270c63bd9f0f4c792df129">monitor.DestijlCommandManager</a>
</li>
<li>RobotOpenCom()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#aa1440a571e6aaf11203b4e4a4ed116d5">monitor.DestijlCommandManager</a>
</li>
<li>RobotPing()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ae1af16558213c3830ea3006e8e8c5e28">monitor.DestijlCommandManager</a>
</li>
<li>RobotPowerOff()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#acb242a71fa40d4001dc1bc31d5bdc53f">monitor.DestijlCommandManager</a>
</li>
<li>RobotReset()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#abe223aa12456e3f1c2519e9c379d891a">monitor.DestijlCommandManager</a>
</li>
<li>RobotStartWithoutWatchdog()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a0c964baa3ecd4ff9d19857061413938b">monitor.DestijlCommandManager</a>
</li>
<li>RobotStartWithWatchdog()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#ade46aceeb79556e31fe632e9602e1636">monitor.DestijlCommandManager</a>
</li>
<li>RobotTurn()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a3f7ee6f1803cfb8b2eb4290f9e9acced">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>SendCommand()
: <a class="el" href="classmonitor_1_1_command_manager.html#a3cd1f2303e47e5148fd3e927a7957363">monitor.CommandManager</a>
</li>
</ul>
<h3><a id="index_w"></a>- w -</h3><ul>
<li>Write()
: <a class="el" href="classmonitor_1_1_client.html#a081413295e7a96662b39b2ddec854b02">monitor.Client</a>
</li>
</ul>
<h3><a id="index_0x7e"></a>- ~ -</h3><ul>
<li>~CommandManager()
: <a class="el" href="classmonitor_1_1_command_manager.html#ad2a8eb1139a5a25a6993887c55b3da4e">monitor.CommandManager</a>
</li>
<li>~DestijlCommandManager()
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#abc51dc980d7ba7e59a571e579cb626b9">monitor.DestijlCommandManager</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,311 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Class Members - Variables</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('functions_vars.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;
<h3><a id="index_b"></a>- b -</h3><ul>
<li>batteryTimer
: <a class="el" href="class_main_window.html#a57f0325d8b8a63be586001b9a469d9ae">MainWindow</a>
</li>
<li>buffer
: <a class="el" href="classmonitor_1_1_client.html#abd5c33a23e0fab7b369b59ac296c7762">monitor.Client</a>
</li>
<li>BufferMaxSize
: <a class="el" href="classmonitor_1_1_client.html#acbc4cae14536eccb5297aacdadb84f29">monitor.Client</a>
</li>
</ul>
<h3><a id="index_c"></a>- c -</h3><ul>
<li>client
: <a class="el" href="classmonitor_1_1_client.html#a4867b48ebfa930a80662c552f2911430">monitor.Client</a>
</li>
<li>cmdManager
: <a class="el" href="class_main_window.html#a0b60450970b8a6fb6e016d5c0728e474">MainWindow</a>
</li>
<li>commandManager
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a9efdcd3d35f46329e7aa167ad60062a9">monitor.DestijlCommandManager</a>
</li>
<li>commandReceivedEvent
: <a class="el" href="classmonitor_1_1_command_manager.html#ab90d68a3d3a9b3935fa9f1a57e8dabfa">monitor.CommandManager</a>
, <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a5c10e8aaae48b83be0267aefa23eb62d">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_d"></a>- d -</h3><ul>
<li>DataCamArenaConfirm
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad31b6758839a4c3b1b6ec4c71635e631">monitor.DestijlCommandList</a>
</li>
<li>DataCamAskArena
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#aaaf85677671db1ef84fe67b2eb954f29">monitor.DestijlCommandList</a>
</li>
<li>DataCamClose
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a6f578f9d52dd2b50370177a5c03a2af7">monitor.DestijlCommandList</a>
</li>
<li>DataCamComputePosition
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ab114adce60b63976d8304f2ad11b317a">monitor.DestijlCommandList</a>
</li>
<li>DataCamInfirm
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad3985694a06148f2014cb346e8891cba">monitor.DestijlCommandList</a>
</li>
<li>DataCamOpen
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a6380d1518931373bd0dfb84f888942e0">monitor.DestijlCommandList</a>
</li>
<li>DataCamStopComputePosition
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad09dd921c6c8cf8c7d90a2c0a05d4056">monitor.DestijlCommandList</a>
</li>
<li>DataComClose
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad97cbe948c71a4dc3fa95afbf9ca26d8">monitor.DestijlCommandList</a>
</li>
<li>DataComOpen
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a1bcde55da429bcf2c04ed6d0621e496f">monitor.DestijlCommandList</a>
</li>
<li>defaultIP
: <a class="el" href="classmonitor_1_1_client.html#a326a20fe68a86757e16a6e45b8012640">monitor.Client</a>
</li>
<li>defaultPort
: <a class="el" href="classmonitor_1_1_client.html#ad0a9bfc361ccef7443625f399e67f84a">monitor.Client</a>
</li>
<li>drawingareaCameraPixbuf
: <a class="el" href="class_main_window.html#a41581e449b18e87acbdff5baa12c2050">MainWindow</a>
</li>
</ul>
<h3><a id="index_h"></a>- h -</h3><ul>
<li>HeaderMtsCamera
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#af570b0e8d14920402ce979778225ed68">monitor.DestijlCommandList</a>
</li>
<li>HeaderMtsComDmb
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#aa9fe4e71b7faec183ab64f4cf6ecd395">monitor.DestijlCommandList</a>
</li>
<li>HeaderMtsDmbOrder
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#adbcf7adab9f5e8ead971affbbc64178b">monitor.DestijlCommandList</a>
</li>
<li>HeaderMtsMessage
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#acb283f1da96d8d522e3b28ca35187acd">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmAck
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#af494d7e1bddee8184873dc380a3066ba">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmBat
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a88de91fa6abdc122245ceb26fc21fd33">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmImage
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3ee8e0ecbb79faec9d24095d72cfbde">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmLostDmb
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#a54e9ebd5e8f34ac596b84b56bb2403f7">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmMes
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ad1fa4557b2d44dd888d8640f374c9f04">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmNoAck
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#ae3dc86c7e90bba409317e63cf1c85a39">monitor.DestijlCommandList</a>
</li>
<li>HeaderStmPos
: <a class="el" href="classmonitor_1_1_destijl_command_list.html#abf99a718161a5a9017d7011cea429ec0">monitor.DestijlCommandList</a>
</li>
</ul>
<h3><a id="index_i"></a>- i -</h3><ul>
<li>initialReceiveBufferIndex
: <a class="el" href="classmonitor_1_1_client.html#afbbf4cf14d1a11747f6103e726dee77e">monitor.Client</a>
</li>
<li>isBusy
: <a class="el" href="classmonitor_1_1_command_manager.html#aea039cd0f99f5193c307b805077669db">monitor.CommandManager</a>
</li>
</ul>
<h3><a id="index_m"></a>- m -</h3><ul>
<li>message
: <a class="el" href="classmonitor_1_1_client.html#a2ddb7073c4bf8a42c231939d5c21d68e">monitor.Client</a>
</li>
<li>messageReceived
: <a class="el" href="classmonitor_1_1_command_manager.html#aa610e72e8f23f0d26388f204c848ed57">monitor.CommandManager</a>
</li>
</ul>
<h3><a id="index_n"></a>- n -</h3><ul>
<li>newLength
: <a class="el" href="classmonitor_1_1_client.html#a7083940b8fea9df2b080e3844549e805">monitor.Client</a>
</li>
</ul>
<h3><a id="index_p"></a>- p -</h3><ul>
<li>packetCounter
: <a class="el" href="classmonitor_1_1_client.html#a7eb13840c83beb2ab191cae3ba3210c9">monitor.Client</a>
</li>
</ul>
<h3><a id="index_r"></a>- r -</h3><ul>
<li>readEvent
: <a class="el" href="classmonitor_1_1_client.html#a01cb2a551d81fd82d2f7015e177f0f18">monitor.Client</a>
</li>
<li>receiveBuffer
: <a class="el" href="classmonitor_1_1_client.html#aade32a6043e0dc629509f0e1c0112a24">monitor.Client</a>
</li>
<li>receivedData
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a88f907fc9c5fd8cd8d5976f45c323903">monitor.DestijlCommandManager</a>
</li>
<li>receivedHeader
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a1b99d771e7af8ffc8ced10d35e5e77ce">monitor.DestijlCommandManager</a>
</li>
<li>RobotGetBattery
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a374eb526d14b8499e47b065230afeed0">monitor.RobotCommandList</a>
</li>
<li>RobotGetBusyState
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a52a901f4e013dc33ff491c5fcda76860">monitor.RobotCommandList</a>
</li>
<li>RobotGetVersion
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a9a845beb5c040e4813f03cee7cd1cb71">monitor.RobotCommandList</a>
</li>
<li>RobotMove
: <a class="el" href="classmonitor_1_1_robot_command_list.html#af7017bac04f1976fe1c37e8ec77bcbce">monitor.RobotCommandList</a>
</li>
<li>RobotPing
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a93de788c0d7ed40caaa2e3912a429831">monitor.RobotCommandList</a>
</li>
<li>RobotPowerOff
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a2e9616c1b75719c208902e595b79cc48">monitor.RobotCommandList</a>
</li>
<li>RobotReset
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a9ef80510dfe9ca241af290b003766526">monitor.RobotCommandList</a>
</li>
<li>RobotStartWithoutWatchdog
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a92acfe998bb9d265dd1f34f68f718386">monitor.RobotCommandList</a>
</li>
<li>RobotStartWithWatchdog
: <a class="el" href="classmonitor_1_1_robot_command_list.html#aafa5d0e5fec3afe6586cca8b88d45c85">monitor.RobotCommandList</a>
</li>
<li>RobotTurn
: <a class="el" href="classmonitor_1_1_robot_command_list.html#a2b88fc42fba8229f163e03e7252a77e6">monitor.RobotCommandList</a>
</li>
</ul>
<h3><a id="index_s"></a>- s -</h3><ul>
<li>stream
: <a class="el" href="classmonitor_1_1_client.html#a8de2a9e4fe2c2e896849ddd33d80d759">monitor.Client</a>
</li>
<li>systemState
: <a class="el" href="class_main_window.html#a105025ee1bdfac188f1ce640d593550d">MainWindow</a>
</li>
</ul>
<h3><a id="index_t"></a>- t -</h3><ul>
<li>timeout
: <a class="el" href="classmonitor_1_1_destijl_command_manager.html#a86a1fb03dc480dab8d6758aa0d675cd3">monitor.DestijlCommandManager</a>
</li>
</ul>
<h3><a id="index_w"></a>- w -</h3><ul>
<li>waitEvent
: <a class="el" href="classmonitor_1_1_command_manager.html#a0d27eb1a38efb01559f14a707ff86447">monitor.CommandManager</a>
</li>
<li>waitForAcknowledge
: <a class="el" href="classmonitor_1_1_command_manager.html#a39c2c03f93b309e65a45ac91c6eb39bd">monitor.CommandManager</a>
</li>
<li>waitTimer
: <a class="el" href="classmonitor_1_1_command_manager.html#a07639cd39445a379667a2450e78001b0">monitor.CommandManager</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,127 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Graph Legend</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('graph_legend.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Graph Legend</div> </div>
</div><!--header-->
<div class="contents">
<p>This page explains how to interpret the graphs that are generated by doxygen.</p>
<p>Consider the following example: </p><div class="fragment"><div class="line">/*! Invisible class because of truncation */</div><div class="line">class Invisible { };</div><div class="line"></div><div class="line">/*! Truncated class, inheritance relation is hidden */</div><div class="line">class Truncated : public Invisible { };</div><div class="line"></div><div class="line">/* Class not documented with doxygen comments */</div><div class="line">class Undocumented { };</div><div class="line"></div><div class="line">/*! Class that is inherited using public inheritance */</div><div class="line">class PublicBase : public Truncated { };</div><div class="line"></div><div class="line">/*! A template class */</div><div class="line">template&lt;class T&gt; class Templ { };</div><div class="line"></div><div class="line">/*! Class that is inherited using protected inheritance */</div><div class="line">class ProtectedBase { };</div><div class="line"></div><div class="line">/*! Class that is inherited using private inheritance */</div><div class="line">class PrivateBase { };</div><div class="line"></div><div class="line">/*! Class that is used by the Inherited class */</div><div class="line">class Used { };</div><div class="line"></div><div class="line">/*! Super class that inherits a number of other classes */</div><div class="line">class Inherited : public PublicBase,</div><div class="line"> protected ProtectedBase,</div><div class="line"> private PrivateBase,</div><div class="line"> public Undocumented,</div><div class="line"> public Templ&lt;int&gt;</div><div class="line">{</div><div class="line"> private:</div><div class="line"> Used *m_usedClass;</div><div class="line">};</div></div><!-- fragment --><p> This will result in the following graph:</p>
<center><div class="image">
<img src="graph_legend.png"/>
</div>
</center><p>The boxes in the above graph have the following meaning: </p>
<ul>
<li>
A filled gray box represents the struct or class for which the graph is generated. </li>
<li>
A box with a black border denotes a documented struct or class. </li>
<li>
A box with a gray border denotes an undocumented struct or class. </li>
<li>
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. </li>
</ul>
<p>The arrows have the following meaning: </p>
<ul>
<li>
A dark blue arrow is used to visualize a public inheritance relation between two classes. </li>
<li>
A dark green arrow is used for protected inheritance. </li>
<li>
A dark red arrow is used for private inheritance. </li>
<li>
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. </li>
<li>
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. </li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1 +0,0 @@
387ff8eb65306fa251338d3c9bd7bfff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View file

@ -1,112 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Class Hierarchy</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('hierarchy.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Hierarchy</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">
<p><a href="inherits.html">Go to the graphical class hierarchy</a></p>
This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_client.html" target="_self">monitor.Client</a></td><td class="desc">Static class for TCP client </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_command_manager.html" target="_self">monitor.CommandManager</a></td><td class="desc">Command Manager. Use for timeout managment during reception of data Used as intermediate layer between TCP client class (<a class="el" href="classmonitor_1_1_client.html" title="Static class for TCP client ">Client</a>) and application level managment of command and answers </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_destijl_command_list.html" target="_self">monitor.DestijlCommandList</a></td><td class="desc">Commands and options parameters used in Destijl project when communicating with server </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_destijl_command_manager.html" target="_self">monitor.DestijlCommandManager</a></td><td class="desc">Specialization class for command manager, which implemnent destijl protocol between monitor and server </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_main_class.html" target="_self">monitor.MainClass</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="classmonitor_1_1_robot_command_list.html" target="_self">monitor.RobotCommandList</a></td><td class="desc">Commands used for robot messages </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><b>Window</b></td><td class="desc"></td></tr>
<tr id="row_6_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_main_window.html" target="_self">MainWindow</a></td><td class="desc">Main part of the program, behavior of main window </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,12 +0,0 @@
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 ]
] ]
];

View file

@ -1,98 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Monitor: Main Page</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectlogo"><img alt="Logo" src="robot-icon.resized.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Monitor
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('index.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Monitor Documentation</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
</ul>
</div>
</body>
</html>

View file

@ -1,3 +0,0 @@
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
<area shape="rect" id="node1" href="$class_main_window.html" title="Main part of the program, behavior of main window " alt="" coords="5,29,103,56"/>
</map>

View file

@ -1 +0,0 @@
e829b3887c8b0c5c42140f50d2b41b39

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2,4 KiB

View file

@ -1,3 +0,0 @@
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
<area shape="rect" id="node1" href="$classmonitor_1_1_client.html" title="Static class for TCP client " alt="" coords="5,5,108,32"/>
</map>

View file

@ -1 +0,0 @@
7ed482185f3c7f6876ea12ca6eb8fccf

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,1 KiB

View file

@ -1,3 +0,0 @@
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
<area shape="rect" id="node1" href="$classmonitor_1_1_command_manager.html" title="Command Manager. Use for timeout managment during reception of data Used as intermediate layer betwee..." alt="" coords="5,5,184,32"/>
</map>

View file

@ -1 +0,0 @@
706d8657342e1f394c6be50940f14c9b

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,8 KiB

View file

@ -1,3 +0,0 @@
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
<area shape="rect" id="node1" href="$classmonitor_1_1_destijl_command_list.html" title="Commands and options parameters used in Destijl project when communicating with server ..." alt="" coords="5,5,192,32"/>
</map>

View file

@ -1 +0,0 @@
e506e4a72be67e389be1a4fb1dc96811

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1,8 KiB

View file

@ -1,3 +0,0 @@
<map id="Graphical Class Hierarchy" name="Graphical Class Hierarchy">
<area shape="rect" id="node1" href="$classmonitor_1_1_destijl_command_manager.html" title="Specialization class for command manager, which implemnent destijl protocol between monitor and serve..." alt="" coords="5,5,221,32"/>
</map>

View file

@ -1 +0,0 @@
6a403a420dfa48b80ccea32e886e0f34

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2,3 KiB

Some files were not shown because too many files have changed in this diff Show more