Initial Commit
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
#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);
|
||||
}
|
||||
Reference in New Issue
Block a user