Fix spelling errors

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
pull/351/head
Daniele Forsi 2020-07-24 09:02:12 +02:00
rodzic f133483dd8
commit d7b332c3f7
135 zmienionych plików z 498 dodań i 498 usunięć

Wyświetl plik

@ -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
Wyświetl plik

@ -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
Wyświetl plik

@ -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?

Wyświetl plik

@ -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

Wyświetl plik

@ -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!

Wyświetl plik

@ -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)

Wyświetl plik

@ -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

Wyświetl plik

@ -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

Wyświetl plik

@ -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?."])
])

Wyświetl plik

@ -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"

Wyświetl plik

@ -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).

Wyświetl plik

@ -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

Wyświetl plik

@ -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,

Wyświetl plik

@ -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'

Wyświetl plik

@ -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);

Wyświetl plik

@ -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');

Wyświetl plik

@ -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.
*}
{*

Wyświetl plik

@ -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;

Wyświetl plik

@ -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;

Wyświetl plik

@ -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.
*/
/**

Wyświetl plik

@ -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.
*/
/**

Wyświetl plik

@ -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

Wyświetl plik

@ -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"

Wyświetl plik

@ -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.
*/
/**

Wyświetl plik

@ -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.
*/
/**

Wyświetl plik

@ -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.
#

Wyświetl plik

@ -567,7 +567,7 @@ static adat_cmd_list_t adat_cmd_list_recover_from_error =
// ---------------------------------------------------------------------------
// IMPLEMEMTATION
// IMPLEMENTATION
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------

Wyświetl plik

@ -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)

Wyświetl plik

@ -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)
}
}

Wyświetl plik

@ -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);

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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)

Wyświetl plik

@ -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,

Wyświetl plik

@ -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,

Wyświetl plik

@ -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
*

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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

Wyświetl plik

@ -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,

Wyświetl plik

@ -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;

Wyświetl plik

@ -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
*

Wyświetl plik

@ -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,

Wyświetl plik

@ -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,
},

Wyświetl plik

@ -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
*
*

Wyświetl plik

@ -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,
},

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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,
},

Wyświetl plik

@ -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
*

Wyświetl plik

@ -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
*

Wyświetl plik

@ -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
*
*

Wyświetl plik

@ -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.

Wyświetl plik

@ -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.
*/

Wyświetl plik

@ -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

Wyświetl plik

@ -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);
}

Wyświetl plik

@ -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.

Wyświetl plik

@ -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)
{

Wyświetl plik

@ -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
*

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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);
}

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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

Wyświetl plik

@ -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:

Wyświetl plik

@ -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
*
*/

Wyświetl plik

@ -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,

Wyświetl plik

@ -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;

Wyświetl plik

@ -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);

Wyświetl plik

@ -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
}

Wyświetl plik

@ -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;

Wyświetl plik

@ -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 =
{

Wyświetl plik

@ -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
*/

Wyświetl plik

@ -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 */

Wyświetl plik

@ -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 */
};
/*

Wyświetl plik

@ -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.

Wyświetl plik

@ -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);

Wyświetl plik

@ -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);

Wyświetl plik

@ -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);

Wyświetl plik

@ -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

Wyświetl plik

@ -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);

Wyświetl plik

@ -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)

Wyświetl plik

@ -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)
{

Wyświetl plik

@ -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)

Wyświetl plik

@ -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)

Wyświetl plik

@ -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

Wyświetl plik

@ -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
* Writed 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

Wyświetl plik

@ -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)

Wyświetl plik

@ -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;
}

Wyświetl plik

@ -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,

Wyświetl plik

@ -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

Wyświetl plik

@ -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 -:

Wyświetl plik

@ -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;

Wyświetl plik

@ -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 =

Wyświetl plik

@ -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.

Wyświetl plik

@ -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.

Wyświetl plik

@ -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)

Wyświetl plik

@ -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

Wyświetl plik

@ -67,7 +67,7 @@ struct meade_priv_data
* Serial cable. But should also work with other AutoStars and the regular
* Serial Cable.
*
* | Command | Atribute | Return value | Description |
* | Command | Attribute | Return value | Description |
* --------------------------------------------------------------------
* | :Me# | - | - | Moves telescope east |
* | :Mn# | - | - | Moves telescope north |
@ -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)
{

Wyświetl plik

@ -38,7 +38,7 @@
/* *************************************
*
* Seperate model capabilities
* Separate model capabilities
*
* *************************************
*/

Wyświetl plik

@ -67,7 +67,7 @@ int main(int argc, char **argv)
if (argc < 3 || argc > 5)
{
fprintf(stderr, "Usage: peekpoke BIT_WIDTH ADDRESS <VALUE <x>>\n");
fprintf(stderr, "<x> can be anything; supresses read-back on write\n");
fprintf(stderr, "<x> can be anything; suppresses read-back on write\n");
return 0;
}

Wyświetl plik

@ -21,8 +21,8 @@ char *dr_page;
double el, az;
/*Calculate the adc value corresponding to 0V*/
//val1 is the ADC val coresponding to 0.833V
//val2 is the ADC val corresponging to 2.5V
//val1 is the ADC val corresponding to 0.833V
//val2 is the ADC val corresponding to 2.5V
int calcZeroVal(int val1, int val2)
{
val2 += 0x10000;

Some files were not shown because too many files have changed in this diff Show More