mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-29 20:10:28 -04:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@3173 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			100 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #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);
 | |
| }
 |