kopia lustrzana https://github.com/Hamlib/Hamlib
Porównaj commity
7 Commity
95b0af114f
...
08aac88377
Autor | SHA1 | Data |
---|---|---|
Mike Black W9MDB | 08aac88377 | |
Mike Black W9MDB | c31497918f | |
Mike Black W9MDB | d9b57bc7a8 | |
Mike Black W9MDB | 90545a192e | |
Mike Black W9MDB | dce80d264a | |
Mike Black W9MDB | 4c111da0d1 | |
Mike Black W9MDB | d9b589d254 |
|
@ -108,7 +108,7 @@ static int barrett4100_open(RIG *rig)
|
|||
int retval;
|
||||
char *response;
|
||||
ENTERFUNC;
|
||||
retval = barrett_transaction2(rig, "M:REMOTE SENTER2", 0, &response);
|
||||
retval = barrett_transaction2(rig, "M:REMOTE SENTER2,1", 0, &response);
|
||||
|
||||
if (retval != RIG_OK || response[0] != 's')
|
||||
{
|
||||
|
@ -193,7 +193,13 @@ int barrett4100_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
}
|
||||
else
|
||||
{
|
||||
sscanf(response, "gRFA1,%*d,%lf,%*d", freq);
|
||||
int n = sscanf(response, "gRF%lf", freq);
|
||||
//int n = sscanf(response, "gRFA1,%*d,%lf,%*d", freq);
|
||||
if (n != 1)
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s(%d): unable to parse freq from '%s'\n", __func__, __LINE__, response);
|
||||
return -RIG_EPROTO;
|
||||
}
|
||||
}
|
||||
|
||||
return retval;
|
||||
|
@ -233,7 +239,7 @@ struct rig_caps barrett4100_caps =
|
|||
RIG_MODEL(RIG_MODEL_BARRETT_4100),
|
||||
.model_name = "4100",
|
||||
.mfg_name = "Barrett",
|
||||
.version = BACKEND_VER ".0",
|
||||
.version = BACKEND_VER ".1",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_BETA,
|
||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||
|
|
|
@ -2564,7 +2564,6 @@ struct rig_caps dummy_caps =
|
|||
|
||||
.get_info = dummy_get_info,
|
||||
|
||||
|
||||
.set_ptt = dummy_set_ptt,
|
||||
.get_ptt = dummy_get_ptt,
|
||||
.get_dcd = dummy_get_dcd,
|
||||
|
@ -2620,12 +2619,12 @@ struct rig_caps dummy_no_vfo_caps =
|
|||
RIG_MODEL(RIG_MODEL_DUMMY_NOVFO),
|
||||
.model_name = "Dummy No VFO",
|
||||
.mfg_name = "Hamlib",
|
||||
.version = "20220510.0",
|
||||
.version = "20240409.0",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_STABLE,
|
||||
.rig_type = RIG_TYPE_OTHER,
|
||||
.targetable_vfo = RIG_TARGETABLE_PTT | RIG_TARGETABLE_RITXIT | RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE,
|
||||
.ptt_type = RIG_PTT_RIG,
|
||||
.targetable_vfo = RIG_TARGETABLE_PTT | RIG_TARGETABLE_RITXIT | RIG_TARGETABLE_FREQ | RIG_TARGETABLE_MODE | RIG_TARGETABLE_SPECTRUM,
|
||||
.ptt_type = RIG_PTT_NONE,
|
||||
.dcd_type = RIG_DCD_RIG,
|
||||
.port_type = RIG_PORT_NONE,
|
||||
.has_get_func = DUMMY_FUNC,
|
||||
|
@ -2734,7 +2733,6 @@ struct rig_caps dummy_no_vfo_caps =
|
|||
|
||||
.get_info = dummy_get_info,
|
||||
|
||||
|
||||
.set_ptt = dummy_set_ptt,
|
||||
.get_ptt = dummy_get_ptt,
|
||||
.get_dcd = dummy_get_dcd,
|
||||
|
|
|
@ -143,7 +143,7 @@ struct rig_caps flrig_caps =
|
|||
RIG_MODEL(RIG_MODEL_FLRIG),
|
||||
.model_name = "",
|
||||
.mfg_name = "FLRig",
|
||||
.version = "20240325.0",
|
||||
.version = "20240418.0",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_STABLE,
|
||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||
|
@ -1305,6 +1305,8 @@ static int flrig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
|
||||
retval = flrig_transaction(rig, cmd, cmd_arg, NULL, 0);
|
||||
|
||||
hl_usleep(100*1000); // FLRig needs a moment to update the active VFO
|
||||
|
||||
if (retval != RIG_OK)
|
||||
{
|
||||
RETURNFUNC2(retval);
|
||||
|
|
|
@ -2790,6 +2790,8 @@ int netrigctl_get_lock_mode(RIG *rig, int *lock)
|
|||
char cmdbuf[256];
|
||||
char buf[BUF_MAX];
|
||||
int ret;
|
||||
hamlib_port_t *rp = RIGPORT(rig);
|
||||
|
||||
SNPRINTF(cmdbuf, sizeof(cmdbuf), "\\get_lock_mode\n");
|
||||
ret = netrigctl_transaction(rig, cmdbuf, strlen(cmdbuf), buf);
|
||||
|
||||
|
@ -2799,6 +2801,7 @@ int netrigctl_get_lock_mode(RIG *rig, int *lock)
|
|||
}
|
||||
|
||||
sscanf(buf, "%d", lock);
|
||||
ret = read_string(rp, (unsigned char *) buf, BUF_MAX, "\n", 1, 0, 1);
|
||||
return (RIG_OK);
|
||||
}
|
||||
|
||||
|
@ -2819,7 +2822,7 @@ struct rig_caps netrigctl_caps =
|
|||
RIG_MODEL(RIG_MODEL_NETRIGCTL),
|
||||
.model_name = "NET rigctl",
|
||||
.mfg_name = "Hamlib",
|
||||
.version = "20240304.0",
|
||||
.version = "20240418.0",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_STABLE,
|
||||
.rig_type = RIG_TYPE_OTHER,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -24,10 +24,11 @@
|
|||
|
||||
#include <hamlib/rig.h>
|
||||
|
||||
#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;
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
#include <hamlib/rig.h>
|
||||
#include "misc.h"
|
||||
|
||||
static setting_t bitmap_func, bitmap_level, bitmap_parm;
|
||||
static setting_t bitmap_func, bitmap_level, bitmap_parm, bitmap_vfo_ops;
|
||||
|
||||
int create_png_range(const freq_range_t rx_range_list[],
|
||||
const freq_range_t tx_range_list[], int num);
|
||||
|
@ -99,10 +99,11 @@ int print_caps_sum(struct rig_caps *caps, void *data)
|
|||
"<TD><A HREF=\"#setlevel%u\">levels</A></TD>"
|
||||
"<TD><A HREF=\"#getparm%u\">parms</A></TD>"
|
||||
"<TD><A HREF=\"#setparm%u\">parms</A></TD>"
|
||||
"<TD><A HREF=\"#op%u\">ops</A></TD>"
|
||||
"</TR>\n",
|
||||
caps->rig_model, caps->rig_model, caps->rig_model,
|
||||
caps->rig_model, caps->rig_model, caps->rig_model,
|
||||
caps->rig_model, caps->rig_model, caps->rig_model);
|
||||
caps->rig_model, caps->rig_model, caps->rig_model, caps->rig_model);
|
||||
|
||||
return 1; /* !=0, we want them all ! */
|
||||
}
|
||||
|
@ -215,7 +216,7 @@ int print_caps_parameters(struct rig_caps *caps, void *data)
|
|||
}
|
||||
|
||||
/* used by print_caps_caps and print_caps_level */
|
||||
#define print_yn(fn) printf("<TD>%c</TD>", (fn) ? 'Y':'N')
|
||||
#define print_yn(fn) printf("<TD>%s</TD>", (fn) ? "<font color=\"00AA00\"><strong>Y</strong><font>":"<font color=\"#CCCCCC\">N<font>")
|
||||
|
||||
/*
|
||||
* backend functions defined
|
||||
|
@ -303,6 +304,43 @@ int print_caps_parm(struct rig_caps *caps, void *data)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/*
|
||||
* VFO Ops capabilities
|
||||
*/
|
||||
int print_caps_vfo_ops(struct rig_caps *caps, void *data)
|
||||
{
|
||||
setting_t vfo_ops;
|
||||
int i;
|
||||
|
||||
if (!data)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Only set for these
|
||||
vfo_ops = (*(int *)data) ? caps->vfo_ops : caps->vfo_ops;
|
||||
|
||||
printf("<A NAME=\"%s%u\"><TR><TD>%s</TD>",
|
||||
(*(int *)data) ? "op" : "op",
|
||||
caps->rig_model,
|
||||
caps->model_name);
|
||||
|
||||
/*
|
||||
* bitmap_vfo_ops: only those who have a label
|
||||
*/
|
||||
for (i = 0; i < RIG_SETTING_MAX; i++)
|
||||
{
|
||||
if (rig_idx2setting(i) & bitmap_vfo_ops)
|
||||
{
|
||||
print_yn(vfo_ops & rig_idx2setting(i));
|
||||
}
|
||||
}
|
||||
|
||||
printf("</TR></A>\n");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Get/Set level abilities
|
||||
|
@ -647,6 +685,7 @@ int main(int argc, char *argv[])
|
|||
"<TD>Set level</TD>"
|
||||
"<TD>Get parm</TD>"
|
||||
"<TD>Set parm</TD>"
|
||||
"<TD>VFO Ops</TD>"
|
||||
"</TR>\n");
|
||||
rig_list_foreach(print_caps_sum, NULL);
|
||||
printf("</TABLE>\n");
|
||||
|
@ -821,6 +860,40 @@ int main(int argc, char *argv[])
|
|||
|
||||
printf("<P>");
|
||||
|
||||
bitmap_vfo_ops = 0;
|
||||
prntbuf[0] = '\0';
|
||||
pbuf = prntbuf;
|
||||
|
||||
for (i = 0; i < RIG_SETTING_MAX; i++)
|
||||
{
|
||||
setting_t op = rig_idx2setting(i);
|
||||
const char *s = rig_strvfop(op);
|
||||
|
||||
if (!s)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
bitmap_vfo_ops |= op;
|
||||
nbytes = strlen("<TD></TD>") + strlen(s) + 1;
|
||||
nbytes_total += nbytes;
|
||||
pbuf += snprintf(pbuf, sizeof(pbuf) - nbytes_total, "<TD>%s</TD>", s);
|
||||
|
||||
if (strlen(pbuf) > sizeof(pbuf) + nbytes)
|
||||
{
|
||||
printf("Buffer overflow in %s\n", __func__);
|
||||
}
|
||||
}
|
||||
|
||||
printf("VFO Ops");
|
||||
printf("<TABLE BORDER=1>\n");
|
||||
printf("<TR><TD>Model</TD>%s</TR>\n", prntbuf);
|
||||
set_or_get = 0;
|
||||
rig_list_foreach(print_caps_vfo_ops, &set_or_get);
|
||||
printf("</TABLE>\n");
|
||||
|
||||
printf("<P>");
|
||||
|
||||
time(&gentime);
|
||||
printf("Rigmatrix generated %s\n", ctime(&gentime));
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue