Wykres commitów

384 Commity (revert-38-master)

Autor SHA1 Wiadomość Data
Bill Somerville 4e76780242 Fix an issue presenting on the Yaesu FT-450(D)
this rig is prone to giving transitory busy responses to CAT commands,
the retry mechanism for set commands was looping rather than accepting
the results of  a successful command verification read.  This is fixed
and the notification trace message is reduced to a warning.
2016-08-23 09:44:19 +01:00
dh1tw 0b900c0b47 added get/set_conf for FT1200, FT2000, FT450, FT5000 and FT9000 2016-06-10 23:04:27 +02:00
dh1tw 092cad3112 small tab rectification 2016-06-10 23:00:43 +02:00
dh1tw 7ca35814c1 slightly improved documentation / comments 2016-06-10 22:58:14 +02:00
dh1tw ef89d52738 Removed I/O flush ask commented by Bill, G4WJS 2016-06-10 22:56:14 +02:00
Tobias Wellnitz 9603244910 changed token name to 'fast_commands_token' 2016-06-05 22:02:10 +00:00
Tobias Wellnitz 431e884a87 improved & hardend newcat_set_conf and newcat_get_conf;
implemented confparams array with TOK_FAST_SET_CMD for 'fast_set_commands';
implemented .cfgparams for Yaesu FT950;
2016-06-05 21:46:55 +00:00
dh1tw eff99058d6 implemented set_conf, get_conf and Token fast_set_commands for max throughput 2016-06-05 16:26:21 +02:00
Bill Somerville 222ad74de7 Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode argument
This change  allows the set_mode  functions to leave the  rig passband
unchanged  if required.  For the  few rigs  that do  not have  explcit
passband width control either current state is read and rewritten or a
"normal" width  is chosen e.g. select  a normal width when  there is a
choice like CW and CW-NARROW.
2016-04-19 21:27:52 +01:00
Michael McConville 875d0fcdfb Fix erroneous boolean logic
It seems like || was used where && was intended here. Currently, the
conditions are always true, and there's no reason for them to be written
this way.

Found with Coccinelle.
2016-04-14 12:47:46 -04:00
Bill Somerville e5aa3639ed Initial implementation of rig_{set,get}_split_freq_mode() for FT-857.
This  optimized implementation  takes  advantage of  the CAT  protocol
command to set both frequency and mode  at the same time. It also only
needs to switch VFOs once either side of the command.
2016-03-23 17:09:26 +00:00
Torsten Eberhardt 4f2b090b8a fixed get_vfo for FT-757GX(II) 2016-02-24 10:20:00 +01:00
Nate Bargmann 49e2233f9f Apply Linux C Style to ft757gx.c 2016-02-23 18:42:29 -06:00
Michael Black 99cbb5b1ad Allow the ft757gx to work with WSJT-X.
Adds a new config param "-C fakefreq=1"

The ft757gx only has one-way comm so this simply returns the last freq
set.

WSJT-X can operate in fake it split mode with this too.

RRR
Mike W9MDB
2016-02-23 18:24:07 -06:00
Michael Black e1f0433620 Various Yaesu updates
Fix typo in ft990.c
Remove unused var in newcat.c
Make rit and xit use labs() to match data type
Fix frequency print in newcat.c to use PRIll

RRR
Mike W9MDB
2016-02-12 13:36:37 -06:00
Nate Bargmann 683853d669 Make sure new file frg100.h is distributed
Fix a goof from absent minded maintainer that resulted in an unbuildable
repository.  Always run 'make distcheck'!
2016-02-04 09:09:35 -06:00
Michael Black 03c04209d2 Add get_freq to FRG-100
This patch adds get_freq to frg100 allowing it to work with WSJT-X.
Added rest of Yaesu command set for future expansion too.

