def __init__(self): super(MainController, self).__init__() self.ser = Serial(WIFLY_SERIAL_PORT, WIFLY_BAUD_RATE) self.wiflyReceiver = WiflyReceiver(self.ser) self.wiflySender = WiflySender(self.ser) self.rover = Rover() self.mainWidget = MainWidget() self.wiflyReceiverThread = QThread() self.wiflyReceiver.moveToThread(self.wiflyReceiverThread) self.wiflySenderThread = QThread() self.wiflySender.moveToThread(self.wiflySenderThread) self.simState = SIMULATION_STATE_PHASE_1 self.simTimer = QTimer() self.simTimer.setSingleShot(True) self.wiflyReceiver.msgReceived.connect(self.mainWidget.appendMsg) self.wiflyReceiver.msgReceived.connect(self.rover.processData) self.newCommand.connect(self.wiflySender.sendMsg) self.appStart.connect(self.wiflyReceiver.processMsg) self.mainWidget.ui.gearSlider.valueChanged.connect( self.manualGearChange) self.mainWidget.ui.upButton.clicked.connect(self.manualMoveForward) self.mainWidget.ui.downButton.clicked.connect(self.manualMoveBackward) self.mainWidget.ui.leftButton.clicked.connect(self.manualMoveLeft) self.mainWidget.ui.rightButton.clicked.connect(self.manualMoveRight) self.mainWidget.ui.brakeButton.clicked.connect(self.manualStop) self.mainWidget.ui.simulationButton.clicked.connect( self.simulationStart) self.rover.newRoverPosition.connect(self.drawRover) self.rover.newWallDetected.connect(self.drawNewWall) self.simTimer.timeout.connect(self.simulationUpdate) self.mapScene = QGraphicsScene(0, 0, WORLD_X / CANVAS_RATIO, WORLD_Y / CANVAS_RATIO) self.mainWidget.ui.mappingGraphicsView.setScene(self.mapScene) self.roverRect = QGraphicsRectItem() self.mapScene.addItem(self.roverRect) """