def test_device(): """ Initial arming and testing of Maestro servo Device. :return: <Int> 0 on success """ servo = maestro.Device() print('[SERVO] SERVO CONNECTION ESTABLISHED....') # 3 ESC, 5 STEERING servo.set_acceleration(cfg.STEERING, 50) servo.set_acceleration(cfg.ESC, 100) print('[SERVO] SENT SIGNAL....') servo.set_target(cfg.STEERING, cfg.MAX_RIGHT) time.sleep(1) servo.set_target(cfg.STEERING, cfg.MAX_LEFT) time.sleep(1) servo.set_target(cfg.STEERING, cfg.MAX_RIGHT) time.sleep(1) servo.set_target(cfg.STEERING, cfg.CENTER) print('[SERVO] STEERING ARMED....') time.sleep(1) servo.set_target(cfg.ESC, cfg.MAX_SPEED) servo.set_target(cfg.ESC, cfg.NEUTRAL) print('[SERVO] MOTOR ARMED....') time.sleep(1) print('[DEBUG] Exiting test_Device function') return 0
def auto_connect(self): port_list = ports.serial_ports() for port in port_list: if self.verbose: print('+ Trying port', port, end='') self.device = maestro.Device(con_port=False, ser_port=port) success = self.test_connection() if success: break if self.verbose: print('\t--> Rejected') if success and self.verbose: print('\t--> OK')
def __init__(self, debug, servo_attached, gps_attached): self.gps_attached = gps_attached self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.settimeout(0.1) self.connect_to_server() print("Connected on port ", cfg.HOST_PORTS, ". Ready to receive data.") self.servo = maestro.Device() self.debug = debug self.servo_attached = servo_attached
def servo_ctl(servo_num, val): """ Function to send signal to Maestro servo Device for execution :param servo_num: <Int> 3 for speed, 5 for steering :param val: <Int> qms pulse value for the servo to execute :return: <Int> 0 on success """ servo = maestro.Device() servo.set_acceleration(cfg.STEERING, 50) servo.set_acceleration(cfg.ESC, 100) servo.set_target(servo_num, val) print('[DEBUG] Exiting servo_ctl function') return 0
def manual_connect(self, ser_port): self.device = maestro.Device(con_port=False, ser_port=ser_port)