RRR
Mike W9MDB
2016-02-02 17:34:24 -06:00
Michael Black a55a72cd2a Fix possible frequency overflow on Kenwood and Yaesu
This patch fixes a frequency overflow problem on kenwood and yaesu that
can occur with frequencies that over a 32-bit signed int.  This has been
shown to fix the problem on kenwood.

73
Mike W9MDB
2016-01-15 10:18:42 -06:00
Bill Somerville ffa60fe0e3 Fix missing PKTUSB mode setting code for FT-817 & FT-897
Also made setting WFM an error on the FT-817/857/897 since they all do
it automatically and only on Band II.
2015-12-15 15:57:43 +00:00
Bill Somerville d438b73b8e Fix FT-817/857/897 issues and add some missing functionality
Correctly read SPLIT status TX STATUS is documented incorrectly.

Implement get_split_vfo () on all rigs.

Allow either  RTTY or PKTUSB to  be set, both  go to DIG mode  and rig
must be set appropriately. get_mode() returns what is actually set for
the rig DIG mode.
2015-12-07 19:32:51 +00:00
Bill Somerville aebe52a45e Add a new command line option '--no-restore-ai' ('-n') to rigctl
As Hamlib now restores the rig auto information state (AI) on exit
there is now a need to disable that functionality so that rigctl can
be used to set/reset AI mode on the rig explicitly.

A new  public API  function 'rig_no_restore_ai()'  is also  added that
allows any  client to  disable this auto  AI restore  functionality if
required. Most  clients should do nothing  as restoring AI state  is a
good thing.
2015-12-04 00:22:01 +00:00
Bill Somerville 0ab6d99ef5 Attempt to restore AI status on exit
Kenwood,  modern Yaesu  rigs and  many  SDRs use  an auto  information
mechanism that  broadcasts unsolicited rig state  changes, Hamlib does
not support this and turns  off the function.  Because several passive
devices rely  on this information  to detect band changes  for example
this change adds code to save the AI state on start up and restores it
on  exit. These  devices  do  no need  the  broadcasts  since when  an
application using Hamlib is running  as necessary state polling by the
application provides continuous rig state updates.
2015-11-29 18:26:39 +00:00
Nate Bargmann 2a51974a92 Merge branch 'yaesu-command-validation'
of git://git.code.sf.net/u/bsomervi/hamlib
2015-11-06 20:05:18 -06:00
Bill Somerville 1a02431da5 Command validation for Yaesu set commands
As with  Kenwood, the new  style Yaesu rigs  do not ACK  set commands.
Rather than  wait for  an error,  it is  quicker to  send a  follow up
simple query (e.g. ID;) and read the  reply, if it is a valid response
then the original set command worked; if it is a NACK response e.g. ?;
then  the original  command  failed. Use  this  mechanism to  initiate
retries of the original command.
2015-10-21 21:57:27 +01:00
Bill Somerville d4edc35827 Increase the number or retries for most Kenwood rigs
It appears  that these rigs  can go busy  for a significant  time when
switching between Tx and Rx.
2015-10-21 21:56:13 +01:00
Michael Black f8ccebc694 FT-857 and FT-991 patches
Fixes S meter reporting for FT857 and FT991.

Fixes rig split for FT991.working now for WSJT-X rig split mode.

73

Mike W9MDB
2015-08-15 12:30:00 -05:00
Michael Black 7b3c17646e Small FT-991 patch for WSJT support
A small patch.  Allows the FT-991 to work with Fake Split in WSJT-X.
FT-991 Rig Split does not work due to audio routing (at least not with
the USB port).

The 991 needs a delay after transmit is turned off and 50ms works.

73

Mike W9MDB
2015-07-26 21:54:56 -05:00
Michael Black dffa130175 FT-991 patch
Attached fixes some problems with the Yaesu FT-991 exposed by recent
WSJT-x releases.

Made Yaesu newcat_get_cmd globally available.

Fixes a small bug in a debug print for frequency.

Adds a couple of TRACE debugs.

FT-991 now does split mode.

Tested and working on WSJT-X r5675  JT65/JT9 and WSPR mode.

