Wykres commitów

604 Commity (54ce2f745d61cea47272f0d4e3e6909fac03ed9d)

Autor SHA1 Wiadomość Data
Michael Black 4b442dba94
Fix clang warning in rigctl_parse.c 2019-12-19 14:45:48 -06:00
Michael Black 9882448494
Fix cppcheck warnings in rigctlcom.c 2019-12-19 11:59:12 -06:00
Michael Black d81d60dfc1
Fix cppcheck warnings in rigctl_parse.c 2019-12-19 11:55:14 -06:00
Michael Black 776e21017b
Add rx_range example 2019-12-19 11:51:28 -06:00
Michael Black 0bae216af3
Fix cppcheck warnings in ampctl_parse.c 2019-12-19 11:50:30 -06:00
Michael Black 00d578074e
Remove Recommend statment from rigctl.c 2019-12-19 09:38:50 -06:00
Michael Black eac8077c60
Fix possible buf overrun in rigctl_parse.c 2019-12-17 08:08:39 -06:00
Michael Black f9bed84d8e
Got the w and W commands working much better
ICOM test via rigctl
Rig command: w \0xfe\0xfe\0x58\0xe0\0x03\0xfd
Reply:\0xFE\0xFE\0x58\0xE0\0x03\0xFD\0xFE\0xFE\0xE0\0x58\0x03\0x00\0x50\0x09\0x14\0x00\0xFD 17
Rig command: W \0xfe\0xfe\0x58\0xe0\0x03\0xfd 17
Reply:\0xFE\0xFE\0x58\0xE0\0x03\0xFD\0xFE\0xFE\0xE0\0x58\0x03\0x00\0x50\0x09\0x14\0x00\0xFD 17

Rig command: w FA;
send_cmd: error = Invalid parameter
Rig command: W FA; 14
send_cmd_rx: error = Invalid parameter

ICOM test via rigctld
Rig command: w \0xfe\0xfe\0x58\0xe0\0x03\0xfd
Reply:\0xFE\0xFE\0x58\0xE0\0x03\0xFD\0xFE\0xFE\0xE0\0x58\0x03\0x00\0x50\0x09\0x14\0x00\0xFD 17
Rig command: W \0xfe\0xfe\0x58\0xe0\0x03\0xfd 17
Reply:\0xFE\0xFE\0x58\0xE0\0x03\0xFD\0xFE\0xFE\0xE0\0x58\0x03\0x00\0x50\0x09\0x14\0x00\0xFD 17

Rig command: w FA;
Reply:RPRT -1
Rig command: W FA; 14
Reply:RPRT -1

Kenwood test via rigctl
Rig command: w FA;
Reply:FA00014074000;
Rig command: W FA; 14
Reply:FA00014074000;

Rig command: w \0x46\0x41\0x3b
Reply:FA00014074000;
Rig command: W \0x46\0x41\0x3b 14
Reply:FA00014074000;

Kenwood test via rigctld
Rig command: w FA;
Reply:FA00014074000;
Rig command: W FA; 14
Reply:FA00014074000;

Rig command: w \0x46\0x41\0x3b
Reply:FA00014074000;

Rig command: W \0x46\0x41\0x3b 14
Reply:FA00014074000;
2019-12-12 22:29:13 -06:00
Michael Black 011efe0452
Merge branch 'master' of https://github.com/Hamlib/Hamlib 2019-12-11 07:47:24 -06:00
Nate Bargmann 2c884a970a
Change ampctld default TCP port to 4531 2019-12-11 06:28:17 -06:00
Michael Black 9eae761579
Added 'W' command for reading a fixed number of bytes
So we can now do this...write once to see how many bytes you get back
Rig command: w \0xfe\0xfe\0x58\0xe0\0x03\0xfd
Cmd:\0xFE\0xFE\0x58\0xE0\0x03\0xFD\0xFE\0xFE\0xE0\0x58\0x03\0x00\0x00\0x09\0x14\0x00\0xFD 17

