So we now have RC2800, RC2800_EARLY_AZ, and RC2800_EARLY_AZEL
RC2800_EARLY_AZ is azimuth only
Update rotctl man page for move keywords
https://github.com/Hamlib/Hamlib/issues/451
For most rigs these are non-vfo specific commands so we can avoid doing VFO switching
Add flags to all Yaesu, Icom, and Kenwood in rig_open
Some rigs do have VFO specific but it's already in the backend
More rigs can use these flags..TBD...
https://github.com/Hamlib/Hamlib/issues/430
Fixed using the following command:
codespell --write-changes --summary --skip=*.m4 --ignore-words-list="develope,get's,quitt,setts,som,ue,vektor"
codespell --write-changes --summary --skip=aclocal.m4,lib --ignore-words-list="develope,get's,quitt,setts,som,ue,vektor"
Codespell home page: https://github.com/codespell-project/codespell
https://github.com/Hamlib/Hamlib/issues/259
set_vfo_opt can now dynamically change vfo mode on rigctld
So this example now works...does some non-vfo stuff then switches to vfo mode
rigctl -m 2 F 14074000 V VFOB F 14076000 V VFOA f V VFOB f set_vfo_opt 1 f VFOA
rigctl commands v,V and S have been changed to not require VFO arguments
New API function rig_set_vfo_opt -- only implemented for Net rigctl as it doesn't apply to any other rigs
This could be changed to automatically selecting a valid VFO so
VFOA=Main or Main=VFOA for example but not sure if we want to do this.
This is already being done for the IC-9700 for example since satmode
only has Main/Sub where non-satmode has MainA/MainB/SubA/SubB
So the question is do we emulate VFOA/B and Main/Sub for all rigs?
Add README.freqranges to explain what's going on with this feature
Add default ITU definitions to bandplan.h
The ITU definitions will likely change as the backends are updated dependinggg on the rig models
https://github.com/Hamlib/Hamlib/issues/243
In the case of gpredict there are times when one has to adjust the
VFO to dial in a frequency while gpredict is tracking.
We now detect this situation and have a 3-second delay every time
VFO twiddling is detected. set_freq and set_vfo calls will be
ignored during this delay.
May make this a settable value if needed.
Add explanation of RIG_ANT_CURR for channel.ant entry. It's to be used when rigs have multiple antenna ports for dedicated band ranges and the rig does not have a set_ant command
Put a looplimit on icom_get_ant_count trying to get autodetect to work
Changes to icom_get_ant_count to try and get this working
Added dummy antenna # args to rigs that don't care i.e. only have 1 antenna
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
By including the stdint SWIG typemaps we can directly use types
derived from [u]int64_t etc.
Because Lua numbers are implemented using a double-precision floating
point type and also because SWIG when generating a Lua wrappings can
only define constants from #define and enum values that fit into an
'int' type we must hide any constants that require more than 32-bits
to represent themselves, as they cannot be represented in Lua. This
applies to rmode_t and the RIG_FUNC... defines at the time of
writing. By hiding them from the Lua binding they will get a 'nil'
value in Lua i.e. undefined so clients using the Lua binding will know
they are not there. This is a nasty hack but without major design
changes to the Hamlib API it is do this or drop the Lua binding.
So here is the first release of the new IC-R8600 rig backend.
Implemented functions so far:
set/get freq
set/get mode
functions: NB TSQL ANF NR AIP MN LOCK VSC RESUME
level: PREAMP ATT AF RF SQL NR PBT_IN PBT_OUT CWPITCH AGC RAWSTR STRENGTH
extra levels (params): ANN BACKLIGHT KEYLIGHT
Mode list: AM CW USB LSB RTTY FM WFM CWR RTTYR SAM SAL SAH
Next up:
* correct filter settings
* new digital modes
* memory store/retrieve
* correct CTCSS, DTCS handling
* correct BEEP handling (broken)
73,
Ekki, DF4OR
I have an potential initial release of a backend for iOptron alt-az mounts.
I have tested it and it appears to work well both from the command line and
driven by Gpredict with my iEQ45Pro. I ran the source through astyle and I
think that it's OK. Compiling and testing was done under Unbuntu 18.
Bob KD8CGH
* Added new rotor module (18) for Meade telescope rotors
* Implemented all needed rotor functions
* Added README.md
* Tested with DS-2000 Rotor with Autostar 494 and 506 serial cable
* Tested on Linux (Debian) with rotctl and gpredict
This flag can be used by back ends that need to take special action
while the rig is transmitting e.g. the FT-747GX and similar that do
not process CAT commands while transmitting.
The flag is also used as a default answer to rig_get_ptt if nothing
better is available.
Deal with inaccurate CAT query for Rx/Tx on the Yaesu FT-847
This rig doesn't set the Rx/Tx status flag when PTT is asserted via
the PTT pin on the rear PACKET socket so we need to override which we
can do if we known we have asserted PTT via rig_set_ptt().
Adjust style and fix set PTT defects
Fix a warning from a declaration of a deleted function definition
Add driver for SPID MD-01 and MD-02 in ROT2 mode. The MD-01 and MD-02
extend the command set from the original ROT2PROG and deviate slightly
from the original protocol on the set_position command.
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.
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.
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.
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
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.
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
Even though the Green Heron RT-21 rotor controller is billed as being
RotorEZ compatible, it returns its value as 'XXX;' instead of ';XXX'.
As a new backend model is being written anyway, the backend query's the
controller to return the real value which is 'XXX.Y;'.
I am making a Haskell binding to hamlib and this anonymous struct was
creating some issues for me. I am not a C-coder by day, but I think this
is harmless to add here.
Signed-off-by: Ricky Elrod <ricky@elrod.me>
I wrote first support for new version of FUNcube Dongle. Differences
against original FCD are changed USB PID and wider frequency range.
73 Lada, OK1ZIA
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
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>
On the Peaberry forum, we have a thread with some hamlib patches for the
Peaberry SDR (a softrock-like transceiver). Both version 1 and version 2
have been implemented and tested.
There are two patches: the first one, made by me (ON8VQ) adds support
for the two radio's, and the second one, made by R2AEE, fixes the tuning
(using PICUSB commands instead of AVRUSB).
The patches are available here:
http://ae9rb.com/forum/viewtopic.php?f=4&t=166
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
Use the system gettaddrinfo function when possible as before. Tested on
GNU, Cygwin, MinGW on Linux, and MinGW on Windows. Under MinGW the
replacement getaddrinfo is used. Perhaps this is an area for
investigation to be certain MinGW really doesn't supply getaddrinfo.
This reverts some of the patches from Remi Chateauneu in commit
60019c9. This fixes build issues encountered building the Windows
binary daily snapshots.
Enabled static library build by default at configure time.
Fixed pthread library linking for the ars backend on MinGW.
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.
I have now written a new rotor control based on an Atmel ethernet board
and used with me. It works well so far.
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
The C standard dictates that an enum constant is a 32 bit signed
integer. Setting a constant's bit 31 created a negative value that on
amd64 had the upper 32 bits set as well when assigned to the
misc.c:func_str structure. This caused misc.c:rig_strfunc() to fail its
comparison for RIG_FUNC_XIT on amd64 (x86_64). To use bit 31 as an
unsigned long, preprocessor macros have been used instead as a 'const
unsigned long' which cannot be used to initialize the func_str.func
members. TNX KA6MAL, AC6SL. - N0NB
Other minor formatting edits.
In response to a long standing request from Tor, N4OGW, and others, RIT
and XIT are added as members for the rig_set/get_func() members.
"RIT"/"XIT" have been added as tokens. The dummy rig backend and
testrig.c have been updated for these new functions.
Applications should test a backend with the rig_has_set/get_func() and
test for RIG_FUNC_RIT or RIG_FUNC_XIT. A non-zero result indicates
these functions are implemented by a given rig backend. It will take
some time for all backends to migrate to this new implementation. Once
implemented, RIT or XIT should be set to '0' to 'clear' the value
without deactivating the rig's RIT/XIT function. The dummy/dummy.c file
can be used as a simple guide for backend authors implementing this
behavior.
Implemented hash table to temporarily store and sort the rig models by ID
to print the --list by model numbers. Hash is implemented using
uthash.h, see http://uthash.sourceforge.net/
Suppressed rig backend register output by setting rig_debug_level to 0
for list output.
Removed riglist definition of RPC backend.
Implemented hash table to temporarily store and sort the rot models by ID
to print the --list by model numbers. Hash is implemented using
uthash.h, see http://uthash.sourceforge.net/
Suppressed rot backend register output by setting rig_debug_level to 0
for list output.
Removed rotlist definition of RPC backend.
From Øystein Hårberg, LA7LKA, a backend for a rotor based on the TS-7400
embedded ARM board running Linux from http://www.embeddedarm.com/
Signed-off-by: Nate Bargmann <n0nb@n0nb.us>
From Mikhail Kshevetskiy <mikhail.kshevetskiy@gmail.com>
vx-1700 notes:
==============
* the only possible way to switch from VFO_A to VFO_MEM is a
switching to configured memory channel.
* vfo_op(UP/DOWN) in memory mode switch channel UP/DOWN
correspondingly
* set_mem() in VFO mode do not change memory channel, but only
remember passed value. Thus we may set non-configured memory
channel number for future use in vfo_op(OP_FROM_VFO).
* get_mem() in VFO mode returns last used memory channel value.
It may return non-configured memory channel number passed to
set_mem() previously.
WARNING: VX-1700 CAT Manual have bugs, see comments in code.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3052 7ae35d74-ebe9-4afe-98af-79ac388436b8
New CSS file, added Doxygen logo to footer, tweaked hamlib.cfg.in for
Doxygen configuration. Minor edits to index.doxygen.
Minor Doxygen edits to rotlist.h and network.c
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3035 7ae35d74-ebe9-4afe-98af-79ac388436b8
Rot2Prog is now 901, Rot1Prog 902 per feedback from Magne Mæhre LA1BFA.
Minor update of spid.txt to correct a typo and clarify a point in
the documentation.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3028 7ae35d74-ebe9-4afe-98af-79ac388436b8
This patch extends the SPID driver with support for the Rot1Prog az
rotator controller. It also updates protocol documentation. The driver
has been tested with Rot1Prog and with Rot2Prog for regression.
Submitted by Norvald H. Ryeng <ryeng@users.sourceforge.net). Tracker
info: SPID Rot1Prog rotator driver - ID: 3167384
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3027 7ae35d74-ebe9-4afe-98af-79ac388436b8
Added FUNcube interface to Hamlib. This is a basic FUNcube interface:
at the moment only frequency set/readout is supported. From Stefano
Speretta <s.speretta@isispace.nl>.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@3026 7ae35d74-ebe9-4afe-98af-79ac388436b8