kopia lustrzana https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
commit
298a1be19a
2
INSTALL
2
INSTALL
|
@ -317,7 +317,7 @@ non-default --prefix is passed to 'configure', the 'lappend' line in tcltest.tcl
|
|||
script will need to be modified accordingly so the script can load the Hamlib
|
||||
package. As TCL doesn't seem to have a "standard" location for additional
|
||||
packages and since there seemed to be no common location among distributions,
|
||||
this path was chosen abitrarily. Any patches to improve installation path
|
||||
this path was chosen arbitrarily. Any patches to improve installation path
|
||||
discovery of local packages are welcome.
|
||||
|
||||
Lua binding will be installed into $(libdir)/lua/$(LUA_VERSION) (default).
|
||||
|
|
6
NEWS
6
NEWS
|
@ -62,7 +62,7 @@ Version 3.2
|
|||
* New Flrig backend, Mike, W9MDB
|
||||
* New model, IC-M710, Mike, W9MDB
|
||||
* Build instructions and test script for Python3
|
||||
* Rename autogen.sh to bootsrap and don't call configure
|
||||
* Rename autogen.sh to bootstrap and don't call configure
|
||||
* micro-ham support. Christoph, DL1YCF
|
||||
* New rotator, SPID MD-01/02 in ROT2 mode, Norvald Ryeng, LA6YKA
|
||||
* New model, Flex 6400/6600, Mike, W9MDB
|
||||
|
@ -378,13 +378,13 @@ Version 1.2.0
|
|||
- locator and dec/dms interface rework
|
||||
- bump library CURRENT version info
|
||||
* new backends: Lowe (HF-235), FlexRadio (SDR-1000),
|
||||
skelton TAPR (DSP-10), skelton RFT,
|
||||
skeleton TAPR (DSP-10), skeleton RFT,
|
||||
Ten-Tec models and many new models & fixes
|
||||
* new rotator backends: sartek
|
||||
* frontend: emulated transceive mode using polling
|
||||
* icom: implemented retry, esp. useful for CI-V
|
||||
* icom: pipelined tuning on Optoscan's
|
||||
* microtune: no need of root priviledges anymore
|
||||
* microtune: no need of root privileges anymore
|
||||
* bindings: added Python, new install method (perl is installed in $prefix)
|
||||
* rigmem: new command to load/store memory content from/to XML file
|
||||
* port: NetBSD & FreeBSD, mingw32(Windows) port, MacOSX ready
|
||||
|
|
2
PLAN
2
PLAN
|
@ -83,7 +83,7 @@ o available "set mode" items (ie. rig setup), and provide a way to modify them
|
|||
o DSP ?
|
||||
|
||||
o max memory channel
|
||||
o per rig timeout/retry (can be overriden)
|
||||
o per rig timeout/retry (can be overridden)
|
||||
o Write some memory channel handling (name, mode, freq/vfo, duplex, split, ..)
|
||||
|
||||
Any other ideas?
|
||||
|
|
|
@ -64,7 +64,7 @@ The advantage of the Git snapshot is that you won't need as many tools
|
|||
installed to build Hamlib as the work of the GNU Build System has already
|
||||
been done. Most of the other packages listed below will be needed. If you
|
||||
tell the 'configure' script to build certain parts of Hamlib like
|
||||
documentation or scripting language bindings the relavent optional packages
|
||||
documentation or scripting language bindings the relevant optional packages
|
||||
will be needed. See 'configure --help' for more information.
|
||||
|
||||
Here is a list of development packages needed for a complete build of the
|
||||
|
|
|
@ -181,7 +181,7 @@ the hamlib-developer mailing list. See section 8.3.
|
|||
One of the most powerful features of Git is its ability to make working with
|
||||
branches easy. It also allows the developers to "cherry pick" patches from
|
||||
the master development branch into stable release branches. In this manner
|
||||
we can accomodate patches submitted against a stable release and merge them
|
||||
we can accommodate patches submitted against a stable release and merge them
|
||||
into master as well. Such parallel development is a new feature for our
|
||||
project and there will be a learning curve!
|
||||
|
||||
|
@ -513,11 +513,11 @@ So far, Hamlib has been tested successfully under the following systems:
|
|||
Note: The '.' character is a Git wildcard that includes all new and
|
||||
modified files in your working tree.
|
||||
|
||||
The '-m' option may be ommitted, in which case Git will start
|
||||
The '-m' option may be omitted, in which case Git will start
|
||||
your default editor for a longer commit message. Commit
|
||||
messages generally have the form of a short subject line, then
|
||||
a blank line, and then as much text (broken into paragraphs as
|
||||
needed) as needed for a good decription of the commit.
|
||||
needed) as needed for a good description of the commit.
|
||||
|
||||
Assuming your working tree was cloned from the SF.net repository
|
||||
or N0NB's GitHub repository, you can now issue a pull request
|
||||
|
@ -722,7 +722,7 @@ the rules hereunder:
|
|||
* Touching the frontend (files in src/ and include/hamlib) always
|
||||
requires discussion beforehand on the hamlib-developer list.
|
||||
* Announce on the hamlib-developer list if you're about to do serious
|
||||
maintainance work
|
||||
maintenance work
|
||||
|
||||
Thanks for contributing and have fun!
|
||||
|
||||
|
|
|
@ -69,11 +69,11 @@ remote repository, "origin"):
|
|||
ABI_REVISION, and ABI_AGE are set in configure.ac. ABI_VERSION should be
|
||||
advanced when the ABI is affected by changes in the library interface.
|
||||
ABI_REVISION is the revision and indicates source changes in Hamlib but no
|
||||
change in ABI. ABI_AGE reflects backward compatibity to a previous version.
|
||||
change in ABI. ABI_AGE reflects backward compatibility to a previous version.
|
||||
Per the libtool manual, this value is subtracted from ABI_VERSION to note
|
||||
compatible prior versions. Per the libtool manual, so long as the library
|
||||
interface is added to and nothing is removed or changed, backward
|
||||
compatibity should exist. When the API is changed, ABI_VERSION will be
|
||||
compatibility should exist. When the API is changed, ABI_VERSION will be
|
||||
advanced, ABI_REVISION will be reset to 0, and ABI_AGE may be advanced
|
||||
pending API/ABI changes.
|
||||
|
||||
|
@ -113,7 +113,7 @@ See README.build-win32 for information on prerequisites, etc.
|
|||
|
||||
* Build Windows DLL with stdcall convention (script in progress):
|
||||
Ditto but with HAMLIB_API set to __stdcall in include/hamlib/rig_dll.h before re-compiling.
|
||||
Subsitute cdecl by stdcall in README.txt.
|
||||
Substitute cdecl by stdcall in README.txt.
|
||||
|
||||
|
||||
* Release the file(s)
|
||||
|
|
|
@ -157,7 +157,7 @@ hamlibtcl_la_DATA = pkgIndex.tcl
|
|||
# set by $(hamlibtcl_ladir)
|
||||
hamlibtcl_la_LTLIBRARIES = $(tcl_ltlib)
|
||||
|
||||
# Having the first occurance of 'hamlib' capitalized seemed to cause confusion
|
||||
# Having the first occurrence of 'hamlib' capitalized seemed to cause confusion
|
||||
# for the TCL interpreter loading the Hamlib module.
|
||||
pkgIndex.tcl: Makefile
|
||||
$(AM_V_at)echo 'package ifneeded hamlib $(PKG_VER) [list load [file join $$dir $(DLL)] Hamlib]' > pkgIndex.tcl
|
||||
|
|
|
@ -31,7 +31,7 @@ the main source directory. Adjust your paths accordingly. Adjust your
|
|||
--prefix option as needed (installation to the user's home directory is
|
||||
shown to avoid root privileges).
|
||||
|
||||
Asssuming that Python2 is the default installed Python interpreter, build
|
||||
Assuming that Python2 is the default installed Python interpreter, build
|
||||
its bindings first:
|
||||
|
||||
../hamlib/configure --with-python-binding --prefix=$HOME/local
|
||||
|
@ -154,7 +154,7 @@ paths separated by colons. In this case, if PYTHONPATH was already set the
|
|||
new path is prepended to its prior setting.
|
||||
|
||||
While setting the environment variable is good for a one-off run, a more
|
||||
permanent solution can be acheived by placing a file that ends in .pth in a
|
||||
permanent solution can be achieved by placing a file that ends in .pth in a
|
||||
directory that Python will process when starting. The special place is:
|
||||
|
||||
~/.local/lib64/python3.6/site-packages
|
||||
|
|
|
@ -307,7 +307,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
|
|||
[[struct{char a;int b;}s[8]={[3]={.b=5}};]])],
|
||||
[AC_MSG_RESULT(yes)],
|
||||
[AC_MSG_ERROR([""
|
||||
"You need a C99 compliant C compiler that supports struct/array intializers."
|
||||
"You need a C99 compliant C compiler that supports struct/array initializers."
|
||||
"Have you considered GCC lately?."])
|
||||
])
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Author Michael Black W9MDB
|
||||
# This SUPPRESS setting results in no warnings as of 2020-01-14
|
||||
# There are things that could still be done...especialy in the C++ area
|
||||
# There are things that could still be done...especially in the C++ area
|
||||
echo "See cppcheck.log when done"
|
||||
echo "There should be no errors or warnings"
|
||||
echo "This takes several hours to run"
|
||||
|
|
|
@ -12,7 +12,7 @@ make up the roff system.
|
|||
Documentation written in roff can be transformed into a number of formats for
|
||||
final publication. For the Hamlib project, the output formats are the classic
|
||||
man(1) format to a terminal screen, HTML, and PDF. While groff includes a
|
||||
number of macro pacakges suitable for a variety of document styles, Hamlib
|
||||
number of macro packages suitable for a variety of document styles, Hamlib
|
||||
source files are written using the man(7) macro package. The layout of Hamlib
|
||||
man pages generally follow the format specified in man-pages(7). The macros
|
||||
used in the man pages format is specified in groff_man(7).
|
||||
|
|
|
@ -313,7 +313,7 @@ below).
|
|||
.
|
||||
.TP
|
||||
.BR \-X ", " \-\-twiddle = \fIseconds\fP
|
||||
Enables timeout when VFO twiddling is detected. Some functons will be ignored.
|
||||
Enables timeout when VFO twiddling is detected. Some functions will be ignored.
|
||||
.IP
|
||||
Should only be needed when controlling software should be "paused"
|
||||
.B -v
|
||||
|
|
|
@ -548,7 +548,7 @@ static int netrigctl_open(RIG *rig)
|
|||
}
|
||||
else
|
||||
{
|
||||
// not an error -- just a warning for backward compatibily
|
||||
// not an error -- just a warning for backward compatibility
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: unknown setting='%s'\n", __func__, buf);
|
||||
}
|
||||
}
|
||||
|
@ -625,7 +625,7 @@ static int netrigctl_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
char cmd[CMD_MAX];
|
||||
char buf[BUF_MAX];
|
||||
char vfostr[6] = "";
|
||||
#if 0 // disable until we figure out if we can do this without breaking backwards compability
|
||||
#if 0 // disable until we figure out if we can do this without breaking backwards compatibility
|
||||
char vfotmp[16];
|
||||
#endif
|
||||
|
||||
|
@ -2231,7 +2231,7 @@ struct rig_caps netrigctl_caps =
|
|||
.timeout = 1000, /* enough for the worst rig we have */
|
||||
.retry = 5, /* 5 seconds total */
|
||||
|
||||
/* following fields updated in rig_state at openning time */
|
||||
/* following fields updated in rig_state at opening time */
|
||||
.has_get_func = RIG_FUNC_NONE,
|
||||
.has_set_func = RIG_FUNC_NONE,
|
||||
.has_get_level = RIG_LEVEL_NONE,
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
#define FLRIG_MODE_PKTFM 'E'
|
||||
#define FLRIG_MODE_PKTAM 'F'
|
||||
// Hamlib doesn't support D2/D3 modes in hamlib yet
|
||||
// So we define them here but they aren't implmented
|
||||
// So we define them here but they aren't implemented
|
||||
#define FLRIG_MODE_PKTLSB2 'G'
|
||||
#define FLRIG_MODE_PKTUSB2 'H'
|
||||
#define FLRIG_MODE_PKTFM2 'I'
|
||||
|
|
|
@ -220,7 +220,7 @@ static void *gnuradio_process(void *arg)
|
|||
|
||||
priv = (struct gnuradio_priv_data*)rig->state.priv;
|
||||
|
||||
/* the mutex lock is not to gurantee reentrancy of rig_debug,
|
||||
/* the mutex lock is not to guarantee reentrancy of rig_debug,
|
||||
* this is just to know when backend want us start running
|
||||
*/
|
||||
pthread_mutex_lock(&priv->mutex_process);
|
||||
|
|
|
@ -115,7 +115,7 @@ constructor TRotatorComponent.CreateRotator(AOwner: TComponent; AModel: rot_mode
|
|||
begin
|
||||
inherited Create(AOwner);
|
||||
|
||||
{* Initialize the library for the spesified model *}
|
||||
{* Initialize the library for the specified model *}
|
||||
FRot := rot_init(AModel);
|
||||
if (FRot = nil)
|
||||
then raise ERotatorException.Create('Rig initialization error');
|
||||
|
@ -291,7 +291,7 @@ constructor TRigComponent.CreateRig(AOwner: TComponent; AModel: integer);
|
|||
begin
|
||||
inherited Create(AOwner);
|
||||
|
||||
{* Initialize the library for the spesified model *}
|
||||
{* Initialize the library for the specified model *}
|
||||
FRig := rig_init(AModel);
|
||||
if (FRig = nil)
|
||||
then raise ERigException.Create('Rig initialization error');
|
||||
|
|
|
@ -25,7 +25,7 @@ const
|
|||
{*
|
||||
* Error codes that can be returned by the Hamlib functions
|
||||
*}
|
||||
RIG_OK = 0; {* completed sucessfully *}
|
||||
RIG_OK = 0; {* completed successfully *}
|
||||
RIG_EINVAL = 1; {* invalid parameter *}
|
||||
RIG_ECONF = 2; {* invalid configuration (serial,..) *}
|
||||
RIG_ENOMEM = 3; {* memory shortage *}
|
||||
|
@ -81,7 +81,7 @@ type
|
|||
* Basic rig type, can store some useful
|
||||
* info about different radios. Each lib must
|
||||
* be able to populate this structure, so we can make
|
||||
* useful enquiries about capablilities.
|
||||
* useful enquiries about capabilities.
|
||||
*}
|
||||
rig_port_e = (
|
||||
RIG_PORT_NONE = 0, {* as bizarre as it could be :) *}
|
||||
|
@ -663,7 +663,7 @@ type
|
|||
{* Basic rig type, can store some useful
|
||||
* info about different radios. Each lib must
|
||||
* be able to populate this structure, so we can make
|
||||
* useful enquiries about capablilities.
|
||||
* useful enquiries about capabilities.
|
||||
*}
|
||||
|
||||
{*
|
||||
|
|
|
@ -31,7 +31,7 @@ type
|
|||
rot_model_t = integer;
|
||||
rot_reset_t = integer;
|
||||
|
||||
PRot = ^TRot; // forward decleration
|
||||
PRot = ^TRot; // forward declaration
|
||||
|
||||
rot_caps = packed record
|
||||
rot_model : rot_model_t;
|
||||
|
|
|
@ -69,7 +69,7 @@ begin
|
|||
except
|
||||
on e: ERigException do
|
||||
begin
|
||||
ShowMessage('Error occured while using the rig: %s', [e.Message]);
|
||||
ShowMessage('Error occurred while using the rig: %s', [e.Message]);
|
||||
FRigComponent.CloseRig;
|
||||
FRigComponent.Free;
|
||||
end;
|
||||
|
@ -114,7 +114,7 @@ end;
|
|||
procedure TRadioForm.MagicCheckButtonClick(Sender: TObject);
|
||||
begin
|
||||
if FRigComponent.checkMagic
|
||||
then ShowMessage('Magic check succeded.')
|
||||
then ShowMessage('Magic check succeeded.')
|
||||
else ShowMessage('Magic check FAILED!!!');
|
||||
end;
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ enum amp_level_e
|
|||
|
||||
/* Basic amp type, can store some useful info about different amplifiers. Each
|
||||
* lib must be able to populate this structure, so we can make useful
|
||||
* enquiries about capablilities.
|
||||
* enquiries about capabilities.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
*
|
||||
* The dummy backend, as the name suggests, is a backend which performs
|
||||
* no hardware operations and always behaves as one would expect. It can
|
||||
* be thought of as a hardware simulator and is very usefull for testing
|
||||
* be thought of as a hardware simulator and is very useful for testing
|
||||
* client applications.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -533,7 +533,7 @@ typedef enum {
|
|||
* \brief PTT status
|
||||
*/
|
||||
typedef enum {
|
||||
RIG_PTT_OFF = 0, /*!< PTT desactivated */
|
||||
RIG_PTT_OFF = 0, /*!< PTT deactivated */
|
||||
RIG_PTT_ON, /*!< PTT activated */
|
||||
RIG_PTT_ON_MIC, /*!< PTT Mic only, fallbacks on RIG_PTT_ON if unavailable */
|
||||
RIG_PTT_ON_DATA /*!< PTT Data (Mic-muted), fallbacks on RIG_PTT_ON if unavailable */
|
||||
|
@ -1920,13 +1920,13 @@ struct rig_cache {
|
|||
int timeout_ms; // the cache timeout for invalidating itself
|
||||
vfo_t vfo;
|
||||
freq_t freq; // to be deprecated
|
||||
// othe abstraction here is based on dual vfo rigs and mapped to all others
|
||||
// other abstraction here is based on dual vfo rigs and mapped to all others
|
||||
// So we have four possible states of rig
|
||||
// MainA, MainB, SubA, SubB
|
||||
// Main is the Main VFO and Sub is for the 2nd VFO
|
||||
// Most rigs have MainA and MainB
|
||||
// Dual VFO rigs can have SubA and SubB too
|
||||
// For dual VFO rigs simplex opeations are all done on MainA/MainB -- ergo this abstraction
|
||||
// For dual VFO rigs simplex operations are all done on MainA/MainB -- ergo this abstraction
|
||||
freq_t freqMainA; // VFO_A, VFO_MAIN, and VFO_MAINA
|
||||
freq_t freqMainB; // VFO_B, VFO_SUB, and VFO_MAINB
|
||||
freq_t freqSubA; // VFO_SUBA
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
*
|
||||
* The dummy backend, as the name suggests, is a backend which performs no
|
||||
* hardware operations and always behaves as one would expect. It can be
|
||||
* thought of as a hardware simulator and is very usefull for testing client
|
||||
* thought of as a hardware simulator and is very useful for testing client
|
||||
* applications.
|
||||
*
|
||||
* It has also been expanded to provide support to "virtual" type of rigs
|
||||
|
@ -327,7 +327,7 @@
|
|||
|
||||
/*
|
||||
* Radio Shack
|
||||
* Actualy, they might be either Icom or Uniden. TBC --SF
|
||||
* Actually, they might be either Icom or Uniden. TBC --SF
|
||||
*/
|
||||
#define RIG_RADIOSHACK 7
|
||||
#define RIG_BACKEND_RADIOSHACK "radioshack"
|
||||
|
|
|
@ -186,7 +186,7 @@ typedef enum {
|
|||
* \def ROT_MOVE_CW
|
||||
* \brief A macro that returns the flag for the \b clockwise direction.
|
||||
*
|
||||
* This macro defines the value of the \b clockwise direction wich can be
|
||||
* This macro defines the value of the \b clockwise direction which can be
|
||||
* used with the rot_move() function. This value is equivalent to
|
||||
* ROT_MOVE_RIGHT .
|
||||
*
|
||||
|
@ -198,7 +198,7 @@ typedef enum {
|
|||
|
||||
/* Basic rot type, can store some useful info about different rotators. Each
|
||||
* lib must be able to populate this structure, so we can make useful
|
||||
* enquiries about capablilities.
|
||||
* enquiries about capabilities.
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
@ -66,7 +66,7 @@
|
|||
*
|
||||
* The dummy backend, as the name suggests, is a backend which performs
|
||||
* no hardware operations and always behaves as one would expect. It can
|
||||
* be thought of as a hardware simulator and is very usefull for testing
|
||||
* be thought of as a hardware simulator and is very useful for testing
|
||||
* client applications.
|
||||
*/
|
||||
/**
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
# appropriate Automake primary, e.g. lua_SCRIPS or luaexec_LIBRARIES.
|
||||
#
|
||||
# If an acceptable Lua interpreter is found, then ACTION-IF-FOUND is
|
||||
# performed, otherwise ACTION-IF-NOT-FOUND is preformed. If ACTION-IF-NOT-
|
||||
# performed, otherwise ACTION-IF-NOT-FOUND is performed. If ACTION-IF-NOT-
|
||||
# FOUND is blank, then it will default to printing an error. To prevent
|
||||
# the default behavior, give ':' as an action.
|
||||
#
|
||||
|
|
|
@ -567,7 +567,7 @@ static adat_cmd_list_t adat_cmd_list_recover_from_error =
|
|||
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// IMPLEMEMTATION
|
||||
// IMPLEMENTATION
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
|
|
@ -83,7 +83,7 @@
|
|||
#define CMD_RDATA "3H" /* Current Data read */
|
||||
#define CMD_RSPLT "3I" /* Split read */
|
||||
#define CMD_RPOWER "3J" /* Transmitter Output read */
|
||||
#define CMD_RSELECT "3K" /* SELECT Postion read */
|
||||
#define CMD_RSELECT "3K" /* SELECT Position read */
|
||||
|
||||
|
||||
#define DX77_ALL_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM)
|
||||
|
|
|
@ -154,19 +154,19 @@ static void setMemPtr(RIG *rig, int page, int address)
|
|||
{
|
||||
rxr_writeByte(rig, 0x50 + page); //Set Page
|
||||
|
||||
if (address <= 0xFF) //*** <= 8 Bit Adresse ***
|
||||
if (address <= 0xFF) //*** <= 8 Bit Address ***
|
||||
{
|
||||
rxr_writeByte(rig, 0x30 + (address >> 4)); //Set H-Register 4 Bits
|
||||
rxr_writeByte(rig, 0x40 + (address &
|
||||
0x0F)); //Set Adress(12 Bits = (4 Bit H Register) + 8 Bit)
|
||||
0x0F)); //Set Address(12 Bits = (4 Bit H Register) + 8 Bit)
|
||||
}
|
||||
else //*** > 8 Bit Adresse ***
|
||||
else //*** > 8 Bit Address ***
|
||||
{
|
||||
rxr_writeByte(rig, 0x30 + ((address >> 4) & 0x0F)) ;//Set H-Register 4 Bits
|
||||
rxr_writeByte(rig, 0x40 + (address &
|
||||
0x0F)); //Set Adress(12 Bits = (4 Bit H Register) + 8 Bit)
|
||||
0x0F)); //Set Address(12 Bits = (4 Bit H Register) + 8 Bit)
|
||||
rxr_writeByte(rig, 0x10 + (address >>
|
||||
8)); //Set Adress high(12 Bits=(4 Bit H Register)+8 Bit)
|
||||
8)); //Set Address high(12 Bits=(4 Bit H Register)+8 Bit)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -954,7 +954,7 @@ int bcd2Int(const unsigned char bcd)
|
|||
*
|
||||
* \param int Integer value (0-99)
|
||||
*
|
||||
* \return 2 digit BCD equvalent (0-99), 0xff on failure
|
||||
* \return 2 digit BCD equivalent (0-99), 0xff on failure
|
||||
*/
|
||||
unsigned char int2BCD(const unsigned int val)
|
||||
{
|
||||
|
@ -1042,7 +1042,7 @@ int getCalLevel(RIG *rig, unsigned char rawAgc, int *dbm)
|
|||
}
|
||||
else
|
||||
{
|
||||
step = 20; /* HACK - try and fix mimimum AGC readings */
|
||||
step = 20; /* HACK - try and fix minimum AGC readings */
|
||||
}
|
||||
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s: got step size %d\n", __func__, step);
|
||||
|
|
|
@ -429,7 +429,7 @@ int barrett_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s freq=%.0f\n", __func__,
|
||||
rig_strvfo(vfo), freq);
|
||||
|
||||
// If we are not explicity asking for VFO_B then we'll set the receive side also
|
||||
// If we are not explicitly asking for VFO_B then we'll set the receive side also
|
||||
if (vfo != RIG_VFO_B)
|
||||
{
|
||||
char *response = NULL;
|
||||
|
@ -765,7 +765,7 @@ int barrett_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
|
|||
}
|
||||
else
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: unable to parse STRENGHT from %s\n",
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: unable to parse STRENGTH from %s\n",
|
||||
__func__, response);
|
||||
return -RIG_EPROTO;
|
||||
}
|
||||
|
|
|
@ -722,7 +722,7 @@ int drake_get_chan(RIG *rig, channel_t *chan, int read_only)
|
|||
return RIG_OK;
|
||||
}
|
||||
|
||||
//now decypher it
|
||||
//now decipher it
|
||||
retval = drake_transaction(rig, "RA" EOM, 3, mdbuf, &mdbuf_len);
|
||||
|
||||
if (retval != RIG_OK)
|
||||
|
|
|
@ -121,7 +121,7 @@ const struct rig_caps r8a_caps =
|
|||
.max_xit = Hz(0),
|
||||
.max_ifshift = Hz(0),
|
||||
.targetable_vfo = 0,
|
||||
.transceive = RIG_TRN_OFF, /* TODO: acutally has RIG_TRN_RIG */
|
||||
.transceive = RIG_TRN_OFF, /* TODO: actually has RIG_TRN_RIG */
|
||||
.bank_qty = 0,
|
||||
.chan_desc_sz = 7,
|
||||
.vfo_ops = R8A_VFO_OPS,
|
||||
|
|
|
@ -121,7 +121,7 @@ const struct rig_caps r8b_caps =
|
|||
.max_xit = Hz(0),
|
||||
.max_ifshift = Hz(0),
|
||||
.targetable_vfo = 0,
|
||||
.transceive = RIG_TRN_OFF, /* TODO: acutally has RIG_TRN_RIG */
|
||||
.transceive = RIG_TRN_OFF, /* TODO: actually has RIG_TRN_RIG */
|
||||
.bank_qty = 0,
|
||||
.chan_desc_sz = 7,
|
||||
.vfo_ops = R8B_VFO_OPS,
|
||||
|
|
|
@ -160,7 +160,7 @@ const struct confparams elad_cfg_params[] =
|
|||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
* RIG_REJECTED - if a negative acknowledge was received or command not
|
||||
* recognized by rig.
|
||||
|
@ -431,7 +431,7 @@ transaction_quit:
|
|||
* expected Value of expected string length
|
||||
*
|
||||
* Returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EPROTO if returned string and expected are not equal
|
||||
* Error from elad_transaction() if any
|
||||
*
|
||||
|
|
|
@ -77,7 +77,7 @@ struct elad_priv_data {
|
|||
int k2_md_rtty; /* K2 RTTY mode available flag, 1 = RTTY, 0 = N/A */
|
||||
char *fw_rev; /* firmware revision level */
|
||||
int trn_state; /* AI state discovered at startup */
|
||||
unsigned fw_rev_uint; /* firmware revison as a number 1.07 -> 107 */
|
||||
unsigned fw_rev_uint; /* firmware revision as a number 1.07 -> 107 */
|
||||
char verify_cmd[4]; /* command used to verify set commands */
|
||||
int is_emulation; /* flag for TS-2000 emulations */
|
||||
void * data; /* model specific data */
|
||||
|
|
|
@ -192,7 +192,7 @@ const struct rig_caps dttsp_rig_caps =
|
|||
.transceive = RIG_TRN_OFF,
|
||||
.attenuator = { RIG_DBLST_END, },
|
||||
.preamp = { RIG_DBLST_END, },
|
||||
/* In fact, RX and TX ranges are dependant on the tuner */
|
||||
/* In fact, RX and TX ranges are dependent on the tuner */
|
||||
.rx_range_list1 = { {
|
||||
.startf = kHz(150), .endf = MHz(1500), .modes = DTTSP_MODES,
|
||||
.low_power = -1, .high_power = -1, DTTSP_VFO
|
||||
|
@ -276,7 +276,7 @@ const struct rig_caps dttsp_udp_rig_caps =
|
|||
.transceive = RIG_TRN_OFF,
|
||||
.attenuator = { RIG_DBLST_END, },
|
||||
.preamp = { RIG_DBLST_END, },
|
||||
/* In fact, RX and TX ranges are dependant on the tuner */
|
||||
/* In fact, RX and TX ranges are dependent on the tuner */
|
||||
.rx_range_list1 = { {
|
||||
.startf = kHz(150), .endf = MHz(1500), .modes = DTTSP_MODES,
|
||||
.low_power = -1, .high_power = -1, DTTSP_VFO
|
||||
|
|
|
@ -234,7 +234,7 @@ int icmarine_get_conf(RIG *rig, token_t token, char *val)
|
|||
* We assume that rig!=NULL, rig->state!= NULL, data!=NULL, data_len!=NULL
|
||||
*
|
||||
* cmd: mandatory
|
||||
* param: only 1 optional NMEA paramter, NULL for none (=query)
|
||||
* param: only 1 optional NMEA parameter, NULL for none (=query)
|
||||
* response: optional (holding BUFSZ bytes)
|
||||
*/
|
||||
int icmarine_transaction(RIG *rig, const char *cmd, const char *param,
|
||||
|
@ -258,7 +258,7 @@ int icmarine_transaction(RIG *rig, const char *cmd, const char *param,
|
|||
|
||||
rig_flush(&rs->rigport);
|
||||
|
||||
/* command formating */
|
||||
/* command formatting */
|
||||
cmd_len = snprintf(cmdbuf, BUFSZ, "$PICOA,%02d,%02u,%s",
|
||||
CONTROLLER_ID,
|
||||
priv->remote_id,
|
||||
|
|
|
@ -149,7 +149,7 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd,
|
|||
* read what we just sent, because TX and RX are looped,
|
||||
* and discard it...
|
||||
* - if what we read is not what we sent, then it means
|
||||
* a collision on the CI-V bus occured!
|
||||
* a collision on the CI-V bus occurred!
|
||||
* - if we get a timeout, then retry to send the frame,
|
||||
* up to rs->retry times.
|
||||
*/
|
||||
|
@ -158,7 +158,7 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd,
|
|||
|
||||
if (retval == -RIG_ETIMEOUT || retval == 0)
|
||||
{
|
||||
/* Nothing recieved, CI-V interface is not echoing */
|
||||
/* Nothing received, CI-V interface is not echoing */
|
||||
// cppcheck-suppress *
|
||||
Unhold_Decode(rig);
|
||||
return -RIG_BUSERROR;
|
||||
|
@ -230,7 +230,7 @@ int icom_one_transaction(RIG *rig, int cmd, int subcmd,
|
|||
|
||||
/*
|
||||
* wait for ACK ...
|
||||
* FIXME: handle pading/collisions
|
||||
* FIXME: handle padding/collisions
|
||||
* ACKFRMLEN is the smallest frame we can expect from the rig
|
||||
*/
|
||||
buf[0] = 0;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
* IC-271 A/E
|
||||
* IC-271 H is high power (75W)
|
||||
*
|
||||
* Independant transmit/receive
|
||||
* Independent transmit/receive
|
||||
*
|
||||
* specs: http://www.qsl.net/sm7vhs/radio/icom/Ic271/specs.htm
|
||||
*
|
||||
|
|
|
@ -177,11 +177,11 @@ const struct rig_caps ic703_caps =
|
|||
},
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY | RIG_MODE_CWR | RIG_MODE_RTTYR, kHz(2.4)}, /* bultin FL-272 */
|
||||
{RIG_MODE_AM, kHz(9)}, /* mid w/ bultin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ bultin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ bultin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(9)}, /* narrow w/ bultin FL-94 */
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY | RIG_MODE_CWR | RIG_MODE_RTTYR, kHz(2.4)}, /* builtin FL-272 */
|
||||
{RIG_MODE_AM, kHz(9)}, /* mid w/ builtin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ builtin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ builtin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(9)}, /* narrow w/ builtin FL-94 */
|
||||
RIG_FLT_END,
|
||||
},
|
||||
.str_cal = IC703_STR_CAL,
|
||||
|
|
|
@ -238,11 +238,11 @@ const struct rig_caps ic706_caps =
|
|||
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* bultin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ bultin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ bultin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ bultin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ bultin FL-94 */
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* builtin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ builtin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ builtin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ builtin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ builtin FL-94 */
|
||||
{RIG_MODE_WFM, kHz(230)}, /* WideFM, filter FL?? */
|
||||
RIG_FLT_END,
|
||||
},
|
||||
|
@ -379,11 +379,11 @@ const struct rig_caps ic706mkii_caps =
|
|||
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* bultin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ bultin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ bultin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ bultin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ bultin FL-94 */
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* builtin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ builtin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ builtin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ builtin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ builtin FL-94 */
|
||||
{RIG_MODE_WFM, kHz(230)}, /* WideFM, filter FL?? */
|
||||
RIG_FLT_END,
|
||||
},
|
||||
|
@ -565,11 +565,11 @@ const struct rig_caps ic706mkiig_caps =
|
|||
},
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* bultin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ bultin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ bultin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ bultin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ bultin FL-94 */
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* builtin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ builtin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ builtin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ builtin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ builtin FL-94 */
|
||||
{RIG_MODE_WFM, kHz(230)}, /* WideFM, filter FL?? */
|
||||
RIG_FLT_END,
|
||||
},
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Hamlib CI-V backend - description of IC-9100 (HF/VHF/UHF All-Mode Tranceiver)
|
||||
* Hamlib CI-V backend - description of IC-9100 (HF/VHF/UHF All-Mode Transceiver)
|
||||
* Copyright (c) 2000-2011 by Stephane Fillod
|
||||
*
|
||||
*
|
||||
|
|
|
@ -160,13 +160,13 @@ const struct rig_caps ic718_caps =
|
|||
},
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.1)}, /* bultin */
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.1)}, /* builtin */
|
||||
{RIG_MODE_CW | RIG_MODE_RTTY, Hz(500)}, /* FL-52A */
|
||||
{RIG_MODE_CW | RIG_MODE_RTTY, Hz(250)}, /* FL-53A */
|
||||
{RIG_MODE_SSB, kHz(2.8)}, /* FL-96 */
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_CWR | RIG_MODE_RTTY | RIG_MODE_RTTYR, kHz(1.8)}, /* FL-222 */
|
||||
{RIG_MODE_AM, kHz(6)}, /* mid w/ bultin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ bultin FL-272 */
|
||||
{RIG_MODE_AM, kHz(6)}, /* mid w/ builtin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ builtin FL-272 */
|
||||
RIG_FLT_END,
|
||||
},
|
||||
|
||||
|
|
|
@ -513,7 +513,7 @@ const struct rig_caps ic746pro_caps =
|
|||
{RIG_MODE_FM, kHz(15)},
|
||||
{RIG_MODE_FM, kHz(7)},
|
||||
|
||||
/* There are 5 rtty filters when rtty filter mode is set (default condition) { 1k, 500, 350, 300, 250 }. These are fixed. If rtty filter mode is unset there are 3 general IF filters { 2.4k, 500, 250 are the defaults }. These can be changed. There is a "twin-peak" filter mode as well. It boosts the 2125 and 2295 recieve frequency reponse. The S_FUNC_RF (rtty filter) turns the rtty filter mode on and off. */
|
||||
/* There are 5 rtty filters when rtty filter mode is set (default condition) { 1k, 500, 350, 300, 250 }. These are fixed. If rtty filter mode is unset there are 3 general IF filters { 2.4k, 500, 250 are the defaults }. These can be changed. There is a "twin-peak" filter mode as well. It boosts the 2125 and 2295 receive frequency response. The S_FUNC_RF (rtty filter) turns the rtty filter mode on and off. */
|
||||
|
||||
{RIG_MODE_CW | RIG_MODE_CWR | RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(500)}, /* RTTY & "normal" IF Filters */
|
||||
{RIG_MODE_CW | RIG_MODE_CWR | RIG_MODE_RTTY | RIG_MODE_RTTYR, Hz(250)}, /* RTTY & "narrow" IF Filters */
|
||||
|
|
|
@ -155,11 +155,11 @@ const struct rig_caps ic775_caps =
|
|||
},
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* bultin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ bultin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ bultin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ bultin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ bultin FL-94 */
|
||||
{RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.4)}, /* builtin FL-272 */
|
||||
{RIG_MODE_AM, kHz(8)}, /* mid w/ builtin FL-94 */
|
||||
{RIG_MODE_AM, kHz(2.4)}, /* narrow w/ builtin FL-272 */
|
||||
{RIG_MODE_FM, kHz(15)}, /* ?? TBC, mid w/ builtin FL-23+SFPC455E */
|
||||
{RIG_MODE_FM, kHz(8)}, /* narrow w/ builtin FL-94 */
|
||||
RIG_FLT_END,
|
||||
},
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Hamlib CI-V backend - description of IC-820H (VHF/UHF All-Mode Tranceiver)
|
||||
* Hamlib CI-V backend - description of IC-820H (VHF/UHF All-Mode Transceiver)
|
||||
* Contributed by Francois Retief <fgretief@sun.ac.za>
|
||||
* Copyright (c) 2000-2010 by Stephane Fillod
|
||||
*
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Hamlib CI-V backend - description of IC-821H (VHF/UHF All-Mode Tranceiver)
|
||||
* Hamlib CI-V backend - description of IC-821H (VHF/UHF All-Mode Transceiver)
|
||||
* Contributed by Francois Retief <fgretief@sun.ac.za>
|
||||
* Copyright (c) 2000-2010 by Stephane Fillod
|
||||
*
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Hamlib CI-V backend - description of IC-9100 (HF/VHF/UHF All-Mode Tranceiver)
|
||||
* Hamlib CI-V backend - description of IC-9100 (HF/VHF/UHF All-Mode Transceiver)
|
||||
* Copyright (c) 2000-2011 by Stephane Fillod
|
||||
*
|
||||
*
|
||||
|
|
|
@ -1578,7 +1578,7 @@ int icom_set_mode_with_data(RIG *rig, vfo_t vfo, rmode_t mode,
|
|||
switch (mode)
|
||||
{
|
||||
case RIG_MODE_PKTUSB:
|
||||
// xFE xFE x6E xE0 x1A x06 x01 xFD switchs mod input from MIC to ACC
|
||||
// xFE xFE x6E xE0 x1A x06 x01 xFD switches mod input from MIC to ACC
|
||||
// This apparently works for IC-756ProIII but nobody has asked for it yet
|
||||
icom_mode = RIG_MODE_USB;
|
||||
break;
|
||||
|
@ -4716,7 +4716,7 @@ int icom_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
|
|||
vfo = rig->state.current_vfo;
|
||||
}
|
||||
|
||||
// This should automaticaly switch between satmode on/off based on the requested split vfo
|
||||
// This should automatically switch between satmode on/off based on the requested split vfo
|
||||
if (rig->caps->has_get_func & RIG_FUNC_SATMODE)
|
||||
{
|
||||
if ((tx_vfo == RIG_VFO_SUB || tx_vfo == RIG_VFO_MAIN)
|
||||
|
@ -6406,7 +6406,7 @@ int icom_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
|
|||
/*
|
||||
* icom_get_ant
|
||||
* Assumes rig!=NULL, rig->state.priv!=NULL
|
||||
* only meaningfull for HF
|
||||
* only meaningful for HF
|
||||
*/
|
||||
int icom_get_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t *option,
|
||||
ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx)
|
||||
|
@ -7272,7 +7272,7 @@ DECLARE_PROBERIG_BACKEND(icom)
|
|||
|
||||
/*
|
||||
* try all possible addresses on the CI-V bus
|
||||
* FIXME: actualy, old rigs do not support C_RD_TRXID cmd!
|
||||
* FIXME: actually, old rigs do not support C_RD_TRXID cmd!
|
||||
* Try to be smart, and deduce model depending
|
||||
* on freq range, return address, and
|
||||
* available commands.
|
||||
|
|
|
@ -526,7 +526,7 @@
|
|||
/*
|
||||
* Tokens for Extra Level and Parameters common to multiple rigs. Use token # > 99. Defined here so they
|
||||
* will be available in ICOM name space. They have different internal commands primarily in dsp rigs. These
|
||||
* tokens are used ext_lvl and ext_parm funtions in the individual rig files.
|
||||
* tokens are used ext_lvl and ext_parm functions in the individual rig files.
|
||||
* Extra parameters which are rig specific should be coded in the individual rig files and token #s < 100.
|
||||
*/
|
||||
|
||||
|
|
|
@ -309,7 +309,7 @@ static int r7000_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
|
|||
long long f = (long long)freq;
|
||||
|
||||
/*
|
||||
* The R7000 cannot set freqencies higher than 1GHz,
|
||||
* The R7000 cannot set frequencies higher than 1GHz,
|
||||
* this is done by flipping a switch on the front panel and
|
||||
* stripping the most significant digit.
|
||||
* This is the only change with the common icom_set_freq
|
||||
|
|
|
@ -788,7 +788,7 @@ static int optoscan_send_freq(RIG *rig, pltstate_t *state)
|
|||
/* read echo'd chars only...there will be no ACK from this command
|
||||
*
|
||||
* Note:
|
||||
* It may have waited fro pltstate->usleep_time before reading the echo'd
|
||||
* It may have waited for pltstate->usleep_time before reading the echo'd
|
||||
* chars, but the read will be blocking anyway. --SF
|
||||
* */
|
||||
return icom_transaction(rig, C_CTL_MISC, S_OPTO_NXT, buff, 6, NULL, NULL);
|
||||
|
|
|
@ -1358,7 +1358,7 @@ int jrc_set_mem(RIG *rig, vfo_t vfo, int ch)
|
|||
|
||||
cmd_len = sprintf(cmdbuf, "C%03d" EOM, ch);
|
||||
|
||||
/* don't care about the Automatic reponse from receiver */
|
||||
/* don't care about the Automatic response from receiver */
|
||||
|
||||
return jrc_transaction(rig, cmdbuf, cmd_len, membuf, &mem_len);
|
||||
}
|
||||
|
|
|
@ -25,7 +25,7 @@ File change summary: (Hopefully, I'll keep this updated...)
|
|||
|
||||
Makefile.am Added ts2k.c, ts2k.h
|
||||
ts2k.status current status in the form of rigctl help
|
||||
Takes alot of time. May or may not be kept
|
||||
Takes a lot of time. May or may not be kept
|
||||
up to date. Anybody write an expect script?
|
||||
ts2k.c New
|
||||
ts2k_menu.c (not implemented; work to allow menus to set the
|
||||
|
@ -36,7 +36,7 @@ File change summary: (Hopefully, I'll keep this updated...)
|
|||
(Currently every menu item number and text is entered
|
||||
but the menu default is not set. For example, grig
|
||||
can't be expected to know every rig's menu's. in work!)
|
||||
It just occured to me that it would be very nice to
|
||||
It just occurred to me that it would be very nice to
|
||||
have a default hamlib menu. If a rig don't have any
|
||||
or no menu functions yet, the levels and other items
|
||||
can be presented as a default menu.
|
||||
|
|
|
@ -121,7 +121,7 @@ transaction:
|
|||
|
||||
if (strncmp("ID", buffer, 2))
|
||||
{
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: expected ID reponse and got %s\n", __func__,
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: expected ID response and got %s\n", __func__,
|
||||
buffer);
|
||||
return retval;
|
||||
}
|
||||
|
@ -147,7 +147,7 @@ transaction:
|
|||
}
|
||||
|
||||
/*
|
||||
* Get the anwser of IF command, with retry handling
|
||||
* Get the answer of IF command, with retry handling
|
||||
*/
|
||||
static int get_ic10_if(RIG *rig, char *data)
|
||||
{
|
||||
|
|
|
@ -221,7 +221,7 @@ const struct confparams kenwood_cfg_params[] =
|
|||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
* RIG_REJECTED - if a negative acknowledge was received or command not
|
||||
* recognized by rig.
|
||||
|
@ -566,7 +566,7 @@ transaction_quit:
|
|||
* expected Value of expected string length
|
||||
*
|
||||
* Returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EPROTO if returned string and expected are not equal
|
||||
* Error from kenwood_transaction() if any
|
||||
*
|
||||
|
|
|
@ -116,7 +116,7 @@ struct kenwood_priv_data
|
|||
int k2_md_rtty; /* K2 RTTY mode available flag, 1 = RTTY, 0 = N/A */
|
||||
char *fw_rev; /* firmware revision level */
|
||||
int trn_state; /* AI state discovered at startup */
|
||||
unsigned fw_rev_uint; /* firmware revison as a number 1.07 -> 107 */
|
||||
unsigned fw_rev_uint; /* firmware revision as a number 1.07 -> 107 */
|
||||
char verify_cmd[4]; /* command used to verify set commands */
|
||||
int is_emulation; /* flag for TS-2000 emulations */
|
||||
void *data; /* model specific data */
|
||||
|
|
|
@ -388,7 +388,7 @@ int pihspdr_get_channel(RIG *rig, channel_t *chan, int read_only)
|
|||
|
||||
/* Memory group no */
|
||||
chan->scan_group = buf[ 40 ] - '0';
|
||||
/* Fileds 38-39 contain tuning step as a number 00 - 09.
|
||||
/* Fields 38-39 contain tuning step as a number 00 - 09.
|
||||
Tuning step depends on this number and the mode,
|
||||
just save it for now */
|
||||
buf[ 40 ] = '\0';
|
||||
|
@ -633,7 +633,7 @@ int pihspdr_set_channel(RIG *rig, const channel_t *chan)
|
|||
}
|
||||
else
|
||||
{
|
||||
tone = -1; /* -1 because we will add 1 when outputing; this is necessary as CTCSS codes are numbered from 1 */
|
||||
tone = -1; /* -1 because we will add 1 when outputting; this is necessary as CTCSS codes are numbered from 1 */
|
||||
}
|
||||
|
||||
/* find CTCSS code */
|
||||
|
|
|
@ -1418,7 +1418,7 @@ th_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
|
|||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
i += (i == 0) ? 1 : 2; /* Correct for TH-D7A index anomally */
|
||||
i += (i == 0) ? 1 : 2; /* Correct for TH-D7A index anomaly */
|
||||
snprintf(tonebuf, sizeof tonebuf, "TN %02d", i);
|
||||
return kenwood_transaction(rig, tonebuf, tonebuf, sizeof tonebuf);
|
||||
}
|
||||
|
@ -1496,7 +1496,7 @@ th_set_ctcss_sql(RIG *rig, vfo_t vfo, tone_t tone)
|
|||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
i += (i == 0) ? 1 : 2; /* Correct for TH-D7A index anomally */
|
||||
i += (i == 0) ? 1 : 2; /* Correct for TH-D7A index anomaly */
|
||||
snprintf(tonebuf, sizeof tonebuf, "CTN %02d", i);
|
||||
return kenwood_transaction(rig, tonebuf, tonebuf, sizeof tonebuf);
|
||||
}
|
||||
|
|
|
@ -1108,7 +1108,7 @@ static int thd74_set_parm(RIG *rig, setting_t parm, value_t val)
|
|||
|
||||
switch (parm)
|
||||
{
|
||||
case RIG_PARM_TIME: // FIXME check val, send formated via RT
|
||||
case RIG_PARM_TIME: // FIXME check val, send formatted via RT
|
||||
default:
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
|
|
@ -415,7 +415,7 @@ int ts2000_get_channel(RIG *rig, channel_t *chan, int read_only)
|
|||
|
||||
/* Memory group no */
|
||||
chan->scan_group = buf[ 40 ] - '0';
|
||||
/* Fileds 38-39 contain tuning step as a number 00 - 09.
|
||||
/* Fields 38-39 contain tuning step as a number 00 - 09.
|
||||
Tuning step depends on this number and the mode,
|
||||
just save it for now */
|
||||
buf[ 40 ] = '\0';
|
||||
|
@ -665,7 +665,7 @@ int ts2000_set_channel(RIG *rig, const channel_t *chan)
|
|||
}
|
||||
else
|
||||
{
|
||||
tone = -1; /* -1 because we will add 1 when outputing; this is necessary as CTCSS codes are numbered from 1 */
|
||||
tone = -1; /* -1 because we will add 1 when outputting; this is necessary as CTCSS codes are numbered from 1 */
|
||||
}
|
||||
|
||||
/* find CTCSS code */
|
||||
|
|
|
@ -3,7 +3,7 @@ Version: June 6, 2002
|
|||
|
||||
This document provides some data on translating commands from the
|
||||
TS-2000 to/from hamlib. It shows the sequence that should be used
|
||||
to acheive a particular function result. Sometimes a particular
|
||||
to achieve a particular function result. Sometimes a particular
|
||||
sequence should be called.
|
||||
--D. Edmons, kd7eni
|
||||
|
||||
|
@ -52,7 +52,7 @@ rig_init() "id;" ts2000_init()
|
|||
"?;" If this occurs, one of the above may be the cause. Also,
|
||||
the user may have a menu currently selected using the
|
||||
rig front panel. I currently don't know any way to get
|
||||
this info from the rig. I highly reccomend that a
|
||||
this info from the rig. I highly recommend that a
|
||||
message be sent to the user if "?;" occurs on more than
|
||||
one retry, that he/she must deselect this manually.
|
||||
There is no other way. (I've enabled "ai2;" and no
|
||||
|
@ -67,13 +67,13 @@ rig_cleanup() none
|
|||
|
||||
rig_get_freq() Independent of PTT/CTRL
|
||||
rig_set_freq() "fa...;", "fb...;" main receiver only
|
||||
"fc...;" sub reciever only
|
||||
"fc...;" sub receiver only
|
||||
|
||||
rig_get_mode()
|
||||
rig_set_mode() "if...;" CTRL receiver only
|
||||
Reads multiple paramaters at once.
|
||||
Reads multiple parameters at once.
|
||||
"oi...;" !CTRL receiver only
|
||||
Reads multiple paramaters at once.
|
||||
Reads multiple parameters at once.
|
||||
"md...;" Changes the operating mod of the current
|
||||
receiver (main or sub)
|
||||
ts2000_sub_pwr()
|
||||
|
@ -92,7 +92,7 @@ rig_set_vfo() "fr...;", "ft...;" These can force split mode if not driven
|
|||
These should be set in rig_set_vfo()
|
||||
unless split frequency is being changed.
|
||||
*Sub* only
|
||||
Both "ft...;" and "fr...;" alway match
|
||||
Both "ft...;" and "fr...;" always match
|
||||
and split not available. Setting vfo_b
|
||||
is not an error but reads back as vfo_a
|
||||
which would be an error.
|
||||
|
@ -151,7 +151,7 @@ rig_set_xit()
|
|||
"dc;" to determine which transceiver
|
||||
has CTRL selected at any given moment!
|
||||
|
||||
Proceedure: As far as I can tell, do as follows:
|
||||
Procedure: As far as I can tell, do as follows:
|
||||
1) turn on xit or rit
|
||||
"rt1;" or "xt;"
|
||||
2) read current offset ("if;")
|
||||
|
@ -246,14 +246,14 @@ rig_mv_ctl() "fa...;", "fb...;", "fc...;" vfo freq
|
|||
rig_set_bank() none (only 300 memories)
|
||||
|
||||
Note: There is a related function: "pm...;". There are five
|
||||
of these "programable memories". The manual barely even
|
||||
of these "programmable memories". The manual barely even
|
||||
mentions it. I don't know of any way to access these
|
||||
other than with the "pm...;" As far as I have been able
|
||||
to determine, the menu A/B settings etc get saved but
|
||||
*not* the channel memories! These may be related or
|
||||
similar to the five or ten satellite memories etc??
|
||||
|
||||
To set the programable memory use "pi...;" and use
|
||||
To set the programmable memory use "pi...;" and use
|
||||
"pm...;" to recall it. Values are 0-5. "pi0;" is
|
||||
not valid, but "pm0;" is.
|
||||
|
||||
|
@ -306,7 +306,7 @@ End of functions documented in hamlib-1.1.0.pdf.
|
|||
1) TNC on sub
|
||||
2) sub freq set to station sending packet clusters
|
||||
3) "cm1;" sent to rig
|
||||
Sending "pk;" to the receiver retreives the PCT data. If you
|
||||
Sending "pk;" to the receiver retrieves the PCT data. If you
|
||||
send the ";" again, the rig sends the data again. Up to 10
|
||||
are saved in temporary memory pushing out the oldest. But,
|
||||
true to form, there is a bug. When PCT is active "qr...;"
|
||||
|
@ -321,7 +321,7 @@ End of functions documented in hamlib-1.1.0.pdf.
|
|||
Kenwood isn't telling us!
|
||||
|
||||
TNC summary:
|
||||
"pk...;" retreive last PCT data
|
||||
"pk...;" retrieve last PCT data
|
||||
"cm...;" enable/disable PCT
|
||||
"tc ..;" (note space) TNC ext/int (sortof)
|
||||
"ex055...;" enable (*cannot* disable) TNC
|
||||
|
|
|
@ -550,7 +550,7 @@ int elektor507_ftdi_write_data(RIG *rig, void *FTOutBuf,
|
|||
* This kit is a QSD based on a CY27EE16ZE PLL.
|
||||
* The receiver is controlled via USB (through FTDI FT232R).
|
||||
*
|
||||
* Original artical:
|
||||
* Original article:
|
||||
* http://www.elektor.com/magazines/2007/may/software-defined-radio.91527.lynkx
|
||||
*
|
||||
* Author (Burkhard Kainka) page, in german:
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
/*
|
||||
*
|
||||
* For informations about the controls see
|
||||
* For information about the controls see
|
||||
* https://sites.google.com/site/rshfiqtransceiver/home/technical-data/interface-commands
|
||||
*
|
||||
*/
|
||||
|
|
|
@ -968,7 +968,7 @@ static int setBPF(RIG *rig, int enable)
|
|||
unsigned short FilterCrossOver[16];
|
||||
int nBytes;
|
||||
|
||||
// Does FilterCrossOver needs endianess ordering ?
|
||||
// Does FilterCrossOver needs endianness ordering ?
|
||||
|
||||
// first find out how may cross over points there are for the 1st bank, use 255 for index
|
||||
nBytes = libusb_control_transfer(udh, REQUEST_TYPE_IN,
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
/*
|
||||
* Looks like the GP2000 could be reused in other rigs so
|
||||
* we implmenet that and then the XK2100 uses this interface
|
||||
* we implement that and then the XK2100 uses this interface
|
||||
*/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include "config.h"
|
||||
|
@ -345,7 +345,7 @@ gp2000_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
|
|||
return retval;
|
||||
}
|
||||
|
||||
// we expecte LF+"X" where X is the status
|
||||
// we expected LF+"X" where X is the status
|
||||
*status = buf[2] == 1 ? 1 : 0;
|
||||
|
||||
return retval;
|
||||
|
|
|
@ -1103,7 +1103,7 @@ int tt538_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
|
|||
* |__|__|__| (a 3 bit value, 0 - 7 indicating NB "strength"
|
||||
* 4 2 1
|
||||
*
|
||||
* Apparently the "ON" / "OFF" state ot the NB is NOT available for reading. This
|
||||
* Apparently the "ON" / "OFF" state of the NB is NOT available for reading. This
|
||||
* state is visible in the Jupiter's menu. Hamlib does not support a "level" for
|
||||
* NB. We only recognize zero (off) or non-zero (on) for this function on read.
|
||||
*/
|
||||
|
|
|
@ -271,7 +271,7 @@ static int tt588_transaction(RIG *rig, const char *cmd, int cmd_len, char *data,
|
|||
rig_flush(&rs->rigport);
|
||||
|
||||
// We add 1 to data_len here for the null byte inserted by read_string eventually
|
||||
// That way all the callers can use the expected response length for the cmd_len paramter here
|
||||
// That way all the callers can use the expected response length for the cmd_len parameter here
|
||||
// Callers all need to ensure they have enough room in data for this
|
||||
retval = write_block(&rs->rigport, cmd, cmd_len);
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ static int tt565_transaction(RIG *rig, const char *cmd, int cmd_len, char *data,
|
|||
}
|
||||
else // Yes, it was a 'read', phew!
|
||||
{
|
||||
if (!strncmp(data + 1, cmd + 1, cmd_len - 2)) //reponse matches cmd?
|
||||
if (!strncmp(data + 1, cmd + 1, cmd_len - 2)) //response matches cmd?
|
||||
{
|
||||
return RIG_OK; // all is well, normal exit
|
||||
}
|
||||
|
|
|
@ -584,7 +584,7 @@ int tt585_get_status_data(RIG *rig)
|
|||
|
||||
rig_flush(rigport);
|
||||
|
||||
/* send STATUS comand to fetch data*/
|
||||
/* send STATUS command to fetch data*/
|
||||
|
||||
ret = write_block(rigport, "\\", 1);
|
||||
|
||||
|
@ -622,7 +622,7 @@ int tt585_set_parm(RIG *rig, setting_t parm, value_t val)
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* exact addional delay TBC */
|
||||
/* exact additional delay TBC */
|
||||
sleep(1);
|
||||
return RIG_OK;
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
* http://www.rfsquared.com/
|
||||
*
|
||||
* Only set_freq is supposed to work.
|
||||
* This is a skelton.
|
||||
* This is a skeleton.
|
||||
*/
|
||||
const struct rig_caps rx350_caps =
|
||||
{
|
||||
|
|
|
@ -1417,7 +1417,7 @@ tt550_get_ptt(RIG *rig, vfo_t vfo, ptt_t *ptt)
|
|||
}
|
||||
|
||||
/*
|
||||
* buf should contain either Sxx for Receive Signal strenth
|
||||
* buf should contain either Sxx for Receive Signal strength
|
||||
* or Txx for Transmit power/reflected power
|
||||
*/
|
||||
|
||||
|
|
|
@ -217,7 +217,7 @@ struct video_info
|
|||
{
|
||||
uint32_t frame_count; /* frames output since decode/encode began */
|
||||
uint32_t h_size; /* current unscaled horizontal size */
|
||||
uint32_t v_size; /* current unscaled veritcal size */
|
||||
uint32_t v_size; /* current unscaled vertical size */
|
||||
uint32_t smpte_timecode; /* current SMPTE timecode (for current GOP) */
|
||||
uint32_t picture_type; /* current picture type */
|
||||
uint32_t temporal_reference; /* current temporal reference */
|
||||
|
|
|
@ -483,7 +483,7 @@ struct v4l2_jpegcompression {
|
|||
__u32 jpeg_markers; /* Which markers should go into the JPEG
|
||||
* output. Unless you exactly know what
|
||||
* you do, leave them untouched.
|
||||
* Inluding less markers will make the
|
||||
* Including less markers will make the
|
||||
* resulting code smaller, but there will
|
||||
* be fewer applications which can read it.
|
||||
* The presence of the APP and COM marker
|
||||
|
@ -495,7 +495,7 @@ struct v4l2_jpegcompression {
|
|||
#define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */
|
||||
#define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */
|
||||
#define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will
|
||||
* allways use APP0 */
|
||||
* always use APP0 */
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
|
@ -110,8 +110,8 @@ const tone_t uniden_dcs_list[] =
|
|||
* out: location where to store number of bytes read.
|
||||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
* RIG_REJECTED - if a negative acknowledge was received or command not
|
||||
* recognized by rig.
|
||||
|
|
|
@ -68,7 +68,7 @@ uniden_id_string_list[] =
|
|||
};
|
||||
#endif
|
||||
|
||||
/* EOM is not consistant with this BCD996T!
|
||||
/* EOM is not consistent with this BCD996T!
|
||||
* Some commands return newline while others carriage return.
|
||||
* Some commands return nothing special for End of Line char. */
|
||||
#define EOM "\r" /* end of message */
|
||||
|
@ -92,8 +92,8 @@ uniden_id_string_list[] =
|
|||
* out: location where to store number of bytes read.
|
||||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
* RIG_REJECTED - if a negative acknowledge was received or command not
|
||||
* recognized by rig.
|
||||
|
@ -156,7 +156,7 @@ transaction_write:
|
|||
|
||||
/* Check that command termination is correct
|
||||
* FIXME: Sometimes the BCD996T DOES NOT return a
|
||||
* consistant carriage return or newline.
|
||||
* consistent carriage return or newline.
|
||||
* ie: STS command will not return either "\r" or "\n"! */
|
||||
/*if (strchr(EOM, data[strlen(data)-1])==NULL) {
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: Command is not correctly terminated '%s'\n", __func__, data);
|
||||
|
|
|
@ -820,7 +820,7 @@ int ft1000mp_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
rig_debug(RIG_DEBUG_TRACE, "ft1000mp: freq = %"PRIfreq" Hz for VFO [%x]\n", f,
|
||||
vfo);
|
||||
|
||||
*freq = f; /* return diplayed frequency */
|
||||
*freq = f; /* return displayed frequency */
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
@ -1244,7 +1244,7 @@ int ft1000mp_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit)
|
|||
rig_debug(RIG_DEBUG_TRACE, "%s: freq = %d Hz for VFO [%s]\n", __func__, (int)f,
|
||||
rig_strvfo(vfo));
|
||||
|
||||
*rit = f; /* return diplayed frequency */
|
||||
*rit = f; /* return displayed frequency */
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
@ -1348,7 +1348,7 @@ int ft1000mp_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit)
|
|||
rig_debug(RIG_DEBUG_TRACE, "%s: freq = %d Hz for VFO [%s]\n", __func__, (int)f,
|
||||
rig_strvfo(vfo));
|
||||
|
||||
*xit = f; /* return diplayed frequency */
|
||||
*xit = f; /* return displayed frequency */
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
@ -1496,7 +1496,7 @@ static int ft1000mp_get_update_data(RIG *rig, unsigned char ci,
|
|||
|
||||
do
|
||||
{
|
||||
/* send UPDATE comand to fetch data*/
|
||||
/* send UPDATE command to fetch data*/
|
||||
ft1000mp_send_priv_cmd(rig, ci);
|
||||
|
||||
n = read_block(&rig_s->rigport, (char *) p->update_data, rl);
|
||||
|
|
|
@ -482,7 +482,7 @@ int ft747_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
|
|||
rig_debug(RIG_DEBUG_VERBOSE, "ft747: freq = %"PRIfreq" Hz for VFO = %s\n",
|
||||
f, rig_strvfo(vfo));
|
||||
|
||||
(*freq) = f; /* return diplayed frequency */
|
||||
(*freq) = f; /* return displayed frequency */
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
@ -871,7 +871,7 @@ static int ft747_get_update_data(RIG *rig)
|
|||
int port_timeout;
|
||||
rig_flush(rigport);
|
||||
|
||||
/* send UPDATE comand to fetch data*/
|
||||
/* send UPDATE command to fetch data*/
|
||||
|
||||
ret = ft747_send_priv_cmd(rig, FT_747_NATIVE_UPDATE);
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ typedef enum ft747_native_cmd_e ft747_native_cmd_t;
|
|||
#define MODE_LSB 0x10
|
||||
#define MODE_NAR 0x80
|
||||
|
||||
/* All relevent bits */
|
||||
/* All relevant bits */
|
||||
#define MODE_MASK 0x9f
|
||||
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@
|
|||
#define FT757GX_ALL_TX_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM)
|
||||
|
||||
|
||||
/* Backend fucntion prototypes. These map to frontend functions. */
|
||||
/* Backend function prototypes. These map to frontend functions. */
|
||||
static int ft757_init(RIG *rig);
|
||||
static int ft757_cleanup(RIG *rig);
|
||||
static int ft757_open(RIG *rig);
|
||||
|
|
|
@ -219,7 +219,7 @@ typedef enum ft840_native_cmd_e ft840_native_cmd_t;
|
|||
/*
|
||||
* Offsets for VFO record retrieved via 0x10 P1 = 02, 03, 04
|
||||
*
|
||||
* The FT-840 returns frequency and mode data via three seperate commands.
|
||||
* The FT-840 returns frequency and mode data via three separate commands.
|
||||
* CAT command 0x10, P1 = 02 returns the current main and sub displays' data (19 bytes)
|
||||
* CAT command 0x10, P1 = 03 returns VFO A & B data (18 bytes)
|
||||
* CAT command 0x10, P1 = 04, P4 = 0x01-0x20 returns memory channel data (19 bytes)
|
||||
|
|
|
@ -652,7 +652,7 @@ static int ft847_send_priv_cmd(RIG *rig, int cmd_index)
|
|||
|
||||
/*
|
||||
* opcode_vfo() copy into cmd the 5 byte command designated by cmd_index,
|
||||
* and patch the opcode with VFO targetting (MAIN 0x0-, SAT RX 0x1-, SAT TX 0x2-)
|
||||
* and patch the opcode with VFO targeting (MAIN 0x0-, SAT RX 0x1-, SAT TX 0x2-)
|
||||
*/
|
||||
static int opcode_vfo(RIG *rig, unsigned char *cmd, int cmd_index, vfo_t vfo)
|
||||
{
|
||||
|
|
|
@ -219,7 +219,7 @@ typedef enum ft890_native_cmd_e ft890_native_cmd_t;
|
|||
/*
|
||||
* Offsets for VFO record retrieved via 0x10 P1 = 02, 03, 04
|
||||
*
|
||||
* The FT-890 returns frequency and mode data via three seperate commands.
|
||||
* The FT-890 returns frequency and mode data via three separate commands.
|
||||
* CAT command 0x10, P1 = 02 returns the current main and sub displays' data (19 bytes)
|
||||
* CAT command 0x10, P1 = 03 returns VFO A & B data (18 bytes)
|
||||
* CAT command 0x10, P1 = 04, P4 = 0x01-0x20 returns memory channel data (19 bytes)
|
||||
|
|
|
@ -218,7 +218,7 @@ typedef enum ft900_native_cmd_e ft900_native_cmd_t;
|
|||
/*
|
||||
* Offsets for VFO record retrieved via 0x10 P1 = 02, 03, 04
|
||||
*
|
||||
* The FT-900 returns frequency and mode data via three seperate commands.
|
||||
* The FT-900 returns frequency and mode data via three separate commands.
|
||||
* CAT command 0x10, P1 = 02 returns the current main and sub displays' data (19 bytes)
|
||||
* CAT command 0x10, P1 = 03 returns VFO A & B data (18 bytes)
|
||||
* CAT command 0x10, P1 = 04, P4 = 0x01-0x20 returns memory channel data (19 bytes)
|
||||
|
|
|
@ -240,7 +240,7 @@ typedef enum ft920_native_cmd_e ft920_native_cmd_t;
|
|||
/*
|
||||
* Offsets for VFO record retrieved via 0x10 P1 = 02, 03
|
||||
*
|
||||
* The FT-920 returns frequency and mode data via three seperate commands.
|
||||
* The FT-920 returns frequency and mode data via three separate commands.
|
||||
* CAT command 0x10, P1 = 02 returns the current main and sub displays' data (28 bytes)
|
||||
* CAT command 0x10, P1 = 03 returns VFO A data and the sub display data (sub display is always VFO B) (28 bytes)
|
||||
* CAT command 0x10, P1 = 04, P4 = 0x00-0x89 returns memory channel data (14 bytes)
|
||||
|
@ -301,7 +301,7 @@ typedef enum ft920_native_cmd_e ft920_native_cmd_t;
|
|||
#define MODE_USBN 0xc0 /* Not sure this actually exists */
|
||||
#define MODE_CW_UN 0xc1
|
||||
|
||||
/* All relevent bits */
|
||||
/* All relevant bits */
|
||||
#define MODE_MASK 0xc7
|
||||
|
||||
|
||||
|
|
|
@ -254,7 +254,7 @@ int valid_commands_count = sizeof(valid_commands) / sizeof(
|
|||
const struct confparams newcat_cfg_params[] =
|
||||
{
|
||||
{
|
||||
TOK_FAST_SET_CMD, "fast_commands_token", "High troughput of commands", "Enabled high throughput of >200 messages/sec by not waiting for ACK/NAK of messages", "0", RIG_CONF_NUMERIC, { .n = { 0, 1, 1 } }
|
||||
TOK_FAST_SET_CMD, "fast_commands_token", "High throughput of commands", "Enabled high throughput of >200 messages/sec by not waiting for ACK/NAK of messages", "0", RIG_CONF_NUMERIC, { .n = { 0, 1, 1 } }
|
||||
},
|
||||
{ RIG_CONF_END, NULL, }
|
||||
};
|
||||
|
@ -4008,7 +4008,7 @@ int newcat_set_mem(RIG *rig, vfo_t vfo, int ch)
|
|||
break;
|
||||
|
||||
case RIG_VFO_MEM:
|
||||
/* Jump from channel to channel in memmory mode */
|
||||
/* Jump from channel to channel in memory mode */
|
||||
restore_vfo = FALSE;
|
||||
break;
|
||||
|
||||
|
@ -4300,7 +4300,7 @@ int newcat_set_channel(RIG *rig, const channel_t *chan)
|
|||
break;
|
||||
|
||||
case RIG_VFO_MEM:
|
||||
/* Jump from channel to channel in memmory mode */
|
||||
/* Jump from channel to channel in memory mode */
|
||||
restore_vfo = FALSE;
|
||||
break;
|
||||
|
||||
|
@ -4936,7 +4936,7 @@ int newcat_set_vfo_from_alias(RIG *rig, vfo_t *vfo)
|
|||
* Using rigctl on FT950 I was trying to set RIG_LEVEL_COMP to 12
|
||||
* I kept setting it to 11. I wrote some test software and
|
||||
* found out that 0.12 * 100 = 11 with my setup.
|
||||
* Compilier is gcc 4.2.4, CPU is AMD X2
|
||||
* Compiler is gcc 4.2.4, CPU is AMD X2
|
||||
* This works somewhat but Find a better way.
|
||||
* The newcat_get_level() seems to work correctly.
|
||||
* Terry KJ4EED
|
||||
|
@ -6321,7 +6321,7 @@ int newcat_get_vfo_mode(RIG *rig, vfo_t *vfo_mode)
|
|||
|
||||
|
||||
/*
|
||||
* Writed data and waits for responce
|
||||
* Writes data and waits for response
|
||||
* input: complete CAT command string including termination in cmd_str
|
||||
* output: complete CAT command answer string in ret_data
|
||||
* return: RIG_OK or error
|
||||
|
|
|
@ -42,10 +42,10 @@
|
|||
* The vr5000 has no CAT commands for reading the frequency, ts nor mode.
|
||||
* These function are emulated, because the vr5000 thunkates the input
|
||||
* frequency. Secondly when changing the mode, ts will change, and since
|
||||
* ts it the one that desides how the frequency is thunkated, the frequency
|
||||
* ts it the one that decides how the frequency is thunkated, the frequency
|
||||
* will change.
|
||||
*
|
||||
* True reciever range was not specified correctly in manual. No all
|
||||
* True receiver range was not specified correctly in manual. No all
|
||||
* mode allow to go down to 100 Khz. Therefore the minimum frequency
|
||||
* which will be allowed is 101.5 kKz. Maximum is 2599.99 Mhz.
|
||||
*
|
||||
|
@ -569,7 +569,7 @@ void correct_frequency(RIG *rig, vfo_t vfo, freq_t curr_freq, freq_t *freq)
|
|||
|
||||
/*
|
||||
* Set mode and ts, then frequency. Both mode/ts and frequency are set
|
||||
* everytime one of them changes.
|
||||
* every time one of them changes.
|
||||
*/
|
||||
int set_vr5000(RIG *rig, vfo_t vfo, freq_t freq, rmode_t mode, pbwidth_t width,
|
||||
shortfreq_t ts)
|
||||
|
|
|
@ -352,7 +352,7 @@ static int vx1700_do_freq_cmd(RIG *rig, unsigned char ci, freq_t freq)
|
|||
if ((ci != VX1700_NATIVE_FREQ_SET) && (ci != VX1700_NATIVE_TX_FREQ_SET))
|
||||
{
|
||||
rig_debug(RIG_DEBUG_TRACE,
|
||||
"%s: Attempt to use non freqency sequence\n", __func__);
|
||||
"%s: Attempt to use non frequency sequence\n", __func__);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
|
|
|
@ -164,7 +164,7 @@ ars_init(ROT *rot)
|
|||
priv->pp_data = 0;
|
||||
|
||||
/* Always use 10 bit resolution, which supports also 8 bits
|
||||
* at the cost of 2 potentialy wrong lsb */
|
||||
* at the cost of 2 potentially wrong lsb */
|
||||
priv->adc_res = 10; /* 8 bits vs. 10 bits ADC */
|
||||
priv->brake_off = 0; /* i.e. brake is ON */
|
||||
priv->curr_move = 0;
|
||||
|
@ -319,7 +319,7 @@ ars_move(ROT *rot, int direction, int speed)
|
|||
if (ars_has_el(rot))
|
||||
{
|
||||
// RCI Model Azim & Elev
|
||||
// Desactivated CCW/CW relays
|
||||
// Deactivated CCW/CW relays
|
||||
CHKPPRET(ars_clear_ctrl_pin(rot, CTL_PIN17 | CTL_PIN16));
|
||||
// Relay Aux
|
||||
CHKPPRET(ars_set_data_pin(rot, DTA_PIN02 | DTA_PIN04 | DTA_PIN06 | DTA_PIN08));
|
||||
|
@ -328,7 +328,7 @@ ars_move(ROT *rot, int direction, int speed)
|
|||
else
|
||||
{
|
||||
// RCI Model Azimuth only
|
||||
// Desactivated CCW/CW relays
|
||||
// Deactivated CCW/CW relays
|
||||
CHKPPRET(ars_clear_ctrl_pin(rot, CTL_PIN17 | CTL_PIN16));
|
||||
// Relay Aux
|
||||
CHKPPRET(ars_set_data_pin(rot,
|
||||
|
|
|
@ -50,8 +50,8 @@
|
|||
* a large enough buffer for all possible replies for a command.
|
||||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
*/
|
||||
static int
|
||||
|
|
|
@ -7,7 +7,7 @@ EASYCOMM I Standard
|
|||
-------------------
|
||||
|
||||
The EasyComm 1 standard is a simple ASCII character based standard for
|
||||
controling antennas and rotators.
|
||||
controlling antennas and rotators.
|
||||
|
||||
The host PC issues a single line command as follows -:
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ static int setDirection(hamlib_port_t *port, unsigned char outputvalue,
|
|||
// set the data bits
|
||||
par_write_data(port, outputvalue);
|
||||
|
||||
// autofd=true --> azimuth otherwhise elevation
|
||||
// autofd=true --> azimuth otherwise elevation
|
||||
if (direction)
|
||||
{
|
||||
outputstatus = PARPORT_CONTROL_AUTOFD;
|
||||
|
|
|
@ -51,8 +51,8 @@
|
|||
* a large enough buffer for all possible replies for a command.
|
||||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
* RIG_REJECTED - if a negative acknowledge was received or command not
|
||||
* recognized by rig.
|
||||
|
@ -235,7 +235,7 @@ gs232_rot_stop(ROT *rot)
|
|||
|
||||
/* ************************************************************************* */
|
||||
/*
|
||||
* Generic GS232 Protocol (including those not correctly implmented) rotator capabilities.
|
||||
* Generic GS232 Protocol (including those not correctly implemented) rotator capabilities.
|
||||
*/
|
||||
|
||||
const struct rot_caps gs232_generic_rot_caps =
|
||||
|
|
|
@ -56,8 +56,8 @@
|
|||
* a large enough buffer for all possible replies for a command.
|
||||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
* RIG_REJECTED - if a negative acknowledge was received or command not
|
||||
* recognized by rig.
|
||||
|
|
|
@ -57,8 +57,8 @@
|
|||
* a large enough buffer for all possible replies for a command.
|
||||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
* RIG_REJECTED - if a negative acknowledge was received or command not
|
||||
* recognized by rig.
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
* COMMANDS note: as of 12/2018 a mixture of V2 and V3
|
||||
* | TTTTTTTT(T) .01 arc seconds
|
||||
* | alt- sign with 8 digits, az - 9 digits |
|
||||
* | Command | Atribute | Return value | Description |
|
||||
* | Command | Attribute | Return value | Description |
|
||||
* -------------------------------------------------------------------|
|
||||
* | :GAC# | .01 arcsec | sTTTTTTTTTTTTTTTTT# | gets alt(s8), az(9) |
|
||||
* | :SzTTTTTTTTT# | .01 arcsec | '1' == OK | Set Target azimuth |
|
||||
|
@ -65,8 +65,8 @@
|
|||
* | :MS# | - | '1' == OK | GoTo Target |
|
||||
* |
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
*/
|
||||
|
||||
|
@ -134,7 +134,7 @@ transaction_quit:
|
|||
}
|
||||
|
||||
/**
|
||||
* Opens the Port and sets all needed parametes for operation
|
||||
* Opens the Port and sets all needed parameters for operation
|
||||
* as of 12/2018 initiates mount with V3 :MountInfo#
|
||||
*/
|
||||
static int ioptron_open(ROT *rot)
|
||||
|
|
|
@ -162,8 +162,8 @@ int testmain()
|
|||
* a large enough buffer for all possible replies for a command.
|
||||
*
|
||||
* returns:
|
||||
* RIG_OK - if no error occured.
|
||||
* RIG_EIO - if an I/O error occured while sending/receiving data.
|
||||
* RIG_OK - if no error occurred.
|
||||
* RIG_EIO - if an I/O error occurred while sending/receiving data.
|
||||
* RIG_ETIMEOUT - if timeout expires without any characters received.
|
||||
*/
|
||||
static int
|
||||
|
|
|
@ -60,28 +60,28 @@ struct meade_priv_data
|
|||
* Not the full set of available commands is used, the list here shows
|
||||
* only the commands of the telescope used by hamlib
|
||||
*
|
||||
* All used Commands are supportet by Meade Telescopes with LX-200 protocol
|
||||
* All used Commands are supported by Meade Telescopes with LX-200 protocol
|
||||
* (e.g. DS-2000 with Autostar) and should also work with the LX16 and
|
||||
* LX200GPS.
|
||||
* Tested only with DS-2000 and AutoStar 494 together with Meade 506 i2c to
|
||||
* Serial cable. But should also work with other AutoStars and the regular
|
||||
* Serial Cable.
|
||||
*
|
||||
* | Command | Atribute | Return value | Description |
|
||||
* --------------------------------------------------------------------
|
||||
* | :Me# | - | - | Moves telescope east |
|
||||
* | :Mn# | - | - | Moves telescope north |
|
||||
* | :Ms# | - | - | Moves telescope south |
|
||||
* | :Mw# | - | - | Moves telescope west |
|
||||
* | :AL# | - | - | Set to Land mode |
|
||||
* | :Sz DDD*MM# | D,M | 1' == OK | Set Target azimuth |
|
||||
* | :SasDD*MM# | s,D,M | 1' == OK | Set Target elevation |
|
||||
* | :Mw# | - | - | Moves telescope west |
|
||||
* | :Q# | - | - | Halt all slewing |
|
||||
* | :SoDD# | D | '1' == OK | Set minimal elevation |
|
||||
* | :ShDD# | D | '1' == OK | Set maximal elevation |
|
||||
* | :MA# | - | '0' == OK | GoTo Target |
|
||||
* | :D# | - | 0x7F == YES | Check if active movement |
|
||||
* | Command | Attribute | Return value | Description |
|
||||
* ---------------------------------------------------------------------
|
||||
* | :Me# | - | - | Moves telescope east |
|
||||
* | :Mn# | - | - | Moves telescope north |
|
||||
* | :Ms# | - | - | Moves telescope south |
|
||||
* | :Mw# | - | - | Moves telescope west |
|
||||
* | :AL# | - | - | Set to Land mode |
|
||||
* | :Sz DDD*MM# | D,M | 1' == OK | Set Target azimuth |
|
||||
* | :SasDD*MM# | s,D,M | 1' == OK | Set Target elevation |
|
||||
* | :Mw# | - | - | Moves telescope west |
|
||||
* | :Q# | - | - | Halt all slewing |
|
||||
* | :SoDD# | D | '1' == OK | Set minimal elevation |
|
||||
* | :ShDD# | D | '1' == OK | Set maximal elevation |
|
||||
* | :MA# | - | '0' == OK | GoTo Target |
|
||||
* | :D# | - | 0x7F == YES | Check if active movement |
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -204,7 +204,7 @@ static int meade_cleanup(ROT *rot)
|
|||
}
|
||||
|
||||
/*
|
||||
* Opens the Port and sets all needed parametes for operation
|
||||
* Opens the Port and sets all needed parameters for operation
|
||||
*/
|
||||
static int meade_open(ROT *rot)
|
||||
{
|
||||
|
@ -398,7 +398,7 @@ static int meade_park(ROT *rot)
|
|||
}
|
||||
|
||||
/*
|
||||
* Reset: Nothing to do exept parking
|
||||
* Reset: Nothing to do except parking
|
||||
*/
|
||||
static int meade_reset(ROT *rot, rot_reset_t reset)
|
||||
{
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
/* *************************************
|
||||
*
|
||||
* Seperate model capabilities
|
||||
* Separate model capabilities
|
||||
*
|
||||
* *************************************
|
||||
*/
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Ładowanie…
Reference in New Issue