Then use 'W' to write the command with the # of bytes to expect -- no timeout this way
Rig command: W \0xfe\0xfe\0x58\0xe0\0x03\0xfd 17
Cmd:\0xFE\0xFE\0x58\0xE0\0x03\0xFD\0xFE\0xFE\0xE0\0x58\0x03\0x00\0x00\0x09\0x14\0x00\0xFD 17
2019-12-09 23:37:14 -06:00
Michael Black fb73e5abd7
Fix some cppcheck warnings
Fix declarations after statements
Remove some !rig checks...we either don't need them or need them everywhere with a new error code
If you pass a NULL rig you get what you deserve :-)
2019-12-09 17:12:13 -06:00
Michael Black 8e0ddf743c
Fix cppcheck warnings in ampctl_parse.c 2019-12-08 23:43:01 -06:00
Michael Black 646900862b
Fix cppcheck warnings in dumpmem.c 2019-12-08 23:42:47 -06:00
Michael Black ddd5c43a71
Fix cppcheck warnings in rigmem.c 2019-12-08 23:42:32 -06:00
Michael Black 0207b45ff8
Fix cppcheck warnings in rigctlcom.c 2019-12-08 23:39:56 -06:00
Michael Black 2d94431848
Fix cppcheck warnings in rigctl_parse.c 2019-12-08 23:37:46 -06:00
Michael Black e56db8c985
Fix cppcheck warnings in rigctl.c 2019-12-08 23:33:51 -06:00
Michael Black f7399eb8df
Fix cppcheck warnings in example.c 2019-12-08 23:30:23 -06:00
Michael Black 8a3df9735e
Fix cppcheck warnings for ampctl_parse.c and redef amp_set_powerstat 2019-12-08 23:13:33 -06:00
Michael Black c9ace18daa
Fix hash sort comparison for models 2019-12-06 12:13:38 -06:00
Michael Black 68f5a7edd7
Fix cppcheck error in ampctl_parse.c 2019-12-06 10:25:28 -06:00
Michael Black 1e889006b4
Minor change to rigctl_parse.c for ASCII print 2019-12-06 08:34:31 -06:00
Michael Black 9531f730b1
Change behavior of 'w' command in rigctld for binary commands
Now responds with hex string just like the input and the # of bytes
Will get hex string response for any binary data from rig from any command
Next step is to implement W command for known # of bytes in response to avoid the timeout
2019-12-06 07:58:19 -06:00
Michael Black 60cfecd5b4
Hopefully suppress arm compilation warning 2019-12-03 16:15:33 -06:00
Michael Black 5a9ab0b76d
Add retry to rigctl open 2019-12-03 08:22:35 -06:00
Michael Black a7335595de
Add az and el offset to rotctl & rotctld 2019-12-02 23:30:08 -06:00
Michael Black 72565fe621
Fix ic7300 VFOs and sprintflst to be more generic 2019-12-02 14:46:41 -06:00
Michael Black e6264c4f6f
Add PKT mode translations to rigctlcom 2019-12-02 12:23:04 -06:00
Michael Black 12494c92d5
Add MainA, MainB, SubA, and SubB vfo choices for icom rigs with SATMODE
Clean up debug statements in icom.c
2019-12-02 07:50:05 -06:00
Michael Black 1ceae3a3f3
Remove debug from rigctlcom.c 2019-12-01 09:13:35 -06:00
Michael Black dc3f33bc11
Change %z to %d with casts for portability 2019-11-30 13:05:21 -06:00
Michael Black c69502e11c
Fix rigctld for win32 build 2019-11-30 10:27:49 -06:00
Michael Black 6bf3b00c4f
astyle all files 2019-11-30 10:19:08 -06:00
Michael Black 2f4d62709e
Added a dummy snprintf to rig_debug to allow gcc to check format strings
This found tons of errors in rig_debug statements
So this patch cleans up all the files that were producing warnings or errors
This should fix a few segfaults when running with debug turned on
2019-11-30 10:04:31 -06:00
Michael Black 46a9fff6ad
Fix rotctl C command 2019-11-23 23:11:27 -06:00
Michael Black ca034f4c93
Fix rigctl_parse to allow NULL in binary data the right way 2019-10-21 16:00:41 -05:00
Michael Black 99945e87cf
Fix rigctl_parse to allow NULL in binary data 2019-10-21 15:41:38 -05:00
Michael Black 44a20c6a1e
Fix chk_vfo response 2019-09-09 22:45:55 -05:00
Bill Somerville 8028663ef9
Simplify unnecessary persistence of extended response state
The \chk_vfo  command to  rigctl_parse() accepts an  extended response
prefix but  does not act  upon it, instead it  is held over  until the
next command.  This seems unnecessary  as an extended  response prefix
can just as  easily be added to the following  command if required. By
removing this  carried over  state the processing  of commands  can be
greatly simplified as per this commit.
2019-08-29 14:27:22 +01:00
Bill Somerville d931bd4e18
Move unnecessary global and file static variables to the stack 2019-08-29 00:39:39 +01:00
Michael Black 5d16de90ee
Fix start/end names 2019-08-23 22:53:25 -05:00
Michael Black 63fc56e9c8
Fix dumpmem.c channel structure 2019-08-23 08:16:51 -05:00
Michael Black 73c1ecd165
Change freq & chan struct start/end to avoid colliding with LUA SWIG start/end 2019-08-17 23:20:48 -05:00
Michael Black 3dce8b01d1
Make rigctld thread safe for vfo_mode and ext_resp and change other globals to thread_local for future reference 2019-07-31 16:03:46 -05:00
Michael Black 12fd5100d5
Adding amptest.sh 2019-07-31 15:47:50 -05:00
Michael Black d6a72d15bf
Remove redundant check in dumpcaps.c 2019-07-31 15:13:34 -05:00
Michael Black 436449211f
Make rigctld_vfo_mode a stack variable for threading 2019-07-31 10:56:21 -05:00
Nate Bargmann cf75f3fdf7
Merge branch 'master' of https://github.com/mdblack98/Hamlib into mdblack98-master 2019-06-25 18:59:21 -05:00
Bill Somerville 8465a76fd2
Ensure compilation works with a pre C11 compiler 2019-06-16 23:14:46 +01:00
Michael Black 7d8ad6f47c
Fix dumpcaps.c prntbuf warning 2019-06-12 16:25:13 -05:00
Michael Black b23734fb5b
Fix rig.h for merge 2019-06-12 16:13:56 -05:00
Michael Black 7e9c566944
Add first cut at amplifier control 2019-06-12 15:52:35 -05:00
Mikael Nousiainen 3dbbe02b78 Add new levels: RFPOWER_METER, COMP_METER, VD_METER and ID_METER, supported at least by most of recent Icom rigs. Add level NOTCHF_RAW for manual notch frequency without specified unit for Icom rigs. Add level MONITOR_GAIN. Add functions DUAL_WATCH and DIVERSITY, supported now by K3/K3S. Fix VOXDELAY level commands for many Icom rigs. Add MONITOR_GAIN level for Icom rigs. Fix and add many K3 commands and add specific rig models for K3S, KX2 and KX3 -- they are very similar to K3, but have slight differences. Extend dump_caps output for rigctl: add complete details of ext levels and frequency ranges. Tests have been performed on IC-7000, IC-756ProIII, IC-7300, IC-7600 and K3. 2019-05-30 09:37:49 +03:00
Michael Black ab7527d95a Fix compile warning in rotctl_parse.c 2019-05-22 11:15:30 -05:00
Michael Black a8b6ceebb5 Fix compile warning in rigctl_parse.c 2019-05-22 09:27:01 -05:00
Michael Black 5f43509d82 astyle format of rigctlcom.c 2019-02-13 15:23:27 -06:00
Michael Black 585e79bdf2 Add ability for rigctlcom to work with Ham Radio Deluxe 2019-02-13 15:22:54 -06:00
Michael Black ad8a01f18d netrigctl can now do vfo mode -- has automatic detection of rigctld vfo mode
rigctl automatically detects vfo mode of rigctld
rigctli and rigctld recommend vfo mode if not selected
2019-02-05 12:05:51 -06:00
Michael Black 3937de0452 Fix segfault in rigctlcom with no args and improve usage 2019-01-21 08:10:43 -06:00
Michael Black ccd3ca48c6 New utility to allow non-hamlib-aware programs to use hamlib rigs via COM ports
Virtual com ports providing a TS-2000 Emulator
Example connecting N1MM or such to FLRig via COM5/COM6 virtual COM pair
rigctlcom -m 4 -R COM5 -S 115200
N1MM connects to COM6 TS-2000 115200 8N1
2019-01-20 19:33:22 -06:00
Michael Black d4f95010dc merge master 2019-01-14 09:36:35 -06:00
Michael Black 4b69188f67 Fix some 64bit items and add RIG_FUNC_NB2 for TS-890S 2018-12-23 17:41:10 -05:00
Michael Black 7123bb4403 Change rmode_t to uint64_t and remove unneeded casts 2018-12-22 23:56:30 -05:00
Michael Black 2b5f01fb75 64 bit mods to netrigctl.c testrig.c 2018-12-21 23:51:54 -05:00
Michael Black 160c8f015d Fixup for 64-bit in memcsv.c 2018-12-21 17:19:22 -05:00
Michael Black 64b35ccbee Add PRXll macro for 64-bit use 2018-12-21 16:46:48 -05:00
Michael Black 422b266b9b Change RIG_MODE and RIG_FUNC to 64-bit values 2018-12-21 12:39:20 -05:00
Nate Bargmann a915f1e69e Quell clang6 warning of format string not a literal
The warning was:

  CC       rotctl_parse.o
