From 08aac883775c8cd89d682682f2e3b49d796e2a35 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Sat, 20 Apr 2024 15:09:09 -0500 Subject: [PATCH] Add set_ptt for kachina 505dsp --- rigs/kachina/505dsp.c | 3 ++- rigs/kachina/kachina.c | 14 +++++++++----- rigs/kachina/kachina.h | 3 ++- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/rigs/kachina/505dsp.c b/rigs/kachina/505dsp.c index 0640f5e7a..73a209189 100644 --- a/rigs/kachina/505dsp.c +++ b/rigs/kachina/505dsp.c @@ -62,7 +62,7 @@ struct rig_caps k505dsp_caps = .copyright = "LGPL", .status = RIG_STATUS_STABLE, .rig_type = RIG_TYPE_COMPUTER, - .ptt_type = RIG_PTT_NONE, + .ptt_type = RIG_PTT_RIG, .dcd_type = RIG_DCD_RIG, .port_type = RIG_PORT_SERIAL, .serial_rate_min = 9600, @@ -151,6 +151,7 @@ struct rig_caps k505dsp_caps = .set_freq = kachina_set_freq, .set_mode = kachina_set_mode, + .set_ptt = kachina_set_ptt, .get_level = kachina_get_level, .hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS diff --git a/rigs/kachina/kachina.c b/rigs/kachina/kachina.c index 4ce343918..ed4fa979a 100644 --- a/rigs/kachina/kachina.c +++ b/rigs/kachina/kachina.c @@ -169,12 +169,16 @@ int kachina_set_freq(RIG *rig, vfo_t vfo, freq_t freq) /* transmit frequency */ retval = kachina_trans_n(rig, 'T', (char *) freqbuf, 4); - if (retval != RIG_OK) - { - return retval; - } + return retval; +} - return RIG_OK; +int kachina_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt) +{ + char c = ptt == 0 ? 0x00 : 0x01; + + int retval = kachina_trans_n(rig, 'X', &c , 1); + + return retval; } /* diff --git a/rigs/kachina/kachina.h b/rigs/kachina/kachina.h index 4fafe56a1..cce933baf 100644 --- a/rigs/kachina/kachina.h +++ b/rigs/kachina/kachina.h @@ -24,10 +24,11 @@ #include -#define BACKEND_VER "20061007" +#define BACKEND_VER "20240420" int kachina_set_freq(RIG *rig, vfo_t vfo, freq_t freq); int kachina_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width); +int kachina_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt); int kachina_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val); extern struct rig_caps k505dsp_caps;