Wykres commitów

528 Commity (Hamlib-3.1)

Autor SHA1 Wiadomość Data
Bill Barker 10eb19e92a Add test for Flex 6300 ID
Adds test for ID 907 for the Flex 6300.
2016-12-23 21:06:47 -06:00
Bill Somerville ce8189f029 Revised kenwood rig busy response handling
The TS-790  is very prone  to slow  command responses, this  change no
longer  retries  the sending  of  the  original  command when  a  busy
response "?;"  is seen, instead  it simply  waits one retry  delay and
tries response  read again. It  may be that  this has always  been the
correct action  but most rigs do  not return busy responses  or behave
better when a command is retried.
2016-11-20 10:55:51 +00:00
Bill Somerville 5b8e56c8ef Add rig_{open,close} functions to TS-790 backend 2016-11-20 10:55:50 +00:00
Nate Bargmann 3f903cbc64 Fixup rig caps pointer in K3 patch 2016-11-19 12:53:31 -06:00
Michael Black 1e462e10e0 Move K3 DT0 before mode switch, add version info to electraft rig open, WSJT-X VOX rig split now works 2016-11-19 10:38:54 -06:00
Dario Ventura 74b33af1b5 TS2000 Satellite mode and Gpredict
Hi,
Gpredict issues set_vfo commands on sat track engage to switch a/b vfo
and set downlink/uplink frequency.

Although this generally works, Kenwood TS2000 has its own style during
satellite operation:
1) vfo B is *always* for uplink
2) vfo A is *always* for downlink
so vfo selection (FR command) doesn't work: kenwood firmware doesn't
recognize it in Satellite mode.

When Gpredict is trying to set_vfo on TS2000 in Satellite mode it loops
on unrecognized FR command and freezes.

Attached patch checks for TS2000 Satellite mode status and if ON
"disables" set_vfo command.
This allows Gpredict to track downlink/uplink frequency on TS2000 (you
need to configure manually downlink/uplink band on the rig before
engaging)

Please be aware this isn't a "Gpredict patch": it fixes set_vfo behavior
in satellite mode according to ts2000 firmware.

73, Ciao

Dario Ventura, IZ7CRX
2016-10-28 08:02:09 -05:00
Stephane Fillod f778fe1677 xg3: fix buffer overflow
The issue was found by dcb314.
2016-09-04 18:10:27 +02:00
Nate Bargmann 50ff9f91a0 Correct open error for ts850 backend
Like the ts570 backend, the ts850 backend did not define a function for
rig_open in its rig_caps.  This is now fixed.  Confirmed by Ervin,
HA2OS.
2016-08-28 05:27:43 -05:00
Nate Bargmann 27cc91292b Fix issue with TS-570S|D open in rig_caps
If the ts570 backend was called without the radio being turned on or the
wrong IO port specified, the library would generate a number of timeouts
and then fall through to behaving as though the communications channel
were opened.  Discovered that the backend did not specify a function for
rig_open in the rig_caps structure.

Thanks to Volker Schroer, DL1KSV, for reporting this issue.
2016-08-27 07:05:35 -05:00
Bill Somerville 06dc9ca5d6 Some more Kenwood rigs with no AI query 2016-05-21 15:17:06 +01:00
Bill Somerville 72673e323f Do not attempt to query AI state on the TS-450s as it is not supported
This change also avoids a long delay  on start up with the TS-450s due
to retries while trying to save the AI state before disabling it.
2016-05-21 03:29:58 +01:00
Michael Black f3ccfb855f tmd710 patch
Adds some functionality to the tmd710 and some notes on unknown
parameters.

73
Mike W9MDB
2016-05-08 21:38:19 -05: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 6fb4f72b2a Use a sensible port timeout value for the Kenwood TS-850
This  back end  used a  480  second timeout  which effectively  blocks
retries.  The  long timeout  claimed to  be for  something to  do with
tuning  which I  assume is  related to  an auto  ATU blocking  rig CAT
responses.  The standard retry mechanism should cope with this without
resorting to an artificially extended timeout.
2016-03-29 22:00:53 +01:00
Bill Somerville 50a739fa81 Use rig state rig port retry option rather than from capabilities
The   rig->state.rigport  retry   option  can   be  overridden   by  a
configuration  option and  therefore should  be used  rather than  the
initial capabilities default value.

Thanks to Ervin HA2OS for finding this defect.
2016-03-29 21:59:49 +01:00
Nate Bargmann 732309e9d9 Quell compiler warning on MinGW
Use the PRIll macro and int64_t cast to quell the warning from the MinGW
compiler.
2016-02-09 10:51:58 -06:00
Bill Somerville 0264e73688 Redundant split mode directives on Elecraft rigs cause Tx failures 2016-02-09 00:30:10 +00:00
Bill Somerville f0bd8061b1 Elecraft rigs do not switch VFO in IF command responses during split Tx. 2016-02-07 12:51:36 +00:00
Michael Black 94973f706f Clear up a clang compiler warning in kenwood/elecraft.h
EXT_LEVEL_NONE should be part of the enum

RRR
Mike W9MDB
2016-02-05 18:34:28 -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 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 a924165786 Use correct function to execute set type commands with no response 2015-12-03 10:06:34 +00:00
Bill Somerville ca77efcc04 Allow for poor emulations of Kenwood rigs that have no ID command
This  issue came  to light  with  the HDSDR  program which  has no  ID
command response.  For these awkward cases  try an FA command to check
if the  rig responds  then use  that same FA  command for  set command
verification. Otherwise use the ID command as before.
2015-11-29 20:56:42 +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
Bill Somerville a4a93ac044 Remove unecessary delays from TS-940S backend 2015-11-19 10:48:05 +00: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
Thomas Beierlein 528b6923bc fix kenwood_set_mode for ts590s and mode CW, RTTY or AM
Current code always tries to set data mode with 'DAx' command after
setting the mode. According to 'PC control command reference' manual
that results in error for the CW, FSK and AM mode.