../../hamlib/tests/rotctl_parse.c:1012:50: warning: format string is not a string literal (potentially insecure)
      [-Wformat-security]
            snprintf(cmd_name, sizeof(cmd_name), parsed_input[0] + 1);
                                                 ^~~~~~~~~~~~~~~~~~~
../../hamlib/tests/rotctl_parse.c:1012:50: note: treat the string as an argument to avoid this
            snprintf(cmd_name, sizeof(cmd_name), parsed_input[0] + 1);
                                                 ^
                                                 "%s",
1 warning generated.
2018-11-05 20:07:34 -06:00
Nate Bargmann b0ebeaeda4 Quell gcc 8.2.0 defined but not used warning
On Debian Buster gcc ((Debian 8.2.0-8) 8.2.0) was throwing the following
warning:

  CC       rigctl.o
../../hamlib/tests/rigctl.c:125:18: warning: ‘have_rl’ defined but not used [-Wunused-const-variable=]
 static const int have_rl = 0;
                  ^~~~~~~

and:

  CC       rotctl.o
../../hamlib/tests/rotctl.c:113:18: warning: ‘have_rl’ defined but not used [-Wunused-const-variable=]
 static const int have_rl = 0;
                  ^~~~~~~

Turns out I didn't have the readline-dev package installed.  As the have_rl
variable is wrapped in CPP macros, it indeed is not used when readline is not
available.
2018-10-25 18:26:25 -05:00
Nate Bargmann ac83428f7b Merge branch 'master' of https://github.com/JeroenVreeken/Hamlib 2018-08-05 21:11:40 -05:00
Nate Bargmann 478a7a25c1 Merge branch 'new_man_pages' 2018-07-29 22:11:31 -05:00
Nate Bargmann f9b2f27373 Correct the -l option output header text 2018-07-29 21:38:54 -05:00
Jeroen Vreeken 9108deab8b Merge branch 'master' of github.com:Hamlib/Hamlib 2018-06-30 16:11:31 +02:00
Michael Black W9MDB cd1fdfe6ce Allow rotctld to continue operationg aftr tcp or serial rig disappears 2018-05-09 07:31:42 -05:00
Michael Black W9MDB a91e85e9fa Allow rigctld to continue operating after tcp or serial rig disappears 2018-05-08 22:37:32 -05:00
Jeroen Vreeken 9c7ce6eacb Merge branch 'master' of github.com:Hamlib/Hamlib 2018-05-06 00:12:23 +02:00
Nate Bargmann 5f05a0491e Move utility man page files to doc/man1
Maintain manual page files in the doc directory rather than the source
directories.
2018-04-30 07:19:59 -05:00
Nate Bargmann 743f67edaa Update man pages for content and conformance
As some content was getting dated, refresh the content of the various
manual pages and while doing so, update the pages to conform more
closely to man-pages(7), man(7), and groff_man(7).
2018-04-29 22:41:50 -05:00
Michael Black W9MDB 35a28884f9 Fix -Z option on rigctld 2018-04-25 17:48:14 -05:00
Michael Black W9MDB abca0653fd Fix compile warnings for tests 2018-04-22 18:38:16 -05:00
Michael Black W9MDB 9ba1f1a972 Fix compile warning on strings in tests 2018-04-22 18:38:16 -05:00
Michael Black W9MDB 6c369109e6 Add debug time stamps via -Z and --debug-time-stamps 2018-04-15 15:06:52 -05:00
Jeroen Vreeken bfa948ebc5 Add GPIO and GPION options for DCD.
Also bump abi version since the config params struct needed resizing.
2018-03-29 23:55:25 +02:00
Michael Black W9MDB ca85f4740c Allow rigctld to reopen after error 2018-03-27 16:13:37 -05:00
Nate Bargmann b0485aa475 Merge branch 'lazy-rigctld' of git://git.code.sf.net/u/bsomervi/hamlib into g4wjs-lazy-rigctld 2018-03-16 13:58:46 -05:00
Michael Black W9MDB c1c5639c00 Fix morse send of a single space 2018-03-13 09:05:03 -04:00
Bill Somerville 489564a1af Make rig_open() call in rigctld lazy and add graceful termination
Because some  rigs lock their  front panel when  opened for CAT  it is
helpful  to   call  rig_close()  in   rigctld  when  no   clients  are
connected. This change does that.

