mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-23 12:48:40 -05:00
3ed5f2ec35
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);
|
|
}
|