OpenLoop.py
Go to the documentation of this file.
00001 __author__ = 'tom1231'
00002 from PyQt4.QtGui import *
00003 from BAL.Interface.DeviceFrame import DeviceFrame, OPEN_LOP
00004 
00005 
00006 class OpenLoop(DeviceFrame):
00007     openLoopNum = 0
00008 
00009     def __init__(self, frame, data):
00010         DeviceFrame.__init__(self, OPEN_LOP, frame, data)
00011 
00012         self._name = 'motor'
00013         self._driverAdd = '128'
00014         self._channel = '1'
00015         self._timeout = '1000'
00016         self._maxSpeed = '127'
00017         self._dirMotor = False
00018 
00019     def fromDict(self, data):
00020 
00021         self._name = data['name']
00022         self._driverAdd = data['driverAdd']
00023         self._channel = data['channel']
00024         self._timeout = data['timeout']
00025         self._maxSpeed = data['maxSpeed']
00026         self._dirMotor = data['dirMotor']
00027 
00028     def toDict(self):
00029         data = dict()
00030         data['type'] = OPEN_LOP
00031         data['name'] = self._name
00032         data['driverAdd'] = self._driverAdd
00033         data['channel'] = self._channel
00034         data['timeout'] = self._timeout
00035         data['maxSpeed'] = self._maxSpeed
00036         data['dirMotor'] = self._dirMotor
00037 
00038         return data
00039 
00040     def saveToFile(self, file):
00041         file.write('openLoop' + str(OpenLoop.openLoopNum) + '/name: ' + self._name + '\n')
00042         file.write('openLoop' + str(OpenLoop.openLoopNum) + '/address: ' + self._driverAdd + '\n')
00043         file.write('openLoop' + str(OpenLoop.openLoopNum) + '/channel: ' + self._channel + '\n')
00044         file.write('openLoop' + str(OpenLoop.openLoopNum) + '/timeout: ' + self._timeout + '\n')
00045         file.write('openLoop' + str(OpenLoop.openLoopNum) + '/max: ' + self._maxSpeed + '\n')
00046         if self._dirMotor: file.write('openLoop' + str(OpenLoop.openLoopNum) + '/direction: ' + '-1' + '\n')
00047         else: file.write('openLoop' + str(OpenLoop.openLoopNum) + '/direction: ' + '1' + '\n')
00048         OpenLoop.openLoopNum += 1
00049 
00050     def add(self):
00051         old = self._name
00052         self._name = str(self.name.text())
00053 
00054         if not self.nameIsValid():
00055             error = QErrorMessage()
00056             error.setWindowTitle("Same name error")
00057             error.showMessage("Name already taken.")
00058             error.exec_()
00059             self._name = old
00060             self._isValid = False
00061             return
00062 
00063         self._isValid = True
00064         self._name = str(self.name.text())
00065         self._driverAdd = str(self.driverAdd.text())
00066         self._channel = str(self.channel.text())
00067         self._timeout = str(self.timeout.text())
00068         self._maxSpeed = str(self.maxSpeed.text())
00069         self._dirMotor = self.dirMotor.isChecked()
00070 
00071     def printDetails(self):
00072         self._frame.layout().addRow(QLabel('name: '), QLabel(self._name))
00073         self._frame.layout().addRow(QLabel('Driver Address: '), QLabel(self._driverAdd))
00074         self._frame.layout().addRow(QLabel('Channel: '), QLabel(self._channel))
00075         self._frame.layout().addRow(QLabel('Timeout (in millisSecond): '), QLabel(self._timeout))
00076         self._frame.layout().addRow(QLabel('Max speed: '), QLabel(self._maxSpeed))
00077         if self._dirMotor: self._frame.layout().addRow(QLabel('Direction: '), QLabel('Enable'))
00078         else: self._frame.layout().addRow(QLabel('Reverse direction: '), QLabel('Disable'))
00079 
00080     def getName(self):
00081         return self._name
00082 
00083     def showDetails(self, items=None):
00084         self.name = QLineEdit(self._name)
00085         self.driverAdd = QLineEdit(self._driverAdd)
00086         self.channel = QLineEdit(self._channel)
00087         self.timeout = QLineEdit(self._timeout)
00088         self.maxSpeed = QLineEdit(self._maxSpeed)
00089         self.dirMotor = QCheckBox('')
00090 
00091         self.dirMotor.setChecked(self._dirMotor)
00092 
00093         self._frame.layout().addRow(QLabel('name: '), self.name)
00094         self._frame.layout().addRow(QLabel('Driver Address: '), self.driverAdd)
00095         self._frame.layout().addRow(QLabel('Channel: '), self.channel)
00096         self._frame.layout().addRow(QLabel('Timeout (in millisSecond): '), self.timeout)
00097         self._frame.layout().addRow(QLabel('Max speed: '), self.maxSpeed)
00098         self._frame.layout().addRow(QLabel('Reverse direction: '), self.dirMotor)


ric_board
Author(s): RoboTiCan
autogenerated on Fri Oct 27 2017 03:02:30