#include "config.h" #include #include #include #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); }