Wykres commitów

373 Commity (cef8c2d1576e5da2cbd2234b6b060a7323d3e86a)

Autor SHA1 Wiadomość Data
Michael Black 1767cb5c43 Icom frame patch
I'm implementing several changes to support some functionality for the
IC7300.  In order to minimize the review process I'm submitting this
small one separately (still working on finish the IC7300 but it's some
fairly extensive changes since ICOM has changed the protocol for several
things).

For the IC7300 turning power on requires ~150 0xfe's be sent to wake up
the rig.  This causes a buffer overflow condition in icom/frame.c.  This
patch increases the buffer size and ensures no overflow.

73
Mike W9MDB
2016-05-16 16:45:23 -05:00
Michael Black 62a90596dc Add send_morse to icom rigs
Add send_morse to ic7300 -- now works with CQRLog CW mode

73
Mike W9MDB
2016-04-23 21:05:15 -05:00
Bill Somerville 7ddb7841f6 Do not crash if expected CTCSS tones not sepcified
Also added expected CTCSS tones to Icom IC-7300 capabilities.
2016-04-21 11:04:04 +01: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 Black bd7510315e Initial support for the IC-7300
Attached is a patch + file for the ic7300.
Has not been tested...but it's very close to the ic7200 so I have high
hopes.

73
Mike W9MDB
2016-04-09 06:56:11 -05:00
Bill Somerville 47a808dcf8 Further attempts to simplify and improve Icom CAT for split operating 2016-04-02 19:07:02 +01:00
Nate Bargmann 8d7a108fbc Merge pull request #16 from robinolejnik/master
Added support for Icom IC-2730
2016-04-02 07:10:50 -05:00
Robin Olejnik 351e4f33b9 Added support for Icom IC-2730 2016-03-29 00:20:59 +02:00
Bill Somerville 86a24c5a18 Make sure right band is used when setting frequency on IC-910(H) 2016-03-23 17:09:31 +00:00
Bill Somerville ad6e1e5bf7 VFO targetable get frequency operation for the Icom IC-910(h) 2016-03-23 17:09:30 +00:00
Bill Somerville 398bd3ccaa Better set frequency semantics for the IC-910(h)
Allows for the optional 23cms module.

No longer tries to preserve the pre-amp/attn/bandwidth settings as the
does this (correctly) already.
2016-03-23 17:09:30 +00:00
Bill Somerville 48102caeaa Do not swap VFO unnecessarily
Do the minimum swapping and other manipulation to determine the Tx and
VFO status when setting the split frequency and mode.

TODO - other funcitons.

The strategy  to determine the  current VFO at the  start of a  set or
query sequence of the split transmit VFO should not switch back to the
Rx VFO unless  it is certain that  it was current at the  start of the
sequence.
2016-03-23 17:09:29 +00:00
Bill Somerville 21cc26b477 Elide unnecessary CAT commands when setting split frequency and mode 2016-03-23 17:09:28 +00:00
Bill Somerville 931cf15041 Add {get,set}_splitfrequency_mode for the IC-910(H) 2016-03-23 17:09:28 +00:00
Bill Somerville e593afef95 Implement rig_{set,get}_split_freq_mode() for IC-756 series.
This implementation reduces  the number of VFO excahnges or  sets to a
minimum when setting the TX VFO frequency and mode together.

This also  includes a  much smarter implementation  of the  logic used
when the  new config option 'no_xchg'  is enabled.  Now it  is able to
accurately  determine  the  original   VFO  selected  and  leaves  the
sequences with the  same VFO selected.  There is one  corner case when
both VFOs are identical (frequency, mode and width) at the start where
it has  to take a  guess as to the  selected originally VFO  (Icom CAT
protocol has no  command to elicit this information). In  that case it
guesses as the last VFO  selected using Hamlib.  Applications can gain
absolute certainty  by setting the  VFO themselves prior to  using the
rig_{set,get}_{split,}_{freq,mode,freq_mode}() function  series.  This
now gives seamless  TX VFO configuration without  any relay clattering
or TX/RX audio glitches.
2016-03-23 17:09:27 +00:00
Nate Bargmann 97594e1c96 Apply Linux C Style to ic910.c 2016-02-22 06:10:48 -06:00
Bill Somerville ed3c48e71e Add 23cms to IC-910(H) backend 2016-02-22 01:53:36 +00:00
Nate Bargmann 785e926db9 Reformat optoscan.c to Linux Style
Use astyle to format to Linux Style.
2016-02-14 18:08:54 -06:00
Nate Bargmann c26b893498 Quell clang warning from optoscan.c
clang warned that lvl_len could be used unitialized in a call to
rig_debug.  Initialze lvl_len to 0 as its assignement is inside an if
conditional.

