Ejemplo n.º 1
0
int ft817_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,"ft817: requested freq = %"PRIfreq" Hz\n", freq);

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

	return ft817_send_icmd(rig, FT817_NATIVE_CAT_SET_FREQ, data);
}
Ejemplo n.º 2
0
int ft817_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs)
{
	unsigned char data[YAESU_CMD_LENGTH - 1];

	if (vfo != RIG_VFO_CURR)
		return -RIG_ENTARGET;

	rig_debug(RIG_DEBUG_VERBOSE, "ft817: set repeter offs = %li\n", offs);

	/* fill in the offset freq */
	to_bcd_be(data, offs / 10, 8);

	return ft817_send_icmd(rig, FT817_NATIVE_CAT_SET_RPT_OFFSET, data);
}
Ejemplo n.º 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);
}
Ejemplo n.º 4
0
Archivo: ft847.c Proyecto: dh1tw/hamlib
int ft847_set_dcs_sql (RIG *rig, vfo_t vfo, tone_t code)
{
  unsigned char p_cmd[YAESU_CMD_LENGTH]; /* sequence to send */
  int ret;

  ret = opcode_vfo(rig, p_cmd, FT_847_NATIVE_CAT_SET_DCS_CODE_MAIN, vfo);
  if (ret != RIG_OK)
	  return ret;

  /* TODO: FT_847_NATIVE_CAT_SET_DCS_ON_MAIN here or with new RIG_FUNC_DCS? */

  /* DCS Code # (i.e. 07, 54=DCS Code 754) */
  to_bcd_be(p_cmd, code,4);	/* store bcd format in in p_cmd */

  return write_block(&rig->state.rigport, (char*)p_cmd, YAESU_CMD_LENGTH);

}
Ejemplo n.º 5
0
int ft847_set_rptr_offs (RIG *rig, vfo_t vfo, shortfreq_t rptr_offs)
{
  unsigned char p_cmd[YAESU_CMD_LENGTH]; /* sequence to send */

  if (rig->caps->rig_model == RIG_MODEL_FT847UNI) {
    return -RIG_ENIMPL;
  }

  if (vfo != RIG_VFO_CURR)
    return -RIG_ENTARGET;

  memcpy(p_cmd,&ncmd[FT_847_NATIVE_CAT_SET_RPT_OFFSET].nseq,YAESU_CMD_LENGTH);


  to_bcd_be(p_cmd,rptr_offs/10,8);	/* store bcd format in in p_cmd */

  return write_block(&rig->state.rigport, (char*)p_cmd, YAESU_CMD_LENGTH);
}
Ejemplo n.º 6
0
Archivo: ft847.c Proyecto: dh1tw/hamlib
int ft847_set_freq(RIG *rig, vfo_t vfo, freq_t freq) {
  struct rig_state *rig_s;
  unsigned char p_cmd[YAESU_CMD_LENGTH]; /* sequence to send */
  int ret;

  if (!rig)
    return -RIG_EINVAL;

  rig_s = &rig->state;

  rig_debug(RIG_DEBUG_VERBOSE,"ft847: requested freq = %"PRIfreq" Hz, vfo=%s\n",
		  freq, rig_strvfo(vfo));

  ret = opcode_vfo(rig, p_cmd, FT_847_NATIVE_CAT_SET_FREQ_MAIN, vfo);
  if (ret != RIG_OK)
	  return ret;

  to_bcd_be(p_cmd,freq/10,8);	/* store bcd format in in p_cmd */

  rig_debug(RIG_DEBUG_VERBOSE,"ft847: requested freq after conversion = %"PRIll" Hz \n", from_bcd_be(p_cmd,8)* 10 );

  return write_block(&rig_s->rigport, (char*)p_cmd, YAESU_CMD_LENGTH);
}
Ejemplo n.º 7
0
int main (int argc, char *argv[])
{
	unsigned char b[(MAXDIGITS+1)/2];
	freq_t f=0;
	int digits = 10;
	int i;

	if (argc != 2 && argc != 3) {
			fprintf(stderr,"Usage: %s <freq> [digits]\n",argv[0]);
			exit(1);
	}

	f = (freq_t)atoll(argv[1]);
	if (argc > 2) {
		digits = atoi(argv[2]);
		if (digits > MAXDIGITS)
			exit(1);
	}

	printf("Little Endian mode\n");
	printf("Frequency: %"PRIfreq"\n",f);
	to_bcd(b, f, digits);
	printf("BCD: %2.2x",b[0]);
	for (i = 1; i < (digits+1)/2; i++)
		printf(",%2.2x",b[i]);
	printf("\nResult after recoding: %llu\n", from_bcd(b, digits));

	printf("\nBig Endian mode\n");
	printf("Frequency: %"PRIfreq"\n",f);
	to_bcd_be(b, f, digits);
	printf("BCD: %2.2x",b[0]);
	for (i = 1; i < (digits+1)/2; i++)
		printf(",%2.2x",b[i]);
	printf("\nResult after recoding: %llu\n", from_bcd_be(b, digits));

	return 0;
}