Wykres commitów

3514 Commity (51b30a8ff29fa55aad280924b5d791ea1c83e4b8)

Autor SHA1 Wiadomość Data
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
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
Nate Bargmann 5a57de16fb Merge branch 'bergerspencer-yaesu_cache_invalidation' 2015-02-09 15:16:13 -06: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
Nate Bargmann d4a22408f7 Merge branch 'master' of
ssh://git.code.sf.net/p/hamlib/code
2015-01-25 07:04:29 -06:00
Stephane Fillod c02e03f77e New Icom ID-5100 model 2015-01-25 13:42:08 +01:00
Nate Bargmann 16ea41d260 Merge branch 'k2-afsk-modes'
of git://git.code.sf.net/u/bsomervi/hamlib

Many changes to Kenwood backend rigs.
2015-01-25 06:39:54 -06:00
Stephane Fillod c61fe45b29 New IC-M710 and IC-M802 backends 2015-01-24 18:46:34 +01: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
Bill Somerville 42af7ab657 Kenwood TS-570 series IF returns current frequency
For Kenwood transceivers  the FA/FB/FC command smust be used  to get a
VFO  frequency,  the   IF  command  returns  the   Tx  frequency  when
transmitting. The function kenwood_get_freq_if() doesn't adjust for Tx
status or assign the frequency to a specific VFO.
2015-01-24 14:59:57 +00:00
Bill Somerville b1e41d2d2c Elecraft K3 has 1 stop bit 2015-01-24 14:59:56 +00:00
Bill Somerville 5ef9bde498 Allow for failed test command on the K2
The  K2 initialization  was checking  if  RTTY mode  was available  by
sending an  MD6; command  and they  querying the mode  to check  if it
worked. The latest kenwood routines now  fail if an invalid command is
sent to the K2 initialization need only try the MD6; command to see if
RTTY is available on the rig.
2015-01-24 14:59:56 +00:00
Bill Somerville 64d080af2e Removed kenwood_cmd function and replaced uses of it
The function kenwood_cmd doesn't add value  and it uses a reply buffer
that is  not required.  Also  the use of  a reply buffer  disables the
verification  of commands  that  have no  reply feature.   Substituted
kenwood_simple_cmd calls  that do  the job  correctly without  a reply
buffer.

Added delay to busy retry loop when sending commands to rig.

Implemented retries on wrong length repies from rig also with a delay.
2015-01-24 14:59:55 +00:00
Bill Somerville a2f24678ca Kenwood and Elecraft rigs sometimes ignore commands
These  rigs  can  opt  to  ignore set  type  commands  when  they  are
busy. This means  that sending a set command like  FAnnnnnnnnn; to set
the frequency can  fail. The rig should send "?;"  when busy but since
no reply is normally expected it is not convenient to read for a reply
after a  set command since it  will block until timeout.   This change
sends an "AI;" command after a  command that is not expected to reply,
this should guarantee a reply of  some sort allowing any busy reply to
be read  without blocking  and initiate  a retry  of the  original set
command. The  "AI;" command is chosen  because it is available  on all
rigs AFAIK and at least on Elecraft is guaranteed to be processed even
when the rig is busy.
2015-01-24 14:59:54 +00:00
Bill Somerville 3ffbb69638 Elecraft K2 RTTY modes are not FSK
The K2  RTTY and RTTY-R modes  should be modeled as  PKTLSB and PKTUSB
respectively since they are AFSK modes.

Also ensured that  Kenwood mode sets do not try  and set RIG_MODE_NONE
as it makes no sense.
2015-01-24 14:59:54 +00:00
Stephane Fillod 80f921954b New IC-M700PRO backend
Backend for the ICOM IC-M700PRO marine transceiver.
2015-01-21 23:57:08 +01:00
Michael Black 716fc0fcab New XG3 backend
Backend for the Elecraft XG3 signal generator.
2015-01-08 17:45:29 -06:00
Bill Somerville 36b8a972cf Error checks on simulated direct VFO addressing
Many APIs  emulate direct VFO  addressing by using  caps->set_vfo() or
caps->vfo_op(..., RIG_OP_TOGGLE)  to simulate  direct addressing  of a
non-current  VFO. The  mirrored function  call to  revert back  to the
original  current  VFO was  not  checking  for  errors.  This  is  not
unreasonable but it turns out that some rigs can arbitarily fail doing
VFO changes or swaps (e.g. Yaesu FT-450).

