Beispiel #1
0
int ft857_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
{
  int index, n;

  if (vfo != RIG_VFO_CURR)
    return -RIG_ENTARGET;

  rig_debug(RIG_DEBUG_VERBOSE, "ft857: ft857_set_ptt called\n");

  switch(ptt) {
  case RIG_PTT_ON:
    index = FT857_NATIVE_CAT_PTT_ON;
    break;
  case RIG_PTT_OFF:
    index = FT857_NATIVE_CAT_PTT_OFF;
    break;
  default:
    return -RIG_EINVAL;
  }

  n = ft857_send_cmd(rig, index);

  rig_force_cache_timeout(&((struct ft857_priv_data *) rig->state.priv)->tx_status_tv);

  if (n < 0 && n != -RIG_ERJCTED)
    return n;

  return RIG_OK;
}
Beispiel #2
0
int ft857_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
  int index;	/* index of sequence to send */

  if (vfo != RIG_VFO_CURR)
    return -RIG_ENTARGET;

  rig_debug(RIG_DEBUG_VERBOSE,"ft857: generic mode = %x \n", mode);

  switch(mode) {
  case RIG_MODE_AM:
    index = FT857_NATIVE_CAT_SET_MODE_AM;
    break;
  case RIG_MODE_CW:
    index = FT857_NATIVE_CAT_SET_MODE_CW;
    break;
  case RIG_MODE_USB:
    index = FT857_NATIVE_CAT_SET_MODE_USB;
    break;
  case RIG_MODE_LSB:
    index = FT857_NATIVE_CAT_SET_MODE_LSB;
    break;
  case RIG_MODE_RTTY:
  case RIG_MODE_PKTUSB:
    /* user has to have correct DIG mode setup on rig */
    index = FT857_NATIVE_CAT_SET_MODE_DIG;
    break;
  case RIG_MODE_FM:
    index = FT857_NATIVE_CAT_SET_MODE_FM;
    break;
  case RIG_MODE_WFM:
    index = FT857_NATIVE_CAT_SET_MODE_FM;
    break;
  case RIG_MODE_CWR:
    index = FT857_NATIVE_CAT_SET_MODE_CWR;
    break;
  case RIG_MODE_PKTFM:
    index = FT857_NATIVE_CAT_SET_MODE_PKT;
    break;
  default:
    return -RIG_EINVAL;
  }

  if (width != RIG_PASSBAND_NORMAL)
    return -RIG_EINVAL;

  rig_force_cache_timeout(&((struct ft857_priv_data *) rig->state.priv)->fm_status_tv);

  return ft857_send_cmd(rig, index);
}
Beispiel #3
0
int ft857_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
  unsigned char data[YAESU_CMD_LENGTH - 1];

  if (vfo != RIG_VFO_CURR)
    return -RIG_ENTARGET;

  rig_debug(RIG_DEBUG_VERBOSE,"ft857: requested freq = %"PRIfreq" Hz\n", freq);

  /* fill in the frequency */
  to_bcd_be(data, (freq + 5) / 10, 8);

  rig_force_cache_timeout(&((struct ft857_priv_data *) rig->state.priv)->fm_status_tv);

  return ft857_send_icmd(rig, FT857_NATIVE_CAT_SET_FREQ, data);
}
Beispiel #4
0
int ft817_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
    int index;	/* index of sequence to send */

    if (vfo != RIG_VFO_CURR)
        return -RIG_ENTARGET;

    rig_debug(RIG_DEBUG_VERBOSE,"ft817: generic mode = %x \n", mode);

    switch(mode) {

    case RIG_MODE_AM:
        index = FT817_NATIVE_CAT_SET_MODE_AM;
        break;

    case RIG_MODE_CW:
        index = FT817_NATIVE_CAT_SET_MODE_CW;
        break;

    case RIG_MODE_USB:
        index = FT817_NATIVE_CAT_SET_MODE_USB;
        break;

    case RIG_MODE_LSB:
        index = FT817_NATIVE_CAT_SET_MODE_LSB;
        break;

    case RIG_MODE_RTTY:
        index = FT817_NATIVE_CAT_SET_MODE_DIG;
        break;

    case RIG_MODE_FM:
        index = FT817_NATIVE_CAT_SET_MODE_FM;
        break;

    case RIG_MODE_WFM:
        /* can not be set, it is implicit when changing band */
//		index = FT817_NATIVE_CAT_SET_MODE_FM;
        return -RIG_EINVAL;
        break;

    case RIG_MODE_CWR:
        index = FT817_NATIVE_CAT_SET_MODE_CWR;
        break;

    case RIG_MODE_PKTFM:
        index = FT817_NATIVE_CAT_SET_MODE_PKT;
        break;

    default:
        return -RIG_EINVAL;
    }

    /* just ignore passband */
    /* 	if (width != RIG_PASSBAND_NORMAL) */
    /* 		return -RIG_EINVAL; */

    rig_force_cache_timeout(
        &((struct ft817_priv_data *)rig->state.priv)->fm_status_tv);

    return ft817_send_cmd(rig, index);
}