def __init__(self, *args): PluginBase.__init__(self, BrickletRS232, *args) self.setupUi(self) # the firmware version of a EEPROM Bricklet can (under common circumstances) # not change during the lifetime of an EEPROM Bricklet plugin. therefore, # it's okay to make final decisions based on it here self.has_error_callback = self.firmware_version >= (2, 0, 1) self.text.setReadOnly(True) self.rs232 = self.device self.read_callback_was_enabled = None self.qtcb_read.connect(self.cb_read) self.rs232.register_callback(self.rs232.CALLBACK_READ, self.qtcb_read.emit) if self.has_error_callback: self.label_no_error_support.hide() self.qtcb_error.connect(self.cb_error) self.rs232.register_callback(self.rs232.CALLBACK_ERROR, self.qtcb_error.emit) else: self.widget_errors.hide() self.input_combobox.addItem("") self.input_combobox.lineEdit().setMaxLength(58) self.input_combobox.lineEdit().returnPressed.connect(self.input_changed) self.line_ending_lineedit.setValidator(HexValidator()) self.line_ending_combobox.currentIndexChanged.connect(self.line_ending_changed) self.line_ending_lineedit.editingFinished.connect(self.line_ending_changed) self.baudrate_combobox.currentIndexChanged.connect(self.configuration_changed) self.parity_combobox.currentIndexChanged.connect(self.configuration_changed) self.stopbits_spinbox.valueChanged.connect(self.configuration_changed) self.wordlength_spinbox.valueChanged.connect(self.configuration_changed) self.flowcontrol_combobox.currentIndexChanged.connect(self.configuration_changed) self.text_type_combobox.currentIndexChanged.connect(self.text_type_changed) self.hextext = QHexeditWidget(self.text.font()) self.hextext.hide() self.layout().insertWidget(2, self.hextext) self.button_clear_text.clicked.connect(lambda: self.text.setPlainText("")) self.button_clear_text.clicked.connect(self.hextext.clear) self.save_button.clicked.connect(self.save_clicked) self.error_overrun = 0 self.error_parity = 0 self.error_framing = 0 self.last_char = ''
def __init__(self, *args): PluginBase.__init__(self, BrickletCAN, *args) self.setupUi(self) self.can = self.device self.qtcb_frame_read.connect(self.cb_frame_read) self.can.register_callback(self.can.CALLBACK_FRAME_READ, self.qtcb_frame_read.emit) self.last_filename = os.path.join(get_home_path(), 'can_bricklet_history.log') self.filter_mask = 0 self.filter1 = 0 self.filter2 = 0 self.frame_read_callback_was_enabled = None self.tree_frames.header().resizeSection(0, 150) self.tree_frames.header().resizeSection(1, 135) self.tree_frames.header().resizeSection(2, 135) self.tree_frames.header().resizeSection(3, 300) self.tree_frames.header().resizeSection(4, 100) self.edit_data.setValidator(HexValidator(max_bytes=8)) self.combo_frame_type.currentIndexChanged.connect( self.frame_type_changed) self.combo_baud_rate.currentIndexChanged.connect( self.configuration_changed) self.combo_transceiver_mode.currentIndexChanged.connect( self.configuration_changed) self.spin_write_timeout.valueChanged.connect( self.configuration_changed) self.combo_filter_mode.currentIndexChanged.connect( self.filter_mode_changed) self.spin_filter_mask_extended.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter_mask_standard.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter_mask_data1.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter_mask_data2.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter1_extended.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter1_standard.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter1_data1.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter1_data2.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter2_extended.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter2_standard.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter2_data1.valueChanged.connect( self.mask_or_filter_changed) self.spin_filter2_data2.valueChanged.connect( self.mask_or_filter_changed) self.button_write_frame.clicked.connect(self.write_frame) self.button_clear_history.clicked.connect(self.tree_frames.clear) self.button_save_history.clicked.connect(self.save_history) self.button_save_configuration.clicked.connect(self.save_configuration) self.button_save_read_filter.clicked.connect(self.save_read_filter) self.error_log_timer = QTimer(self) self.error_log_timer.timeout.connect(self.update_error_log) self.error_log_timer.setInterval(1000) self.frame_type_changed() self.filter_mode_changed()
def __init__(self, *args): COMCUPluginBase.__init__(self, BrickletRS232V2, *args) self.setupUi(self) self.text.setReadOnly(True) self.rs232 = self.device self.read_callback_was_enabled = None self.qtcb_read.connect(self.cb_read) self.rs232.register_callback(self.rs232.CALLBACK_READ, self.qtcb_read.emit) self.qtcb_error_count.connect(self.cb_error_count) self.rs232.register_callback(self.rs232.CALLBACK_ERROR_COUNT, self.qtcb_error_count.emit) self.input_combobox.addItem("") self.input_combobox.lineEdit().setMaxLength(65533) self.input_combobox.lineEdit().returnPressed.connect( self.input_changed) self.line_ending_lineedit.setValidator(HexValidator()) self.line_ending_combobox.currentIndexChanged.connect( self.line_ending_changed) self.line_ending_lineedit.editingFinished.connect( self.line_ending_changed) self.baudrate_spinbox.valueChanged.connect(self.configuration_changed) self.parity_combobox.currentIndexChanged.connect( self.configuration_changed) self.stopbits_spinbox.valueChanged.connect(self.configuration_changed) self.wordlength_spinbox.valueChanged.connect( self.configuration_changed) self.flowcontrol_combobox.currentIndexChanged.connect( self.configuration_changed) self.text_type_combobox.currentIndexChanged.connect( self.text_type_changed) self.hextext = QHexeditWidget(self.text.font()) self.hextext.hide() self.layout().insertWidget(2, self.hextext) self.button_clear_text.clicked.connect( lambda: self.text.setPlainText("")) self.button_clear_text.clicked.connect(self.hextext.clear) self.save_button.clicked.connect(self.save_clicked) self.error_stream_oos = 0 self.last_char = '' if self.baudrate_spinbox.value() > BAUDRATE_MAX_RS232: self.label_note_baud.show() else: self.label_note_baud.hide() if self.flowcontrol_combobox.currentIndex() == CBOX_IDX_FC_HW: self.label_note_fc_hw.show() else: self.label_note_fc_hw.hide()
def __init__(self, *args): COMCUPluginBase.__init__(self, BrickletCANV2, *args) self.setupUi(self) self.can = self.device self.qtcb_frame_read.connect(self.cb_frame_read) self.can.register_callback(self.can.CALLBACK_FRAME_READ, self.qtcb_frame_read.emit) self.last_filename = os.path.join(get_home_path(), 'can_bricklet_v2_history.log') self.frame_read_callback_was_enabled = False self.tree_frames.header().resizeSection(0, 150) self.tree_frames.header().resizeSection(1, 170) self.tree_frames.header().resizeSection(2, 300) self.tree_frames.header().resizeSection(3, 100) self.edit_data.setValidator(HexValidator(max_bytes=8)) self.combo_frame_type.currentIndexChanged.connect( self.frame_type_changed) self.spin_baud_rate.valueChanged.connect( self.transceiver_configuration_changed) self.spin_sample_point.valueChanged.connect( self.transceiver_configuration_changed) self.combo_transceiver_mode.currentIndexChanged.connect( self.transceiver_configuration_changed) self.spin_write_buffer_size.valueChanged.connect( self.queue_configuration_changed) self.spin_write_buffer_timeout.valueChanged.connect( self.queue_configuration_changed) self.spin_write_backlog_size.valueChanged.connect( self.queue_configuration_changed) self.edit_read_buffer_sizes.textEdited.connect( self.queue_configuration_changed) self.spin_read_backlog_size.valueChanged.connect( self.queue_configuration_changed) for i in range(32): self.combo_filter_buffer.addItem(str(i)) self.combo_filter_buffer.currentIndexChanged.connect( self.read_filter_buffer_changed) self.combo_filter_mode.currentIndexChanged.connect( self.read_filter_mode_changed) self.spin_filter_mask.valueChanged.connect( self.read_filter_configuration_changed) self.spin_filter_identifier.valueChanged.connect( self.read_filter_configuration_changed) self.button_write_frame.clicked.connect(self.write_frame) self.button_clear_history.clicked.connect(self.tree_frames.clear) self.button_save_history.clicked.connect(self.save_history) self.button_save_transceiver_configuration.clicked.connect( self.save_transceiver_configuration) self.button_reset_transceiver_configuration.clicked.connect( self.reset_transceiver_configuration) self.button_save_queue_configuration.clicked.connect( self.save_queue_configuration) self.button_reset_queue_configuration.clicked.connect( self.reset_queue_configuration) self.button_save_read_filter_configuration.clicked.connect( self.save_read_filter_configuration) self.button_reset_read_filter_configuration.clicked.connect( self.reset_read_filter_configuration) self.error_log_timer = QTimer(self) self.error_log_timer.timeout.connect(self.update_error_log) self.error_log_timer.setInterval(1000) self.frame_type_changed() self.read_filter_buffer_changed() self.read_filter_mode_changed() self.read_filter_configuration_changed() self.com_led_off_action = QAction('Off', self) self.com_led_off_action.triggered.connect( lambda: self.can.set_communication_led_config( BrickletCANV2.COMMUNICATION_LED_CONFIG_OFF)) self.com_led_on_action = QAction('On', self) self.com_led_on_action.triggered.connect( lambda: self.can.set_communication_led_config( BrickletCANV2.COMMUNICATION_LED_CONFIG_ON)) self.com_led_show_heartbeat_action = QAction('Show Heartbeat', self) self.com_led_show_heartbeat_action.triggered.connect( lambda: self.can.set_communication_led_config( BrickletCANV2.COMMUNICATION_LED_CONFIG_SHOW_HEARTBEAT)) self.com_led_show_communication_action = QAction('Show Com', self) self.com_led_show_communication_action.triggered.connect( lambda: self.can.set_communication_led_config( BrickletCANV2.COMMUNICATION_LED_CONFIG_SHOW_COMMUNICATION)) self.extra_configs += [(1, 'Com LED:', [ self.com_led_off_action, self.com_led_on_action, self.com_led_show_heartbeat_action, self.com_led_show_communication_action ])] self.error_led_off_action = QAction('Off', self) self.error_led_off_action.triggered.connect( lambda: self.can.set_error_led_config(BrickletCANV2. ERROR_LED_CONFIG_OFF)) self.error_led_on_action = QAction('On', self) self.error_led_on_action.triggered.connect( lambda: self.can.set_error_led_config(BrickletCANV2. ERROR_LED_CONFIG_ON)) self.error_led_show_heartbeat_action = QAction('Show Heartbeat', self) self.error_led_show_heartbeat_action.triggered.connect( lambda: self.can.set_error_led_config( BrickletCANV2.ERROR_LED_CONFIG_SHOW_HEARTBEAT)) self.error_led_show_transceiver_state_action = QAction( 'Show Transceiver State', self) self.error_led_show_transceiver_state_action.triggered.connect( lambda: self.can.set_error_led_config( BrickletCANV2.ERROR_LED_CONFIG_SHOW_TRANSCEIVER_STATE)) self.error_led_show_error_action = QAction('Show Error', self) self.error_led_show_error_action.triggered.connect( lambda: self.can.set_error_led_config(BrickletCANV2. ERROR_LED_CONFIG_SHOW_ERROR)) self.extra_configs += [(1, 'Error LED:', [ self.error_led_off_action, self.error_led_on_action, self.error_led_show_heartbeat_action, self.error_led_show_transceiver_state_action, self.error_led_show_error_action ])]