I have added checks to these calls but only fail with the error if the
API call being wrapped does not fail itself. This allows the mirroring
VFO  operation to  be  completed,  if possible,  even  if the  wrapped
function could not be completed,  hence as before, making every effort
not to change the rig state unnecessarily.
2014-12-11 17:14:58 +00:00
Michael Black c3997235da TenTec Omni VII update from W9MDB
Implement all current TenTec Omni VII commands.
2014-12-10 18:21:53 -06:00
Nate Bargmann 4102e48aa3 Merge branch 'icom-longer-timeout' of git://git.code.sf.net/u/bsomervi/hamlib 2014-12-10 18:13:52 -06:00
Nate Bargmann 8bf6934f5d Merge branch 'yaesu-busy' of git://git.code.sf.net/u/bsomervi/hamlib 2014-12-10 18:11:37 -06:00
Bill Somerville aa3fd7ba28 Remove gratuitous sleeps before function exits
Add sleep in tight wait loop to reduce CPU loading.
2014-12-10 01:34:35 +00:00
Bill Somerville 82b8649030 Revert read_string() to partial results are a success status
The read_string() function was changed to return a -RIG_ETIMEOUT error
when timing out after having read  some characters. This caused a back
end to fail because it was  using a read_string() with an invalid stop
character  and relying  on the  timed out  read_string() to  fetch the
data. This  patch reverts to  the prior  behavior of returning  a null
terminated buffer and  read bytes count if at least  one byte has been
read.
2014-12-10 01:25:33 +00:00
Bill Somerville 6b2069af28 Kenwood AIn; command has no reply 2014-12-09 01:41:45 +00:00
Bill Somerville 463bc7ae3b Increase communications timeout for Icom rigs
Icom  users, who  use  the  K9JM CI-V  router  to  protect their  PW-1
amplifiers from  damage due to  Icom's broken CI-V  protocol handling,
require a 1s delay  after opening the serial port. This  is due to the
router  using  an  Arduino  &  Arduino  USB  adapter  that  employs  a
bootloader which  holds the RS-232  interface for 1s after  reset (DTR
releases reset).   Hamlib already  has a  retry and  timeout mechanism
which was  set to 3 and  200ms respectively for most  Icom rigs.  This
change increses that  timeout to 1s. The increaased  timeout will have
little or no impact on clients as  it only comes into play if there is
a problem.
2014-12-08 12:23:06 +00: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
Nate Bargmann b2f0062c6b Update outdated URL in ChangeLog 2014-11-30 07:51:01 -06:00
Bill Somerville 849f1e1bf8 Fix serial i/o on Windows.
Fix bytes read count accumulation in Windows serial I/O.

read_string  from  communications  port   doesn't  handle  timeout  on
anything but the first character read.

Honour VMIN tty parameter correctly.
2014-11-30 11:22:58 +00:00
Nate Bargmann 3cde4f4c2d Merge branch 'kenwood-ai-off-at-start'
of git://git.code.sf.net/u/bsomervi/hamlib
2014-11-26 20:03:04 -06:00
Bill Somerville a6fd825d3d Merge branch 'master' into ptt-control-on-cat-port 2014-11-24 01:48:27 +00:00
Bill Somerville b26d862d56 Merge branch 'master' into kenwood-ai-off-at-start 2014-11-24 01:47:58 +00:00
Bill Somerville 4e2a6adf12 Move serial line control error checks to lower level routines
Moved in preference to introducing errno.h into rig.c.
2014-11-24 00:51:12 +00:00
Bill Somerville 0e0779877d Add more diagnostics and error checks to serial line control 2014-11-24 00:18:48 +00:00
Bill Somerville 2049533381 Disable AI mode on open for Kenwood/Elecraft rigs 2014-11-23 22:18:53 +00:00
Bill Somerville e1a0e9121c Always clear serial control lines when used for PTT
When a serial  control line (DTR or  RTS) is used for  PTT control the
rig_open()  function clears  the PTT  control line  after opening  the
port. This  is necessary on Linux  because opening the port  sets them
both as part  of the normal RS-232 protocol. The  lines were not being
cleared when the PTT port was the same port as the CAT control port.
2014-11-21 20:58:18 +00:00
Nate Bargmann 5fbef72af3 Properly exclude non-Linux/MS Windows build of G313
While the Winradio G313 backend wasn't being compiled on a non-Linux
POSIX system, the register function in winradio.c was which caused an
error linking rigctl.  Also, the host_os test in the configure script
now looks for a string containg "*linux-gnu*" which accepts such systems
as the Raspberry Pi which is defined as "linux-gnueabihf".

Thanks to Lorenzo Simoncello, IW3HER, for reporting this build error on
the Raspberry Pi.
2014-11-19 22:02:30 -06:00
Bill Somerville 5d572b01f8 Kenwood TS-590SG
Fixed typo that disabled the whole back end.
2014-11-14 17:55:51 +00:00
Bill Somerville 6165bf9eda Add support for the Kenwood TS-590SG
This rig is largely similar to the TS-590S but for some reason Kenwood
have changed most the EX command  ids. Even though hamlib makes little
use  of  the  EX  command,  it   probably  will  need  to  for  future
functionality implemenattion. Hence the new rig id.
2014-11-04 16:23:39 +00:00
Bill Somerville bc1fcfac64 Data mode support for the Icom IC-7200 2014-11-01 11:47:29 +00:00
Bill Somerville 6416c7316b Data mode support for the Icom IC-9100
Also enabled CAT PTT.

Also the rig supports querying split status so enabled that too.
2014-10-22 13:00:29 +01:00
Bill Somerville 69fd5d2596 Data mode support for the Icom IC-7700 2014-10-21 19:29:42 +01:00