kopia lustrzana https://github.com/Hamlib/Hamlib
added ability to enter long command names in interactive mode, by prefixing them with a \
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1158 7ae35d74-ebe9-4afe-98af-79ac388436b8Hamlib-1.1.4
rodzic
f78428fa09
commit
c36db76150
|
@ -5,7 +5,7 @@
|
||||||
* It takes commands in interactive mode as well as
|
* It takes commands in interactive mode as well as
|
||||||
* from command line options.
|
* from command line options.
|
||||||
*
|
*
|
||||||
* $Id: rigctl.c,v 1.35 2002-08-26 21:26:06 fillods Exp $
|
* $Id: rigctl.c,v 1.36 2002-09-06 10:43:59 fillods Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
@ -32,6 +32,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
|
||||||
|
@ -135,7 +136,7 @@ declare_proto_rig(get_info);
|
||||||
* TODO: add missing rig_set_/rig_get_: [rx]it, ant, sql, dcd, etc.
|
* TODO: add missing rig_set_/rig_get_: [rx]it, ant, sql, dcd, etc.
|
||||||
* NB: 'q' 'Q' '?' are reserved by interactive mode interface
|
* NB: 'q' 'Q' '?' are reserved by interactive mode interface
|
||||||
*
|
*
|
||||||
* Available letters: -.--------K-----*-----W-YZ
|
* Available alphabetic letters: -.--------K-----*-----W-YZ
|
||||||
*/
|
*/
|
||||||
struct test_table test_list[] = {
|
struct test_table test_list[] = {
|
||||||
{ 'F', "set_freq", set_freq, ARG_IN, "Frequency" },
|
{ 'F', "set_freq", set_freq, ARG_IN, "Frequency" },
|
||||||
|
@ -453,6 +454,20 @@ int main (int argc, char *argv[])
|
||||||
|
|
||||||
do {
|
do {
|
||||||
scanf("%c", &cmd);
|
scanf("%c", &cmd);
|
||||||
|
|
||||||
|
/* command by name */
|
||||||
|
if (cmd == '\\') {
|
||||||
|
char cmd_name[MAXNAMSIZ], *pcmd = cmd_name;
|
||||||
|
int c_len = MAXNAMSIZ;
|
||||||
|
|
||||||
|
scanf("%c", pcmd);
|
||||||
|
while(c_len-- && (isalnum(*pcmd) || *pcmd == '_' ))
|
||||||
|
scanf("%c", ++pcmd);
|
||||||
|
*pcmd = '\0';
|
||||||
|
cmd = parse_arg(cmd_name);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (cmd == 0x0a || cmd == 0x0d) {
|
if (cmd == 0x0a || cmd == 0x0d) {
|
||||||
if (last_was_ret) {
|
if (last_was_ret) {
|
||||||
printf("? for help, q to quit.\n");
|
printf("? for help, q to quit.\n");
|
||||||
|
@ -465,12 +480,12 @@ int main (int argc, char *argv[])
|
||||||
|
|
||||||
last_was_ret = 0;
|
last_was_ret = 0;
|
||||||
|
|
||||||
|
/* comment line */
|
||||||
if (cmd == '#' || cmd == ';') {
|
if (cmd == '#' || cmd == ';') {
|
||||||
while( cmd != '\n' && cmd != '\r')
|
while( cmd != '\n' && cmd != '\r')
|
||||||
scanf("%c", &cmd);
|
scanf("%c", &cmd);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cmd == 'Q' || cmd == 'q')
|
if (cmd == 'Q' || cmd == 'q')
|
||||||
break;
|
break;
|
||||||
if (cmd == '?') {
|
if (cmd == '?') {
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
/*
|
/*
|
||||||
* rotctl.c - (C) Stephane Fillod 2000,2001
|
* rotctl.c - (C) Stephane Fillod 2000-2002
|
||||||
*
|
*
|
||||||
* This program test/control a rotator using Hamlib.
|
* This program test/control a rotator using Hamlib.
|
||||||
* It takes commands in interactive mode as well as
|
* It takes commands in interactive mode as well as
|
||||||
* from command line options.
|
* from command line options.
|
||||||
*
|
*
|
||||||
* $Id: rotctl.c,v 1.3 2002-01-16 17:08:31 fgretief Exp $
|
* $Id: rotctl.c,v 1.4 2002-09-06 10:43:59 fillods Exp $
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
@ -32,6 +32,7 @@
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
#include <getopt.h>
|
#include <getopt.h>
|
||||||
|
|
||||||
|
@ -297,14 +298,28 @@ int main (int argc, char *argv[])
|
||||||
static int last_was_ret = 1;
|
static int last_was_ret = 1;
|
||||||
|
|
||||||
if (interactive) {
|
if (interactive) {
|
||||||
printf("\nRig command: ");
|
printf("\nRot command: ");
|
||||||
|
|
||||||
do {
|
do {
|
||||||
scanf("%c", &cmd);
|
scanf("%c", &cmd);
|
||||||
|
|
||||||
|
/* command by name */
|
||||||
|
if (cmd == '\\') {
|
||||||
|
char cmd_name[MAXNAMSIZ], *pcmd = cmd_name;
|
||||||
|
int c_len = MAXNAMSIZ;
|
||||||
|
|
||||||
|
scanf("%c", pcmd);
|
||||||
|
while(c_len-- && (isalnum(*pcmd) || *pcmd == '_' ))
|
||||||
|
scanf("%c", ++pcmd);
|
||||||
|
*pcmd = '\0';
|
||||||
|
cmd = parse_arg(cmd_name);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (cmd == 0x0a || cmd == 0x0d) {
|
if (cmd == 0x0a || cmd == 0x0d) {
|
||||||
if (last_was_ret) {
|
if (last_was_ret) {
|
||||||
printf("? for help, q to quit.\n");
|
printf("? for help, q to quit.\n");
|
||||||
printf("\nRig command: ");
|
printf("\nRot command: ");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
last_was_ret = 1;
|
last_was_ret = 1;
|
||||||
|
@ -489,7 +504,7 @@ void list_models()
|
||||||
|
|
||||||
rot_load_all_backends();
|
rot_load_all_backends();
|
||||||
|
|
||||||
printf("Rig#\tMfg Model Vers.\n");
|
printf("Rot#\tMfg Model Vers.\n");
|
||||||
status = rot_list_foreach(print_model_list, NULL);
|
status = rot_list_foreach(print_model_list, NULL);
|
||||||
if (status != RIG_OK ) {
|
if (status != RIG_OK ) {
|
||||||
printf("rot_list_foreach: error = %s \n", rigerror(status));
|
printf("rot_list_foreach: error = %s \n", rigerror(status));
|
||||||
|
|
Ładowanie…
Reference in New Issue