#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>
#include <hamlib/config.h>
#define SERIAL_PORT "/dev/pts/4"
int main(int argc, char *argv[])
{
int strength;
int rit = 0;
int xit = 0;
int retcode;
rig_model_t myrig_model;
printf("testrig: Hello, I am your main() !\n");
if (argc < 2)
{
hamlib_port_t myport;
myport.parm.serial.rate = 9600;
myport.parm.serial.data_bits = 8;
myport.parm.serial.stop_bits = 1;
strncpy(myport.pathname, SERIAL_PORT, HAMLIB_FILPATHLEN - 1);
rig_load_all_backends();
}
else
{
myrig_model = atoi(argv[1]);
}
if (!my_rig)
{
fprintf(stderr, "Unknown rig num: %d\n", myrig_model);
fprintf(stderr, "Please check riglist.h\n");
exit(1);
}
{
printf("rig_open: error = %s\n", rigerror(retcode));
exit(2);
}
char val[256];
retcode = rig_get_conf2(my_rig,
rig_token_lookup(my_rig,
"write_delay"), val,
sizeof(val));
printf("write_delay=%s\n", val);
{
printf("rig_set_vfo: error = %s \n", rigerror(retcode));
}
printf("\nSetting 10m FM Narrow...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
{
printf("rig_set_mode: error = %s \n", rigerror(retcode));
}
printf(" Freq: %.6f MHz, Mode: %s, Passband: %.3f kHz\n\n",
freq / 1000000,
width / 1000.0);
if (freq != 29620000)
{
printf("rig_set_freq: error exptect %.0f got %.0f\n", 296290000.0, freq);
}
{
printf("rig_set_mode: error expected FM/%d, got %s/%d\n",
}
sleep(1);
printf("Setting 15m USB...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
{
printf("rig_set_mode: error = %s \n", rigerror(retcode));
}
printf(" Freq: %.6f MHz, Mode: %s, Passband: %.3f kHz\n\n",
sleep(1);
printf("Setting 40m LSB...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
{
printf("rig_set_mode: error = %s \n", rigerror(retcode));
}
printf(" Freq: %.6f MHz, Mode: %s, Passband: %.3f kHz\n\n",
freq / 1000000,
width / 1000.0);
sleep(1);
printf("Setting 80m AM Narrow...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
{
printf("rig_set_mode: error = %s \n", rigerror(retcode));
}
printf(" Freq: %.6f MHz, Mode: %s, Passband: %.3f kHz\n\n",
freq / 1000000,
width / 1000.0);
sleep(1);
printf("Setting 160m CW...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
{
printf("rig_set_mode: error = %s \n", rigerror(retcode));
}
printf(" Freq: %.3f kHz, Mode: %s, Passband: %li Hz\n\n",
freq / 1000,
width);
sleep(1);
printf("Setting 160m CW Narrow...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
printf(" Freq: %.3f kHz, Mode: %s, Passband: %li Hz\n\n",
freq / 1000,
width);
sleep(1);
printf("Setting Medium Wave AM...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
printf(" Freq: %.3f kHz, Mode: %s, Passband: %.3f kHz\n\n",
freq / 1000,
width / 1000.0);
sleep(1);
printf("Setting 20m on VFO A with two functions...\n");
{
printf("rig_set_vfo: error = %s \n", rigerror(retcode));
}
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
printf(
" Freq: %.6f MHz, VFO: %s\n\n", freq / 1000000,
rig_strvfo(vfo));
sleep(1);
printf("Setting 20m on VFO A with one function...\n");
{
printf("rig_set_freq: error = %s \n", rigerror(retcode));
}
printf(
" Freq: %.6f MHz, VFO: %s\n\n", freq / 1000000,
rig_strvfo(vfo));
sleep(1);
#if 0
sleep(2);
sleep(2);
#endif
printf("Setting rig Mode to LSB.\n");
{
printf("rig_set_mode: error = %s \n", rigerror(retcode));
}
sleep(1);
printf("Setting rig PTT ON.\n");
{
printf("rig_set_ptt: error = %s \n", rigerror(retcode));
}
sleep(1);
printf("Setting rig PTT OFF.\n");
{
printf("rig_set_ptt: error = %s \n", rigerror(retcode));
}
sleep(1);
printf("\nGet various raw rig values:\n");
{
printf("rig_get_vfo: vfo = %i \n", vfo);
}
else
{
printf("rig_get_vfo: error = %s \n", rigerror(retcode));
}
{
printf(
"rig_get_freq: freq = %"PRIfreq"\n", freq);
}
else
{
printf("rig_get_freq: error = %s \n", rigerror(retcode));
}
{
}
else
{
printf("rig_get_mode: error = %s \n", rigerror(retcode));
}
retcode = rig_get_strength(my_rig,
RIG_VFO_CURR, &strength);
{
printf("rig_get_strength: strength = %i \n", strength);
}
else
{
printf("rig_get_strength: error = %s \n", rigerror(retcode));
}
{
if (retcode !=
RIG_OK) { printf(
"rig_set_func RIT error: %s\n", rigerror(retcode)); }
printf("rig_set_func: Setting RIT ON\n");
}
{
if (retcode !=
RIG_OK) { printf(
"rig_get_func RIT error: %s\n", rigerror(retcode)); }
printf("rig_get_func: RIT: %d\n", rit);
}
{
if (retcode !=
RIG_OK) { printf(
"rig_set_func XIT error: %s\n", rigerror(retcode)); }
printf("rig_set_func: Setting XIT ON\n");
}
{
if (retcode !=
RIG_OK) { printf(
"rig_get_func XIT error: %s\n", rigerror(retcode)); }
printf("rig_get_func: XIT: %d\n", xit);
}
printf("port %s closed ok \n", SERIAL_PORT);
for (unsigned long i = 1; i < 0x80000000; i = i << 1)
{
if (strlen(vfostr) > 0) { printf("0x%08lx=%s\n", i, vfostr); }
}
return 0;
}