409 if self.__linkConnected: |
409 if self.__linkConnected: |
410 # we are still connected, so disconnect |
410 # we are still connected, so disconnect |
411 self.on_connectButton_clicked() |
411 self.on_connectButton_clicked() |
412 self.__device = None |
412 self.__device = None |
413 |
413 |
414 self.on_deviceTypeComboBox_activated(index) |
414 if self.__device is None: |
|
415 self.on_deviceTypeComboBox_activated(index) |
415 self.deviceTypeComboBox.setCurrentIndex(index) |
416 self.deviceTypeComboBox.setCurrentIndex(index) |
416 |
417 |
417 if unknownDevices: |
418 if unknownDevices: |
418 ignoredUnknown = { |
419 ignoredUnknown = { |
419 tuple(d) for d in Preferences.getMicroPython("IgnoredUnknownDevices") |
420 tuple(d) for d in Preferences.getMicroPython("IgnoredUnknownDevices") |
527 vid = self.deviceTypeComboBox.itemData(index, self.DeviceVidRole) |
528 vid = self.deviceTypeComboBox.itemData(index, self.DeviceVidRole) |
528 pid = self.deviceTypeComboBox.itemData(index, self.DevicePidRole) |
529 pid = self.deviceTypeComboBox.itemData(index, self.DevicePidRole) |
529 serNo = self.deviceTypeComboBox.itemData(index, self.DeviceSerNoRole) |
530 serNo = self.deviceTypeComboBox.itemData(index, self.DeviceSerNoRole) |
530 |
531 |
531 if deviceType or (pid is not None and pid is not None): |
532 if deviceType or (pid is not None and pid is not None): |
|
533 deviceWorkspace = ( |
|
534 self.__device.getWorkspace() |
|
535 if self.__device is not None |
|
536 else None |
|
537 ) |
532 self.__device = Devices.getDevice( |
538 self.__device = Devices.getDevice( |
533 deviceType, self, vid, pid, boardName=boardName, serialNumber=serNo |
539 deviceType, self, vid, pid, boardName=boardName, serialNumber=serNo |
534 ) |
540 ) |
535 self.__device.setButtons() |
541 self.__device.setButtons() |
|
542 if deviceWorkspace: |
|
543 self.__device.setWorkspace(deviceWorkspace) |
536 |
544 |
537 self.connectButton.setEnabled(bool(deviceType)) |
545 self.connectButton.setEnabled(bool(deviceType)) |
538 else: |
546 else: |
539 self.__device = None |
547 self.__device = None |
540 |
548 |