A  CTRL+C handler  is also  added to  allow rig_close()  to be  called
during exit.
2018-03-12 19:47:45 +00:00
Nate Bargmann b692fb22ef Formatted tests/ to final coding guidelines 2017-10-06 18:58:42 -05:00
c vw d008ca6e5d Microham support. Use "uh-rig" for rig_pathname to talk to the
microHam device for CAT. If you want hardware PTT via the microham
device, use DTR method and ptt_pathname "uh-ptt".
2017-09-10 19:56:59 -05:00
Nate Bargmann d489b8bcb5 Apply formatting to 'tests/' directory
Format per style guide.
2017-08-10 05:46:12 -05:00
c vw 4838a349a6 This enables netrigctld to trigger two different CAT commands (Mic or DATA)
on the real rig. In rigctl_parse.c, we make sure that invalid attempts to
so so are mapped on a safe variant.

Second change to netrigctl: drain the input line before sending a new
command, to reach sync again after a timeout.
2017-07-07 11:52:35 +02:00
Michael Black W9MDB cab7eb1647 Fix FT-891/991 behavior with WSJT-X
Separate FT-891 features
Fix rigctl and rigctld to not abort on function not available
Change Yaesu detection of FA length to automatic method instead of rig specific
2017-06-27 16:48:44 +01:00
Bill Somerville 2828422e92 Stop rigctld and rotctld crashing when service threads cannot write to clients
Although there is  no reasonable recovery from SIGPIPE we  do not want
to terminate the server process,  just the client servicing thread. We
do this by setting the disposition for SIGPIPE to ignored, this causes
an EPIPE to be returned from blocked write() and send() calls that end
up trying to send to a broken pipe/socket.
2017-05-22 21:56:41 -05:00
Michael Black 35fda10dfd Fixed buffer overflow in rigctl_parse and rotctl_parse 2016-11-01 16:02:15 -05:00
Jeroen Vreeken 1bf736d650 Add support for GPIO PTT. 2016-05-28 16:00:03 +02:00
Bill Somerville fcb93b98fa Switch to POSIXLY_CORRECT mode for getopt_long()
This  makes the  first non-option  argument end  getopt_long() parsing
stop rather  than shuffling non-option  arguments to the end.  This is
necessary  so that  rig/rotator command  language arguments  can start
with a  '-' character and  also it enables  the '-' pseudo  command to
switch to reading commands from stdin work correctly.