Also reported by Greg Troxel.
2016-02-13 21:49:51 -06:00
Bill Somerville 5244086e07 Detect C-IV NAK returns as rejected commands
Only  ask Icom  rigs once  then  desist if  bandwidth request  returns
command  rejected. This  avoids sending  the request  with every  mode
query  and possibly  retrying 'retries'  times  for rigs  that do  not
suport the '1a 03' command which wastes much time at slow baud rates.
2016-02-05 19:22:29 +00:00
Bill Somerville 87eb9e50b7 Fix a logic error in band detection during IC-910 set frequency
Also optimized to not check other band when already on the right band.
2016-01-20 23:35:32 +00:00
Bill Somerville da87c81100 Do not attempt CAT PTT commands on the Icom IC-706mkIIG
This rig doesn't have PTT commands and having them there causes errors
since they  are used by the  front end API even  if RTS or DTR  PTT is
selected.
2015-04-14 10:03:51 +01:00
Bill Somerville d1aee3e1a7 Enable data modes for the Icom IC-7100 2015-03-11 18:07:02 +00:00
Stephane Fillod c02e03f77e New Icom ID-5100 model 2015-01-25 13:42:08 +01: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 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
Bill Somerville ad8b1983af Added IC-7410 data modes 2014-10-16 21:33:19 +01:00
Bill Somerville 694028cea2 Icom IC-7410 has VFO A/B not MAIN/SUB 2014-10-16 21:33:16 +01:00
Bill Somerville 19f131b1b8 Remove redundant RIG_PTT_SERIAL_CAT enum from ptt_t
The Icom IC-7100 back end added this enum instead of using the extant
RIG_PTT_RIG enum.  Also the rig_get_ptt() implementation didn't handle
it and errored out.

Note: RIG_PTT_SERIAL_CAT was added in commit
e9ee671149  - N0NB
2014-10-09 10:25:38 -05:00
Bill Somerville 2889f49392 Fix Icom IC-756Pro mode get/set.
The IC-756Pro doesn't have DATA mode but the capabilities incorrectly
used commands to get/set DATA sub modes.
2014-04-27 14:17:42 +01:00
Bill Somerville b0f6955740 Added option to not use VFO XCHG command when setting split parameters.
With Icom rigs that use MAIN?SUB VFOs there is a trade off when
setting the mode or frequency of the "other" VFO. Untill now Hamlib
uses the XCHG VFO command to address the "other" VFO. This has some
advantages, particularly it preserves the selected VFO and it
preserves memory mode of either VFO. The disadvantage is that any
split command causes the Rx to glitch when the VFO/MEMs are exchanged.

I have added a config parameter for Icom rigs called "no_xchg" which
forces the direct addressing of VFOs to set split mode/frequency. It
is a boolean option with a default of "0" (false) which equates to
prior behaviour. Setting it to "1" (true) will make the backend use
change VFO commands to set the "other" VFO. This means that TX on
"SUB" in split is assumed, that both are in VFO mode (not MEM), and
set/get split functions will leave the MAIN VFO selected.
2014-03-20 18:36:43 +00:00
Bill Somerville 83640f3fcc Fix Icom IC-756 Pro III get data mode.
The "1A 06" command to get the data mode returns 2 bytes rather than
the one byte documented in the user manual.

Fix indexing error, collect data mode from correct reply byte.
2014-02-03 15:11:44 +00:00
mvcstroomer e9ee671149 Add Icom IC-7100 support.
From Martin, CT1IQI:

"Several programs under Linux rely on Hamlib for control. I wanted to
try WSJT-X (digital modes like JT65) and found that my new IC-7100 was
not yet supported, also after having compiled the current git version of
Hamlib and having compiled WSJT-X against that.

So I added a IC-7100 by taking the ic-7200 and 7420 rig files as
example, be it without going (yet) through all of the very many commands
the ic-7100 supports.

This produced the situation where there was communication, e.g. setting
and reading frequencies, but the PTT control did not work.  I debugged
that to actually the lack of a PTT mode in Hamlib that uses serial and
CAT at the same time; currently PTT per 'serial' seems equivalent to
toggling certain RS232 pins but not to any serial command level. So I
added a RIG_PTT_SERIAL_CAT mode for PTT control. Now the wsjt-x program
works nicely with the ic-7100 and controls both frequency and PTT via
the single USB cable."

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-10-25 08:40:36 -05:00
Bill Somerville 29cb138210 Fix Icom IC-726 mode handling.
The IC-726 doesn't accept passband width sub commands with the mode
command. Well it does for CW, but not for other modes. I have disabled
the sending passband width sub commands for this rig to at least get
the mode setting commands accepted by the rig.

