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() |