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?
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
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
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.
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
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>
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>
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.
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.
* added rig_lookup_mem_caps/rig_mem_count and rig_strmtype/rig_parse_mtype
* misc change to RIG_VFO* for Swig to make them available in the bindings
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2329 7ae35d74-ebe9-4afe-98af-79ac388436b8
introduce PRIll (printf format) and SCNll (scanf) in misc.h.
This needs to have config.h included beforehand.
* do likewise with freq_t type (double) in rig.h
FREQFMT is deprecated.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1903 7ae35d74-ebe9-4afe-98af-79ac388436b8
* no need to include stdio.h any more (be careful of implicit include!)
* removed some dead wood about sockaddr in the network port. This will
be put back in correctly when this kind of port is really implemented.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1556 7ae35d74-ebe9-4afe-98af-79ac388436b8
to set_split_vfo/get_split_vfo, and take an extra transmit vfo arg.
Ascending compatibility is retained at the API frontend level.
NOTE: only function name has changed. The backends do not implement
necessarily the new semantic (the extra tx vfo is just ignored).
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1425 7ae35d74-ebe9-4afe-98af-79ac388436b8
- RIG_DEBUG_* are now enum's
- new RIG_PORT_PARALLEL
- new RIG_TYPE_TUNER
- RIG_VFO_UPLINK/RIG_VFO_DOWNLINK have been renamed to RIG_VFO_TX/RIG_VFO_RX
- new RIG_ANT_1, RIG_ANT_2, etc.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1302 7ae35d74-ebe9-4afe-98af-79ac388436b8
- rig_set_channel and rig_get_channel can now target VFO, besides memories
- emulation of set_channel and get_channel has been kept in generic routines.
Added in these routines the support for ext_levels.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1113 7ae35d74-ebe9-4afe-98af-79ac388436b8
kept:
- indentation
- new PARM_KEYLIGHT, SCAN_VFO
- new scan_group field in struct channel
- added RIG_CHFLAG's
ts2k stuff in 'branch_ts2k' will be merged later
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1108 7ae35d74-ebe9-4afe-98af-79ac388436b8
is the minimum I could commit and have a functional rig. The cost is
that I've broken kylix and others that duplicate rig.h. I'm in the
process of repairing the damage. Please be patient. I hope a day or so,
but am asking for up to a week. E-mail me about *anything* you find
broken. Kylix (and similar) is (are) known to not work.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@1083 7ae35d74-ebe9-4afe-98af-79ac388436b8
* set_poweron/seT_poweroff gone is favor of set_powerstat and get_powerstat
* added new send_dtmf/recv_dtmf
* added new field max_ifshift, dtmf_digits
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@432 7ae35d74-ebe9-4afe-98af-79ac388436b8
with set_parm/get_parm caps.
added also chan_list array to describe what kind of chan your rig
is equipped with.
* set_ann/get_ann are gone. Welcome set_parm/get_parm. This is a
non-VFO specific version of levels.
* misc stuff added: ctcss, dcs, etc.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@409 7ae35d74-ebe9-4afe-98af-79ac388436b8
(work in progress), and priv field to help with generic backend inits.
* tuning_steps field is now shadowed in rig->state
* preamp and attenuator arrays in caps/state are now of type int
* started to code replacement for VFO and passband definitions
* misc changes
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@402 7ae35d74-ebe9-4afe-98af-79ac388436b8
* renamed KHz to kHz
* RIG_MODE_WFM is back, backends not updated yet
!!! API CHANGE !!!
* added new fields 'dcd_type', 'port_type' and 'get_dcd'
* caps has a new field: 'filters'. It holds the list of installed filters
as a table of modes/bandpass tuples. See hamlib-developer for discussion.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@390 7ae35d74-ebe9-4afe-98af-79ac388436b8
* RIG_LEVEL_ANN and RIG_LEVEL_ANT are no more. Welcome rig_set_ann/rig_get_ann,
and rig_set_ant/rig_get_ant (yet to be coded..)
* cosmetic changes
Significant caps update:
------------------------
* added copyright field, for author and copyright, eg "(c) 2001 Joe Bar, GPL"
* has_func and has_level have been renamed to has_set_func and has_get_level
Yes, the purpose was to squash this pit fall. Now we have has_get_func/
has_set_func and has_get_level/has_set_level. Make things more clear.
* added preamp[] and attenuator[] arrays, as discussed on hamlib-developer list
* added (almost useless) max_rit field to hold absolute max RIT
* added bank_qty and chan_desc_sz for memory name size
* removed rx_range_list/tx_range_list in favor of rx_range_list1/tx_range_list1
and rx_range_list2/tx_range_list2 for ITU region 1 and ITU region 2 resp.
Does anyone know if some rigs out there are for ITU region 3 ?
* added set_ann/get_ann and set_ant/get_ant caps
* modified get_func prototype that was not designed properly
* updated struct rig_state to shadow capabilities, in the case they
are customized
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@364 7ae35d74-ebe9-4afe-98af-79ac388436b8
This is a major change in the library interface, and the implementation
is not complete yet (especially in the backends), but the API should
be fine. Anyway, at this stage of developement, interface design
experimenting matters more than completeness.
* added new shortfreq_t type for frequencies on 31bits (up to 2GHz)
for use by offset/shifts/etc.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@285 7ae35d74-ebe9-4afe-98af-79ac388436b8
includes the passband, since most rigs tie these parameters together
quite often. For exemple, WFM is (RIG_MODE_FM,RIG_PASSBAND_WIDE) in Hamlib.
Another set of functions will be needed to fine tune aditional
frequency response/filters.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@280 7ae35d74-ebe9-4afe-98af-79ac388436b8
* made use of setting_t type in *_has_* functions
* removed set_volume, get_volume, set_squelch, get_squelch,
get_squelch_status, set_ant, get_ant, int et_att, get_att,
set_preamp, get_preamp, set_power, and get_power
in favor of set_level/get_level.
* set_func takes one more arg for the status (activate or desactivate)
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@233 7ae35d74-ebe9-4afe-98af-79ac388436b8
* Added rig_has_level/rig_has_set_level (cloned from their *_func cousins)
* Reworked the RIG_MODE_* defines. The filter information (narrow, normal, wide) has been splited for less complexity. Thus adding rig_[sg]et_passband.
* Reworked the vfo_t enum. Main is now an alias for VFO A, Sub for VFO B, Sat for VFO C. I'm almost sure it's a wrong assumption. Could someone tell if Main is or is not VFO A ?
* Coded in a Memory/VFO handling proposal. Access is done through mv_ctl. See mem_vfo_op_e for a list of available operations.
* Renamed [sg]et_tone to [sg]et_dcs and [sg]et_tonesq to [sg]et_ctcss.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@218 7ae35d74-ebe9-4afe-98af-79ac388436b8
* added [sg]et_split_freq to set split frequencies
* added [sg]et_split to activate split operation
* added get_squelch_status to get the open/close status of the squelch
* added [sg]et_trn to activate on the run the transceive mode (PCR1000 can do that)
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@207 7ae35d74-ebe9-4afe-98af-79ac388436b8