Subversion Repositories Projects

Compare Revisions

Ignore whitespace Rev 696 → Rev 697

/VibrationTest/trunk/VibrationTest/mkProto.py
56,7 → 56,7
def __init__(self, msg=None, address=None, cmd=None, data=None):
if (msg != None):
# Create instance based on received message
self.parse(msg)
self.parseUartLine(msg)
elif (address != None and cmd != None and data != None):
# Create instance based on address, command and data
self.address = address
66,7 → 66,7
# Cannot create instance
raise InvalidArguments
 
def generateMsg(self):
def generateUartLine(self):
msg = ""
 
# make header
100,7 → 100,7
return msg
 
 
def parse(self, msg):
def parseUartLine(self, msg):
if len(msg)<6:
raise InvalidMsg()
if (msg[0] != '#'):
240,9 → 240,9
self.printDebugMsg = printDebugMsg
 
msg = MkMsg(address=0, cmd='v', data=[])
self.getVersionMsgLn = msg.generateMsg()
self.getVersionMsgLn = msg.generateUartLine()
msg = MkMsg(address=0, cmd='d', data=[500])
self.getDebugMsgLn = msg.generateMsg()
self.getDebugMsgLn = msg.generateUartLine()
 
def open(self, comPort):
282,13 → 282,13
def sendNCRedirectUartFromFC(self):
self.serPort.flushInput()
msg = MkMsg(address=MkComm.ADDRESS_NC, cmd='u', data=[0])
self.sendLn(msg.generateMsg())
self.sendLn(msg.generateUartLine())
time.sleep(.5)
# No reply expected...
def sendSettings(self, settings):
msg = MkMsg(address=MkComm.ADDRESS_FC, cmd='s', data=settings)
self.sendLn(msg.generateMsg())
self.sendLn(msg.generateUartLine())
time.sleep(1)
msg = self.waitForMsg('S')
302,7 → 302,7
def getSettingsMsg(self, index=0xFF):
self.serPort.flushInput()
msg = MkMsg(address=MkComm.ADDRESS_FC, cmd='q', data=[index])
self.sendLn(msg.generateMsg())
self.sendLn(msg.generateUartLine())
msg = self.waitForMsg('Q')
msg = SettingsMsg(msg)
return msg
315,13 → 315,13
 
def setMotorTest(self, motorSpeeds):
msg = MkMsg(address=MkComm.ADDRESS_FC, cmd='t', data=motorSpeeds)
self.sendLn(msg.generateMsg())
self.sendLn(msg.generateUartLine())
def doVibrationTest(self, nbSamples, channel):
data = []
for i in range(0,(min(nbSamples,1000)/50)):
msg = MkMsg(address=MkComm.ADDRESS_FC, cmd='f', data=[channel, i])
self.sendLn(msg.generateMsg())
self.sendLn(msg.generateUartLine())
msg = self.waitForMsg('F')
msg = VibrationDataMsg(msg)
data += msg.getData()