Logo Search packages:      
Sourcecode: hamlib version File versions  Download package

int HAMLIB_API rig_get_mem ( RIG rig,
vfo_t  vfo,
int *  ch 
)

get the current memory channel number

Parameters:
rigThe rig handle
vfoThe target VFO
chThe location where to store the current memory channel number

Retrieves the current memory channel number. It is not mandatory for the radio to be in memory mode. Actually it depends on rigs. YMMV.

Returns:
RIG_OK if the operation has been sucessful, otherwise a negative value if an error occured (in which case, cause is set appropriately).
See also:
rig_set_mem()

Definition at line 119 of file mem.c.

References caps, rig_state::current_vfo, RIG_EINVAL, RIG_ENAVAIL, RIG_ENTARGET, RIG_OK, RIG_VFO_CURR, state, and rig_caps::targetable_vfo.

Referenced by rig_get_channel(), and rig_set_channel().

{
      const struct rig_caps *caps;
      int retcode;
      vfo_t curr_vfo;

      if (CHECK_RIG_ARG(rig) || !ch)
            return -RIG_EINVAL;

      caps = rig->caps;

      if (caps->get_mem == NULL)
            return -RIG_ENAVAIL;

      if ((caps->targetable_vfo&RIG_TARGETABLE_PURE) ||
                  vfo == RIG_VFO_CURR || vfo == rig->state.current_vfo)
            return caps->get_mem(rig, vfo, ch);

      if (!caps->set_vfo)
            return -RIG_ENTARGET;
      curr_vfo = rig->state.current_vfo;
      retcode = caps->set_vfo(rig, vfo);
      if (retcode != RIG_OK)
            return retcode;

      retcode = caps->get_mem(rig, vfo, ch);
      caps->set_vfo(rig, curr_vfo);
      return retcode;
}

Here is the caller graph for this function:


Generated by  Doxygen 1.6.0   Back to index