def __init__(self, connection=None): if not connection: connection = get_connection_auto() self.connection = connection self.info = {} self.devices = {} # shorthand fields self.button = Button(self) self.led = None self.amperage = None self.voltage = None self.motor_A = None self.motor_B = None self.motor_AB = None self.color_distance_sensor = None self.tilt_sensor = None self.motor_external = None self.port_C = None self.port_D = None self.connection.set_notify_handler(self._notify) self._wait_for_devices() self._report_status()
def __init__(self, connection=None): if connection is None: connection = get_connection_auto(hub_name=self.DEFAULT_NAME) super(ControlPlusHub, self).__init__(connection) self.info = {} # shorthand fields self.button = Button(self) self.led = None self.current = None self.voltage = None self.motor_A = None self.motor_B = None self.motor_C = None self.motor_D = None self.tilt_sensor = None self.accelerometer_A = None self.accelerometer_B = None self.unknown_A = None self.unknown_B = None self.unknown_C = None self._wait_for_devices() self._report_status()
def __init__(self, connection=None): self._msg_handlers = [] self.peripherals = {} self._sync_request = None self._sync_replies = queue.Queue(1) self._sync_lock = threading.Lock() self.add_message_handler(MsgHubAttachedIO, self._handle_device_change) self.add_message_handler(MsgPortValueSingle, self._handle_sensor_data) self.add_message_handler(MsgPortValueCombined, self._handle_sensor_data) self.add_message_handler(MsgGenericError, self._handle_error) self.add_message_handler(MsgHubAction, self._handle_action) if not connection: connection = get_connection_auto() # TODO: how to identify the hub? self.connection = connection self.connection.set_notify_handler(self._notify) self.connection.enable_notifications()
def __init__(self, connection=None): if connection is None: connection = get_connection_auto(hub_name=LEGO_TRAIN_HUB) super(TrainHub, self).__init__(connection) self.info = {} # shorthand fields self.button = Button(self) self.led = None self.current = None self.voltage = None self.motor_A = None # TODO self.motor_B = None # TODO self.vision_sensor = None self.motor_external = None self._wait_for_devices() self._report_status()
def __init__(self, connection=None): self._comm_lock = threading.RLock() if connection is None: connection = get_connection_auto(hub_name=self.DEFAULT_NAME) super(TrainHub, self).__init__(connection) self.info = {} # shorthand fields self.button = Button(self) self.port_A = None self.port_B = None self.led = None self.current = None self.voltage = None self.vision_sensor = None self.motor_external = None self._wait_for_devices() self._report_status()
def __init__(self, connection=None): if connection is None: connection = get_connection_auto(hub_name=self.DEFAULT_NAME) super(MoveHub, self).__init__(connection) self.info = {} # shorthand fields self.button = Button(self) self.led = None self.current = None self.voltage = None self.motor_A = None self.motor_B = None self.motor_AB = None self.vision_sensor = None self.tilt_sensor = None self.motor_external = None self.port_C = None self.port_D = None self._wait_for_devices() self._report_status()
last = self.queue.pop(0) if last: self.move_to_bucket(last[0]) res = True self.feed() return res if __name__ == '__main__': logging.basicConfig(level=logging.INFO) try: conn = DebugServerConnection() except BaseException: logging.warning("Failed to use debug server: %s", traceback.format_exc()) conn = get_connection_auto() sorter = ColorSorter(conn) empty = 0 try: while True: empty += 1 if sorter.tick(): empty = 0 elif empty > 20: break finally: sorter.clear()
from pylgbst import get_connection_auto from pylgbst.movehub import MoveHub conn = get_connection_auto() # ! don't put this into `try` block try: hub = MoveHub(conn) finally: conn.disconnect()
def __init__(self, connection=None): if connection is None: connection = get_connection_auto(hub_name=self.DEFAULT_NAME) super(TrainHub, self).__init__(connection)