'Joystick Y': 12294 } # Main loop if __name__ == '__main__': cap = cv2.VideoCapture(1) cap.set(propId=3, value=640) cap.set(propId=4, value=480) # Creating objects client = ModbusClient() js = Joystick() ballTracking = BallTracking(capture=cap, watch=True, color='dark-green') # Sends data over Modbus client for as long the connection is established while client.isConnected(): ball_coordinates = ballTracking.getCoordinates() js_coordinates = js.getEvents() client.sendInt(value=ball_coordinates[0], address=addresses['Ball X']) client.sendInt(value=ball_coordinates[1], address=addresses['Ball Y']) client.sendInt(value=js_coordinates[0], address=addresses['Joystick X']) client.sendInt(value=js_coordinates[1], address=addresses['Joystick Y']) # Break loop with ESC-key key = cv2.waitKey(5) & 0xFF if key == 27: ballTracking.stop() break