Still more state pointer conversions.

This commit is contained in:
George Baltz N3GB 2024-06-02 13:26:01 -04:00
parent 2794d2dfe1
commit 2f97b4bf82
5 changed files with 25 additions and 21 deletions

View File

@ -17,7 +17,7 @@ If you don't know the number, listrigs can give it to you,
In any case, you are encouraged to check for correct initialization
by reading the source code, at the beginning of the main(). Check also
that the program is setup for your rig path strncpy(my_rig->state.rig_path...
that the program is setup for your rig path strncpy(HAMLIB_STATE(my_rig)->rig_path...
dumpcaps - Output the caps contents of a rig
dumpmem - Dump the memory contents of the rig

View File

@ -83,11 +83,12 @@ int main(int argc, const char *argv[])
* RIG_CHAN_END
* }
*/
struct rig_state *rs = STATE(my_rig);
for (i = 0; my_rig->state.chan_list[i].type; i++)
for (i = 0; rs->chan_list[i].type; i++)
{
for (j = my_rig->state.chan_list[i].startc;
j <= my_rig->state.chan_list[i].endc; j++)
for (j = rs->chan_list[i].startc;
j <= rs->chan_list[i].endc; j++)
{
dump_chan(my_rig, j);
}

View File

@ -343,7 +343,7 @@ int csv_parm_save(RIG *rig, const char *outfilename)
{
int i, ret;
FILE *f;
setting_t get_parm = all ? 0x7fffffff : rig->state.has_get_parm;
setting_t get_parm = all ? 0x7fffffff : STATE(rig)->has_get_parm;
f = fopen(outfilename, "w");
@ -742,6 +742,7 @@ int set_channel_data(RIG *rig,
int i, j, n;
const channel_cap_t *mem_caps;
struct rig_state *rs = STATE(rig);
memset(chan, 0, sizeof(channel_t));
chan->vfo = RIG_VFO_CURR;
@ -759,7 +760,7 @@ int set_channel_data(RIG *rig,
/* find channel caps of appropriate memory group? */
for (j = 0; j < HAMLIB_CHANLSTSIZ; j++)
{
if (rig->state.chan_list[j].startc <= n && rig->state.chan_list[j].endc >= n)
if (rs->chan_list[j].startc <= n && rs->chan_list[j].endc >= n)
{
break;
}
@ -772,7 +773,7 @@ int set_channel_data(RIG *rig,
printf("Requested channel number %d, list number %d\n", n, j);
mem_caps = &rig->state.chan_list[j].mem_caps;
mem_caps = &rs->chan_list[j].mem_caps;
if (mem_caps->bank_num)
{

View File

@ -564,6 +564,7 @@ int main(int argc, char *argv[])
}
char *token = strtok(conf_parms, ",");
struct rig_state *rs = STATE(my_rig);
while (token)
{
@ -630,7 +631,7 @@ int main(int argc, char *argv[])
if (serial_rate != 0)
{
RIGPORT(my_rig)->parm.serial.rate = serial_rate;
my_rig->state.rigport_deprecated.parm.serial.rate = serial_rate;
rs->rigport_deprecated.parm.serial.rate = serial_rate;
}
if (civaddr)
@ -697,14 +698,14 @@ int main(int argc, char *argv[])
if (!skip_init && my_rig->caps->get_powerstat)
{
rig_get_powerstat(my_rig, &rig_powerstat);
my_rig->state.powerstat = rig_powerstat;
rs->powerstat = rig_powerstat;
}
if (my_rig->caps->rig_model == RIG_MODEL_NETRIGCTL)
{
/* We automatically detect if we need to be in vfo mode or not */
int rigctld_vfo_opt = netrigctl_get_vfo_mode(my_rig);
vfo_opt = my_rig->state.vfo_opt = rigctld_vfo_opt;
vfo_opt = rs->vfo_opt = rigctld_vfo_opt;
rig_debug(RIG_DEBUG_TRACE, "%s vfo_opt=%d\n", __func__, vfo_opt);
}

View File

@ -663,6 +663,7 @@ int main(int argc, char *argv[])
}
char *token = strtok(conf_parms, ",");
struct rig_state *rs = STATE(my_rig);
while (token)
{
@ -696,12 +697,12 @@ int main(int argc, char *argv[])
rig_set_conf(my_rig, TOK_PATHNAME, rig_file);
}
my_rig->state.twiddle_timeout = twiddle_timeout;
my_rig->state.twiddle_rit = twiddle_rit;
my_rig->state.uplink = uplink;
rs->twiddle_timeout = twiddle_timeout;
rs->twiddle_rit = twiddle_rit;
rs->uplink = uplink;
rig_debug(RIG_DEBUG_TRACE, "%s: twiddle=%d, uplink=%d, twiddle_rit=%d\n",
__func__,
my_rig->state.twiddle_timeout, my_rig->state.uplink, my_rig->state.twiddle_rit);
rs->twiddle_timeout, rs->uplink, rs->twiddle_rit);
/*
* ex: RIG_PTT_PARALLEL and /dev/parport0
@ -709,22 +710,22 @@ int main(int argc, char *argv[])
if (ptt_type != RIG_PTT_NONE)
{
PTTPORT(my_rig)->type.ptt = ptt_type;
my_rig->state.pttport_deprecated.type.ptt = ptt_type;
rs->pttport_deprecated.type.ptt = ptt_type;
// This causes segfault since backend rig_caps are const
// rigctld will use the rig->state version of this for clients
// rigctld will use the STATE(rig) version of this for clients
//my_rig->caps->ptt_type = ptt_type;
}
if (dcd_type != RIG_DCD_NONE)
{
DCDPORT(my_rig)->type.dcd = dcd_type;
my_rig->state.dcdport_deprecated.type.dcd = dcd_type;
rs->dcdport_deprecated.type.dcd = dcd_type;
}
if (ptt_file)
{
strncpy(PTTPORT(my_rig)->pathname, ptt_file, HAMLIB_FILPATHLEN - 1);
strncpy(my_rig->state.pttport_deprecated.pathname, ptt_file,
strncpy(rs->pttport_deprecated.pathname, ptt_file,
HAMLIB_FILPATHLEN - 1);
// default to RTS when ptt_type is not specified
if (ptt_type == RIG_PTT_NONE)
@ -737,7 +738,7 @@ int main(int argc, char *argv[])
if (dcd_file)
{
strncpy(DCDPORT(my_rig)->pathname, dcd_file, HAMLIB_FILPATHLEN - 1);
strncpy(my_rig->state.dcdport_deprecated.pathname, dcd_file,
strncpy(rs->dcdport_deprecated.pathname, dcd_file,
HAMLIB_FILPATHLEN - 1);
}
@ -745,7 +746,7 @@ int main(int argc, char *argv[])
if (serial_rate != 0)
{
RIGPORT(my_rig)->parm.serial.rate = serial_rate;
my_rig->state.rigport_deprecated.parm.serial.rate = serial_rate;
rs->rigport_deprecated.parm.serial.rate = serial_rate;
}
if (civaddr)
@ -1306,7 +1307,7 @@ void *handle_socket(void *arg)
mutex_rigctld(1);
rig_get_powerstat(my_rig, &rig_powerstat);
mutex_rigctld(0);
my_rig->state.powerstat = rig_powerstat;
STATE(my_rig)->powerstat = rig_powerstat;
}
elapsed_ms(&powerstat_check_time, HAMLIB_ELAPSED_SET);