73

Mike W9MDB
2015-07-16 21:44:04 -05:00
Michael Black 0a5b00c58d New backend for FT-991
Also, change from using malloc to calloc in Yaesu backend.
2015-04-13 21:02:41 -05:00
David Fannin 699db23393 Submission for new backend model (134) for Yaesu FT-DX1200
All,

attached is a git patch for adding the Yaesu FT-DX1200 radio  to the yaesu
backend as model 134.    I am humbly asking for this to be included in
hamlib.

I've tested this using a 1200 radio, using both rigctl and cqrlog.    The
ft-dx1200 cat commands are a mix of ft-950 and ft-2000 radio commands, so
neither of those models will work correctly with the 1200.  It was tested
and build against the master branch from github on 4/3/2015, on an Ubuntu
14.04 server.

Let me know if you have any questions.

thanks

Dave

kk6df at arrl.net

From cc0351fddc245b6223ae6c21dc6e29c5422fc822 Mon Sep 17 00:00:00 2001
From: David Fannin <dfannin@sushisoft.com>
Date: Sat, 4 Apr 2015 09:23:49 -0700
Subject: [PATCH 1/2] adding yaesu ft-dx1200 model to yaesu backend
2015-04-04 13:19:19 -05:00
Bill Somerville 9f9d74c504 Yaesu FT540 can only change the frequency of the current VFO
On the  FT450 one must  select the target  VFO using the  VSn; command
before attempting  to change the  frequency. Ths change does  that and
reverts the current VFO if necessary.
2015-03-15 23:11:00 +00:00
Spencer Berger 24ae62b4e5 Add forced cache timeouts for ft980. 2015-02-06 12:15:09 -08:00
Spencer Berger b45bc3055c Added forced cache timeouts for the ft817. 2015-02-06 11:58:21 -08:00
Spencer Berger 8bc10a9fed Added forced cache timeouts for the ft857. 2015-02-06 08:31:45 -08:00
Spencer Berger 58c75aa2fe Add forced cache timeouts to other setters that affect cached getters. 2015-02-06 08:13:13 -08:00
Spencer Berger e78e6d1d42 Invalidate frequency cache after setting frequency for ft897. 2015-02-04 07:59:47 -08:00
Bill Somerville cdb4c4a016 Yaesu newcat style command response reading improvements
After testing on an FT-450D which tends to send busy responses "?;" to
subsequent commands after a band  changing command it appears that the
undoumented "?;"  rig busy response  should be  treated as a  wait and
subsequent reads may return the  expected response i.e. the command is
still in progress and should not be resent.

As this is  all based on observations of failure  modes rater than any
doumentation from Yaesu, there may be further enhancements necessary.
2014-12-06 12:19:40 +00:00
Bill Somerville 7d01e0fc4d RIG_OK is zero and need not be negated and this will not change 2014-10-18 20:31:47 +01:00
Bill Somerville 013d9b4e4f Disable auto information mode on open
The current version  of hamlib cannot cope  with unsolicited responses
from rigs  therefore AI  mode should  be turned off  on any  rigs that
support it in case a previous program left it on.
2014-10-18 20:23:47 +01:00
Bill Somerville 3f0ca34760 Implement retries for Yaesu "newcat" rigs 2014-10-18 20:23:47 +01:00
Bill Somerville 3ad5f0c653 Add retry mechanism for Yaesu "newcat" backend
After some  testing with an  FT-450 it is  apparent that Yaesu  use at
least some of the busy/invalid  CAT responses that Kenwood document in
their current CAT protocol. The  response received from the FT-450 was
a "?;" from occasional "IF;" commands. In the Kenwood World this means
that  the  command  cannot  be   processed,  this  could  mean  it  is
unrecognized  or it  could  be  a transient  condition  while the  rig
processor is busy. The Kenwood backend  has the ability to retry after
this and some other error responses.

