100 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#include "config.h"
 | 
						|
#include <stdio.h>
 | 
						|
#include <stdlib.h>
 | 
						|
#include <string.h>
 | 
						|
#include "tstrig.h"
 | 
						|
 | 
						|
RIG *my_rig;                                       // handle to rig
 | 
						|
 | 
						|
int set_conf(RIG *my_rig, char *conf_parms);
 | 
						|
 | 
						|
//------------------------------------------------------------------------
 | 
						|
int set_conf(RIG *my_rig, char *conf_parms)
 | 
						|
{
 | 
						|
  char *p, *q, *n;
 | 
						|
  int iret;
 | 
						|
 | 
						|
  p = conf_parms;
 | 
						|
  while (p && *p != '\0') {
 | 
						|
    /* FIXME: left hand value of = cannot be null */
 | 
						|
    q = strchr(p, '=');
 | 
						|
    if ( !q )
 | 
						|
      return -RIG_EINVAL;
 | 
						|
    *q++ = '\0';
 | 
						|
    n = strchr(q, ',');
 | 
						|
    if (n) *n++ = '\0';
 | 
						|
    iret = rig_set_conf(my_rig, rig_token_lookup(my_rig, p), q);
 | 
						|
    if (iret != RIG_OK)
 | 
						|
      return iret;
 | 
						|
    p = n;
 | 
						|
  }
 | 
						|
  return RIG_OK;
 | 
						|
}
 | 
						|
 | 
						|
//------------------------------------------------------------------------
 | 
						|
int rigOpen(int verbose, rig_model_t my_model, const char* rig_file,
 | 
						|
	    int serial_rate, const char* conf_parms2)
 | 
						|
{
 | 
						|
  int iret;		/* generic return code from functions */
 | 
						|
  char *civaddr = NULL;	/* NULL means no need to set conf */
 | 
						|
  //  const char *rig_file;
 | 
						|
  //  const char *conf_parms2;
 | 
						|
  //  int serial_rate;
 | 
						|
 | 
						|
  rig_set_debug(verbose);
 | 
						|
  my_rig=rig_init(my_model);
 | 
						|
  
 | 
						|
  if (!my_rig) {
 | 
						|
    //    fprintf(stderr, "Unknown rig num %d, or initialization error.\n",my_model);
 | 
						|
    return -1;
 | 
						|
  }
 | 
						|
 | 
						|
  //  rig_file="COM1";
 | 
						|
  //  serial_rate=4800;
 | 
						|
  //  conf_parms2="data_bits=8,stop_bits=2,serial_handshake=Hardware";
 | 
						|
 | 
						|
  iret=set_conf(my_rig, conf_parms2);
 | 
						|
  if (iret!=RIG_OK) {
 | 
						|
    //    fprintf(stderr, "Config parameter error: %s\n", rigerror(iret));
 | 
						|
    return -2;
 | 
						|
  }
 | 
						|
 | 
						|
  if (rig_file)
 | 
						|
    strncpy(my_rig->state.rigport.pathname, rig_file, FILPATHLEN - 1);
 | 
						|
 | 
						|
  if (serial_rate!=0)
 | 
						|
    my_rig->state.rigport.parm.serial.rate = serial_rate;
 | 
						|
 | 
						|
  if (civaddr)
 | 
						|
    rig_set_conf(my_rig, rig_token_lookup(my_rig, "civaddr"), civaddr);
 | 
						|
 | 
						|
  iret = rig_open(my_rig);
 | 
						|
  if(iret!=0) return -3;
 | 
						|
  return 0;
 | 
						|
}
 | 
						|
 | 
						|
int rigSetFreq(int fHz)
 | 
						|
{
 | 
						|
  return rig_set_freq(my_rig,RIG_VFO_CURR,fHz);
 | 
						|
}
 | 
						|
 | 
						|
int rigFreq(int *fHz)
 | 
						|
{
 | 
						|
  int iret=0;
 | 
						|
  freq_t freq;
 | 
						|
  iret=rig_get_freq(my_rig, RIG_VFO_CURR, &freq);
 | 
						|
  *fHz=freq;
 | 
						|
  return iret;
 | 
						|
}
 | 
						|
 | 
						|
int rigSetPTT(int iptt)
 | 
						|
{
 | 
						|
  return rig_set_ptt(my_rig, RIG_VFO_CURR, iptt);
 | 
						|
}
 | 
						|
 | 
						|
void rigClose()
 | 
						|
{
 | 
						|
  rig_close(my_rig);
 | 
						|
  rig_cleanup(my_rig);
 | 
						|
}
 |