Open ZLLentz opened 2 years ago
With https://github.com/pcdshub/pcds-local-ci-travis/pull/1:
(gdb) py-list
235 logger.debug("Removing %r ...", channel)
236 # Disconnect put_value from outgoing channel
237 if channel.value_signal is not None and not destroying:
238 for _typ in self.supported_types:
239 try:
>240 channel.value_signal[_typ].disconnect(self.put_value)
241 except (KeyError, TypeError):
242 logger.debug("Unable to disconnect value_signal from %s "
243 "for type %s", channel.address, _typ)
244 # Disconnect any other signals
245 super().remove_listener(channel, destroying=destroying, **kwargs)
(gdb) py-locals
self = <SignalConnection(protocol='sig', address='test_motor_acceleration', connected=False, value=None, listener_count=1, app=<PyDMApplication(main_window=None, display_args=[], hide_nav_bar=False, hide_menu_bar=False, hide_status_bar=False, fullscreen=False, stylesheet_path=None, perfmon=False, home_file=None, had_file=False) at remote 0x7f649d430ca0>, signal_type=<type at remote 0x556945b94700>, signal=<Signal(_ophyd_labels_=set(), _kind=<Kind(_value_=2, _name_='config', __objclass__=<EnumMeta(_generate_next_value_=<function at remote 0x7f64f765fd30>, __module__='ophyd.ophydobj', __doc__="\n This is used in the .kind attribute of all OphydObj (Signals, Devices).\n\n A Device examines its components' .kind atttribute to decide whether to\n traverse it in read(), read_configuration(), or neither. Additionally, if\n decides whether to include its name in `hints['fields']`.\n ", _member_names_=['omitted', 'normal', 'config', 'hinted'], _member_map_={'omitted': <Kind(_value_=0, _name_='omitted', __objcl...(truncated)
channel = <PyDMChannel(_address='sig://test_motor_acceleration', connection_slot=<method at remote 0x7f6492c9aac0>, value_slot=<method at remote 0x7f6492c9ae40>, severity_slot=<method at remote 0x7f6492c9a600>, write_access_slot=<method at remote 0x7f6492c9a700>, enum_strings_slot=<method at remote 0x7f6492c9a540>, unit_slot=<method at remote 0x7f6492c9a240>, prec_slot=<method at remote 0x7f6492c9a440>, upper_ctrl_limit_slot=<method at remote 0x7f6492c9a640>, lower_ctrl_limit_slot=<method at remote 0x7f6492c9aa80>, upper_alarm_limit_slot=<method at remote 0x7f6492c9afc0>, lower_alarm_limit_slot=<method at remote 0x7f6492c9ab00>, upper_warning_limit_slot=<method at remote 0x7f6492c9a140>, lower_warning_limit_slot=<method at remote 0x7f6492c9a2c0>, timestamp_slot=<method at remote 0x7f6492c9a080>, value_signal=<PyQt5.QtCore.pyqtBoundSignal at remote 0x7f649c8ebc90>) at remote 0x7f649c8eba60>
destroying = False
kwargs = {}
_typ = <type at remote 0x556945b94700>
From #525