Since the  Kenwood error  response codes are  unambigous in  the Yaesu
language this change implements a  similar protocol for Yaesu "newcat"
backends.  Each  backend may  choose how many  reties by  defining the
'retry' parameter in the rig capabilities structure.

Also cleaned up a lot of code duplication.
2014-10-18 20:23:46 +01:00
Bill Somerville ea49154813 Fix Yaesu FT1000MP and FT1000MP Mk V modes.
The get mode function was not taking account of the extra mode bit in
the IF passband status byte. Also the set mode function was not
supporting the full set of available rig modes.

Added tuning step and bandwidth data for the newly supported modes.
2014-02-15 15:36:24 +00:00
Bill Somerville 419dc8540f Fix Yaesu newcat backend set_tx_vfo issue.
The newcat Yaesu backend was using a toggle command to set the TX VFO
where an explicit set command is avaiable.

This fix corrects the function for the FT-2000(D) and the FT-DX5000.

There is still an issue with the FT-450D which as far as I can see has
no definitive way of setting which VFO will be used for TX.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-10-01 03:15:48 -05:00
Bill Somerville bf539f052b Patch to fix broken Yaesu backend with FT-2000(D)
Hi All,

attached is a patch to correct the Yaesu backend to stop it sending the
SH1; command to teh FT-2000(D) radios where it is illegal.

73
Bill
G4WJS.

commit 8e60a966de140c14fe506f958de92a8e1b738d2c
Author: Bill Somerville <bill@classdesign.com>
Date:   Fri Sep 20 02:10:58 2013 +0100

    Fix Yaesu backend using illegal command on FT-2000

    The FT-2000 doesn't support the SH1; command used by
    the get_mode/set_mode function. This was causing a
    "Protocol error" return when trying to get/set the mode
    of VFO B.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-09-19 22:08:42 -05:00
Nate Bargmann c39b51327b Revise test for MinGW with sleep()
Revise the preprocessor conditional test for MinGW variables.  Tested on
all of my MinGW installations.  The prior test was broken by MinGW 3.0
on Debian Unstable.
2013-09-19 21:59:42 -05:00
Ladislav Vaiz f632695131 Android build updates for monolithic build
Android is now built as a static library.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-09-19 07:25:08 -05:00
Nate Bargmann 332a04b7cd Clean up backend Makefile.am files
Moved all backend *.h files into the SOURCES primary as Automake
documentation states all source file types should be listed.  This
causes Automake to include *.h files in rebuild rules for the targets.

Removed the '-DIN_HAMLIB' assignment from the CFLAGS primary in each
backend and assigned it to AM_CPPFLAGS in configure.ac.  The effect is
the same and it simplifies the backend Makefile.am files.

Removed all commented lines.
2013-09-16 21:51:39 -05:00
Remi Chateauneu 60019c9444 Monolitic libraries. 2013-09-08 14:56:28 +01:00
Nate Bargmann 1fd85febee MinGW build: Fix sleep() substitution
MinGW does not natively support the POSIX sleep() function so we have
had an override that was a part of the GR_PWIN32 macro and included in
the generated config.h file.  When compiling for Windows on POSIX using
MinGW, Autotools will detect sleep() and set HAVE_SLEEP which prevented
the substitution from being included in the source.  Adding a test for
_WIN32 (set by MinGW's gcc) then caused a warning from src/network.c on
POSIX about winsock2.h needing to be included before windows.h.  As
config.h needed to be included first, the solution to break out the
substitution that includes windows.h into its own file.  This patch
provides that solution and allows the code to compile cleanly on POSIX,
using MinGW on both POSIX and Windows, and on Cygwin.
2013-07-29 12:38:22 -05:00
Ladislav Vaiz 6d4295af2c Add Android build support
Android makefile fragments are distributed as extra distribution files
by the GNU build system but are otherwise ignored.  The Android build
support is independent and does not rely on the GNU build system.

See android/README.android for more info.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-04-26 22:31:56 -05:00