Merge branch 'master' into async-reader

pull/892/head
Mikael Nousiainen 2021-12-12 23:05:48 +02:00
commit 1d067d6a43
8 zmienionych plików z 93 dodań i 21 usunięć

Wyświetl plik

@ -307,6 +307,21 @@ typedef enum {
RIG_FLAG_TUNER = (1 << 11) /*!< dumb tuner */
} rig_type_t;
/**
* \brief AGC delay settings
*/
/* TODO: kill me, and replace by real AGC delay */
enum agc_level_e {
RIG_AGC_OFF = 0,
RIG_AGC_SUPERFAST,
RIG_AGC_FAST,
RIG_AGC_SLOW,
RIG_AGC_USER, /*!< user selectable */
RIG_AGC_MEDIUM,
RIG_AGC_AUTO
};
//! @cond Doxygen_Suppress
#define RIG_FLAG_TRANSCEIVER (RIG_FLAG_RECEIVER|RIG_FLAG_TRANSMITTER)
#define RIG_TYPE_MASK (RIG_FLAG_TRANSCEIVER|RIG_FLAG_SCANNER|RIG_FLAG_MOBILE|RIG_FLAG_HANDHELD|RIG_FLAG_COMPUTER|RIG_FLAG_TRUNKING|RIG_FLAG_TUNER)
@ -836,20 +851,6 @@ typedef unsigned int ant_t;
#define RIG_ANT_MAX 32
/**
* \brief AGC delay settings
*/
/* TODO: kill me, and replace by real AGC delay */
enum agc_level_e {
RIG_AGC_OFF = 0,
RIG_AGC_SUPERFAST,
RIG_AGC_FAST,
RIG_AGC_SLOW,
RIG_AGC_USER, /*!< user selectable */
RIG_AGC_MEDIUM,
RIG_AGC_AUTO
};
//! @cond Doxygen_Suppress
#define RIG_AGC_LAST RIG_AGC_AUTO
//! @endcond
@ -3188,6 +3189,8 @@ extern HAMLIB_EXPORT(const char *) rig_strfunc(setting_t);
extern HAMLIB_EXPORT(const char *) rig_strlevel(setting_t);
extern HAMLIB_EXPORT(const char *) rig_strparm(setting_t);
extern HAMLIB_EXPORT(const char *) rig_stragclevel(enum agc_level_e level);
extern HAMLIB_EXPORT(enum agc_level_e) rig_levelagcstr (char *agcString);
extern HAMLIB_EXPORT(enum agc_level_e) rig_levelagcvalue (int agcValue);
extern HAMLIB_EXPORT(const char *) rig_strptrshift(rptr_shift_t);
extern HAMLIB_EXPORT(const char *) rig_strvfop(vfo_op_t op);
extern HAMLIB_EXPORT(const char *) rig_strscan(scan_t scan);

0
macros/ax_python_devel.m4 100755 → 100644
Wyświetl plik

Wyświetl plik

