kopia lustrzana https://github.com/Hamlib/Hamlib
Fixed RIG_LEVEL_IF set. Fixed RIG_LEVEL_VOXGAIN scale problem for FT950.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2493 7ae35d74-ebe9-4afe-98af-79ac388436b8Hamlib-1.2.9
rodzic
af8d9476b1
commit
d0cd6f0cfd
|
@ -13,7 +13,7 @@
|
||||||
* FT-950, FT-450. Much testing remains. -N0NB
|
* FT-950, FT-450. Much testing remains. -N0NB
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* $Id: newcat.c,v 1.15 2008-12-06 13:29:37 mrtembry Exp $
|
* $Id: newcat.c,v 1.16 2008-12-07 23:16:51 mrtembry Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
|
@ -1497,6 +1497,7 @@ int newcat_set_level(RIG * rig, vfo_t vfo, setting_t level, value_t val)
|
||||||
int i;
|
int i;
|
||||||
char cmdstr[16];
|
char cmdstr[16];
|
||||||
float scale;
|
float scale;
|
||||||
|
char c;
|
||||||
|
|
||||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||||
|
|
||||||
|
@ -1525,7 +1526,11 @@ int newcat_set_level(RIG * rig, vfo_t vfo, setting_t level, value_t val)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case RIG_LEVEL_IF:
|
case RIG_LEVEL_IF:
|
||||||
sprintf(cmdstr, "IS0%+04d;", val.i);
|
if (val.i < 0)
|
||||||
|
c = '-';
|
||||||
|
else
|
||||||
|
c = '+'; /* FT950 IF Shift needs "+0000" for center */
|
||||||
|
sprintf(cmdstr, "IS0%c%04d;", c, abs(val.i));
|
||||||
break;
|
break;
|
||||||
case RIG_LEVEL_CWPITCH:
|
case RIG_LEVEL_CWPITCH:
|
||||||
if (val.i < 300)
|
if (val.i < 300)
|
||||||
|
@ -1602,7 +1607,8 @@ int newcat_set_level(RIG * rig, vfo_t vfo, setting_t level, value_t val)
|
||||||
sprintf(cmdstr, "VD%04d;", val.i*100);
|
sprintf(cmdstr, "VD%04d;", val.i*100);
|
||||||
break;
|
break;
|
||||||
case RIG_LEVEL_VOXGAIN:
|
case RIG_LEVEL_VOXGAIN:
|
||||||
sprintf(cmdstr, "VG%03d;", (int)(255*val.f));
|
scale = (newcat_is_rig(rig, RIG_MODEL_FT950)) ? 100. : 255.;
|
||||||
|
sprintf(cmdstr, "VG%03d;", (int)(scale * val.f));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return -RIG_EINVAL;
|
return -RIG_EINVAL;
|
||||||
|
@ -1728,6 +1734,7 @@ int newcat_get_level(RIG * rig, vfo_t vfo, setting_t level, value_t * val)
|
||||||
|
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case RIG_LEVEL_RFPOWER:
|
case RIG_LEVEL_RFPOWER:
|
||||||
|
case RIG_LEVEL_VOXGAIN:
|
||||||
scale = (newcat_is_rig(rig, RIG_MODEL_FT950)) ? 100. : 255.;
|
scale = (newcat_is_rig(rig, RIG_MODEL_FT950)) ? 100. : 255.;
|
||||||
val->f = (float)atoi(retlvl)/scale;
|
val->f = (float)atoi(retlvl)/scale;
|
||||||
break;
|
break;
|
||||||
|
@ -1736,7 +1743,6 @@ int newcat_get_level(RIG * rig, vfo_t vfo, setting_t level, value_t * val)
|
||||||
case RIG_LEVEL_RF:
|
case RIG_LEVEL_RF:
|
||||||
case RIG_LEVEL_SQL:
|
case RIG_LEVEL_SQL:
|
||||||
case RIG_LEVEL_COMP:
|
case RIG_LEVEL_COMP:
|
||||||
case RIG_LEVEL_VOXGAIN:
|
|
||||||
case RIG_LEVEL_SWR:
|
case RIG_LEVEL_SWR:
|
||||||
case RIG_LEVEL_ALC:
|
case RIG_LEVEL_ALC:
|
||||||
val->f = (float)atoi(retlvl)/255.;
|
val->f = (float)atoi(retlvl)/255.;
|
||||||
|
|
Ładowanie…
Reference in New Issue