diff --git a/Configuration.cpp b/Configuration.cpp index 143701eb2..c95ce9a53 100644 --- a/Configuration.cpp +++ b/Configuration.cpp @@ -1416,7 +1416,10 @@ void Configuration::impl::set_rig_invariants () } } ui_->CAT_serial_port_parameters_group_box->setEnabled (is_serial_CAT); - ui_->CAT_control_lines_group_box->setEnabled (is_serial_CAT && !is_hw_handshake); + ui_->CAT_control_lines_group_box->setEnabled (is_serial_CAT); + ui_->CAT_RTS_check_box->setEnabled (is_serial_CAT + && ui_->CAT_control_lines_group_box->isChecked () + && !is_hw_handshake); } auto const& cat_port = ui_->CAT_port_combo_box->currentText (); diff --git a/HamlibTransceiver.cpp b/HamlibTransceiver.cpp index fcad237c2..ce2ee6ec6 100644 --- a/HamlibTransceiver.cpp +++ b/HamlibTransceiver.cpp @@ -261,7 +261,10 @@ HamlibTransceiver::HamlibTransceiver (int model_number, TransceiverFactory::Para if (params.force_line_control) { set_conf ("dtr_state", params.dtr_high ? "ON" : "OFF"); - set_conf ("rts_state", params.rts_high ? "ON" : "OFF"); + if (TransceiverFactory::handshake_hardware != params.handshake) + { + set_conf ("rts_state", params.rts_high ? "ON" : "OFF"); + } } }