The change  also make checking for  the '-', switch to  stdin, command
stricter in that it must be where a command is expected and it must be
a word containing exactly a single '-' character.

Overall this allows the following styles of use:

$ rigctl R -

$ rigctl - <<EOF
>R -
>EOF

R -

$ echo "R -" | rigctl -

R -
$ rigctl -m 1 M CW -1

$ rigctl F 434000000 - <<EOF
>M FM 15000
>f m
>EOF

M FM 15000
f 145000000

m FM
15000

$

as well  as the command  line interpreter operation where  no commands
nor '-' are provided:

$ rigctl

Rig command: R -

Rig command: r
Rptr Shift: -

Rig command: f
Frequency: 145000000

Rig command: m
Mode: FM
Passband: 15000

Rig command: F 434000000

Rig command: f
Frequency: 434000000

Rig command: q

$
2016-04-19 21:52:02 -05:00
Bill Somerville 21c346453a Implement combined split VFO frequency and mode setting.
CAT protocols that don't allow  direct addressing of VFOs require that
the  "other" VFO  be queried  or set  via a  select then  get/set then
select back  to original or  swap then  get/set then swap  again. When
both frequncy and  mode need to be set the  sequences can be optimized
if a single funciton is avaiable.

This enhancement adds those single functions rig_set_split_freq_mode()
and  rig_get_split_freq_mode()  with  a default  impelementation  that
calls the individual rig_{get,set}_split_{freq,mode}() functions. Back
ends  can choose  to  implement  an optimized  version  which is  used
instead of the default if present.

Using these  functions when  an optimized implementation  is available
allows the TX VFO's frequency and mode to be set in a single operation
with  only  one   VFO  exchange  or  selection  either   side  of  the
operation.  Many CAT  protocols  are very  efficient  when getting  or
setting both  frequency and mode  and some even  combine the two  in a
single command.

The letters 'K' and 'k' are used for the rigctl short command name for
these functions.
2016-03-23 17:09:26 +00:00
Nate Bargmann 4595f77f99 Touch up rigctld.c and rotctld.c with astyle
Prior reformat had only been a reindent with Emacs.  Now use astyle.
2016-02-14 18:05:55 -06:00
Nate Bargmann 9b45fce776 Reformat rigctld.c and rotctld.c
Several lines in each file benefitted from formatting so just reformat
the entire files into Linux C Style.
2016-02-12 20:46:38 -06:00