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