kopia lustrzana https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/mdblack98/Hamlib
commit
2477f45ac9
|
@ -308,6 +308,69 @@ static int flex6k_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
||||||
|
|
||||||
return RIG_OK;
|
return RIG_OK;
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* kenwood_get_ptt
|
||||||
|
*/
|
||||||
|
int flex6k_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
|
||||||
|
{
|
||||||
|
const char *ptt_cmd;
|
||||||
|
int err;
|
||||||
|
char response[16];
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||||
|
|
||||||
|
if (!ptt)
|
||||||
|
{
|
||||||
|
return -RIG_EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
ptt_cmd = "ZZTX";
|
||||||
|
|
||||||
|
err = kenwood_transaction(rig, ptt_cmd, response, sizeof(response));
|
||||||
|
|
||||||
|
if (err != RIG_OK)
|
||||||
|
{
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
*ptt = response[4] == '0' ? RIG_PTT_OFF : RIG_PTT_ON;
|
||||||
|
|
||||||
|
return RIG_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int flex6k_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
|
||||||
|
{
|
||||||
|
const char *ptt_cmd;
|
||||||
|
char response[16];
|
||||||
|
int err;
|
||||||
|
int retry = 3;
|
||||||
|
|
||||||
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||||
|
|
||||||
|
switch (ptt)
|
||||||
|
{
|
||||||
|
case RIG_PTT_ON_DATA:
|
||||||
|
case RIG_PTT_ON_MIC:
|
||||||
|
case RIG_PTT_ON: ptt_cmd = "ZZTX1;ZZTX"; break;
|
||||||
|
|
||||||
|
case RIG_PTT_OFF: ptt_cmd = "ZZTX0;ZZTX"; break;
|
||||||
|
|
||||||
|
default: return -RIG_EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
err = kenwood_transaction(rig, ptt_cmd, response, sizeof(response));
|
||||||
|
|
||||||
|
if (ptt_cmd[4] != response[4])
|
||||||
|
{
|
||||||
|
rig_debug(RIG_DEBUG_ERR, "%s: %s != %s\n", __func__, ptt_cmd, response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (ptt_cmd[4] != response[4] && --retry);
|
||||||
|
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* F6K rig capabilities.
|
* F6K rig capabilities.
|
||||||
|
@ -449,7 +512,7 @@ const struct rig_caps powersdr_caps =
|
||||||
.dcd_type = RIG_DCD_NONE,
|
.dcd_type = RIG_DCD_NONE,
|
||||||
.port_type = RIG_PORT_SERIAL,
|
.port_type = RIG_PORT_SERIAL,
|
||||||
.serial_rate_min = 1200,
|
.serial_rate_min = 1200,
|
||||||
.serial_rate_max = 57600,
|
.serial_rate_max = 115200,
|
||||||
.serial_data_bits = 8,
|
.serial_data_bits = 8,
|
||||||
.serial_stop_bits = 1,
|
.serial_stop_bits = 1,
|
||||||
.serial_parity = RIG_PARITY_NONE,
|
.serial_parity = RIG_PARITY_NONE,
|
||||||
|
@ -460,7 +523,7 @@ const struct rig_caps powersdr_caps =
|
||||||
// We need at least 3 seconds to do profile switches
|
// We need at least 3 seconds to do profile switches
|
||||||
// Hitting the timeout is OK as long as we retry
|
// Hitting the timeout is OK as long as we retry
|
||||||
// Previous note showed FA/FB may take up to 500ms on band change
|
// Previous note showed FA/FB may take up to 500ms on band change
|
||||||
.timeout = 200,
|
.timeout = 250,
|
||||||
.retry = 3,
|
.retry = 3,
|
||||||
|
|
||||||
.has_get_func = RIG_FUNC_NONE, /* has VOX but not implemented here */
|
.has_get_func = RIG_FUNC_NONE, /* has VOX but not implemented here */
|
||||||
|
@ -555,8 +618,8 @@ const struct rig_caps powersdr_caps =
|
||||||
.get_vfo = kenwood_get_vfo_if,
|
.get_vfo = kenwood_get_vfo_if,
|
||||||
.set_split_vfo = kenwood_set_split_vfo,
|
.set_split_vfo = kenwood_set_split_vfo,
|
||||||
.get_split_vfo = kenwood_get_split_vfo_if,
|
.get_split_vfo = kenwood_get_split_vfo_if,
|
||||||
.get_ptt = kenwood_get_ptt,
|
.get_ptt = flex6k_get_ptt,
|
||||||
.set_ptt = kenwood_set_ptt,
|
.set_ptt = flex6k_set_ptt,
|
||||||
// TODO copy over kenwood_[set|get]_level and modify to handle DSP filter values
|
// TODO copy over kenwood_[set|get]_level and modify to handle DSP filter values
|
||||||
// correctly - use actual values instead of indices
|
// correctly - use actual values instead of indices
|
||||||
.set_level = kenwood_set_level,
|
.set_level = kenwood_set_level,
|
||||||
|
|
|
@ -275,7 +275,7 @@ int kenwood_transaction(RIG *rig, const char *cmdstr, char *data,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strlen(cmdstr) > 2 || strcmp(cmdstr, "RX") == 0
|
if (strlen(cmdstr) > 2 || strcmp(cmdstr, "RX") == 0
|
||||||
|| strcmp(cmdstr, "TX") == 0)
|
|| strcmp(cmdstr, "TX") == 0 || strcmp(cmdstr, "ZZTX") == 0)
|
||||||
{
|
{
|
||||||
// then we must be setting something so we'll invalidate the cache
|
// then we must be setting something so we'll invalidate the cache
|
||||||
rig_debug(RIG_DEBUG_TRACE, "%s: cache invalidated\n", __func__);
|
rig_debug(RIG_DEBUG_TRACE, "%s: cache invalidated\n", __func__);
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "token.h"
|
#include "token.h"
|
||||||
|
|
||||||
#define BACKEND_VER "20200508"
|
#define BACKEND_VER "20200528"
|
||||||
|
|
||||||
#define EOM_KEN ';'
|
#define EOM_KEN ';'
|
||||||
#define EOM_TH '\r'
|
#define EOM_TH '\r'
|
||||||
|
|
Ładowanie…
Reference in New Issue