mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-27 14:48:46 -05:00
bbc359d043
Made the force control lines group box in the Configuration UI checkable which allows the DTR and RTS checkboxes to mean either force low or force high. Also improved UI control logic to only allow valid setting combintions. Disabled network port text edit for OmniRig. Cleared network port combo box list for network interfaces like HRD and DXLab Commander, was erroneously showing COM ports. git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@5222 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
75 lines
2.3 KiB
C++
75 lines
2.3 KiB
C++
#ifndef HAMLIB_TRANSCEIVER_HPP_
|
|
#define HAMLIB_TRANSCEIVER_HPP_
|
|
|
|
#include <tuple>
|
|
|
|
#include <QString>
|
|
|
|
#include <hamlib/rig.h>
|
|
|
|
#include "TransceiverFactory.hpp"
|
|
#include "PollingTransceiver.hpp"
|
|
|
|
extern "C"
|
|
{
|
|
typedef struct rig RIG;
|
|
struct rig_caps;
|
|
typedef int vfo_t;
|
|
}
|
|
|
|
// hamlib transceiver and PTT mostly delegated directly to hamlib Rig class
|
|
class HamlibTransceiver final
|
|
: public PollingTransceiver
|
|
{
|
|
Q_OBJECT; // for translation context
|
|
|
|
public:
|
|
static void register_transceivers (TransceiverFactory::Transceivers *);
|
|
|
|
explicit HamlibTransceiver (int model_number
|
|
, QString const& cat_port
|
|
, int cat_baud
|
|
, TransceiverFactory::DataBits cat_data_bits
|
|
, TransceiverFactory::StopBits cat_stop_bits
|
|
, TransceiverFactory::Handshake cat_handshake
|
|
, TransceiverFactory::LineControl cat_dtr_control
|
|
, TransceiverFactory::LineControl cat_rts_control
|
|
, TransceiverFactory::PTTMethod ptt_type
|
|
, TransceiverFactory::TXAudioSource back_ptt_port
|
|
, QString const& ptt_port
|
|
, int poll_interval = 0);
|
|
~HamlibTransceiver ();
|
|
|
|
private:
|
|
void do_start () override;
|
|
void do_stop () override;
|
|
void do_frequency (Frequency, MODE = UNK) override;
|
|
void do_tx_frequency (Frequency, bool rationalise_mode = true) override;
|
|
void do_mode (MODE, bool rationalise = true) override;
|
|
void do_ptt (bool) override;
|
|
|
|
void poll () override;
|
|
|
|
void error_check (int ret_code, QString const& doing) const;
|
|
void set_conf (char const * item, char const * value);
|
|
QByteArray get_conf (char const * item);
|
|
Transceiver::MODE map_mode (rmode_t) const;
|
|
rmode_t map_mode (Transceiver::MODE mode) const;
|
|
std::tuple<vfo_t, vfo_t> get_vfos () const;
|
|
|
|
struct RIGDeleter {static void cleanup (RIG *);};
|
|
QScopedPointer<RIG, RIGDeleter> rig_;
|
|
|
|
bool back_ptt_port_;
|
|
bool is_dummy_;
|
|
|
|
bool mutable reversed_;
|
|
|
|
bool split_query_works_;
|
|
bool tickle_hamlib_; // Hamlib requires a
|
|
// rig_set_split_vfo() call to
|
|
// establish the Tx VFO
|
|
};
|
|
|
|
#endif
|