kopia lustrzana https://github.com/Hamlib/Hamlib
Merge branch 'master' into async-reader
commit
1d067d6a43
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
54
src/misc.c
54
src/misc.c
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Ładowanie…
Reference in New Issue