@ -768,6 +768,14 @@ static int netrigctl_open(RIG *rig)
rig_debug(RIG_DEBUG_TRACE, "%s: timeout value = '%s', final timeout=%d\n",
__func__, value, rig->caps->timeout);
}
else if (strcmp(setting, "rig_model") == 0)
{
rig_debug(RIG_DEBUG_TRACE, "%s: rig_model=%s\n", __func__, value);
}
else if (strcmp(setting, "rigctld_version") == 0)
{
rig_debug(RIG_DEBUG_TRACE, "%s: rigctld_version=%s\n", __func__, value);
}
else if (strcmp(setting, "ctcss_list") == 0)
{
int n;

Wyświetl plik

@ -12,6 +12,7 @@
float freqA = 14074000;
float freqB = 14074500;
int filternum = 7;
int datamode = 0;
// ID 0310 == 310, Must drop leading zero
typedef enum nc_rigid_e
@ -233,9 +234,15 @@ int main(int argc, char *argv[])
{
sscanf(buf, "FL%d", &filternum);
}
else if (strncmp(buf, "DA;", 3) == 0)
{
sprintf(buf, "DA%d;", datamode);
write(fd, buf, strlen(buf));
}
else if (strncmp(buf, "DA", 2) == 0)
{
sscanf(buf, "DA%d", &datamode);
}
else if (strlen(buf) > 0)
{
fprintf(stderr, "Unknown command: %s\n", buf);

Wyświetl plik

@ -1293,6 +1293,57 @@ const char *HAMLIB_API rig_stragclevel(enum agc_level_e level)
return "";
}
/**
* \brief Convert a value to agc_level_e -- constrains the range
* \param integer...
* \return agc_level_e
*/
enum agc_level_e levelagcvalue(int agcValue)
{
enum agc_level_e agcLevel;
switch (agcValue)
{
case 0: agcLevel = RIG_AGC_OFF; break;
case 1: agcLevel = RIG_AGC_SUPERFAST; break;
case 2: agcLevel = RIG_AGC_FAST; break;
case 3: agcLevel = RIG_AGC_SLOW; break;
case 4: agcLevel = RIG_AGC_USER; break;
case 5: agcLevel = RIG_AGC_MEDIUM; break;
case 6: agcLevel = RIG_AGC_AUTO; break;
default: agcLevel = RIG_AGC_AUTO; break;
}
return agcLevel;
}
/**
* \brief Convert AGC string... to agc_level_e
* \param mode AGC string...
* \return agc_level_e
*/
enum agc_level_e levelagcstr(char *agcString)
{
enum agc_level_e agcLevel;
if (strcmp(agcString, "OFF") == 0) { agcLevel = RIG_AGC_OFF; }
else if (strcmp(agcString, "SUPERFAST") == 0) { agcLevel = RIG_AGC_SUPERFAST; }
else if (strcmp(agcString, "FAST") == 0) { agcLevel = RIG_AGC_FAST; }
else if (strcmp(agcString, "SLOW") == 0) { agcLevel = RIG_AGC_SLOW; }
else if (strcmp(agcString, "USER") == 0) { agcLevel = RIG_AGC_USER; }
else if (strcmp(agcString, "MEDIUM") == 0) { agcLevel = RIG_AGC_MEDIUM; }
else { agcLevel = RIG_AGC_AUTO; }
return agcLevel;
}
static const struct
{
@ -2485,7 +2536,8 @@ char *date_strget(char *buf, int buflen, int localtime)
gettimeofday(&tv, NULL);
snprintf(tmpbuf, sizeof(tmpbuf), "%06ld", (long)tv.tv_usec);
strcat(buf, tmpbuf);
snprintf(tmpbuf, sizeof(tmpbuf), "%s%04d", mytimezone >=0? "-":"+", ((int)abs(mytimezone)/3600)*100);
snprintf(tmpbuf, sizeof(tmpbuf), "%s%04d", mytimezone >= 0 ? "-" : "+",
((int)abs(mytimezone) / 3600) * 100);
strcat(buf, tmpbuf);
return buf;
}

Wyświetl plik

@ -119,7 +119,7 @@ extern HAMLIB_EXPORT(int) parse_hoststr(char *hoststr, char host[256], char port
extern HAMLIB_EXPORT(uint32_t) CRC32_function(uint8_t *buf, uint32_t len);
extern char *date_strget(char *buf, int buflen, int localtime);
extern HAMLIB_EXPORT(char *)date_strget(char *buf, int buflen, int localtime);
#ifdef PRId64
/** \brief printf(3) format to be used for long long (64bits) type */

Wyświetl plik

@ -2731,10 +2731,10 @@ int HAMLIB_API rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
retcode = ser_set_dtr(&rig->state.pttport, ptt != RIG_PTT_OFF);
rig_debug(RIG_DEBUG_TRACE, "%s: rigport=%s, pttport=%s, ptt_share=%d\n", __func__, rs->pttport.pathname, rs->rigport.pathname, rs->ptt_share);
if (strcmp(rs->pttport.pathname, rs->rigport.pathname)
&& ptt == RIG_PTT_OFF && rs->ptt_share != 0)
{
rig_debug(RIG_DEBUG_TRACE, "%s: ptt_share=%d\n", __func__, rs->ptt_share);
/* free the port */
ser_close(&rs->pttport);
}
@ -2778,10 +2778,10 @@ int HAMLIB_API rig_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
retcode = ser_set_rts(&rig->state.pttport, ptt != RIG_PTT_OFF);
rig_debug(RIG_DEBUG_TRACE, "%s: rigport=%s, pttport=%s, ptt_share=%d\n", __func__, rs->pttport.pathname, rs->rigport.pathname, rs->ptt_share);
if (strcmp(rs->pttport.pathname, rs->rigport.pathname)
&& ptt == RIG_PTT_OFF && rs->ptt_share != 0)
{
rig_debug(RIG_DEBUG_TRACE, "%s: ptt_share=%d\n", __func__, rs->ptt_share);
/* free the port */
ser_close(&rs->pttport);
}

Wyświetl plik

@ -4365,6 +4365,8 @@ declare_proto_rig(dump_state)
fprintf(fout, "has_power2mW=%d\n", rig->caps->power2mW != NULL);
fprintf(fout, "has_mW2power=%d\n", rig->caps->mW2power != NULL);
fprintf(fout, "timeout=%d\n", rig->caps->timeout);
fprintf(fout, "rig_model=%d\n", rig->caps->rig_model);
fprintf(fout, "rigctld_version=%s\n", hamlib_version2);
if (rig->caps->ctcss_list)
{