The provided patch sends 'DAx' only if we have some of the other modes.
2015-09-20 14:46:59 +02:00
Bill Somerville b9eb755dc3 The doesn't appear to be a way of getting PTT/SEND on the TS990s
The IF  command response  byte for  this is  always 0  on this  rig as
documented and there doesn't seem to be an alternate way of querying.
2015-04-14 10:05:01 +01:00
Bill Somerville 1968b98e3c The Kenwood TS990s only does split Tx on SUB VFO 2015-04-14 10:05:00 +01:00
Bill Somerville 5861851117 Mode set is not VFO targetable on the Kenwood TS990s
It is targetable for read so set as targetable and added extra code in
set  funnction to  toggle VFOs  where necessary.  This is  better than
setting as not targetable since reads do not have to toffle VFOs.
2015-04-14 10:05:00 +01:00
Bill Somerville 542585029d Initial back end implementation for the Kenwood TS-990s 2015-04-14 10:04:59 +01:00
Bill Somerville a1e39e11f0 Fix defect in Kenwood TS-940 IF command response parsing
A recent change  to implement command error detection  and retries for
this rig introduced a defect in  the expected length of the IF command
response.
2015-03-17 02:33:17 +00:00
Bill Somerville 4d6dacb92f Allow for PowerSDR ID in Kenwood TS2000 emulation mode
PowerSDR  accepts  a  ZZID;  command   which  changes  the  result  of
subsequent ID; commands to ID900;. Since there seems no way of telling
PowerSDR to revert to  the true TS2000 ID of ID019;  we have to accept
ID900; as a TS2000.

Allow for  SmartSDR Kenwood  compatible IDs  of 904  - 907  as TS-2000
synonyms.
2015-03-13 19:48:19 +00:00
Michael Black baa192ea05 Check TS-590S for EU or US firmware
Got a confirmation from Kenwood that the "TY" command returns "TYE 00"
or "TYK 00" for European or USA firmware.

So here's a patch that implements it for the TS590S.
2015-03-11 20:25:33 -05:00
Michael Black 6dbcaeb20a xg3 patch
Small patch so XG3 returns -RIG_EINVAL when trying to set anything other
than VFO_A.
2015-03-07 13:40:32 -06:00
Bill Somerville 3d99e9dbb6 Allow one extra byte in read_string() length to accomodate terminator
The kenwood_transaction()  function expects a buffer  large enough for
the  null  terminated  command   response  less  the  Kenwood  command
terminator (';') but  the read_string() call must allow  an extra byte
for that same terminator.
2015-03-06 19:48:47 +00:00
Bill Somerville 72f1e92be3 Allow for bad ID from DDUtil in TS-2000 mode 2015-03-01 21:59:50 +00:00
Bill Somerville a70ca71753 Call kenwood_open() for TS-2000 to ensure AI mode is disabled 2015-02-28 03:53:19 +00:00
Nate Bargmann f0e17f7c8d Merge branch 'kenwood_strncpy_error' of git://git.code.sf.net/u/bsomervi/hamlib 2015-02-17 13:32:59 -06:00
Bill Somerville aa9ad54b94 Remove kenwood_simple_cmd as kenwood_transaction has that functionality 2015-02-16 18:16:10 +00:00
Bill Somerville 51b30a8ff2 Removed redundant precondition test 2015-02-16 14:18:27 +00:00
Bill Somerville 143f305b49 Further clarification in the implementation of kenwood_transaction()
Buffer size is  now an input parameter only as  the return data length
is  implicit since  a null  terminated C  string is  returned.  Better
precondition checks are impelmented.
2015-02-16 12:46:35 +00:00
Nate Bargmann 3e06fff221 Delete comment of unused parameter
Removed reference to cmd_len from comments of kenwood_transaction which
is no longer used.
2015-02-13 14:17:47 -06:00
Bill Somerville 4a74db654a Clarify the handling of Kenwood CAT message terminators
There was an inconsistency in  whether the CAT terminator character is
included  in  returned  messages.   It  now  follows  the  comment  in
kenwood_transaction()  i.e. strips  of  the terminator  and returns  a
message length that reflects that.
2015-02-13 18:07:10 +00:00
Bill Somerville 8359bab813 Use local buffer in kenwood transaction funciton
Using the priv->info buffer causes security checks on Mac OS X >= 10.9
because the source  and destination of an internal strncpy  can end up
being the same. It is bad practice anyway as it's undefined behaviour.
2015-02-13 18:07:09 +00:00
Bill Somerville bfbb1adc44 Improve command verification for Kenwood & Elecraft
Allows for a single ';' for  verification with the Elecraft XG3 single
character commands.

Allow for rig specific instance data  (needed by the Elecraft XG3 that
is a bit different from the rest of the Kenwood/Elecraft group).

Do not send a startup command to  turn off AI mode to the Elecraft XG3
as it doesn't have that command or mode.

Restore the positive RTTY mode enabled  check to the Elecraft K2 as it
appears that the MD6; and MD9;  comamnds are valid even when RTTY mode
is disabled on the rig.
2015-01-24 14:59:59 +00:00
Bill Somerville d92bea9538 Switch Kenwood TS940 to generic kenwood CAT functions 2015-01-24 14:59:59 +00:00
Bill Somerville f672cc1bff Increase Elecraft K2 comms timeout and retries 2015-01-24 14:59:58 +00:00
Bill Somerville a970d8b035 Switch to "ID;" command for verification as no "AI;" on TS-840s 2015-01-24 14:59:57 +00:00