Fix IC-475A/E mode set command.

As with IC-726 very limited passband width sub commands with mode set
command so disabled all for now.
2013-10-18 19:12:55 +01:00
Bill Somerville 87ca3f338d Add support for Data Modes on Icom "Pro" models.
The Icom IC-7x6Pro models support AFSK data modes with Tx audio
delivered via the back ACC socket. This mode is enabled and queried
via a separate "0x1A06" command and applies to USB, LSB, FM and, AM as
USB-D, LSB-D, FM-D and, AM-D respectively on the radio. I have added
all but AM because hamlib has no mode enumeration for AM Data mode.

Most of the IC-7xxx rigs have an extended version of this special
command which also involves width. This needs further work to
implement.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-10-18 09:44:01 -05:00
Bill Somerville 4f41b5b1d0 Fix Icom IC-756 filter handling.
The IC-756 only has two filters per mode unlike the later IC-756
variants that have three. The code was sending invalid commands
due to trying to select the third filter for certain bandwidths.

Also the default filter bandwidths were incorrect for this model.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-09-26 21:53:45 -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
Bill Somerville c1212b158d Patch submission for IC-756
73
Bill.

>From 5209463ba169516543e2666b8b3a98b605c362e6 Mon Sep 17 00:00:00 2001
From: Bill Somerville <g4wjs@classdesign.com>
Date: Sat, 20 Jul 2013 01:45:01 +0100
Subject: [PATCH] All IC-756 varieties have MAIN/SUB VFOs rather than A/B VFOs

In the past IC-756ProIII capabiities have been updated to use MAIN/SUB VFO
commands but as far as I can tell from the user manuals for the IC-756,
IC-756Pro, IC-756Pro2 all varieties have the MAIN/SUB VFOs and need to use
the correct VFO access sub command.

I have an IC-756 and discovered this defect via WSJT-X which as of v1.1
requires split operation setup.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2013-07-20 08:14:24 -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
Paul Lutus 28986aaf8f IC-746/756, IC-PCR8500 fixes
* The 746 has an APF, wasn't in its configuration, added, tested, works.

* The 756Pro has an ANF function, wasn't in its configuration, added,
tested, works.

* The 756Pro's signal strength conversion table was way wrong.
I noticed this while making scope plots in my program JRX --
the strong signals using the STRENGTH output would all flatten
out at a rather low level, but the RAWSTR output showed the
full range. Changed the conversion table, tested, fixed.

R8500 notes:

The R8500 on/off functions work differently than the other Icoms,
in fact it's not too strong to say that this radio is a breed apart.
Most Icom radios have a group command code for on/off functions (16),
then a code for the function, then a flag for on or off. The R8500
combines the second and third into one, and this required a bit of
recoding in "icom.c". Interestingly, someone had created some special
designators in "icom_defs.h" for the R8500, but then never coded them
to the degree that they worked. Now they work. :)

So the AGC, NB and APF functions all work now.

The R8500 doesn't have a preamp control, so I took that out.

The R8500 does have IF shift and a 3-step attenuater, so I put those in.

Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
2012-11-10 21:49:30 -06:00
Nate Bargmann 3bd95bb5ce NEWS: Bring up to date to latest changes
icr8500: Add RIG_LEVEL_AF to has_set_level.  TNX John, EI7IG
2012-10-25 14:24:29 -05:00
Nate Bargmann 674d4375db IC-756: Remove supported commands per AK6I
Darrel, AK6I, has an IC-756 (non-Pro model) and reports several
functions are not supported and suggested they be modified.
(cherry picked from commit 11033470f0)
2012-10-05 12:47:07 -05:00
Nate Bargmann 01ab10bf10 Include backend specific notes with 'make dist'
(cherry picked from commit 20814924b2)
2012-03-01 21:23:16 -06:00
Nate Bargmann be2fefcf18 Update version of modified backends
Per Stephane's request, updated the version string of backends modified
since 1.2.14 release.  Newly added backends were left alone.
2012-02-02 20:10:37 -06:00
Nate Bargmann ea0a9300a2 Fix incorrect swap of main and subband in IC-910
Per tracker bug report:

https://sourceforge.net/tracker/?func=detail&atid=108305&aid=3480533&group_id=8305

When the actual used frequency lies in the same band like the one you
want to set, the main- and subband are swaped.  Definitely not the
wanted behyvior. -- from ArkturusMensk
2012-01-27 19:13:20 -06:00
Stephane Fillod 070beccf37 add IC-1275 2012-01-04 09:29:09 +01:00