hamlib-cvs-digest Mailing List for Ham Radio Control Libraries (Page 21)
Library to control radio transceivers and receivers
Brought to you by:
n0nb
You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(57) |
Nov
(27) |
Dec
(25) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(41) |
Feb
(101) |
Mar
(60) |
Apr
(32) |
May
(32) |
Jun
(198) |
Jul
(95) |
Aug
(60) |
Sep
(48) |
Oct
(96) |
Nov
(27) |
Dec
(222) |
| 2002 |
Jan
(180) |
Feb
(46) |
Mar
(68) |
Apr
(11) |
May
(36) |
Jun
(34) |
Jul
(113) |
Aug
(42) |
Sep
(71) |
Oct
(65) |
Nov
(116) |
Dec
(40) |
| 2003 |
Jan
(32) |
Feb
(92) |
Mar
(29) |
Apr
(102) |
May
(21) |
Jun
(34) |
Jul
(3) |
Aug
(60) |
Sep
(30) |
Oct
(62) |
Nov
(57) |
Dec
(33) |
| 2004 |
Jan
(28) |
Feb
(46) |
Mar
(16) |
Apr
(14) |
May
(31) |
Jun
(21) |
Jul
(10) |
Aug
(80) |
Sep
(42) |
Oct
(11) |
Nov
(28) |
Dec
(13) |
| 2005 |
Jan
(35) |
Feb
(26) |
Mar
(20) |
Apr
(118) |
May
(2) |
Jun
(5) |
Jul
|
Aug
|
Sep
(5) |
Oct
(1) |
Nov
(13) |
Dec
(1) |
| 2006 |
Jan
(9) |
Feb
(25) |
Mar
(22) |
Apr
(6) |
May
|
Jun
|
Jul
(2) |
Aug
(1) |
Sep
(3) |
Oct
(46) |
Nov
(13) |
Dec
(7) |
| 2007 |
Jan
(9) |
Feb
(14) |
Mar
(3) |
Apr
|
May
(6) |
Jun
(1) |
Jul
|
Aug
(11) |
Sep
(7) |
Oct
(8) |
Nov
(41) |
Dec
(3) |
| 2008 |
Jan
(27) |
Feb
(16) |
Mar
(13) |
Apr
(23) |
May
(39) |
Jun
(4) |
Jul
(7) |
Aug
(1) |
Sep
(13) |
Oct
(52) |
Nov
(44) |
Dec
(55) |
| 2009 |
Jan
(72) |
Feb
(69) |
Mar
|
Apr
|
May
|
Jun
(13) |
Jul
(1) |
Aug
(6) |
Sep
(15) |
Oct
(11) |
Nov
(31) |
Dec
(20) |
| 2010 |
Jan
(24) |
Feb
(21) |
Mar
(22) |
Apr
(40) |
May
(38) |
Jun
(4) |
Jul
(2) |
Aug
(22) |
Sep
(19) |
Oct
(14) |
Nov
(5) |
Dec
(8) |
| 2011 |
Jan
(14) |
Feb
(36) |
Mar
(6) |
Apr
|
May
|
Jun
(23) |
Jul
(13) |
Aug
(8) |
Sep
(7) |
Oct
|
Nov
(3) |
Dec
(9) |
| 2012 |
Jan
(17) |
Feb
(13) |
Mar
(10) |
Apr
|
May
(1) |
Jun
(14) |
Jul
(4) |
Aug
(12) |
Sep
(2) |
Oct
(24) |
Nov
(14) |
Dec
(2) |
| 2013 |
Jan
(4) |
Feb
(3) |
Mar
(3) |
Apr
(3) |
May
(10) |
Jun
(4) |
Jul
(7) |
Aug
|
Sep
(15) |
Oct
(5) |
Nov
(1) |
Dec
(2) |
| 2014 |
Jan
|
Feb
(8) |
Mar
(1) |
Apr
(3) |
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
(3) |
Oct
(7) |
Nov
(6) |
Dec
(3) |
| 2015 |
Jan
(4) |
Feb
(5) |
Mar
(8) |
Apr
(8) |
May
(2) |
Jun
|
Jul
(4) |
Aug
(7) |
Sep
(8) |
Oct
|
Nov
(6) |
Dec
(4) |
| 2016 |
Jan
(6) |
Feb
(26) |
Mar
(3) |
Apr
(10) |
May
(6) |
Jun
(5) |
Jul
(1) |
Aug
(4) |
Sep
(3) |
Oct
(4) |
Nov
(3) |
Dec
(10) |
| 2017 |
Jan
(11) |
Feb
(11) |
Mar
(2) |
Apr
(1) |
May
(7) |
Jun
(2) |
Jul
(11) |
Aug
(9) |
Sep
(5) |
Oct
(5) |
Nov
(1) |
Dec
(2) |
| 2018 |
Jan
(5) |
Feb
(2) |
Mar
(19) |
Apr
(7) |
May
(11) |
Jun
(3) |
Jul
(4) |
Aug
(10) |
Sep
(2) |
Oct
(8) |
Nov
(6) |
Dec
(9) |
| 2019 |
Jan
(9) |
Feb
(6) |
Mar
(2) |
Apr
(4) |
May
(6) |
Jun
(9) |
Jul
(6) |
Aug
(3) |
Sep
(5) |
Oct
(2) |
Nov
(8) |
Dec
(9) |
| 2020 |
Jan
(15) |
Feb
(1) |
Mar
(18) |
Apr
(33) |
May
(43) |
Jun
(87) |
Jul
(45) |
Aug
(8) |
Sep
(43) |
Oct
(3) |
Nov
(5) |
Dec
(42) |
| 2021 |
Jan
(116) |
Feb
(40) |
Mar
(58) |
Apr
(48) |
May
(29) |
Jun
(2) |
Jul
|
Aug
(22) |
Sep
(18) |
Oct
(1) |
Nov
|
Dec
(3) |
| 2022 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
(1) |
May
(2) |
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
(6) |
Nov
(2) |
Dec
(9) |
| 2023 |
Jan
(10) |
Feb
|
Mar
|
Apr
(10) |
May
(3) |
Jun
(1) |
Jul
(2) |
Aug
(4) |
Sep
(1) |
Oct
|
Nov
(2) |
Dec
(3) |
| 2024 |
Jan
(4) |
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
(5) |
Jun
(3) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
(3) |
Dec
(9) |
| 2025 |
Jan
(5) |
Feb
(5) |
Mar
|
Apr
(10) |
May
(20) |
Jun
(43) |
Jul
(24) |
Aug
(47) |
Sep
(38) |
Oct
(5) |
Nov
|
Dec
|
|
From: Michael B. <mdb...@us...> - 2021-02-06 22:46:15
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 66b3e368d621488dc3081d16a29f5d06ea5a8121 (commit)
via 4f3c4219a1966ca0d5fe74b62aa7034c65f0061c (commit)
via 14cc93e3524ee3f23d246abc28665f66c8bf064d (commit)
from bc5cad06b78789f2d377c311ac1ba15c48fe5a0b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 66b3e368d621488dc3081d16a29f5d06ea5a8121
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 6 16:45:54 2021 -0600
Bump FT980 to beta
diff --git a/rigs/yaesu/ft980.h b/rigs/yaesu/ft980.h
index 3cc93197..181f9e43 100644
--- a/rigs/yaesu/ft980.h
+++ b/rigs/yaesu/ft980.h
@@ -148,7 +148,7 @@ const struct rig_caps ft980_caps =
.mfg_name = "Yaesu",
.version = "20200114.0",
.copyright = "LGPL",
- .status = RIG_STATUS_ALPHA,
+ .status = RIG_STATUS_BETA,
.rig_type = RIG_TYPE_TRANSCEIVER,
.ptt_type = RIG_PTT_SERIAL_RTS,
.dcd_type = RIG_DCD_NONE,
commit 4f3c4219a1966ca0d5fe74b62aa7034c65f0061c
Merge: bc5cad06 14cc93e3
Author: Michael Black <mdb...@ya...>
Date: Sat Feb 6 16:44:58 2021 -0600
Merge pull request #529 from N8TW/ft980_backend
FT-980 Backend Added Feature: Targetable VFO
commit 14cc93e3524ee3f23d246abc28665f66c8bf064d
Author: N8TW <i.m...@ou...>
Date: Sat Feb 6 16:55:05 2021 -0500
Added Features: targetable VFO
Other: added debug statements, foundation-work for new featues,
"modernized" a bit (but still needs additional effort).
diff --git a/rigs/yaesu/ft980.c b/rigs/yaesu/ft980.c
index 072e58e2..1d3a741d 100644
--- a/rigs/yaesu/ft980.c
+++ b/rigs/yaesu/ft980.c
@@ -2,6 +2,8 @@
* ft980.c - (C) Stephane Fillod 2004-2010
* (C) Wolfgang Buesser 2010
*
+ * (C) Mathew Breton 2021
+ *
* This shared library provides an API for communicating
* via serial interface to an FT-980 using the "CAT" interface
*
@@ -22,6 +24,66 @@
*
*/
+
+/*
+* FT-980 Hamlib API functions considered to be Stable:
+* sadly, none yet
+*
+* Functions considered to be Beta:
+* init * cleanup
+* set_freq * get_freq
+* set_mode * get_mode
+* set_mem * get_mem
+* open * close
+*
+* Functions considered to be Alpha:
+* set_vfo * get_vfo
+*
+* Functions not yet implemented
+* get_xit * set_xit
+* set_func * get_func
+* get_ptt * set_ptt
+* get_dcd
+* set_rptr_shift * get_rptr_shift
+* set_rptr_offs * get_rptr_offs
+* set_split_freq * get_split_freq
+* set_split_mode * get_split_mode
+* set_split_freq_mode * get_split_freq_mode
+* set_split_vfo * get_split_vfo
+* set_ts * get_ts
+* vfo_op
+*
+* Functions the radio does not support: see readme.ft980 for more details
+* power2mW * mW2power
+* newcat_get_ant * newcat_set_ant
+* set_dcs_code * get_dcs_code
+* set_tone * get_tone
+* set_ctcss_tone * get_ctcss_tone
+* set_dcs_sql * get_dcs_sql
+* set_tone_sql * get_tone_sql
+* set_ctcss_sql * get_ctcss_sql
+* set_powerstat * get_powerstat
+* set_ant * get_ant
+* send_dtmf * recv_dtmf
+* send_morse * stop_morse
+* wait_morse * send_voice_mem
+* set_trn * get_trn
+* set_channel * get_channel
+* set_bank * scan
+* set_parm * get_parm
+* get_info
+* reset
+* set_vfo_opt
+* decode_event
+*
+* No idea yet what these do
+* set_chan_all_cb
+* get_chan_all_cb
+* set_conf
+* get_conf
+*/
+
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -29,68 +91,14 @@
#include <stdlib.h>
#include <string.h> /* String function definitions */
#include <unistd.h> /* UNIX standard function definitions */
+#include <sys/time.h> /* for timeofday call */
#include "hamlib/rig.h"
#include "serial.h"
#include "misc.h"
#include "bandplan.h"
#include "yaesu.h"
-
-#define FT980_MODES (RIG_MODE_LSB|RIG_MODE_USB|RIG_MODE_CW|RIG_MODE_AM|RIG_MODE_RTTY|RIG_MODE_FM)
-
-#define FT980_ANTS (RIG_ANT_1)
-
-/* TODO: RIG_VFO_HAM|RIG_VFO_GEN ? */
-#define FT980_VFOS (RIG_VFO_MAIN)
-
-/* TODO: RIG_OP_TO_VFO|RIG_OP_FROM_VFO|RIG_OP_BAND_UP|RIG_OP_BAND_DOWN */
-#define FT980_VFO_OPS (RIG_OP_NONE)
-
-typedef struct _ft980_memory_t
-{
- unsigned char mem_16[4]; unsigned char vfo_16; unsigned char mode_16;
- unsigned char mem_15[4]; unsigned char vfo_15; unsigned char mode_15;
- unsigned char mem_14[4]; unsigned char vfo_14; unsigned char mode_14;
- unsigned char mem_13[4]; unsigned char vfo_13; unsigned char mode_13;
- unsigned char mem_12[4]; unsigned char vfo_12; unsigned char mode_12;
- unsigned char mem_11[4]; unsigned char vfo_11; unsigned char mode_11;
- unsigned char mem_10[4]; unsigned char vfo_10; unsigned char mode_10;
- unsigned char mem_9[4]; unsigned char vfo_9; unsigned char mode_9;
- unsigned char mem_8[4]; unsigned char vfo_8; unsigned char mode_8;
- unsigned char mem_7[4]; unsigned char vfo_7; unsigned char mode_7;
- unsigned char mem_6[4]; unsigned char vfo_6; unsigned char mode_6;
- unsigned char mem_5[4]; unsigned char vfo_5; unsigned char mode_5;
- unsigned char mem_4[4]; unsigned char vfo_4; unsigned char mode_4;
- unsigned char mem_3[4]; unsigned char vfo_3; unsigned char mode_3;
- unsigned char mem_2[4]; unsigned char vfo_2; unsigned char mode_2;
- unsigned char mem_1[4]; unsigned char vfo_1; unsigned char mode_1;
- unsigned char CLAR[4];
- unsigned char GEN[4]; unsigned char HAM[4]; unsigned char vfo;
- unsigned char mode;
- unsigned char ff_1[4];
- unsigned char ff_2[4];
- unsigned char vfo_mem;
- unsigned char mode_mem;
- unsigned char LDB;
- unsigned char EXT_CTL;
- unsigned char IF_SHIFT;
- unsigned char SPLIT_CODE;
- unsigned char FSK_SHIFT;
- unsigned char IF_WIDTH;
- unsigned char MEM_SHIFT;
- unsigned char CLAR_FLAG;
- unsigned char TAB_FLAG;
- unsigned char SELECT_SW;
- unsigned char OFFSET_SW;
- unsigned char MODE_SW;
- unsigned char MEM_CH_SW;
- unsigned char LOW_TAB[4];
- unsigned char UP_TAB[4];
- unsigned char VFO_STATUS;
- unsigned char OP_MODE;
- unsigned char OP_FREQ[4];
- unsigned char STATUS_FLAG;
-} _ft980_memory_t;
+#include "ft980.h"
/*
* Private data
@@ -98,176 +106,38 @@ typedef struct _ft980_memory_t
struct ft980_priv_data
{
_ft980_memory_t update_data; /* returned data */
+ vfo_t current_vfo; /* active VFO from last cmd */
struct timeval status_tv; /* update_data caching */
};
-#define UPDATE_DATA_OFS(p, o) (((unsigned char*)((p)+1))-(o))
-
-static const char cmd_OK[YAESU_CMD_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x0B};
-static const char cmd_ON_OFF[YAESU_CMD_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x00};
-
-/* Private helper function prototypes */
-
-
+/*************************************************************************************
+ * Private Prototype Declarations
+ */
static int ft980_transaction(RIG *rig, const unsigned char *cmd,
unsigned char *data, int expected_len);
static int ft980_get_status_data(RIG *rig);
-static int ft980_open(RIG *rig);
-static int ft980_close(RIG *rig);
-
-static int ft980_set_freq(RIG *rig, vfo_t vfo, freq_t freq);
-static int ft980_get_freq(RIG *rig, vfo_t vfo, freq_t *freq);
-static int ft980_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
-static int ft980_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
-
-static int ft980_set_mem(RIG *rig, vfo_t vfo, int ch);
-static int ft980_get_mem(RIG *rig, vfo_t vfo, int *ch);
-
-#if 0
-static int ft980_set_split_vfo(RIG *rig, vfo_t vfo, split_t split,
- vfo_t tx_vfo);
-static int ft980_set_split_freq(RIG *rig, vfo_t vfo, freq_t freq);
-static int ft980_set_split_mode(RIG *rig, vfo_t vfo, rmode_t mode,
- pbwidth_t width);
-
-static int ft980_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
-static int ft980_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift);
-static int ft980_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs);
-#endif
-
-/*
- * ft980 rigs capabilities.
- */
-#define FT980_MEM_CAP { \
- .freq = 1, \
- .mode = 1, \
- .width = 1, \
-}
-
-#define FT980_CACHE_TIMEOUT 500 /* ms */
-
-/*
- * ft980 rigs capabilities.
- *
- * Protocol is documented in FT 980 Technical Supplement, page 13.
- *
- * TODO:
- */
-
-const struct rig_caps ft980_caps =
-{
- RIG_MODEL(RIG_MODEL_FT980),
- .model_name = "FT-980",
- .mfg_name = "Yaesu",
- .version = "20200114.0",
- .copyright = "LGPL",
- .status = RIG_STATUS_ALPHA,
- .rig_type = RIG_TYPE_TRANSCEIVER,
- .ptt_type = RIG_PTT_SERIAL_RTS,
- .dcd_type = RIG_DCD_NONE,
- .port_type = RIG_PORT_SERIAL,
- .serial_rate_min = 4800,
- .serial_rate_max = 4800,
- .serial_data_bits = 8,
- .serial_stop_bits = 2,
- .serial_parity = RIG_PARITY_NONE,
- .serial_handshake = RIG_HANDSHAKE_NONE,
- .write_delay = 80,
- .post_write_delay = 0,
- .timeout = 2000,
- .retry = 3,
- .has_get_func = RIG_FUNC_NONE,
- .has_set_func = RIG_FUNC_NONE,
- .has_get_level = RIG_LEVEL_NONE,
- .has_set_level = RIG_LEVEL_NONE,
- .has_get_parm = RIG_PARM_NONE,
- .has_set_parm = RIG_PARM_NONE,
- .vfo_ops = FT980_VFO_OPS,
- .preamp = { RIG_DBLST_END, },
- .attenuator = { RIG_DBLST_END, },
- .max_rit = Hz(10000),
- .max_xit = Hz(10000),
- .max_ifshift = Hz(1500),
- .targetable_vfo = RIG_TARGETABLE_NONE,
- .transceive = RIG_TRN_OFF,
- .bank_qty = 0,
- .chan_desc_sz = 0,
-
- .chan_list = {
- {1, 16, RIG_MTYPE_MEM, FT980_MEM_CAP},
- },
-
- .rx_range_list1 = {
- {kHz(150), MHz(30) - 100, FT980_MODES, -1, -1, FT980_VFOS, FT980_ANTS},
- RIG_FRNG_END,
- },
-
- .tx_range_list1 = {
- FRQ_RNG_HF(1, RIG_MODE_SSB | RIG_MODE_CW, W(5), W(100), FT980_VFOS, FT980_ANTS),
- FRQ_RNG_HF(1, RIG_MODE_FM | RIG_MODE_RTTY, W(2), W(50), FT980_VFOS, FT980_ANTS),
- FRQ_RNG_HF(1, RIG_MODE_AM, W(2), W(25), FT980_VFOS, FT980_ANTS),
- RIG_FRNG_END,
- },
-
- .rx_range_list2 = {
- {kHz(150), MHz(30) - 100, FT980_MODES, -1, -1, FT980_VFOS, FT980_ANTS},
- RIG_FRNG_END,
- },
-
- .tx_range_list2 = {
- FRQ_RNG_HF(2, RIG_MODE_SSB | RIG_MODE_CW, W(5), W(100), FT980_VFOS, FT980_ANTS),
- FRQ_RNG_HF(2, RIG_MODE_FM | RIG_MODE_RTTY, W(2), W(50), FT980_VFOS, FT980_ANTS),
- FRQ_RNG_HF(2, RIG_MODE_AM, W(2), W(25), FT980_VFOS, FT980_ANTS),
- RIG_FRNG_END,
- },
-
- .tuning_steps = {
- {FT980_MODES, Hz(10)},
- {FT980_MODES, kHz(5)},
- {FT980_MODES, kHz(500)},
- RIG_TS_END,
- },
-
- /* mode/filter list, remember: order matters! */
- .filters = {
- {RIG_MODE_SSB | RIG_MODE_CW | RIG_MODE_RTTY, kHz(2.5)},
- {RIG_MODE_CW, Hz(300)},
- {RIG_MODE_FM, kHz(12)},
- {RIG_MODE_AM, kHz(5)},
- {RIG_MODE_AM, kHz(3)},
-
- RIG_FLT_END,
- },
-
- .rig_open = ft980_open,
- .rig_close = ft980_close,
-
- .set_freq = ft980_set_freq,
- .get_freq = ft980_get_freq,
- .set_mode = ft980_set_mode,
- .get_mode = ft980_get_mode,
-
- .set_mem = ft980_set_mem,
- .get_mem = ft980_get_mem,
-
-#ifdef XXREMOVEDXX
- .get_level = ft980_get_level,
- .set_level = ft980_set_level,
-
- .set_split_vfo = ft980_set_split_vfo,
- .set_split_freq = ft980_set_split_freq,
- .set_split_mode = ft980_set_split_mode,
-
- .set_rptr_shift = ft980_set_rptr_shift,
- .set_rptr_offs = ft980_set_rptr_offs,
-#endif
-};
-
+/* Dump routines are for debug purposes */
+static void dump_freq(unsigned char *data);
+static void dump_vfo(unsigned char data);
+static void dump_mode(unsigned char data);
+static void dump_switch(unsigned char data);
+static void dump_if_shift(unsigned char data);
+static void dump_rptr_split_code(unsigned char data);
+static void dump_fsk_shift(unsigned char data);
+static void dump_if_width(unsigned char data);
+static void dump_mem_shift_flag(unsigned char data);
+static void dump_clar_flag(unsigned char data);
+static void dump_tab_flag(unsigned char data);
+static void dump_freq_select_sws(unsigned char data);
+static void dump_mode_sw(unsigned char data);
+static void dump_mem_ch_sw(unsigned char data);
+static void dump_status_flag_bits(unsigned char data);
+static void dump_memory(_ft980_memory_t *memory);
static void dump_freq(unsigned char *data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%02x%02x%02x%02x ", data[3], data[2], data[1],
+ rig_debug(RIG_DEBUG_TRACE, "%02x%02x%02x%02x ", data[3], data[2], data[1],
data[0]);
}
@@ -275,32 +145,51 @@ static void dump_vfo(unsigned char data)
{
switch ((unsigned int)data)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", "GEN"); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "GEN");
+ break;
- case 128: rig_debug(RIG_DEBUG_VERBOSE, "%s", "HAM"); break;
+ case 128:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "HAM");
+ break;
}
}
-
static void dump_mode(unsigned char data)
{
switch ((unsigned int)data)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", " LSB\n"); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " LSB\n");
+ break;
- case 1: rig_debug(RIG_DEBUG_VERBOSE, "%s", " USB\n"); break;
+ case 1:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " USB\n");
+ break;
- case 2: rig_debug(RIG_DEBUG_VERBOSE, "%s", " CW-W\n"); break;
+ case 2:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " CW-W\n");
+ break;
- case 3: rig_debug(RIG_DEBUG_VERBOSE, "%s", " CW-N\n"); break;
+ case 3:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " CW-N\n");
+ break;
- case 4: rig_debug(RIG_DEBUG_VERBOSE, "%s", " AM-W\n"); break;
+ case 4:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " AM-W\n");
+ break;
- case 5: rig_debug(RIG_DEBUG_VERBOSE, "%s", " AM-N\n"); break;
+ case 5:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " AM-N\n");
+ break;
- case 6: rig_debug(RIG_DEBUG_VERBOSE, "%s", " FSK\n"); break;
+ case 6:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " FSK\n");
+ break;
- case 7: rig_debug(RIG_DEBUG_VERBOSE, "%s", " FM\n"); break;
+ case 7:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " FM\n");
+ break;
}
}
@@ -308,324 +197,369 @@ static void dump_switch(unsigned char data)
{
switch ((unsigned int)data)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", "OFF"); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "OFF");
+ break;
- case 1: rig_debug(RIG_DEBUG_VERBOSE, "%s", "ON "); break;
+ case 1:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "ON ");
+ break;
}
}
-static void dump_IF_SHIFT(unsigned char data)
+static void dump_if_shift(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "IF_SHIFT :\%d\n", data - 15);
+ rig_debug(RIG_DEBUG_TRACE, "if_shift :\%d\n", data - 15);
}
-static void dump_SPLIT_CODE(unsigned char data)
+static void dump_rptr_split_code(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "SPLIT_CODE :\%02x\n", data);
+ rig_debug(RIG_DEBUG_TRACE, "rptr_split_code :\%02x\n", data);
}
-static void dump_FSK_SHIFT(unsigned char data)
+static void dump_fsk_shift(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "FSK_SHIFT :\%02x\n", data);
+ rig_debug(RIG_DEBUG_TRACE, "fsk_shift :\%02x\n", data);
}
-static void dump_IF_WIDTH(unsigned char data)
+static void dump_if_width(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "IF_WIDTH :\%d\n", data);
+ rig_debug(RIG_DEBUG_TRACE, "if_width :\%d\n", data);
}
-static void dump_MEM_SHIFT(unsigned char data)
+static void dump_mem_shift_flag(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "MEM_SHIFT :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_shift_flag :");
switch ((unsigned int)data)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", "OFF\n"); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "OFF\n");
+ break;
- case 16: rig_debug(RIG_DEBUG_VERBOSE, "%s", "ON\n"); break;
+ case 16:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "ON\n");
+ break;
}
}
-static void dump_CLAR_FLAG(unsigned char data)
+
+static void dump_clar_flag(unsigned char data)
{
unsigned char RX_CLAR = data & 0x20;
unsigned char TX_CLAR = data & 0x40;
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "CLAR_SHIFT RX/TX:");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "CLAR_SHIFT RX/TX:");
switch ((unsigned int)RX_CLAR)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", "OFF "); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "OFF ");
+ break;
- case 0x20: rig_debug(RIG_DEBUG_VERBOSE, "%s", "ON "); break;
+ case 0x20:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "ON ");
+ break;
}
switch ((unsigned int)TX_CLAR)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", " OFF "); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " OFF ");
+ break;
- case 0x40: rig_debug(RIG_DEBUG_VERBOSE, "%s", " ON "); break;
+ case 0x40:
+ rig_debug(RIG_DEBUG_TRACE, "%s", " ON ");
+ break;
}
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
}
-static void dump_TAB_FLAG(unsigned char data)
+static void dump_tab_flag(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "TAB FLAG :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "TAB FLAG :");
switch (data)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", "OFF\n"); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "OFF\n");
+ break;
- case 0x80: rig_debug(RIG_DEBUG_VERBOSE, "%s", "ON\n"); break;
+ case 0x80:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "ON\n");
+ break;
}
}
-static void dump_SELECT_SW(unsigned char data)
+static void dump_freq_select_sws(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "SELECT_SW :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "freq_select_sws :");
switch ((unsigned int)data)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", "VFO "); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "VFO ");
+ break;
- case 1: rig_debug(RIG_DEBUG_VERBOSE, "%s", "MR "); break;
+ case 1:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "MR ");
+ break;
- case 2: rig_debug(RIG_DEBUG_VERBOSE, "%s", "RX_M"); break;
+ case 2:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "RX_M");
+ break;
- case 3: rig_debug(RIG_DEBUG_VERBOSE, "%s", "RX_V"); break;
+ case 3:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "RX_V");
+ break;
}
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
}
-static void dump_MODE_SW(unsigned char data)
+static void dump_mode_sw(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "MODE_SW :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mode_sw :");
switch ((unsigned int)data)
{
- case 0: rig_debug(RIG_DEBUG_VERBOSE, "%s", "LSB "); break;
+ case 0:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "LSB ");
+ break;
- case 1: rig_debug(RIG_DEBUG_VERBOSE, "%s", "USB "); break;
+ case 1:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "USB ");
+ break;
- case 2: rig_debug(RIG_DEBUG_VERBOSE, "%s", "CW-W"); break;
+ case 2:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "CW-W");
+ break;
- case 3: rig_debug(RIG_DEBUG_VERBOSE, "%s", "CW-N"); break;
+ case 3:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "CW-N");
+ break;
- case 4: rig_debug(RIG_DEBUG_VERBOSE, "%s", "AM-W"); break;
+ case 4:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "AM-W");
+ break;
- case 5: rig_debug(RIG_DEBUG_VERBOSE, "%s", "AM-N"); break;
+ case 5:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "AM-N");
+ break;
- case 6: rig_debug(RIG_DEBUG_VERBOSE, "%s", "FSK"); break;
+ case 6:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "FSK");
+ break;
- case 7: rig_debug(RIG_DEBUG_VERBOSE, "%s", "FM"); break;
+ case 7:
+ rig_debug(RIG_DEBUG_TRACE, "%s", "FM");
+ break;
}
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
}
-static void dump_MEM_CH_SW(unsigned char data)
+static void dump_mem_ch_sw(unsigned char data)
{
- rig_debug(RIG_DEBUG_VERBOSE, "MEM_CH_SW :%d\n", data + 1);
+ rig_debug(RIG_DEBUG_TRACE, "mem_ch_sw :%d\n", data + 1);
}
-static void dump_STATUS_FLAG(unsigned char data)
+static void dump_status_flag_bits(unsigned char data)
{
unsigned char TX = data & 0x01;
unsigned char SPLIT = data & 0x08;
unsigned char VFO = data & 0x20;
unsigned char CLAR = data & 0x40;
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "STATUS_FLAG :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "status_flag_bits :");
if (TX)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "TX ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "TX ");
}
else
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "RX ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "RX ");
}
if (SPLIT)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "SPLIT ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "SPLIT ");
}
else
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "SIMPLEX ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "SIMPLEX ");
}
if (VFO)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "VFO ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "VFO ");
}
else
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "MEMORY ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "MEMORY ");
}
if (CLAR)
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "CLAR_ON ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "CLAR_ON ");
}
else
{
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "CLAR_OFF");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "CLAR_OFF");
}
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
}
static void dump_memory(_ft980_memory_t *memory)
{
- if (!rig_need_debug(RIG_DEBUG_VERBOSE))
+ if (!rig_need_debug(RIG_DEBUG_TRACE))
{
return;
}
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_1 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_1 :");
dump_freq(memory->mem_1);
dump_vfo(memory->vfo_1);
dump_mode(memory->mode_1);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_2 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_2 :");
dump_freq(memory->mem_2);
dump_vfo(memory->vfo_2);
dump_mode(memory->mode_2);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_3 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_3 :");
dump_freq(memory->mem_3);
dump_vfo(memory->vfo_3);
dump_mode(memory->mode_3);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_4 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_4 :");
dump_freq(memory->mem_4);
dump_vfo(memory->vfo_4);
dump_mode(memory->mode_4);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_5 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_5 :");
dump_freq(memory->mem_5);
dump_vfo(memory->vfo_5);
dump_mode(memory->mode_5);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_6 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_6 :");
dump_freq(memory->mem_6);
dump_vfo(memory->vfo_6);
dump_mode(memory->mode_6);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_7 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_7 :");
dump_freq(memory->mem_7);
dump_vfo(memory->vfo_7);
dump_mode(memory->mode_7);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_8 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_8 :");
dump_freq(memory->mem_8);
dump_vfo(memory->vfo_8);
dump_mode(memory->mode_8);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_9 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_9 :");
dump_freq(memory->mem_9);
dump_vfo(memory->vfo_9);
dump_mode(memory->mode_9);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_10 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_10 :");
dump_freq(memory->mem_10);
dump_vfo(memory->vfo_10);
dump_mode(memory->mode_10);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_11 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_11 :");
dump_freq(memory->mem_11);
dump_vfo(memory->vfo_11);
dump_mode(memory->mode_11);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_12 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_12 :");
dump_freq(memory->mem_12);
dump_vfo(memory->vfo_12);
dump_mode(memory->mode_12);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_13 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_13 :");
dump_freq(memory->mem_13);
dump_vfo(memory->vfo_13);
dump_mode(memory->mode_13);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_14 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_14 :");
dump_freq(memory->mem_14);
dump_vfo(memory->vfo_14);
dump_mode(memory->mode_14);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_15 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_15 :");
dump_freq(memory->mem_15);
dump_vfo(memory->vfo_15);
dump_mode(memory->mode_15);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "mem_16 :");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_16 :");
dump_freq(memory->mem_16);
dump_vfo(memory->vfo_16);
dump_mode(memory->mode_16);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "GEN :");
- dump_freq(memory->GEN);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "gen_vfo_freq :");
+ dump_freq(memory->gen_vfo_freq);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\nHAM :");
- dump_freq(memory->HAM);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\nHAM :");
+ dump_freq(memory->ham_vfo_freq);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n ");
dump_vfo(memory->vfo);
dump_mode(memory->mode);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "CLAR :");
- dump_freq(memory->CLAR);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "clar_freq :");
+ dump_freq(memory->clar_freq);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "f_1 :");
- dump_freq(memory->ff_1);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_shift_freq :");
+ dump_freq(memory->mem_shift_freq);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "f_2 :");
- dump_freq(memory->ff_2);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "mem_clar_freq :");
+ dump_freq(memory->mem_clar_freq);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- rig_debug(RIG_DEBUG_VERBOSE, "%s", " ");
+ rig_debug(RIG_DEBUG_TRACE, "%s", " ");
dump_vfo(memory->vfo);
dump_mode(memory->mode);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "LDB :");
- dump_switch(memory->LDB);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "ldb_flag :");
+ dump_switch(memory->ldb_flag);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "EXT_CTL :");
- dump_switch(memory->EXT_CTL);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "ext_ctl_flag :");
+ dump_switch(memory->ext_ctl_flag);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- dump_IF_SHIFT(memory->IF_SHIFT);
- dump_SPLIT_CODE(memory->SPLIT_CODE);
- dump_FSK_SHIFT(memory->FSK_SHIFT);
- dump_IF_WIDTH(memory->IF_WIDTH);
- dump_MEM_SHIFT(memory->MEM_SHIFT);
- dump_CLAR_FLAG(memory->CLAR_FLAG);
- dump_TAB_FLAG(memory->TAB_FLAG);
- dump_SELECT_SW(memory->SELECT_SW);
+ dump_if_shift(memory->if_shift);
+ dump_rptr_split_code(memory->rptr_split_code);
+ dump_fsk_shift(memory->fsk_shift);
+ dump_if_width(memory->if_width);
+ dump_mem_shift_flag(memory->mem_shift_flag);
+ dump_clar_flag(memory->clar_flag);
+ dump_tab_flag(memory->tab_flag);
+ dump_freq_select_sws(memory->freq_select_sws);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "OFFSET_SW :");
- dump_switch(memory->OFFSET_SW);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "offset_sw :");
+ dump_switch(memory->offset_sw);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- dump_MODE_SW(memory->MODE_SW);
- dump_MEM_CH_SW(memory->MEM_CH_SW);
+ dump_mode_sw(memory->mode_sw);
+ dump_mem_ch_sw(memory->mem_ch_sw);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "LOW_TAB :");
- dump_freq(memory->LOW_TAB);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "lower_tab_freq :");
+ dump_freq(memory->lower_tab_freq);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "UP_TAB :");
- dump_freq(memory->UP_TAB);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "upper_tab_freq :");
+ dump_freq(memory->upper_tab_freq);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- rig_debug(RIG_DEBUG_VERBOSE, "%s", " ");
- dump_vfo(memory->VFO_STATUS);
- dump_mode(memory->OP_MODE);
+ rig_debug(RIG_DEBUG_TRACE, "%s", " ");
+ dump_vfo(memory->op_vfo);
+ dump_mode(memory->op_mode);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "OP_FREQ :");
- dump_freq(memory->OP_FREQ);
- rig_debug(RIG_DEBUG_VERBOSE, "%s", "\n");
+ rig_debug(RIG_DEBUG_TRACE, "%s", "op_freq :");
+ dump_freq(memory->op_freq);
+ rig_debug(RIG_DEBUG_TRACE, "%s", "\n");
- dump_STATUS_FLAG(memory->STATUS_FLAG);
+ dump_status_flag_bits(memory->status_flag_bits);
}
@@ -635,6 +569,8 @@ int ft980_transaction(RIG *rig, const unsigned char *cmd, unsigned char *data,
int retval;
char echo_back[YAESU_CMD_LENGTH];
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
rig_flush(&rig->state.rigport);
retval = write_block(&rig->state.rigport, (const char *)cmd, YAESU_CMD_LENGTH);
@@ -684,12 +620,14 @@ int ft980_get_status_data(RIG *rig)
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
int retval;
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
if (!rig_check_cache_timeout(&priv->status_tv, FT980_CACHE_TIMEOUT))
{
return RIG_OK;
}
- retval = ft980_transaction(rig, cmd, (unsigned char *)&priv->update_data, 148);
+ retval = ft980_transaction(rig, cmd, (unsigned char *)&priv->update_data, FT980_ALL_STATUS_LENGTH);
if (retval != RIG_OK)
{
@@ -704,20 +642,33 @@ int ft980_get_status_data(RIG *rig)
return retval;
}
-
-/*
- * ft980_open routine
+/****************************************************************************
+ * rig_init*
+ *
+ * Initialize memory & rig private data structure
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Nothing special here
*
*/
-int ft980_open(RIG *rig)
+int ft980_init(RIG *rig)
{
- unsigned char echo_back[YAESU_CMD_LENGTH];
struct ft980_priv_data *priv;
- int retry_count1 = 0;
- rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__);
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
+ if (!rig)
+ {
+ return -RIG_EINVAL;
+ }
- rig->state.priv = calloc(1, sizeof(struct ft980_priv_data));
+ rig->state.priv = (struct ft980_priv_data *) calloc(1,
+ sizeof(struct ft980_priv_data));
if (!rig->state.priv)
{
@@ -728,6 +679,71 @@ int ft980_open(RIG *rig)
memset(priv, 0, sizeof(struct ft980_priv_data));
+ // Initialize operating vfo mode to current VFO
+ priv->current_vfo = RIG_VFO_MAIN;
+
+ return RIG_OK;
+}
+
+/****************************************************************************
+ * rig_cleanup*
+ *
+ * Release memory in rig private data structure for a clean exit
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Nothing special here
+ *
+ */
+int ft980_cleanup(RIG *rig)
+{
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
+ if (!rig)
+ {
+ return -RIG_EINVAL;
+ }
+
+ if (rig->state.priv)
+ {
+ free(rig->state.priv);
+ }
+
+ rig->state.priv = NULL;
+
+ return RIG_OK;
+}
+
+/****************************************************************************
+ * rig_open*
+ *
+ * Initialize memory & rig private data structure
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Should be able to optimize
+ * ToDo: add check so we don't get stuck in EXT CTRL toggle trap/loop
+ *
+ */
+int ft980_open(RIG *rig)
+{
+ unsigned char echo_back[YAESU_CMD_LENGTH];
+ struct ft980_priv_data *priv;
+ int retry_count1 = 0;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
+ priv = (struct ft980_priv_data *)rig->state.priv;
+
/* send Ext Cntl ON: Activate CAT */
do
{
@@ -743,20 +759,35 @@ int ft980_open(RIG *rig)
while (retval != 5 && retry_count2++ < rig->state.rigport.retry);
write_block(&rig->state.rigport, (char *) cmd_OK, YAESU_CMD_LENGTH);
- retval = read_block(&rig->state.rigport, (char *) &priv->update_data, 148);
+ retval = read_block(&rig->state.rigport, (char *) &priv->update_data, FT980_ALL_STATUS_LENGTH);
}
- while (!priv->update_data.EXT_CTL && retry_count1++ < rig->state.rigport.retry);
+ while (!priv->update_data.ext_ctl_flag && retry_count1++ < rig->state.rigport.retry);
return RIG_OK;
}
+/****************************************************************************
+ * rig_close*
+ *
+ * Send command to toggle out of EXT CTRL mode
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Nothing special here
+ * Could be optimized.
+ *
+ */
int ft980_close(RIG *rig)
{
unsigned char echo_back[YAESU_CMD_LENGTH];
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
int retry_count1 = 0;
- rig_debug(RIG_DEBUG_TRACE, "%s called\n", __func__);
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
do
{
@@ -772,35 +803,113 @@ int ft980_close(RIG *rig)
while (retval != 5 && retry_count2++ < rig->state.rigport.retry);
write_block(&rig->state.rigport, (char *) cmd_OK, YAESU_CMD_LENGTH);
- retval = read_block(&rig->state.rigport, (char *) &priv->update_data, 148);
+ retval = read_block(&rig->state.rigport, (char *) &priv->update_data, FT980_ALL_STATUS_LENGTH);
}
- while (priv->update_data.EXT_CTL && retry_count1++ < rig->state.rigport.retry);
+ while (priv->update_data.ext_ctl_flag && retry_count1++ < rig->state.rigport.retry);
- free(priv);
return RIG_OK;
}
-
+/*
+ * Only the current VFO frequency can be set
+ * Other Hamlib backends (ex FT-990) switch VFO, change freq, then exit
+ * They do not return to the original VFO.
+ * We will stick with this convention for now.
+ *
+ * ToDo: Check return data to verify frequency was set correctly
+ */
+/*
+ * rig_set_freq*
+ *
+ * Set frequency for a given VFO
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * vfo | input | currVFO, VFOA, VFOB, MEM
+ * freq | input | 100000 - 30000000
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Passing currVFO to vfo will use the currently selected VFO
+ * obtained from the priv->current_vfo data structure.
+ * In all other cases the passed vfo is selected if it differs
+ * from the currently selected VFO.
+ *
+ * Issues: an error will occur with the 4.0 rig.c set_cache_freq routine when
+ * targeting VFO_MEM.
+ */
int ft980_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
unsigned char cmd[YAESU_CMD_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x08};
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
+ int err;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
+ rig_debug(RIG_DEBUG_TRACE, " %s: passed vfo = 0x%02x\n", __func__, vfo);
+ rig_debug(RIG_DEBUG_TRACE, " %s: passed freq = %lf Hz\n", __func__, freq);
+
+ // Set to selected VFO
+ if (vfo == RIG_VFO_CURR)
+ {
+ vfo = priv->current_vfo;
+ rig_debug(RIG_DEBUG_TRACE, " %s: priv->current.vfo = 0x%02x\n",
+ __func__, vfo);
+ }
+ else
+ {
+ if (vfo != priv->current_vfo)
+ {
+ err = ft980_set_vfo(rig, vfo);
+
+ if (err != RIG_OK)
+ {
+ return err;
+ }
+ }
+ }
/* store bcd format in cmd (MSB) */
to_bcd(cmd, freq / 10, 8);
+ /* why is this done ? */
rig_force_cache_timeout(&priv->status_tv);
/* Frequency set */
return ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, 5), 5);
}
+/*
+ * We can get HAM, GEN, Memory Shift (?), "Operating"
+ * What is memory "Shift"?
+ */
+/*
+ * rig_get_freq*
+ *
+ * Get frequency for a given VFO
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * vfo | input | currVFO, Main, VFO, VFOA, VFOB, MEM
+ * freq * | output | 100000 - 30000000
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Passing currVFO to vfo will use the currently selected VFO
+ * obtained from the priv->current_vfo data structure.
+ * In all other cases the passed vfo is selected if it differs
+ * from the currently selected VFO.
+ */
int ft980_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
int retval;
freq_t f;
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
+ rig_debug(RIG_DEBUG_TRACE, " %s: passed vfo = 0x%02x\n", __func__, vfo);
+
/* Frequency get */
retval = ft980_get_status_data(rig);
@@ -809,45 +918,122 @@ int ft980_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
return retval;
}
- f = from_bcd(priv->update_data.OP_FREQ, 8);
+ switch (vfo)
+ {
+ case RIG_VFO_CURR:
+ f = from_bcd(priv->update_data.op_freq, 8);
+ break;
+
+ case RIG_VFO_MAIN:
+ f = from_bcd(priv->update_data.ham_vfo_freq, 8);
+ break;
+
+ case RIG_VFO_SUB:
+ f = from_bcd(priv->update_data.gen_vfo_freq, 8);
+ break;
+
+ case RIG_VFO_MEM:
+ f = from_bcd(priv->update_data.mem_shift_freq, 8);
+ break;
+
+ default:
+ return -RIG_EINVAL;
+ }
+
+ rig_debug(RIG_DEBUG_TRACE,
+ "%s: Selected Memory Freq = %lf\n", __func__, f*10);
*freq = f * 10; /* return displayed frequency */
return RIG_OK;
}
-
-#define MD_LSB 0x10
-#define MD_USB 0x11
-#define MD_CW 0x12
-#define MD_CWN 0x13
-#define MD_AM 0x14
-#define MD_AMN 0x15
-#define MD_RTTY 0x16
-#define MD_FM 0x17
-
+/*
+ * Only the current VFO mode can be set
+ * Other Hamlib backends (ex FT-990) switch VFO, change mode, then exit
+ * They do not return to the original VFO.
+ * We will stick with this convention for now.
+ *
+ * ToDo: Check return data to verify mode was set correctly
+ */
+/*
+ * rig_set_mode*
+ *
+ * Set mode for a given VFO
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * vfo | input | currVFO, Main, Sub, MEM
+ * mode | input | byte
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Passing currVFO to vfo will use the currently selected VFO
+ * obtained from the priv->current_vfo data structure.
+ * In all other cases the passed vfo is selected if it differs
+ * from the currently selected VFO.
+ */
int ft980_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
unsigned char cmd[YAESU_CMD_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x0A};
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
unsigned char md;
+ int err;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
+ rig_debug(RIG_DEBUG_TRACE, " %s: passed vfo = 0x%02x\n", __func__, vfo);
+ rig_debug(RIG_DEBUG_TRACE, " %s: passed mode = %s\n", __func__, rig_strrmode(mode));
+ rig_debug(RIG_DEBUG_TRACE, " %s: passed width = %ld Hz\n", __func__, width);
+
+ // Set to selected VFO
+ if (vfo == RIG_VFO_CURR)
+ {
+ vfo = priv->current_vfo;
+ rig_debug(RIG_DEBUG_TRACE, "%s: priv->current.vfo = 0x%02x\n",
+ __func__, vfo);
+ }
+ else
+ {
+ if (vfo != priv->current_vfo)
+ {
+ err = ft980_set_vfo(rig, vfo);
+
+ if (err != RIG_OK)
+ {
+ return err;
+ }
+ }
+ }
/*
* translate mode from generic to ft980 specific
*/
switch (mode)
{
- case RIG_MODE_CW : md = MD_CW; break;
+ case RIG_MODE_CW :
+ md = FT980_CMD0A_MD_CW;
+ break;
- case RIG_MODE_USB: md = MD_USB; break;
+ case RIG_MODE_USB:
+ md = FT980_CMD0A_MD_USB;
+ break;
- case RIG_MODE_LSB: md = MD_LSB; break;
+ case RIG_MODE_LSB:
+ md = FT980_CMD0A_MD_LSB;
+ break;
- case RIG_MODE_FM: md = MD_FM; break;
+ case RIG_MODE_FM:
+ md = FT980_CMD0A_MD_FM;
+ break;
- case RIG_MODE_AM: md = MD_AM; break;
+ case RIG_MODE_AM:
+ md = FT980_CMD0A_MD_AM;
+ break;
- case RIG_MODE_RTTY: md = MD_RTTY; break;
+ case RIG_MODE_RTTY:
+ md = FT980_CMD0A_MD_RTTY;
+ break;
default:
return -RIG_EINVAL; /* sorry, wrong MODE */
@@ -859,25 +1045,49 @@ int ft980_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
switch (md)
{
- case MD_CW: md = MD_CWN; break;
+ case FT980_CMD0A_MD_CW:
+ md = FT980_CMD0A_MD_CWN;
+ break;
- case MD_AM: md = MD_AMN; break;
+ case FT980_CMD0A_MD_AM:
+ md = FT980_CMD0A_MD_AMN;
+ break;
}
}
cmd[3] = md;
+ /* Might be deprecated in Hamlib 4.1 */
rig_force_cache_timeout(&priv->status_tv);
/* Mode set */
- return ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, 22), 22);
+ return ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, FT980_OTHER_STATUS_LENGTH), FT980_OTHER_STATUS_LENGTH);
}
/*
* rig_get_mode
*
* get mode eg AM, CW etc
+ * ??? What is the difference between byte 6 (operating mode vfo_op
+ * and byte 30 (selected VFO mode) ???
+ */
+/*
+ * rig_get_mode*
+ *
+ * Get frequency for a given VFO
*
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * vfo | input | currVFO, Main, VFO, VFOA, VFOB, MEM
+ * mode * | output | byte
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Passing currVFO to vfo will use the currently selected VFO
+ * obtained from the priv->current_vfo data structure.
+ * In all other cases the passed vfo is selected if it differs
+ * from the currently selected VFO.
*/
int ft980_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
{
@@ -885,6 +1095,9 @@ int ft980_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
int retval, norm;
+ rig_debug(RIG_DEBUG_VERBOSE, "%s: called\n", __func__);
+ rig_debug(RIG_DEBUG_TRACE, " %s: passed vfo = 0x%02x\n", __func__, vfo);
+
retval = ft980_get_status_data(rig);
if (retval != RIG_OK)
@@ -892,9 +1105,36 @@ int ft980_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
return retval;
}
- my_mode = priv->update_data.OP_MODE;
+ switch (vfo)
+ {
+ case RIG_VFO_CURR:
+ my_mode = priv->update_data.op_mode;
- rig_debug(RIG_DEBUG_TRACE, "%s: called\n", __func__);
+ rig_debug(RIG_DEBUG_TRACE,
+ " %s: Current VFO Mode = 0x%02x\n", __func__, my_mode);
+
+ break;
+
+ case RIG_VFO_MAIN:
+ case RIG_VFO_SUB:
+
+ /* This is a point of confusion: what exactly is byte 30? */
+
+ my_mode = priv->update_data.mode;
+ rig_debug(RIG_DEBUG_TRACE,
+ " %s: HAM/GEN VFO Mode = 0x%02x\n", __func__, my_mode);
+ break;
+
+ case RIG_VFO_MEM:
+ my_mode = priv->update_data.mem_mode;
+
+ rig_debug(RIG_DEBUG_TRACE,
+ " %s: MEM VFO Mode = 0x%02x\n", __func__, my_mode);
+ break;
+
+ default:
+ return -RIG_EVFO;
+ }
/*
* translate mode from ft980 to generic.
@@ -944,6 +1184,8 @@ int ft980_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
default:
return -RIG_EPROTO; /* Oops! file bug report */
}
+ rig_debug(RIG_DEBUG_TRACE, " %s: Hamlib mode = %s\n", __func__,
+ rig_strrmode(*mode));
if (norm)
{
@@ -953,10 +1195,7 @@ int ft980_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
{
*width = rig_passband_narrow(rig, *mode);
}
-
- rig_debug(RIG_DEBUG_TRACE, "%s: set mode = %s\n", __func__,
- rig_strrmode(*mode));
- rig_debug(RIG_DEBUG_TRACE, "%s: set width = %d Hz\n", __func__, (int)*width);
+ rig_debug(RIG_DEBUG_TRACE, " %s: Filter width = %d Hz\n", __func__, (int)*width);
return RIG_OK;
}
@@ -968,7 +1207,6 @@ int ft980_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t tx_vfo)
#if 0 // deprecated as was ignored before now
unsigned char cmd[YAESU_CMD_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x8e};
-
/*
* this can be misleading as Yaesu call it "Full duplex"
* or "sat mode", and split Yaesu terms is repeater shift.
@@ -995,6 +1233,8 @@ int ft980_set_mem(RIG *rig, vfo_t vfo, int ch)
unsigned char cmd[YAESU_CMD_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x0A };
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
if (ch > 16 || ch < 1)
{
return -RIG_EINVAL;
@@ -1002,14 +1242,32 @@ int ft980_set_mem(RIG *rig, vfo_t vfo, int ch)
cmd[3] = ch - 1;
- return ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, 22), 22);
+ return ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, FT980_OTHER_STATUS_LENGTH), FT980_OTHER_STATUS_LENGTH);
}
+/****************************************************************************
+ * rig_get_mem
+ *
+ * Get the number of the currently selected memory
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * vfo | input | Not applicable for FT-980
+ * ch | output | pointer to channel integer to be returned
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: returns currently selected memory channel regardlessof front
+ * panel knob selection (can be different when CAT is enabled).
+ */
int ft980_get_mem(RIG *rig, vfo_t vfo, int *ch)
{
struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
int retval;
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
retval = ft980_get_status_data(rig);
if (retval != RIG_OK)
@@ -1017,7 +1275,160 @@ int ft980_get_mem(RIG *rig, vfo_t vfo, int *ch)
return retval;
}
- *ch = priv->update_data.MEM_CH_SW + 1;
+ *ch = priv->update_data.mem_ch_sw + 1;
+
+ return RIG_OK;
+}
+
+/****************************************************************************
+ * rig_set_vfo*
+ *
+ * Set operational VFO
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * vfo | input | currVFO, VFO_MAIN, VFOB/GEN, MEM
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments: Passing currVFO to vfo will essentially "no op"
+ * In all other cases the passed vfo is selected if it differs
+ * from the currently selected VFO.
+ */
+/* VFO_CURR: Whatever is shown in op_freq/op_mode */
+/* VFO_MAIN: Mode = VFO, VFO = MAIN */
+/* VFO_SUB: Mode = VFO, VFO = GEN */
+/* VFO_MEM: Mode = Memory, VFO = don't care */
+int ft980_set_vfo(RIG *rig, vfo_t vfo)
+{
+ unsigned char cmd[YAESU_CMD_LENGTH] = { 0x00, 0x00, 0x00, 0x00, 0x0A };
+ struct ft980_priv_data *priv;
+ int err;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
+ if (!rig)
+ {
+ return -RIG_EARG;
+ }
+
+ rig_debug(RIG_DEBUG_TRACE, "%s: passed vfo = %s\n", __func__, rig_strvfo(vfo));
+
+ priv = (struct ft980_priv_data *)rig->state.priv;
+
+ switch (vfo)
+ {
+ case RIG_VFO_CURR:
+ rig_debug(RIG_DEBUG_TRACE,
+ "%s: priv->current_vfo = 0x%02x\n", __func__, priv->current_vfo);
+ return RIG_OK;
+ break;
+
+ case RIG_VFO_MAIN:
+ cmd[3] = FT980_CMD0A_VFO_SEL_HAM;
+ rig_debug(RIG_DEBUG_TRACE, "%s: set VFO GEN/HAM = 0x%02x\n",
+ __func__, cmd[3]);
+ err = ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, FT980_OTHER_STATUS_LENGTH), FT980_OTHER_STATUS_LENGTH);
+ if (err != RIG_OK)
+ {
+ return err;
+ }
+ cmd[3] = FT980_CMD0A_FREQ_SEL_VFO;
+ break;
+
+ case RIG_VFO_SUB:
+ cmd[3] = FT980_CMD0A_VFO_SEL_GEN;
+ rig_debug(RIG_DEBUG_TRACE, "%s: set VFO GEN/HAM = 0x%02x\n",
+ __func__, cmd[3]);
+ err = ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, FT980_OTHER_STATUS_LENGTH), FT980_OTHER_STATUS_LENGTH);
+ if (err != RIG_OK)
+ {
+ return err;
+ }
+ cmd[3] = FT980_CMD0A_FREQ_SEL_VFO;
+ break;
+
+ case RIG_VFO_MEM:
+ cmd[3] = FT980_CMD0A_FREQ_SEL_MR;
+ break;
+
+ default:
+ return -RIG_EVFO;
+ }
+
+ rig_debug(RIG_DEBUG_TRACE, "%s: set VFO Status = %s\n",
+ __func__, rig_strvfo(vfo));
+
+ return ft980_transaction(rig, cmd, UPDATE_DATA_OFS(&priv->update_data, FT980_OTHER_STATUS_LENGTH), FT980_OTHER_STATUS_LENGTH);
+}
+
+/****************************************************************************
+ * rig_get_vfo*
+ *
+ * Get operational VFO
+ *
+ * Parameter | Type | Accepted/Expected Values
+ * -------------------------------------------------------------------------
+ * RIG * | input | pointer to private data
+ * vfo * | output | currVFO, VFO_MAIN, VFOB/GEN, MEM
+ * -------------------------------------------------------------------------
+ * Returns RIG_OK on success or an error code on failure
+ *
+ * Comments:
+ * VFO_MAIN: If (Status = VFO && VFO = MAIN) || (Status = RXV && VFO = MAIN)
+ * VFO_SUB: If (Status = VFO && VFO = GEN) || (Status = RXV && VFO = GEN)
+ * VFO_MEM: If *Status = Memory) || (Status = RXM)
+ *
+ * If operating in split (RXM, RXV) then get_vfo returns the receive vfo
+ */
+int ft980_get_vfo(RIG *rig, vfo_t *vfo)
+{
+ int err;
+ struct ft980_priv_data *priv = (struct ft980_priv_data *)rig->state.priv;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+ if (!rig)
+ {
+ return -RIG_EARG;
+ }
+
+ /* Get flags for VFO status */
+ err = ft980_get_status_data(rig);
+ if (err != RIG_OK)
+ {
+ return err;
+ }
+
+ rig_debug(RIG_DEBUG_TRACE,
+ "%s: status_flag_bits = 0x%02x\n", __func__,
+ priv->update_data.status_flag_bits);
+ rig_debug(RIG_DEBUG_TRACE,
+ "%s: op_vfo = %s\n", __func__,
+ rig_strvfo(priv->update_data.op_vfo));
+
+ /* Decode the VFO Setting and VFO States */
+ if (!(priv->update_data.status_flag_bits & FT_980_STATUSFLAG_VFO_MASK))
+ {
+ priv->current_vfo = RIG_VFO_MEM;
+ }
+ else if (priv->update_data.op_vfo == FT980_VFO_HAM_SEL)
+ {
+ priv->current_vfo = RIG_VFO_MAIN;
+ }
+ else if (priv->update_data.op_vfo == FT980_VFO_GEN_SEL)
+ {
+ priv->current_vfo = RIG_VFO_SUB;
+ }
+ else
+ {
+ return -RIG_EVFO;
+ }
+
+ rig_debug(RIG_DEBUG_TRACE,
+ "%s: stat_vfo = %s\n", __func__, rig_strvfo(priv->current_vfo));
+
+ *vfo = priv->current_vfo;
return RIG_OK;
}
diff --git a/rigs/yaesu/ft980.h b/rigs/yaesu/ft980.h
new file mode 100644
index 00000000..3cc93197
--- /dev/null
+++ b/rigs/yaesu/ft980.h
@@ -0,0 +1,460 @@
+/*
+ * hamlib - (C) Stephane Fillod 2002, 2003 (fillods at users.sourceforge.net)
+ *
+ * ft980.h - (C) Mat Breton, 2020
+ *
+ * This shared library provides an API for communicating
+ * via serial interface to an FT-990 using the "CAT" interface
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+/* This file is a bit of a hack at the moment, containing both public and private declarations
+ * ToDo: Fix this point later, but temporarily necessary to sort stuff out right now
+ */
+
+#ifndef _FT980_H
+#define _FT980_H 1
+
+/* Lets make the Linters Happy - remove later*/
+#ifndef _RIG_H
+#include "hamlib/rig.h"
+#endif
+
+#ifndef _YAESU_H
+#include "yaesu.h"
+#endif
+
+#ifndef _BANDPLAN_H
+#include "bandplan.h"
+#endif
+/* End of Happy Linter Section */
+
+/*************************************************************************************
+ * Semi-Public prototypes: need to be placed before the caps construct
+ * HAMLIB API implementation
+ */
+static int ft980_init(RIG *rig);
+static int ft980_cleanup(RIG *rig);
+static int ft980_open(RIG *rig);
+static int ft980_close(RIG *rig);
+
+static int ft980_set_freq(RIG *rig, vfo_t vfo, freq_t freq);
+static int ft980_get_freq(RIG *rig, vfo_t vfo, freq_t *freq);
+static int ft980_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width);
+static int ft980_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width);
+
+static int ft980_set_mem(RIG *rig, vfo_t vfo, int ch);
+static int ft980_get_mem(RIG *rig, vfo_t vfo, int *ch);
+
+static int ft980_set_vfo(RIG *rig, vfo_t vfo);
+static int ft980_get_vfo(RIG *rig, vfo_t *vfo);
+
+#if 0
+static int ft980_set_rit(RIG *rig, vfo_t vfo, shortfreq_t rit);
+static int ft980_get_rit(RIG *rig, vfo_t vfo, shortfreq_t *rit);
+
+static int ft980_set_xit(RIG *rig, vfo_t vfo, shortfreq_t xit);
+static int ft980_get_xit(RIG *rig, vfo_t vfo, shortfreq_t *xit);
+
+static int ft980_set_split_vfo(RIG *rig, vfo_t vfo, split_t split,
+ vfo_t tx_vfo);
+static int ft980_set_split_freq(RIG *rig, vfo_t vfo, freq_t freq);
+static int ft980_set_split_mode(RIG *rig, vfo_t vfo, rmode_t mode,
+ pbwidth_t width);
+
+static int ft980_set_rptr_shift(RIG *rig, vfo_t vfo, rptr_shift_t shift);
+static int ft980_set_rptr_offs(RIG *rig, vfo_t vfo, shortfreq_t offs);
+#endif
+
+
+/*************************************************************************************
+ * Constants (enums and defines, w/ a couple typedefs thrown in)
+ */
+
+/* Handy constants */
+#ifndef TRUE
+#define TRUE 1
+#endif
+#define ON TRUE
+#ifndef FALSE
+#define FALSE 0
+#endif
+#define OFF FALSE
+
+/* FT-980 Status Return Message Lengths */
+#define FT980_ALL_STATUS_LENGTH 148
+#define FT980_OTHER_STATUS_LENGTH 22
+#define FT980_RPTRSPLT_STATUS_LENGTH 6
+#define FT980_UPDN_STATUS_LENGTH 5
+#define FT980_ONEBYTE_ST...
[truncated message content] |
|
From: Michael B. <mdb...@us...> - 2021-02-06 14:24:08
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via bc5cad06b78789f2d377c311ac1ba15c48fe5a0b (commit)
via 47179606c66832a08d3092e8b520e3381409a004 (commit)
via a7058ff76c849163b37509d91ac99af313dc5bd1 (commit)
via 3fa25cb5f3088f27cf43d1caf48ed478b5af5d60 (commit)
via 20ce18f47744809b1e7d7f7e58fe77ede53bbf0b (commit)
via 865c28c4ca212d5bb316c1fc4d7bc6831e88b3a8 (commit)
via d4bc60be0bc6e6b3288d8ebe5f245bc9e71ee846 (commit)
via b5c96e0cde45f72789326f661b1acc587afb7929 (commit)
from 1d8a010493528168e1ac2d033892ed547782e08f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit bc5cad06b78789f2d377c311ac1ba15c48fe5a0b
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Feb 6 08:23:23 2021 -0600
Bump version in pihpsdr.c
diff --git a/rigs/kenwood/pihpsdr.c b/rigs/kenwood/pihpsdr.c
index 46dcf7f5..c711ea44 100644
--- a/rigs/kenwood/pihpsdr.c
+++ b/rigs/kenwood/pihpsdr.c
@@ -103,7 +103,7 @@ const struct rig_caps pihpsdr_caps =
RIG_MODEL(RIG_MODEL_HPSDR),
.model_name = "PiHPSDR",
.mfg_name = "OpenHPSDR",
- .version = BACKEND_VER ".0",
+ .version = BACKEND_VER ".1",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
commit 47179606c66832a08d3092e8b520e3381409a004
Merge: a7058ff7 865c28c4
Author: Michael Black <mdb...@ya...>
Date: Sat Feb 6 08:22:42 2021 -0600
Merge pull request #527 from dl1ycf/master
Fixed pihpsdr power reading
commit a7058ff76c849163b37509d91ac99af313dc5bd1
Merge: 1d8a0104 3fa25cb5
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 6 07:25:06 2021 -0600
Merge pull request #528 from N0NB/doxygen_work
Doxygen work
commit 3fa25cb5f3088f27cf43d1caf48ed478b5af5d60
Merge: 20ce18f4 1d8a0104
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 6 07:17:12 2021 -0600
Merge branch 'master' into doxygen_work
commit 20ce18f47744809b1e7d7f7e58fe77ede53bbf0b
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 6 07:16:09 2021 -0600
Update Doxygen comments in amplifier.h
diff --git a/include/hamlib/amplifier.h b/include/hamlib/amplifier.h
index b7af885d..2222ea16 100644
--- a/include/hamlib/amplifier.h
+++ b/include/hamlib/amplifier.h
@@ -35,7 +35,9 @@
* \brief Hamlib amplifier data structures.
*
* This file contains the data structures and declarations for the Hamlib
- * amplifier API. see the amplifier.c file for more details on the amplifier API.
+ * amplifier Application Programming Interface (API).
+ *
+ * See the `amplifier.c` file for details on the amplifier API functions.
*/
@@ -50,35 +52,52 @@ struct amp_state;
/**
* \typedef typedef struct amp AMP
- * \brief Amplifier structure definition (see amp for details).
+ * \brief Main amplifier handle type definition.
+ *
+ * The AMP handle is returned by amp_init() and is passed as a parameter to
+ * every amplifier specific API call.
+ *
+ * amp_cleanup() must be called when this handle is no longer needed.
*/
typedef struct amp AMP;
/**
* \typedef typedef float swr_t
- * \brief Type definition for SWR.
+ * \brief Type definition for
+ * <a href="https://en.wikipedia.org/wiki/Standing_wave_ratio" >SWR (Standing Wave Ratio)</a>.
*
- * The swr_t type is used as a parameter for the amp_get_swr() function.
+ * The \c swr_t type is used as a parameter for the amp_get_swr() function.
*
- * Unless specified otherwise, the unit of swr_t is 1.0 to max reported by tuner
+ * The unit of \c swr_t is 1.0 to the maximum value reported by the amplifier's
+ * internal antenna system tuner, i.e.
+ * <a href="http://www.arrl.org/transmatch-antenna-tuner" >transmatch</a>,
+ * representing the ratio of 1.0:1 to Maximum:1.
*/
typedef float swr_t;
/**
* \typedef typedef float tune_value_t
- * \brief Type definition for tuning values capacitance and resistance.
+ * \brief Type definition for the
+ * <a href="http://www.arrl.org/transmatch-antenna-tuner" >transmatch</a>
+ * tuning values of
+ * <a href="https://en.wikipedia.org/wiki/Capacitance" >capacitance</a>
+ * and
+ * <a href="https://en.wikipedia.org/wiki/Inductance" >inductance</a>.
*
- * The tune_value_t type is used as a parameter for the amp_get_level()
+ * The \c tune_value_t type is used as a parameter for amp_get_level().
*
- * Unless specified otherwise, the units of tune_value_t is pF and nH
+ * The unit of \c tune_value_t is
+ * <a href="https://en.wikipedia.org/wiki/Farad" >picoFarads (pF)</a>
+ * or
+ * <a href="https://en.wikipedia.org/wiki/Henry_(unit)" >nanoHenrys (nH)</a>.
*/
typedef int tune_value_t;
/**
- * \brief Token in the netampctl protocol for returning error code
+ * \brief The token in the netampctl protocol for returning an error condition code.
*/
#define NETAMPCTL_RET "RPRT "
@@ -86,9 +105,9 @@ typedef int tune_value_t;
//! @cond Doxygen_Suppress
typedef enum
{
- AMP_RESET_MEM, // erase tuner memory
- AMP_RESET_FAULT, // reset any fault
- AMP_RESET_AMP // for kpa1500
+ AMP_RESET_MEM, // erase tuner memory
+ AMP_RESET_FAULT, // reset any fault
+ AMP_RESET_AMP // for kpa1500
} amp_reset_t;
//! @endcond
@@ -103,27 +122,27 @@ typedef enum
//! @cond Doxygen_Suppress
// TBD AMP_TYPE
-#define AMP_TYPE_MASK (AMP_FLAG_1|AMP_FLAG_2)
+#define AMP_TYPE_MASK (AMP_FLAG_1|AMP_FLAG_2)
#define AMP_TYPE_OTHER 0
#define AMP_TYPE_1 AMP_FLAG_1
#define AMP_TYPE_2 AMP_FLAG_2
-#define AMP_TYPE_ALL (AMP_FLAG_1|AMP_FLAG_2)
+#define AMP_TYPE_ALL (AMP_FLAG_1|AMP_FLAG_2)
//! @endcond
//! @cond Doxygen_Suppress
enum amp_level_e
{
- AMP_LEVEL_NONE = 0, /*!< '' -- No Level */
- AMP_LEVEL_SWR = (1 << 0), /*!< \c SWR 1.0 or greater */
- AMP_LEVEL_NH = (1 << 1), /*!< \c Tune setting nanohenries */
- AMP_LEVEL_PF = (1 << 2), /*!< \c Tune setting picofarads */
- AMP_LEVEL_PWR_INPUT = (1 << 3), /*!< \c Power reading from amp */
- AMP_LEVEL_PWR_FWD = (1 << 4), /*!< \c Power reading forward */
- AMP_LEVEL_PWR_REFLECTED = (1 << 5), /*!< \c Power reading reverse */
- AMP_LEVEL_PWR_PEAK = (1 << 6), /*!< \c Power reading peak */
- AMP_LEVEL_FAULT = (1 << 7) /*!< \c Fault code */
+ AMP_LEVEL_NONE = 0, /*!< '' -- No Level. */
+ AMP_LEVEL_SWR = (1 << 0), /*!< \c SWR 1.0 or greater. */
+ AMP_LEVEL_NH = (1 << 1), /*!< \c Tune setting in nanohenries. */
+ AMP_LEVEL_PF = (1 << 2), /*!< \c Tune setting in picofarads. */
+ AMP_LEVEL_PWR_INPUT = (1 << 3), /*!< \c Power reading from amplifier. */
+ AMP_LEVEL_PWR_FWD = (1 << 4), /*!< \c Power reading forward. */
+ AMP_LEVEL_PWR_REFLECTED = (1 << 5), /*!< \c Power reading reverse. */
+ AMP_LEVEL_PWR_PEAK = (1 << 6), /*!< \c Power reading peak. */
+ AMP_LEVEL_FAULT = (1 << 7) /*!< \c Fault code. */
};
//! @endcond
@@ -139,36 +158,38 @@ enum amp_level_e
* enquiries about capabilities.
*/
+//! @cond Doxygen_Suppress
+#define AMP_MODEL(arg) .amp_model=arg,.macro_name=#arg
+//! @endcond
+
/**
- * Amplifier Caps
* \struct amp_caps
- * \brief Amplifier data structure.
+ * \brief Amplifier capabilities
*
* The main idea of this struct is that it will be defined by the backend
- * amplifier driver, and will remain readonly for the application. Fields that
- * need to be modifiable by the application are copied into the struct
- * amp_state, which is a kind of private of the AMP instance.
+ * amplifier driver and will remain read-only for the application. Fields
+ * that need to be modifiable by the application are copied into the struct
+ * \c amp_state, which is the private memory area of the AMP instance.
*
- * This way, you can have several rigs running within the same application,
- * sharing the struct amp_caps of the backend, while keeping their own
- * customized data.
+ * This way you can have several amplifiers running within the same
+ * application, sharing the struct \c amp_caps of the backend, while keeping
+ * their own customized data.
*
- * mdblack98: Don't move fields around and add new fields at end of caps
- * Shared libraries depend on constant structure to maintain compatibility
+ * \b Note: Don't move fields around and only add new fields at the end of the
+ * caps structure. Shared libraries depend on a constant structure to maintain
+ * compatibility.
*/
-//! @cond Doxygen_Suppress
-#define AMP_MODEL(arg) .amp_model=arg,.macro_name=#arg
struct amp_caps
{
- amp_model_t amp_model; /*!< Amplifier model. */
- const char *model_name; /*!< Model name. */
- const char *mfg_name; /*!< Manufacturer. */
+ amp_model_t amp_model; /*!< Amplifier model as defined in `amplist.h`. */
+ const char *model_name; /*!< Model name, e.g. MM-5k. */
+ const char *mfg_name; /*!< Manufacturer, e.g. Moonbeam. */
const char *version; /*!< Driver version. */
- const char *copyright; /*!< Copyright info. */
+ const char *copyright; /*!< Copyright info (should be LGPL). */
enum rig_status_e status; /*!< Driver status. */
int amp_type; /*!< Amplifier type. */
- enum rig_port_e port_type; /*!< Type of communication port. */
+ enum rig_port_e port_type; /*!< Type of communication port (serial, ethernet, etc.). */
int serial_rate_min; /*!< Minimal serial speed. */
int serial_rate_max; /*!< Maximal serial speed. */
@@ -180,65 +201,65 @@ struct amp_caps
int write_delay; /*!< Write delay. */
int post_write_delay; /*!< Post-write delay. */
int timeout; /*!< Timeout. */
- int retry; /*!< Number of retry if command fails. */
+ int retry; /*!< Number of retries if a command fails. */
- const struct confparams *cfgparams; /*!< Configuration parametres. */
+ const struct confparams *cfgparams; /*!< Configuration parameters. */
const rig_ptr_t priv; /*!< Private data. */
- const char *amp_model_macro_name; /*!< Model macro name */
+ const char *amp_model_macro_name; /*!< Model macro name. */
- setting_t has_get_level;
- setting_t has_set_level;
+ setting_t has_get_level; /*!< Has get_level capability. */
+ setting_t has_set_level; /*!< Has set_level capability. */
- gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
- gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
+ gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
+ gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
/*
* Amp Admin API
*
*/
- int (*amp_init)(AMP *amp);
- int (*amp_cleanup)(AMP *amp);
- int (*amp_open)(AMP *amp);
- int (*amp_close)(AMP *amp);
+ int (*amp_init)(AMP *amp); /*!< Initializes data structures and returns an #AMP handle--call before amp_open(). */
+ int (*amp_cleanup)(AMP *amp); /*!< Frees the data structures associated with the #AMP handle--call after amp_close(). */
+ int (*amp_open)(AMP *amp); /*!< Opens the communication channel to the amplifier. */
+ int (*amp_close)(AMP *amp); /*!< Closes the communication channel to the amplifier. */
- int (*set_freq)(AMP *amp, freq_t val);
- int (*get_freq)(AMP *amp, freq_t *val);
+ int (*set_freq)(AMP *amp, freq_t val); /*!< Set the frequency of the amplifier. */
+ int (*get_freq)(AMP *amp, freq_t *val); /*!< Query the frequency of the amplifier. */
- int (*set_conf)(AMP *amp, token_t token, const char *val);
- int (*get_conf)(AMP *amp, token_t token, char *val);
+ int (*set_conf)(AMP *amp, token_t token, const char *val); /*!< Set the configuration parameter \a val corresponding to the \a token. */
+ int (*get_conf)(AMP *amp, token_t token, char *val); /*!< Query the configuration parameter \a val corresponding to the \a token. */
/*
* General API commands, from most primitive to least.. :()
* List Set/Get functions pairs
*/
- int (*reset)(AMP *amp, amp_reset_t reset);
- int (*get_level)(AMP *amp, setting_t level, value_t *val);
- int (*get_ext_level)(AMP *amp, token_t level, value_t *val);
- int (*set_powerstat)(AMP *amp, powerstat_t status);
- int (*get_powerstat)(AMP *amp, powerstat_t *status);
+ int (*reset)(AMP *amp, amp_reset_t reset); /*!< Reset the amplifier (careful!). */
+ int (*get_level)(AMP *amp, setting_t level, value_t *val); /*!< Query the \a val corresponding to the \a level. */
+ int (*get_ext_level)(AMP *amp, token_t level, value_t *val); /*!< Query the \a val corresponding to the extra \a level. */
+ int (*set_powerstat)(AMP *amp, powerstat_t status); /*!< Turn the amplifier On or Off or toggle the Standby or Operate status. */
+ int (*get_powerstat)(AMP *amp, powerstat_t *status); /*!< Query the power or standby status of the amplifier. */
/* get firmware info, etc. */
- const char *(*get_info)(AMP *amp);
+ const char *(*get_info)(AMP *amp); /*!< Query available internal information of the amplifier (firmware version, etc.). */
+//! @cond Doxygen_Suppress
setting_t levels;
unsigned ext_levels;
- const struct confparams *extlevels;
- const struct confparams *extparms;
+//! @endcond
+ const struct confparams *extlevels; /*!< Extra levels structure. */
+ const struct confparams *extparms; /*!< Extra parameters structure. */
const char *macro_name; /*!< Macro name. */
};
-//! @endcond
/**
- * Amplifier state
* \struct amp_state
- * \brief Live data and customized fields.
+ * \brief Amplifier state
*
- * This struct contains live data, as well as a copy of capability fields
+ * This structure contains live data, as well as a copy of capability fields
* that may be updated (ie. customized)
*
* It is fine to move fields around, as this kind of struct should
@@ -264,21 +285,21 @@ struct amp_state
//! @endcond
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
- gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
+ gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
};
/**
- * Amplifier structure
* \struct amp
- * \brief This is the master data structure,
- * acting as a handle for the controlled amplifier.
+ * \brief Amplifier structure
*
- * This is the master data structure, acting as a handle for the controlled
- * amplifier. A pointer to this structure is returned by the amp_init() API
- * function and is passed as a parameter to every amplifier specific API call.
+ * Master amplifier data structure acting as a handle for the
+ * controlled amplifier.
*
- * \sa amp_init(), amp_caps(), amp_state()
+ * A pointer to this structure is returned by the amp_init() API function and
+ * is passed as a parameter to every amplifier specific API call.
+ *
+ * \sa amp_caps(), amp_state()
*/
struct amp
{
@@ -406,12 +427,10 @@ extern HAMLIB_EXPORT(const char *) amp_strlevel(setting_t);
/**
* \def amp_debug
- * \brief Convenience definition for debug level.
- *
- * This is just as convenience definition of the amplifier debug level,
- * and is the same as for the rig debug level.
+ * \brief Convenience macro for generating debugging messages.
*
- * \sa rig_debug()
+ * This is an alias of the rig_debug() function call and is used in the same
+ * manner.
*/
#define amp_debug rig_debug
commit 865c28c4ca212d5bb316c1fc4d7bc6831e88b3a8
Merge: b5c96e0c 1d8a0104
Author: DL1YCF <dl...@da...>
Date: Sat Feb 6 10:42:14 2021 +0100
Merge branch 'master' of https://github.com/Hamlib/Hamlib
commit d4bc60be0bc6e6b3288d8ebe5f245bc9e71ee846
Author: Nate Bargmann <n0...@n0...>
Date: Fri Feb 5 20:36:49 2021 -0600
Update Doxygen files
The latest Doxygen has changed the footer.html substantially from the
much older version we were using. Add some Hamlib project specific
information to it.
Align hamlib.cfg.in to the latest Doxygen.
Reduce hamlib.css to only those elements needed for Hamlib
customization.
Add hamlib.png as a project logo.
diff --git a/doc/footer.html b/doc/footer.html
index 38c4e29a..41c5ce94 100644
--- a/doc/footer.html
+++ b/doc/footer.html
@@ -1,8 +1,30 @@
-<!-- Footer for Doxygen HTML files -->
-<hr>
-<div class="doxy">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="$relpath$doxygen.png" alt="doxygen"/></a> $doxygenversion</small></address></div>
-<p style="font-size: 75%">Hamlib documentation for version $projectnumber -- $datetime<br />
-Project page: <a href="http://www.hamlib.org">http://www.hamlib.org</a><br />
-</p>
+<!-- HTML footer for doxygen 1.9.1-->
+<!-- start footer part -->
+<!--BEGIN GENERATE_TREEVIEW-->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ $navpath
+ <li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
+ </ul>
+</div>
+<!--END GENERATE_TREEVIEW-->
+<!--BEGIN !GENERATE_TREEVIEW-->
+<hr class="footer"/>
+<address class="footer">
+ <small>
+ $generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
+ </small>
+</address>
+<!--END !GENERATE_TREEVIEW-->
+<div id="hamlib" class="footer" >
+ <p class="alignleft">
+ Hamlib documentation for version $projectnumber—$datetime<br />
+ Project page: <a href="http://www.hamlib.org">http://www.hamlib.org</a><br />
+ </p>
+ <p class="alignright">
+ <a href="https://sourceforge.net/p/hamlib/"><img alt="Download Ham Radio Control Libraries" src="https://sourceforge.net/sflogo.php?type=13&group_id=8305" ></a>
+ </p>
+</div>
+<div style="clear: both;"></div>
</body>
</html>
diff --git a/doc/hamlib.cfg.in b/doc/hamlib.cfg.in
index 07d1eed0..e2225d8c 100644
--- a/doc/hamlib.cfg.in
+++ b/doc/hamlib.cfg.in
@@ -1,7 +1,8 @@
-## hamlib.cfg.in--converted into hamlib.cfg by configure
+## hamlib.cfg.in--converted into hamlib.cfg by config.status
-PROJECT_NAME = "Hamlib"
+PROJECT_NAME = Hamlib
PROJECT_NUMBER = @VERSION@
+PROJECT_LOGO = @top_srcdir@/doc/hamlib.png
# Output
OUTPUT_DIRECTORY= .
@@ -14,31 +15,31 @@ GENERATE_MAN = NO # User can set to YES for local man pages
MAN_EXTENSION = .3
# Input
-CASE_SENSE_NAMES = NO
-FULL_PATH_NAMES = NO
-INPUT = @top_srcdir@/doc/index.doxygen \
- @top_srcdir@/src/ @top_srcdir@/include/hamlib/
-
-INCLUDE_PATH = @top_srcdir@/include
-
-EXAMPLE_PATH = @top_srcdir@/tests/testrig.c \
- @top_srcdir@
-
-QUIET = YES
-
-HTML_STYLESHEET = @top_srcdir@/doc/hamlib.css
-HTML_FOOTER = @top_srcdir@/doc/footer.html
-
-EXTRACT_ALL = NO
-EXTRACT_STATIC = NO
-HIDE_UNDOC_MEMBERS = NO
-SHOW_INCLUDE_FILES = YES
-INHERIT_DOCS = YES
-ENABLED_SECTIONS = ""
-PREDEFINED = DOXYGEN "DOC_HIDDEN"
-JAVADOC_AUTOBRIEF = NO
-OPTIMIZE_OUTPUT_FOR_C = YES # doxygen 1.2.6 option
-
-MAN_LINKS = NO
-MACRO_EXPANSION = YES
-
+CASE_SENSE_NAMES = YES
+FULL_PATH_NAMES = NO
+INPUT = @top_srcdir@/doc/index.doxygen \
+ @top_srcdir@/include/hamlib/ \
+ @top_srcdir@/src/
+
+INCLUDE_PATH = @top_srcdir@/include
+
+EXAMPLE_PATH = @top_srcdir@/tests/testrig.c \
+ @top_srcdir@
+
+QUIET = YES
+
+HTML_FOOTER = @top_srcdir@/doc/footer.html
+HTML_EXTRA_STYLESHEET = @top_srcdir@/doc/hamlib.css
+
+EXTRACT_ALL = NO
+EXTRACT_STATIC = NO
+HIDE_UNDOC_MEMBERS = NO
+SHOW_INCLUDE_FILES = YES
+INHERIT_DOCS = YES
+ENABLED_SECTIONS = ""
+PREDEFINED = DOXYGEN "DOC_HIDDEN"
+JAVADOC_AUTOBRIEF = NO
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+MAN_LINKS = NO
+MACRO_EXPANSION = YES
diff --git a/doc/hamlib.css b/doc/hamlib.css
index 554d6261..d6edeb7a 100644
--- a/doc/hamlib.css
+++ b/doc/hamlib.css
@@ -1,662 +1,29 @@
-/* The standard CSS for doxygen */
+/* Custom CSS for Hamlib used by the Doxygen generated HTML pages. */
-body, table, div, p, dl {
- font-family: sans-serif;
- font-size: 100%;
-}
-
-/* @group Heading Levels */
-
-h1 {
- font-size: 2.5em;
-}
-
-h2 {
- font-size: 1.875em;
-}
-
-h3 {
- font-size: 1.20em;
-}
-
-dt {
- font-weight: bold;
-}
-
-div.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
-}
-
-p.startli, p.startdd, p.starttd {
- margin-top: 2px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-p.endtd {
- margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-h3.version {
- font-size: 90%;
- text-align: center;
-}
-
-div.qindex, div.navtab{
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- padding: 2px;
-}
-
-div.qindex, div.navpath {
- width: 100%;
- line-height: 140%;
-}
-
-div.navtab {
- margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
- color: #3D578C;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #4665A2;
-}
-
-a:hover {
- text-decoration: none;
- background-color: #f0f0fd;
-}
-
-a.qindex {
- font-weight: bold;
-}
-
-a.qindexHL {
- font-weight: bold;
- background-color: #9CAFD4;
- color: #ffffff;
- border: 1px double #869DCA;
-}
-
-.contents a.qindexHL:visited {
- color: #ffffff;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code {
- color: #4665A2;
-}
-
-a.codeRef {
- color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-.fragment {
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-pre.fragment {
- border: 1px solid #C4CFE5;
- background-color: #FBFCFD;
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
- overflow: auto;
- word-wrap: break-word;
- font-size: 90%;
- line-height: 125%;
-}
-
-div.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background: white;
- color: black;
- margin: 0;
-}
-
-div.contents {
- margin-top: 10px;
- margin-left: 10px;
- margin-right: 10px;
-}
-
-td.indexkey {
- background-color: #EBEFF6;
- font-weight: bold;
- border: 1px solid #C4CFE5;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
-}
-
-td.indexvalue {
- background-color: #EBEFF6;
- border: 1px solid #C4CFE5;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #EEF1F7;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-address.footer {
- text-align: right;
- padding-right: 12px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
- color: #008000
-}
-
-span.keywordtype {
- color: #604020
-}
-
-span.keywordflow {
- color: #e08000
-}
-
-span.comment {
- color: #800000
-}
-
-span.preprocessor {
- color: #806020
-}
-
-span.stringliteral {
- color: #002080
-}
-
-span.charliteral {
- color: #008080
-}
-
-span.vhdldigit {
- color: #ff00ff
-}
-
-span.vhdlchar {
- color: #000000
-}
-
-span.vhdlkeyword {
- color: #700070
-}
-
-span.vhdllogic {
- color: #ff0000
-}
-
-/* @end */
+/* Add padding around the Hamlib logo in the page header. */
-/*
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-*/
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
- background: #EBEFF6;
- font-weight: bold;
-}
-
-hr {
- height: 0px;
- border: none;
- border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
- height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
- border-spacing: 0px;
- padding: 0px;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #F9FAFC;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #C4CFE5;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memTemplParams {
- color: #4665A2;
- white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
- font-size: 80%;
- color: #4665A2;
- font-weight: normal;
- margin-left: 3px;
-}
-
-.memnav {
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
-}
-
-.memname {
- white-space: nowrap;
- font-weight: bold;
- margin-left: 6px;
-}
-
-.memproto {
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 0px 6px 0px;
- color: #253555;
- font-weight: bold;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- /* firefox specific markup */
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- -moz-border-radius-topright: 8px;
- -moz-border-radius-topleft: 8px;
- /* webkit specific markup */
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -webkit-border-top-right-radius: 8px;
- -webkit-border-top-left-radius: 8px;
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
-
-}
-
-.memdoc {
- border-bottom: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 2px 5px;
- background-color: #FBFCFD;
- border-top-width: 0;
- /* firefox specific markup */
- -moz-border-radius-bottomleft: 8px;
- -moz-border-radius-bottomright: 8px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
- /* webkit specific markup */
- -webkit-border-bottom-left-radius: 8px;
- -webkit-border-bottom-right-radius: 8px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-
-/* @end */
-
-/* @group Directory (tree) */
-
-/* for the tree view */
-
-.ftvtree {
- font-family: sans-serif;
- margin: 0px;
-}
-
-/* these are for tree view when used as main index */
-
-.directory {
- font-size: 9pt;
- font-weight: bold;
- margin: 5px;
-}
-
-.directory h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice. Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-*/
-
-/*
-.directory h3.swap {
- height: 61px;
- background-repeat: no-repeat;
- background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
- display: none;
-}
-*/
-
-.directory > h3 {
- margin-top: 0;
-}
-
-.directory p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory div {
- display: none;
- margin: 0px;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-/* these are for tree view when not used as main index */
-
-.directory-alt {
- font-size: 100%;
- font-weight: bold;
-}
-
-.directory-alt h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-.directory-alt > h3 {
- margin-top: 0;
-}
-
-.directory-alt p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory-alt div {
- display: none;
- margin: 0px;
-}
-
-.directory-alt img {
- vertical-align: -30%;
-}
-
-/* @end */
-
-div.dynheader {
- margin-top: 8px;
-}
-
-address {
- font-style: normal;
- color: #2A3D61;
-}
-
-table.doxtable {
- border-collapse:collapse;
-}
-
-table.doxtable td, table.doxtable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.doxtable th {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
- text-align:left;
-}
-
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: url('tab_b.png');
- z-index: 101;
- overflow: hidden;
- font-size: 13px;
-}
-
-.navpath ul
+#projectlogo
{
- font-size: 11px;
- background-image:url('tab_b.png');
- background-repeat:repeat-x;
- height:30px;
- line-height:30px;
- color:#8AA0CC;
- border:solid 1px #C2CDE4;
- overflow:hidden;
- margin:0px;
- padding:0px;
-}
-
-.navpath li
-{
- list-style-type:none;
- float:left;
- padding-left:10px;
- padding-right: 15px;
- background-image:url('bc_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
-}
-
-.navpath a
-{
- height:32px;
- display:block;
- text-decoration: none;
- outline: none;
-}
+ padding-right: 0.85em;
+ padding-left: 0.8em;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
-.navpath a:hover
-{
- color:#6884BD;
}
-div.summary
-{
- float: right;
- font-size: 8pt;
- padding-right: 5px;
- width: 50%;
- text-align: right;
-}
-div.summary a
-{
- white-space: nowrap;
-}
-
-div.header
-{
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- margin: 0px;
- border-bottom: 1px solid #C4CFE5;
-}
+/* Align the Hamlib footer elements to the left and right and pad
+ * from the screen edge to align with other page padding. */
-div.headertitle
+.footer p.alignleft
{
- padding: 5px 5px 5px 10px;
+ float: left;
+ font-size: 75%;
+ padding-left: 1.5em;
}
-div.doxy
+.footer p.alignright
{
- float: right;
- font-size: 75%;
+ float: right;
+ padding-right: 0.85em;
}
diff --git a/doc/hamlib.png b/doc/hamlib.png
new file mode 100644
index 00000000..70992fef
Binary files /dev/null and b/doc/hamlib.png differ
commit b5c96e0cde45f72789326f661b1acc587afb7929
Author: c vw <dl...@da...>
Date: Fri Feb 5 21:57:06 2021 +0100
fixed analysis of "PC" command output.
diff --git a/rigs/kenwood/pihpsdr.c b/rigs/kenwood/pihpsdr.c
index 1c00de3d..46dcf7f5 100644
--- a/rigs/kenwood/pihpsdr.c
+++ b/rigs/kenwood/pihpsdr.c
@@ -1117,7 +1117,7 @@ int pihpsdr_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val)
return -RIG_ERJCTED;
}
- sscanf(lvlbuf + 3, "%d", &lvl);
+ sscanf(lvlbuf + 2, "%d", &lvl);
val->f = lvl / 100.0; /* FIXME: for 1.2GHZ need to divide by 10 */
break;
-----------------------------------------------------------------------
Summary of changes:
doc/footer.html | 34 ++-
doc/hamlib.cfg.in | 61 +++--
doc/hamlib.css | 665 ++-------------------------------------------
doc/hamlib.png | Bin 0 -> 2296 bytes
include/hamlib/amplifier.h | 179 ++++++------
rigs/kenwood/pihpsdr.c | 4 +-
6 files changed, 176 insertions(+), 767 deletions(-)
create mode 100644 doc/hamlib.png
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Nate B. <n0...@us...> - 2021-02-06 13:21:45
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, doxygen_work has been deleted
was 3fa25cb5f3088f27cf43d1caf48ed478b5af5d60
- Log -----------------------------------------------------------------
3fa25cb5f3088f27cf43d1caf48ed478b5af5d60 Merge branch 'master' into doxygen_work
-----------------------------------------------------------------------
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Nate B. <n0...@us...> - 2021-02-06 13:18:18
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, doxygen_work has been created
at 3fa25cb5f3088f27cf43d1caf48ed478b5af5d60 (commit)
- Log -----------------------------------------------------------------
commit 3fa25cb5f3088f27cf43d1caf48ed478b5af5d60
Merge: 20ce18f4 1d8a0104
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 6 07:17:12 2021 -0600
Merge branch 'master' into doxygen_work
commit 20ce18f47744809b1e7d7f7e58fe77ede53bbf0b
Author: Nate Bargmann <n0...@n0...>
Date: Sat Feb 6 07:16:09 2021 -0600
Update Doxygen comments in amplifier.h
diff --git a/include/hamlib/amplifier.h b/include/hamlib/amplifier.h
index b7af885d..2222ea16 100644
--- a/include/hamlib/amplifier.h
+++ b/include/hamlib/amplifier.h
@@ -35,7 +35,9 @@
* \brief Hamlib amplifier data structures.
*
* This file contains the data structures and declarations for the Hamlib
- * amplifier API. see the amplifier.c file for more details on the amplifier API.
+ * amplifier Application Programming Interface (API).
+ *
+ * See the `amplifier.c` file for details on the amplifier API functions.
*/
@@ -50,35 +52,52 @@ struct amp_state;
/**
* \typedef typedef struct amp AMP
- * \brief Amplifier structure definition (see amp for details).
+ * \brief Main amplifier handle type definition.
+ *
+ * The AMP handle is returned by amp_init() and is passed as a parameter to
+ * every amplifier specific API call.
+ *
+ * amp_cleanup() must be called when this handle is no longer needed.
*/
typedef struct amp AMP;
/**
* \typedef typedef float swr_t
- * \brief Type definition for SWR.
+ * \brief Type definition for
+ * <a href="https://en.wikipedia.org/wiki/Standing_wave_ratio" >SWR (Standing Wave Ratio)</a>.
*
- * The swr_t type is used as a parameter for the amp_get_swr() function.
+ * The \c swr_t type is used as a parameter for the amp_get_swr() function.
*
- * Unless specified otherwise, the unit of swr_t is 1.0 to max reported by tuner
+ * The unit of \c swr_t is 1.0 to the maximum value reported by the amplifier's
+ * internal antenna system tuner, i.e.
+ * <a href="http://www.arrl.org/transmatch-antenna-tuner" >transmatch</a>,
+ * representing the ratio of 1.0:1 to Maximum:1.
*/
typedef float swr_t;
/**
* \typedef typedef float tune_value_t
- * \brief Type definition for tuning values capacitance and resistance.
+ * \brief Type definition for the
+ * <a href="http://www.arrl.org/transmatch-antenna-tuner" >transmatch</a>
+ * tuning values of
+ * <a href="https://en.wikipedia.org/wiki/Capacitance" >capacitance</a>
+ * and
+ * <a href="https://en.wikipedia.org/wiki/Inductance" >inductance</a>.
*
- * The tune_value_t type is used as a parameter for the amp_get_level()
+ * The \c tune_value_t type is used as a parameter for amp_get_level().
*
- * Unless specified otherwise, the units of tune_value_t is pF and nH
+ * The unit of \c tune_value_t is
+ * <a href="https://en.wikipedia.org/wiki/Farad" >picoFarads (pF)</a>
+ * or
+ * <a href="https://en.wikipedia.org/wiki/Henry_(unit)" >nanoHenrys (nH)</a>.
*/
typedef int tune_value_t;
/**
- * \brief Token in the netampctl protocol for returning error code
+ * \brief The token in the netampctl protocol for returning an error condition code.
*/
#define NETAMPCTL_RET "RPRT "
@@ -86,9 +105,9 @@ typedef int tune_value_t;
//! @cond Doxygen_Suppress
typedef enum
{
- AMP_RESET_MEM, // erase tuner memory
- AMP_RESET_FAULT, // reset any fault
- AMP_RESET_AMP // for kpa1500
+ AMP_RESET_MEM, // erase tuner memory
+ AMP_RESET_FAULT, // reset any fault
+ AMP_RESET_AMP // for kpa1500
} amp_reset_t;
//! @endcond
@@ -103,27 +122,27 @@ typedef enum
//! @cond Doxygen_Suppress
// TBD AMP_TYPE
-#define AMP_TYPE_MASK (AMP_FLAG_1|AMP_FLAG_2)
+#define AMP_TYPE_MASK (AMP_FLAG_1|AMP_FLAG_2)
#define AMP_TYPE_OTHER 0
#define AMP_TYPE_1 AMP_FLAG_1
#define AMP_TYPE_2 AMP_FLAG_2
-#define AMP_TYPE_ALL (AMP_FLAG_1|AMP_FLAG_2)
+#define AMP_TYPE_ALL (AMP_FLAG_1|AMP_FLAG_2)
//! @endcond
//! @cond Doxygen_Suppress
enum amp_level_e
{
- AMP_LEVEL_NONE = 0, /*!< '' -- No Level */
- AMP_LEVEL_SWR = (1 << 0), /*!< \c SWR 1.0 or greater */
- AMP_LEVEL_NH = (1 << 1), /*!< \c Tune setting nanohenries */
- AMP_LEVEL_PF = (1 << 2), /*!< \c Tune setting picofarads */
- AMP_LEVEL_PWR_INPUT = (1 << 3), /*!< \c Power reading from amp */
- AMP_LEVEL_PWR_FWD = (1 << 4), /*!< \c Power reading forward */
- AMP_LEVEL_PWR_REFLECTED = (1 << 5), /*!< \c Power reading reverse */
- AMP_LEVEL_PWR_PEAK = (1 << 6), /*!< \c Power reading peak */
- AMP_LEVEL_FAULT = (1 << 7) /*!< \c Fault code */
+ AMP_LEVEL_NONE = 0, /*!< '' -- No Level. */
+ AMP_LEVEL_SWR = (1 << 0), /*!< \c SWR 1.0 or greater. */
+ AMP_LEVEL_NH = (1 << 1), /*!< \c Tune setting in nanohenries. */
+ AMP_LEVEL_PF = (1 << 2), /*!< \c Tune setting in picofarads. */
+ AMP_LEVEL_PWR_INPUT = (1 << 3), /*!< \c Power reading from amplifier. */
+ AMP_LEVEL_PWR_FWD = (1 << 4), /*!< \c Power reading forward. */
+ AMP_LEVEL_PWR_REFLECTED = (1 << 5), /*!< \c Power reading reverse. */
+ AMP_LEVEL_PWR_PEAK = (1 << 6), /*!< \c Power reading peak. */
+ AMP_LEVEL_FAULT = (1 << 7) /*!< \c Fault code. */
};
//! @endcond
@@ -139,36 +158,38 @@ enum amp_level_e
* enquiries about capabilities.
*/
+//! @cond Doxygen_Suppress
+#define AMP_MODEL(arg) .amp_model=arg,.macro_name=#arg
+//! @endcond
+
/**
- * Amplifier Caps
* \struct amp_caps
- * \brief Amplifier data structure.
+ * \brief Amplifier capabilities
*
* The main idea of this struct is that it will be defined by the backend
- * amplifier driver, and will remain readonly for the application. Fields that
- * need to be modifiable by the application are copied into the struct
- * amp_state, which is a kind of private of the AMP instance.
+ * amplifier driver and will remain read-only for the application. Fields
+ * that need to be modifiable by the application are copied into the struct
+ * \c amp_state, which is the private memory area of the AMP instance.
*
- * This way, you can have several rigs running within the same application,
- * sharing the struct amp_caps of the backend, while keeping their own
- * customized data.
+ * This way you can have several amplifiers running within the same
+ * application, sharing the struct \c amp_caps of the backend, while keeping
+ * their own customized data.
*
- * mdblack98: Don't move fields around and add new fields at end of caps
- * Shared libraries depend on constant structure to maintain compatibility
+ * \b Note: Don't move fields around and only add new fields at the end of the
+ * caps structure. Shared libraries depend on a constant structure to maintain
+ * compatibility.
*/
-//! @cond Doxygen_Suppress
-#define AMP_MODEL(arg) .amp_model=arg,.macro_name=#arg
struct amp_caps
{
- amp_model_t amp_model; /*!< Amplifier model. */
- const char *model_name; /*!< Model name. */
- const char *mfg_name; /*!< Manufacturer. */
+ amp_model_t amp_model; /*!< Amplifier model as defined in `amplist.h`. */
+ const char *model_name; /*!< Model name, e.g. MM-5k. */
+ const char *mfg_name; /*!< Manufacturer, e.g. Moonbeam. */
const char *version; /*!< Driver version. */
- const char *copyright; /*!< Copyright info. */
+ const char *copyright; /*!< Copyright info (should be LGPL). */
enum rig_status_e status; /*!< Driver status. */
int amp_type; /*!< Amplifier type. */
- enum rig_port_e port_type; /*!< Type of communication port. */
+ enum rig_port_e port_type; /*!< Type of communication port (serial, ethernet, etc.). */
int serial_rate_min; /*!< Minimal serial speed. */
int serial_rate_max; /*!< Maximal serial speed. */
@@ -180,65 +201,65 @@ struct amp_caps
int write_delay; /*!< Write delay. */
int post_write_delay; /*!< Post-write delay. */
int timeout; /*!< Timeout. */
- int retry; /*!< Number of retry if command fails. */
+ int retry; /*!< Number of retries if a command fails. */
- const struct confparams *cfgparams; /*!< Configuration parametres. */
+ const struct confparams *cfgparams; /*!< Configuration parameters. */
const rig_ptr_t priv; /*!< Private data. */
- const char *amp_model_macro_name; /*!< Model macro name */
+ const char *amp_model_macro_name; /*!< Model macro name. */
- setting_t has_get_level;
- setting_t has_set_level;
+ setting_t has_get_level; /*!< Has get_level capability. */
+ setting_t has_set_level; /*!< Has set_level capability. */
- gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
- gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
+ gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
+ gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
/*
* Amp Admin API
*
*/
- int (*amp_init)(AMP *amp);
- int (*amp_cleanup)(AMP *amp);
- int (*amp_open)(AMP *amp);
- int (*amp_close)(AMP *amp);
+ int (*amp_init)(AMP *amp); /*!< Initializes data structures and returns an #AMP handle--call before amp_open(). */
+ int (*amp_cleanup)(AMP *amp); /*!< Frees the data structures associated with the #AMP handle--call after amp_close(). */
+ int (*amp_open)(AMP *amp); /*!< Opens the communication channel to the amplifier. */
+ int (*amp_close)(AMP *amp); /*!< Closes the communication channel to the amplifier. */
- int (*set_freq)(AMP *amp, freq_t val);
- int (*get_freq)(AMP *amp, freq_t *val);
+ int (*set_freq)(AMP *amp, freq_t val); /*!< Set the frequency of the amplifier. */
+ int (*get_freq)(AMP *amp, freq_t *val); /*!< Query the frequency of the amplifier. */
- int (*set_conf)(AMP *amp, token_t token, const char *val);
- int (*get_conf)(AMP *amp, token_t token, char *val);
+ int (*set_conf)(AMP *amp, token_t token, const char *val); /*!< Set the configuration parameter \a val corresponding to the \a token. */
+ int (*get_conf)(AMP *amp, token_t token, char *val); /*!< Query the configuration parameter \a val corresponding to the \a token. */
/*
* General API commands, from most primitive to least.. :()
* List Set/Get functions pairs
*/
- int (*reset)(AMP *amp, amp_reset_t reset);
- int (*get_level)(AMP *amp, setting_t level, value_t *val);
- int (*get_ext_level)(AMP *amp, token_t level, value_t *val);
- int (*set_powerstat)(AMP *amp, powerstat_t status);
- int (*get_powerstat)(AMP *amp, powerstat_t *status);
+ int (*reset)(AMP *amp, amp_reset_t reset); /*!< Reset the amplifier (careful!). */
+ int (*get_level)(AMP *amp, setting_t level, value_t *val); /*!< Query the \a val corresponding to the \a level. */
+ int (*get_ext_level)(AMP *amp, token_t level, value_t *val); /*!< Query the \a val corresponding to the extra \a level. */
+ int (*set_powerstat)(AMP *amp, powerstat_t status); /*!< Turn the amplifier On or Off or toggle the Standby or Operate status. */
+ int (*get_powerstat)(AMP *amp, powerstat_t *status); /*!< Query the power or standby status of the amplifier. */
/* get firmware info, etc. */
- const char *(*get_info)(AMP *amp);
+ const char *(*get_info)(AMP *amp); /*!< Query available internal information of the amplifier (firmware version, etc.). */
+//! @cond Doxygen_Suppress
setting_t levels;
unsigned ext_levels;
- const struct confparams *extlevels;
- const struct confparams *extparms;
+//! @endcond
+ const struct confparams *extlevels; /*!< Extra levels structure. */
+ const struct confparams *extparms; /*!< Extra parameters structure. */
const char *macro_name; /*!< Macro name. */
};
-//! @endcond
/**
- * Amplifier state
* \struct amp_state
- * \brief Live data and customized fields.
+ * \brief Amplifier state
*
- * This struct contains live data, as well as a copy of capability fields
+ * This structure contains live data, as well as a copy of capability fields
* that may be updated (ie. customized)
*
* It is fine to move fields around, as this kind of struct should
@@ -264,21 +285,21 @@ struct amp_state
//! @endcond
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
- gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
+ gran_t parm_gran[RIG_SETTING_MAX]; /*!< level granularity */
};
/**
- * Amplifier structure
* \struct amp
- * \brief This is the master data structure,
- * acting as a handle for the controlled amplifier.
+ * \brief Amplifier structure
*
- * This is the master data structure, acting as a handle for the controlled
- * amplifier. A pointer to this structure is returned by the amp_init() API
- * function and is passed as a parameter to every amplifier specific API call.
+ * Master amplifier data structure acting as a handle for the
+ * controlled amplifier.
*
- * \sa amp_init(), amp_caps(), amp_state()
+ * A pointer to this structure is returned by the amp_init() API function and
+ * is passed as a parameter to every amplifier specific API call.
+ *
+ * \sa amp_caps(), amp_state()
*/
struct amp
{
@@ -406,12 +427,10 @@ extern HAMLIB_EXPORT(const char *) amp_strlevel(setting_t);
/**
* \def amp_debug
- * \brief Convenience definition for debug level.
- *
- * This is just as convenience definition of the amplifier debug level,
- * and is the same as for the rig debug level.
+ * \brief Convenience macro for generating debugging messages.
*
- * \sa rig_debug()
+ * This is an alias of the rig_debug() function call and is used in the same
+ * manner.
*/
#define amp_debug rig_debug
commit d4bc60be0bc6e6b3288d8ebe5f245bc9e71ee846
Author: Nate Bargmann <n0...@n0...>
Date: Fri Feb 5 20:36:49 2021 -0600
Update Doxygen files
The latest Doxygen has changed the footer.html substantially from the
much older version we were using. Add some Hamlib project specific
information to it.
Align hamlib.cfg.in to the latest Doxygen.
Reduce hamlib.css to only those elements needed for Hamlib
customization.
Add hamlib.png as a project logo.
diff --git a/doc/footer.html b/doc/footer.html
index 38c4e29a..41c5ce94 100644
--- a/doc/footer.html
+++ b/doc/footer.html
@@ -1,8 +1,30 @@
-<!-- Footer for Doxygen HTML files -->
-<hr>
-<div class="doxy">Generated by <a href="http://www.doxygen.org/index.html"><img class="footer" src="$relpath$doxygen.png" alt="doxygen"/></a> $doxygenversion</small></address></div>
-<p style="font-size: 75%">Hamlib documentation for version $projectnumber -- $datetime<br />
-Project page: <a href="http://www.hamlib.org">http://www.hamlib.org</a><br />
-</p>
+<!-- HTML footer for doxygen 1.9.1-->
+<!-- start footer part -->
+<!--BEGIN GENERATE_TREEVIEW-->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+ <ul>
+ $navpath
+ <li class="footer">$generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion </li>
+ </ul>
+</div>
+<!--END GENERATE_TREEVIEW-->
+<!--BEGIN !GENERATE_TREEVIEW-->
+<hr class="footer"/>
+<address class="footer">
+ <small>
+ $generatedby <a href="https://www.doxygen.org/index.html"><img class="footer" src="$relpath^doxygen.svg" width="104" height="31" alt="doxygen"/></a> $doxygenversion
+ </small>
+</address>
+<!--END !GENERATE_TREEVIEW-->
+<div id="hamlib" class="footer" >
+ <p class="alignleft">
+ Hamlib documentation for version $projectnumber—$datetime<br />
+ Project page: <a href="http://www.hamlib.org">http://www.hamlib.org</a><br />
+ </p>
+ <p class="alignright">
+ <a href="https://sourceforge.net/p/hamlib/"><img alt="Download Ham Radio Control Libraries" src="https://sourceforge.net/sflogo.php?type=13&group_id=8305" ></a>
+ </p>
+</div>
+<div style="clear: both;"></div>
</body>
</html>
diff --git a/doc/hamlib.cfg.in b/doc/hamlib.cfg.in
index 07d1eed0..e2225d8c 100644
--- a/doc/hamlib.cfg.in
+++ b/doc/hamlib.cfg.in
@@ -1,7 +1,8 @@
-## hamlib.cfg.in--converted into hamlib.cfg by configure
+## hamlib.cfg.in--converted into hamlib.cfg by config.status
-PROJECT_NAME = "Hamlib"
+PROJECT_NAME = Hamlib
PROJECT_NUMBER = @VERSION@
+PROJECT_LOGO = @top_srcdir@/doc/hamlib.png
# Output
OUTPUT_DIRECTORY= .
@@ -14,31 +15,31 @@ GENERATE_MAN = NO # User can set to YES for local man pages
MAN_EXTENSION = .3
# Input
-CASE_SENSE_NAMES = NO
-FULL_PATH_NAMES = NO
-INPUT = @top_srcdir@/doc/index.doxygen \
- @top_srcdir@/src/ @top_srcdir@/include/hamlib/
-
-INCLUDE_PATH = @top_srcdir@/include
-
-EXAMPLE_PATH = @top_srcdir@/tests/testrig.c \
- @top_srcdir@
-
-QUIET = YES
-
-HTML_STYLESHEET = @top_srcdir@/doc/hamlib.css
-HTML_FOOTER = @top_srcdir@/doc/footer.html
-
-EXTRACT_ALL = NO
-EXTRACT_STATIC = NO
-HIDE_UNDOC_MEMBERS = NO
-SHOW_INCLUDE_FILES = YES
-INHERIT_DOCS = YES
-ENABLED_SECTIONS = ""
-PREDEFINED = DOXYGEN "DOC_HIDDEN"
-JAVADOC_AUTOBRIEF = NO
-OPTIMIZE_OUTPUT_FOR_C = YES # doxygen 1.2.6 option
-
-MAN_LINKS = NO
-MACRO_EXPANSION = YES
-
+CASE_SENSE_NAMES = YES
+FULL_PATH_NAMES = NO
+INPUT = @top_srcdir@/doc/index.doxygen \
+ @top_srcdir@/include/hamlib/ \
+ @top_srcdir@/src/
+
+INCLUDE_PATH = @top_srcdir@/include
+
+EXAMPLE_PATH = @top_srcdir@/tests/testrig.c \
+ @top_srcdir@
+
+QUIET = YES
+
+HTML_FOOTER = @top_srcdir@/doc/footer.html
+HTML_EXTRA_STYLESHEET = @top_srcdir@/doc/hamlib.css
+
+EXTRACT_ALL = NO
+EXTRACT_STATIC = NO
+HIDE_UNDOC_MEMBERS = NO
+SHOW_INCLUDE_FILES = YES
+INHERIT_DOCS = YES
+ENABLED_SECTIONS = ""
+PREDEFINED = DOXYGEN "DOC_HIDDEN"
+JAVADOC_AUTOBRIEF = NO
+OPTIMIZE_OUTPUT_FOR_C = YES
+
+MAN_LINKS = NO
+MACRO_EXPANSION = YES
diff --git a/doc/hamlib.css b/doc/hamlib.css
index 554d6261..d6edeb7a 100644
--- a/doc/hamlib.css
+++ b/doc/hamlib.css
@@ -1,662 +1,29 @@
-/* The standard CSS for doxygen */
+/* Custom CSS for Hamlib used by the Doxygen generated HTML pages. */
-body, table, div, p, dl {
- font-family: sans-serif;
- font-size: 100%;
-}
-
-/* @group Heading Levels */
-
-h1 {
- font-size: 2.5em;
-}
-
-h2 {
- font-size: 1.875em;
-}
-
-h3 {
- font-size: 1.20em;
-}
-
-dt {
- font-weight: bold;
-}
-
-div.multicol {
- -moz-column-gap: 1em;
- -webkit-column-gap: 1em;
- -moz-column-count: 3;
- -webkit-column-count: 3;
-}
-
-p.startli, p.startdd, p.starttd {
- margin-top: 2px;
-}
-
-p.endli {
- margin-bottom: 0px;
-}
-
-p.enddd {
- margin-bottom: 4px;
-}
-
-p.endtd {
- margin-bottom: 2px;
-}
-
-/* @end */
-
-caption {
- font-weight: bold;
-}
-
-span.legend {
- font-size: 70%;
- text-align: center;
-}
-
-h3.version {
- font-size: 90%;
- text-align: center;
-}
-
-div.qindex, div.navtab{
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- padding: 2px;
-}
-
-div.qindex, div.navpath {
- width: 100%;
- line-height: 140%;
-}
-
-div.navtab {
- margin-right: 15px;
-}
-
-/* @group Link Styling */
-
-a {
- color: #3D578C;
- font-weight: normal;
- text-decoration: none;
-}
-
-.contents a:visited {
- color: #4665A2;
-}
-
-a:hover {
- text-decoration: none;
- background-color: #f0f0fd;
-}
-
-a.qindex {
- font-weight: bold;
-}
-
-a.qindexHL {
- font-weight: bold;
- background-color: #9CAFD4;
- color: #ffffff;
- border: 1px double #869DCA;
-}
-
-.contents a.qindexHL:visited {
- color: #ffffff;
-}
-
-a.el {
- font-weight: bold;
-}
-
-a.elRef {
-}
-
-a.code {
- color: #4665A2;
-}
-
-a.codeRef {
- color: #4665A2;
-}
-
-/* @end */
-
-dl.el {
- margin-left: -1cm;
-}
-
-.fragment {
- font-family: monospace, fixed;
- font-size: 105%;
-}
-
-pre.fragment {
- border: 1px solid #C4CFE5;
- background-color: #FBFCFD;
- padding: 4px 6px;
- margin: 4px 8px 4px 2px;
- overflow: auto;
- word-wrap: break-word;
- font-size: 90%;
- line-height: 125%;
-}
-
-div.ah {
- background-color: black;
- font-weight: bold;
- color: #ffffff;
- margin-bottom: 3px;
- margin-top: 3px;
- padding: 0.2em;
- border: solid thin #333;
- border-radius: 0.5em;
- -webkit-border-radius: .5em;
- -moz-border-radius: .5em;
- -webkit-box-shadow: 2px 2px 3px #999;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
- background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
- background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
-}
-
-div.groupHeader {
- margin-left: 16px;
- margin-top: 12px;
- margin-bottom: 6px;
- font-weight: bold;
-}
-
-div.groupText {
- margin-left: 16px;
- font-style: italic;
-}
-
-body {
- background: white;
- color: black;
- margin: 0;
-}
-
-div.contents {
- margin-top: 10px;
- margin-left: 10px;
- margin-right: 10px;
-}
-
-td.indexkey {
- background-color: #EBEFF6;
- font-weight: bold;
- border: 1px solid #C4CFE5;
- margin: 2px 0px 2px 0;
- padding: 2px 10px;
-}
-
-td.indexvalue {
- background-color: #EBEFF6;
- border: 1px solid #C4CFE5;
- padding: 2px 10px;
- margin: 2px 0px;
-}
-
-tr.memlist {
- background-color: #EEF1F7;
-}
-
-p.formulaDsp {
- text-align: center;
-}
-
-img.formulaDsp {
-
-}
-
-img.formulaInl {
- vertical-align: middle;
-}
-
-div.center {
- text-align: center;
- margin-top: 0px;
- margin-bottom: 0px;
- padding: 0px;
-}
-
-div.center img {
- border: 0px;
-}
-
-address.footer {
- text-align: right;
- padding-right: 12px;
-}
-
-img.footer {
- border: 0px;
- vertical-align: middle;
-}
-
-/* @group Code Colorization */
-
-span.keyword {
- color: #008000
-}
-
-span.keywordtype {
- color: #604020
-}
-
-span.keywordflow {
- color: #e08000
-}
-
-span.comment {
- color: #800000
-}
-
-span.preprocessor {
- color: #806020
-}
-
-span.stringliteral {
- color: #002080
-}
-
-span.charliteral {
- color: #008080
-}
-
-span.vhdldigit {
- color: #ff00ff
-}
-
-span.vhdlchar {
- color: #000000
-}
-
-span.vhdlkeyword {
- color: #700070
-}
-
-span.vhdllogic {
- color: #ff0000
-}
-
-/* @end */
+/* Add padding around the Hamlib logo in the page header. */
-/*
-.search {
- color: #003399;
- font-weight: bold;
-}
-
-form.search {
- margin-bottom: 0px;
- margin-top: 0px;
-}
-
-input.search {
- font-size: 75%;
- color: #000080;
- font-weight: normal;
- background-color: #e8eef2;
-}
-*/
-
-td.tiny {
- font-size: 75%;
-}
-
-.dirtab {
- padding: 4px;
- border-collapse: collapse;
- border: 1px solid #A3B4D7;
-}
-
-th.dirtab {
- background: #EBEFF6;
- font-weight: bold;
-}
-
-hr {
- height: 0px;
- border: none;
- border-top: 1px solid #4A6AAA;
-}
-
-hr.footer {
- height: 1px;
-}
-
-/* @group Member Descriptions */
-
-table.memberdecls {
- border-spacing: 0px;
- padding: 0px;
-}
-
-.mdescLeft, .mdescRight,
-.memItemLeft, .memItemRight,
-.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
- background-color: #F9FAFC;
- border: none;
- margin: 4px;
- padding: 1px 0 0 8px;
-}
-
-.mdescLeft, .mdescRight {
- padding: 0px 8px 4px 8px;
- color: #555;
-}
-
-.memItemLeft, .memItemRight, .memTemplParams {
- border-top: 1px solid #C4CFE5;
-}
-
-.memItemLeft, .memTemplItemLeft {
- white-space: nowrap;
-}
-
-.memTemplParams {
- color: #4665A2;
- white-space: nowrap;
-}
-
-/* @end */
-
-/* @group Member Details */
-
-/* Styles for detailed member documentation */
-
-.memtemplate {
- font-size: 80%;
- color: #4665A2;
- font-weight: normal;
- margin-left: 3px;
-}
-
-.memnav {
- background-color: #EBEFF6;
- border: 1px solid #A3B4D7;
- text-align: center;
- margin: 2px;
- margin-right: 15px;
- padding: 2px;
-}
-
-.memitem {
- padding: 0;
- margin-bottom: 10px;
-}
-
-.memname {
- white-space: nowrap;
- font-weight: bold;
- margin-left: 6px;
-}
-
-.memproto {
- border-top: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 6px 0px 6px 0px;
- color: #253555;
- font-weight: bold;
- text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
- /* firefox specific markup */
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- -moz-border-radius-topright: 8px;
- -moz-border-radius-topleft: 8px;
- /* webkit specific markup */
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- -webkit-border-top-right-radius: 8px;
- -webkit-border-top-left-radius: 8px;
- background-image:url('nav_f.png');
- background-repeat:repeat-x;
- background-color: #E2E8F2;
-
-}
-
-.memdoc {
- border-bottom: 1px solid #A8B8D9;
- border-left: 1px solid #A8B8D9;
- border-right: 1px solid #A8B8D9;
- padding: 2px 5px;
- background-color: #FBFCFD;
- border-top-width: 0;
- /* firefox specific markup */
- -moz-border-radius-bottomleft: 8px;
- -moz-border-radius-bottomright: 8px;
- -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
- background-image: -moz-linear-gradient(center top, #FFFFFF 0%, #FFFFFF 60%, #F7F8FB 95%, #EEF1F7);
- /* webkit specific markup */
- -webkit-border-bottom-left-radius: 8px;
- -webkit-border-bottom-right-radius: 8px;
- -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
- background-image: -webkit-gradient(linear,center top,center bottom,from(#FFFFFF), color-stop(0.6,#FFFFFF), color-stop(0.60,#FFFFFF), color-stop(0.95,#F7F8FB), to(#EEF1F7));
-}
-
-.paramkey {
- text-align: right;
-}
-
-.paramtype {
- white-space: nowrap;
-}
-
-.paramname {
- color: #602020;
- white-space: nowrap;
-}
-.paramname em {
- font-style: normal;
-}
-
-/* @end */
-
-/* @group Directory (tree) */
-
-/* for the tree view */
-
-.ftvtree {
- font-family: sans-serif;
- margin: 0px;
-}
-
-/* these are for tree view when used as main index */
-
-.directory {
- font-size: 9pt;
- font-weight: bold;
- margin: 5px;
-}
-
-.directory h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-/*
-The following two styles can be used to replace the root node title
-with an image of your choice. Simply uncomment the next two styles,
-specify the name of your image and be sure to set 'height' to the
-proper pixel height of your image.
-*/
-
-/*
-.directory h3.swap {
- height: 61px;
- background-repeat: no-repeat;
- background-image: url("yourimage.gif");
-}
-.directory h3.swap span {
- display: none;
-}
-*/
-
-.directory > h3 {
- margin-top: 0;
-}
-
-.directory p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory div {
- display: none;
- margin: 0px;
-}
-
-.directory img {
- vertical-align: -30%;
-}
-
-/* these are for tree view when not used as main index */
-
-.directory-alt {
- font-size: 100%;
- font-weight: bold;
-}
-
-.directory-alt h3 {
- margin: 0px;
- margin-top: 1em;
- font-size: 11pt;
-}
-
-.directory-alt > h3 {
- margin-top: 0;
-}
-
-.directory-alt p {
- margin: 0px;
- white-space: nowrap;
-}
-
-.directory-alt div {
- display: none;
- margin: 0px;
-}
-
-.directory-alt img {
- vertical-align: -30%;
-}
-
-/* @end */
-
-div.dynheader {
- margin-top: 8px;
-}
-
-address {
- font-style: normal;
- color: #2A3D61;
-}
-
-table.doxtable {
- border-collapse:collapse;
-}
-
-table.doxtable td, table.doxtable th {
- border: 1px solid #2D4068;
- padding: 3px 7px 2px;
-}
-
-table.doxtable th {
- background-color: #374F7F;
- color: #FFFFFF;
- font-size: 110%;
- padding-bottom: 4px;
- padding-top: 5px;
- text-align:left;
-}
-
-.tabsearch {
- top: 0px;
- left: 10px;
- height: 36px;
- background-image: url('tab_b.png');
- z-index: 101;
- overflow: hidden;
- font-size: 13px;
-}
-
-.navpath ul
+#projectlogo
{
- font-size: 11px;
- background-image:url('tab_b.png');
- background-repeat:repeat-x;
- height:30px;
- line-height:30px;
- color:#8AA0CC;
- border:solid 1px #C2CDE4;
- overflow:hidden;
- margin:0px;
- padding:0px;
-}
-
-.navpath li
-{
- list-style-type:none;
- float:left;
- padding-left:10px;
- padding-right: 15px;
- background-image:url('bc_s.png');
- background-repeat:no-repeat;
- background-position:right;
- color:#364D7C;
-}
-
-.navpath a
-{
- height:32px;
- display:block;
- text-decoration: none;
- outline: none;
-}
+ padding-right: 0.85em;
+ padding-left: 0.8em;
+ padding-top: 0.5em;
+ padding-bottom: 0.5em;
-.navpath a:hover
-{
- color:#6884BD;
}
-div.summary
-{
- float: right;
- font-size: 8pt;
- padding-right: 5px;
- width: 50%;
- text-align: right;
-}
-div.summary a
-{
- white-space: nowrap;
-}
-
-div.header
-{
- background-image:url('nav_h.png');
- background-repeat:repeat-x;
- background-color: #F9FAFC;
- margin: 0px;
- border-bottom: 1px solid #C4CFE5;
-}
+/* Align the Hamlib footer elements to the left and right and pad
+ * from the screen edge to align with other page padding. */
-div.headertitle
+.footer p.alignleft
{
- padding: 5px 5px 5px 10px;
+ float: left;
+ font-size: 75%;
+ padding-left: 1.5em;
}
-div.doxy
+.footer p.alignright
{
- float: right;
- font-size: 75%;
+ float: right;
+ padding-right: 0.85em;
}
diff --git a/doc/hamlib.png b/doc/hamlib.png
new file mode 100644
index 00000000..70992fef
Binary files /dev/null and b/doc/hamlib.png differ
-----------------------------------------------------------------------
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-02-05 23:41:59
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 1d8a010493528168e1ac2d033892ed547782e08f (commit)
via 9c3a12c6f05f6673446533e4b6b0821173176c9c (commit)
via d8bd6a5d4ed5c8542cecb117653290ad30c32ffe (commit)
from 92492c46275c8030b754b6253a3db2c124c967f1 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 1d8a010493528168e1ac2d033892ed547782e08f
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 5 17:40:10 2021 -0600
Fix 2nd arg prompt for rigctl
https://github.com/Hamlib/Hamlib/issues/447
https://github.com/Hamlib/Hamlib/issues/339
diff --git a/tests/rigctl_parse.c b/tests/rigctl_parse.c
index 4e00f968..2b39527b 100644
--- a/tests/rigctl_parse.c
+++ b/tests/rigctl_parse.c
@@ -995,16 +995,12 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc,
{
rig_debug(RIG_DEBUG_TRACE, "%s: debug7\n", __func__);
-#if 0 // was printing Reply: twice
-
if (prompt)
{
rig_debug(RIG_DEBUG_TRACE, "%s: debug8\n", __func__);
fprintf_flush(fout, "%s: ", cmd_entry->arg2);
}
-#endif
-
if (scanfc(fin, "%s", arg2) < 1)
{
rig_debug(RIG_DEBUG_WARN, "%s: nothing to scan#9?\n", __func__);
commit 9c3a12c6f05f6673446533e4b6b0821173176c9c
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Feb 5 17:33:59 2021 -0600
Fix netrigctl.c parsing of CHKVFO response
diff --git a/rigs/dummy/netrigctl.c b/rigs/dummy/netrigctl.c
index 4b507415..cd03aedd 100644
--- a/rigs/dummy/netrigctl.c
+++ b/rigs/dummy/netrigctl.c
@@ -215,7 +215,11 @@ static int netrigctl_open(RIG *rig)
len = sprintf(cmd, "\\chk_vfo\n");
ret = netrigctl_transaction(rig, cmd, len, buf);
- if (ret == 2)
+ if (sscanf(buf,"CHKVFO %d", &priv->rigctld_vfo_mode)==1)
+ {
+ rig_debug(RIG_DEBUG_TRACE, "%s: chkvfo=%d\n", __func__, priv->rigctld_vfo_mode);
+ }
+ else if (ret == 2)
{
if (buf[0]) { sscanf(buf, "%d", &priv->rigctld_vfo_mode); }
}
@@ -2284,7 +2288,7 @@ struct rig_caps netrigctl_caps =
RIG_MODEL(RIG_MODEL_NETRIGCTL),
.model_name = "NET rigctl",
.mfg_name = "Hamlib",
- .version = "20210108.0",
+ .version = "20210204.0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_OTHER,
commit d8bd6a5d4ed5c8542cecb117653290ad30c32ffe
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Feb 4 23:47:59 2021 -0600
Reduce debug level in network.c
diff --git a/src/network.c b/src/network.c
index 07741a5b..b5a81000 100644
--- a/src/network.c
+++ b/src/network.c
@@ -216,7 +216,7 @@ int network_open(hamlib_port_t *rp, int default_port)
if (status == 0 && res->ai_family == AF_INET6)
{
- rig_debug(RIG_DEBUG_ERR, "%s: Using IPV6\n", __func__);
+ rig_debug(RIG_DEBUG_TRACE, "%s: Using IPV6\n", __func__);
//inet_pton(AF_INET6, hoststr, &h_addr.sin6_addr);
}
-----------------------------------------------------------------------
Summary of changes:
rigs/dummy/netrigctl.c | 8 ++++++--
src/network.c | 2 +-
tests/rigctl_parse.c | 4 ----
3 files changed, 7 insertions(+), 7 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-02-04 13:24:49
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 92492c46275c8030b754b6253a3db2c124c967f1 (commit)
from e589e078a11a38b76e1f84bfbc1ec0f74b32f3b5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 92492c46275c8030b754b6253a3db2c124c967f1
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Feb 4 07:23:53 2021 -0600
Modify perltest.pl for multi-line rig_error return
https://github.com/Hamlib/Hamlib/issues/526
diff --git a/bindings/perltest.pl b/bindings/perltest.pl
index 91652ad2..509560ad 100755
--- a/bindings/perltest.pl
+++ b/bindings/perltest.pl
@@ -57,7 +57,8 @@ print "strength:\t\t$lvl\n";
$chan = new Hamlib::channel($Hamlib::RIG_VFO_A);
$rig->get_channel($chan,1);
-print "get_channel status:\t$rig->{error_status} = ".Hamlib::rigerror($rig->{error_status})."\n";
+@tokens = split("\n",Hamlib::rigerror($rig->{error_status}));
+print "get_channel status:\t$rig->{error_status} = ".$tokens[0]."\n";
print "VFO:\t\t\t".Hamlib::rig_strvfo($chan->{vfo}).", $chan->{freq}\n";
-----------------------------------------------------------------------
Summary of changes:
bindings/perltest.pl | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-02-03 18:55:28
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via e589e078a11a38b76e1f84bfbc1ec0f74b32f3b5 (commit)
via 76f3099aef7db03dd8ff5403c63ce39050140223 (commit)
from 96e2cc7829bb7d640be6620ea0c56d3d0c4fbec2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e589e078a11a38b76e1f84bfbc1ec0f74b32f3b5
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Feb 3 12:54:30 2021 -0600
Add 3 second sleep in icom powerstat to allow the rig to wake up
https://github.com/Hamlib/Hamlib/issues/525
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index 307302fe..9c60086a 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -6231,6 +6231,7 @@ int icom_set_powerstat(RIG *rig, powerstat_t status)
retval =
icom_transaction(rig, C_SET_PWR, pwr_sc, NULL, 0, ackbuf, &ack_len);
rs->rigport.retry = retry;
+ hl_usleep(3000*1000); // give it 3 seconds to wake up
break;
diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h
index 4d87d12d..8e7923e3 100644
--- a/rigs/icom/icom.h
+++ b/rigs/icom/icom.h
@@ -30,7 +30,7 @@
#include <sys/time.h>
#endif
-#define BACKEND_VER "20210129"
+#define BACKEND_VER "20210203"
/*
* defines used by comp_cal_str in rig.c
commit 76f3099aef7db03dd8ff5403c63ce39050140223
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Feb 3 11:45:57 2021 -0600
Remove 500ms from icom/frame.c -- should not be needed
Reduce icom echo check to just 2 tries
Improves power up sequencing by about 7 seconds
https://github.com/Hamlib/Hamlib/issues/525
diff --git a/rigs/icom/frame.c b/rigs/icom/frame.c
index c6d657aa..fab4a21e 100644
--- a/rigs/icom/frame.c
+++ b/rigs/icom/frame.c
@@ -320,8 +320,9 @@ int icom_transaction(RIG *rig, int cmd, int subcmd,
{
break;
}
+ rig_debug(RIG_DEBUG_WARN, "%s: timeout retry=%d\n", __func__, retry);
- hl_usleep(500 * 1000); // pause a half second
+ //hl_usleep(500 * 1000); // pause a half second -- don't think we need this
}
while (retry-- > 0);
@@ -330,7 +331,7 @@ int icom_transaction(RIG *rig, int cmd, int subcmd,
rig_debug(RIG_DEBUG_VERBOSE, "%s: failed: %s\n", __func__, rigerror(retval));
}
- return retval;
+ RETURNFUNC(retval);
}
/* used in read_icom_frame as end of block */
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index 455b7a7a..307302fe 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -704,7 +704,7 @@ int icom_get_usb_echo_off(RIG *rig)
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
// reduce the retry here so it's quicker
- rs->rigport.retry = 1;
+ rs->rigport.retry = 0;
// Check for echo on first
priv->serial_USB_echo_off = 0;
-----------------------------------------------------------------------
Summary of changes:
rigs/icom/frame.c | 5 +++--
rigs/icom/icom.c | 3 ++-
rigs/icom/icom.h | 2 +-
3 files changed, 6 insertions(+), 4 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-02-03 15:59:55
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 96e2cc7829bb7d640be6620ea0c56d3d0c4fbec2 (commit)
from 228cc10aeb3e24c244066f518629bd5b2e0ac0fe (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 96e2cc7829bb7d640be6620ea0c56d3d0c4fbec2
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Feb 3 09:59:14 2021 -0600
Fix extra LF in debug messages
diff --git a/src/rig.c b/src/rig.c
index 27cd7640..65b594b4 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -303,6 +303,9 @@ const char *HAMLIB_API rigerror(int errnum)
}
static char msg[25000];
+ // we have to remove LF from debugmsgsave since calling function controls LF
+ char *p = &debugmsgsave[strlen(debugmsgsave)-1];
+ if (*p=='\n') *p=0;
snprintf(msg, sizeof(msg), "%.80s\n%.15000s", rigerror_table[errnum], debugmsgsave);
return msg;
}
-----------------------------------------------------------------------
Summary of changes:
src/rig.c | 3 +++
1 file changed, 3 insertions(+)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-02-03 06:00:28
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 228cc10aeb3e24c244066f518629bd5b2e0ac0fe (commit)
via bd4c8c2e04d866230cb8b8fc977c8af171bd07ae (commit)
from b53eed7cd34ca5a2457fa5ae1029e54e913826a9 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 228cc10aeb3e24c244066f518629bd5b2e0ac0fe
Author: root <ro...@lo...>
Date: Wed Feb 3 06:13:12 2021 +0100
Fix compile warnings with -O2 flag
diff --git a/src/rig.c b/src/rig.c
index 868bbcc7..27cd7640 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -303,7 +303,7 @@ const char *HAMLIB_API rigerror(int errnum)
}
static char msg[25000];
- snprintf(msg, sizeof(msg), "%80s\n%15000s", rigerror_table[errnum], debugmsgsave);
+ snprintf(msg, sizeof(msg), "%.80s\n%.15000s", rigerror_table[errnum], debugmsgsave);
return msg;
}
@@ -1573,7 +1573,7 @@ int HAMLIB_API rig_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
if (retcode != RIG_OK)
{
- rig_debug(RIG_DEBUG_ERR, "%s: set_vfo err %s\n", __func__, rigerror(retcode));
+ rig_debug(RIG_DEBUG_ERR, "%s: set_vfo err %.10000s\n", __func__, rigerror(retcode));
RETURNFUNC(retcode);
}
@@ -2257,7 +2257,7 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo)
}
else
{
- rig_debug(RIG_DEBUG_ERR, "%s: set_vfo %s failed with '%s'\n", __func__,
+ rig_debug(RIG_DEBUG_ERR, "%s: set_vfo %s failed with '%.10000s'\n", __func__,
rig_strvfo(vfo), rigerror(retcode));
}
@@ -2266,7 +2266,7 @@ int HAMLIB_API rig_set_vfo(RIG *rig, vfo_t vfo)
if (retcode == RIG_OK && caps->get_freq)
{
retcode = caps->get_freq(rig, vfo, &curr_freq);
- rig_debug(RIG_DEBUG_TRACE, "%s: retcode from rig_get_freq = %s\n", __func__,
+ rig_debug(RIG_DEBUG_TRACE, "%s: retcode from rig_get_freq = %.10000s\n", __func__,
rigerror(retcode));
}
else // don't expire cache if we just read it
@@ -2351,7 +2351,7 @@ int HAMLIB_API rig_get_vfo(RIG *rig, vfo_t *vfo)
if (retcode != RIG_OK)
{
- rig_debug(RIG_DEBUG_ERR, "%s: returning %d(%s)\n", __func__, retcode,
+ rig_debug(RIG_DEBUG_ERR, "%s: returning %d(%.10000s)\n", __func__, retcode,
rigerror(retcode));
}
commit bd4c8c2e04d866230cb8b8fc977c8af171bd07ae
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Feb 1 17:45:42 2021 -0600
Add 0W reference for FTDX101D power meter
https://github.com/Hamlib/Hamlib/issues/524
diff --git a/rigs/yaesu/ftdx101.c b/rigs/yaesu/ftdx101.c
index 3871e810..3bb1eeaf 100644
--- a/rigs/yaesu/ftdx101.c
+++ b/rigs/yaesu/ftdx101.c
@@ -76,7 +76,7 @@ const struct rig_caps ftdx101d_caps =
RIG_MODEL(RIG_MODEL_FTDX101D),
.model_name = "FTDX-101D",
.mfg_name = "Yaesu",
- .version = NEWCAT_VER ".8z",
+ .version = NEWCAT_VER ".9",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
diff --git a/rigs/yaesu/ftdx101.h b/rigs/yaesu/ftdx101.h
index 24713352..c13d2d03 100644
--- a/rigs/yaesu/ftdx101.h
+++ b/rigs/yaesu/ftdx101.h
@@ -74,8 +74,9 @@
// Borrowed from FLRig -- Thanks to Dave W1HKJ
#define FTDX101D_RFPOWER_METER_CAL \
{ \
- 5, \
+ 6, \
{ \
+ {0, 0.0f}, \
{35, 5.0f}, \
{94, 25.0f}, \
{147, 50.0f}, \
-----------------------------------------------------------------------
Summary of changes:
rigs/yaesu/ftdx101.c | 2 +-
rigs/yaesu/ftdx101.h | 3 ++-
src/rig.c | 10 +++++-----
3 files changed, 8 insertions(+), 7 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Nate B. <n0...@us...> - 2021-02-01 02:04:13
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The annotated tag, 4.1 has been created
at 907645e2a62d0ebd19244adb4ea4d6a7a7e9f996 (tag)
tagging 645717241f4a952d05eab50e1bfb990a3d3d8b53 (commit)
tagged by Nate Bargmann
on Sun Jan 31 19:59:07 2021 -0600
- Log -----------------------------------------------------------------
Hamlib 4.1 release
-----BEGIN PGP SIGNATURE-----
iQGzBAABCgAdFiEEG5vcSeqIHtMzWHg79yYl4u2+1ZgFAmAXYH4ACgkQ9yYl4u2+
1ZgGmwwA1Jn2nM2vDg3JJXDrMZmW81tZyWOLU1kVcFd/g/DpFgR4UtrohgJNQeP3
z7wGyt/mlscc6siLKLEp4cGcqDIBIHn+X00hJVgKiTxOwBT1nXeZfBPeQLJyS73W
F8Rc6XIvM67ArJyuAJT9S5Vl5YPtvRzpVrQ0JqrXbi60Qycb7qRXSjwEipt3sCxr
W+vrkm/BoiYW2T61K+sTwYiKph8mIh2KyAlMvr2ZSLnTDQEeuzJrbn/S+Ia9ndCn
baggOUXcED60scXJeLbnB8i+F0Up0KbSz/3CYN8Bd27r26/AMY4m4P1ptxBEmbvc
RwEymWL8oQoRwxSZU5TzY0u8eEiZ0sBkZ1pwHHCDE96FasG8XFWpcwAj8nT+ZKJd
jV2pnwnBVdvOLSmcH95yAwWloxhkyfvrBxE3kohqng/08WQVbs7u9bGq9FXYFdP5
2hzf8DL40+MrEor0DRY2lwXiUj98bSDoUZkxVceOTyy7q7ir8drNJ4MCMeHJ9v/0
2uyBfQjx
=TI40
-----END PGP SIGNATURE-----
(no author) (1):
New repository initialized by cvs2svn.
Adrian Chadd (1):
Upgrade TS-711 and TS-811 to work.
Agis Zisimatos (1):
easycomm: Return the correct value of pointer val
Alessandro Zummo, IZ1PRB (36):
Remove const from priv_caps to allow kenwood_init to initialize default values if they're missing
Call kenwood_init in each and every driver
Use an appropriate debug level
Support get/set_powerstat on pcr100
Add kenwood_simple_cmd
Make set_ptt behave as before, fix set_ant for ts570.c
ts450: remove RIG_FUNC_TONE from has_xx_func if tone unit is not detected
ts450,ts690,ts850: use FL command to get/set filters in get/set_mode. (code from ts850.c)
ts450: indentation fixes
remove fixed command terminator (;) from generic code
ts140,ts2000,ts480,ts570,ts680,ts850,ts870s: remove usage of fixed ; and EOM
fix tabs
thg71,tmv7,ts450s,ts690: verify rig id at rig_open
ts450: implement set_channel
remove unused parameter from get_kenwood_func
ts570,ts850,ts870s,ts140,ts480,ts680: use kenwood_simple_cmd where possible
Replace __FUNCTION__, which is gcc specific and was deprecated a long time ago, with __func__, which is at least defined in C99.
generic, ts850: implemented CTCSS TN command (reported not working for ts850, should now be fixed)
Add description for the kenwood mode n. 8
implemented set/get_ext_param (voice, fine, xit, rit). enabled on ts450 and ts850
Added my call sign
removed comment about switch optimizatons. the compiler will generate the assembly code in a different order which is usually based on the case value. other compiler optimizations might also affect it, so it's useless to optimize the order.
check ptt status before set_ptt. enabled on ts850.
style fixes
band up/down was inverted
Try to compensate for leftover characters
Try to cope withe the PCR100 and PCR1000 at the same time
Bumped out to beta, solved a few bugs. Tested with PCR100/1000/1500.
kenwood: send the whole buffer at once, added kenwood_cmd
- removed EOM, it's handled by kenwood_transaction - fixed tabs and spaces - added generic routine for vfo errors - set_mem: do not switch vfo if already in mem mode - simplified invocation of some commands - buffer optimizations - added PARM_BEEP and PARM_APO - fixed getting of LEVEL_RFPOWER - fixed get_ant
tmv7: removed EOM
thg71: removed EOM
thf7: - wrong rfpower level granularity - added .reset - call kenwood_open - use generic th_set_vfo
th: fixed formatting issue
th: fixed stack corruption
th: fixed a missing newline
Alex V Flinsch, KC2IVL (8):
Initial changes for ft100
Initial release
initial release
fixed various command options
new file, list of tones/codes and sequence used by various yaesu rigs
added get frequency to ft100 code
added getinfo func hdr
*** empty log message ***
Alexander Sack (1):
Get firmware revision level from K3/KX3.
Alexander Schultze (3):
easycomm: include a new EasyComm3 to support move speed and infostring
update EasyComm3 to include setting and getting of config and status
easycomm: implement get/set config, easycom include status and error bytes, fix get_info
Alexandru Csete OZ9AEC (34):
Added new stylesheet to make API docs look better.
Modified to use new stylesheet.
Added doxygen comments.
Added rotator.h and rotlist.h to the input list.
Applied Tommi's improvements from the FT-857 backend with the following changes and additions:
Full RF power scale corresponds to 10 bars, not 15.
Added RIT, XIT and IF shift ranges to dummy backend.
Cast constant caps to variable caps in order to avoid compiler warnings.
Cast from const to variable in order to avoid compiler warnings.
- Cast unsigned char to char in order to avoid compiler warnings. - Ensure that all variables have a value before they are used (ft920). - Disable unused functions and variables (frg100). - Incremented backend version numbers.
Use tone_t for pcr1_ctcss_list. Changed arg 4 of pcr_transaction to unsigned. Cast the other mismatches to (char *).
Cast unsigned char to char in order to avoid compiler warnings. Incremented backend version number.
- Cast unsigned char to char in order to avoid compiler warnings. - Ensure that all variables have a value before they are used (tentec.c).
- Cast unsigned char to char in order to avoid compiler warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version number.
- Cast/change unsigned char to char in order to fix compile warnings. - Incremented backend version numbers.
- Cast unsigned char to char in order to avoid compiler warnings. - Handle all enum values in switch statements.
Fixed type mismatches that caused compile warnings.
Fixed type mismatches that caused compile warnings.
Initialise icom_val to avoid compiler warning.
Fixed type mismatches between signed and unsigned char. There are a few very suspicious 'if' statements in icom.c and frame.c
- Fixed type mismatches and unhandled switch cases. - Incremented backend version numbers.
Cast constant caps to variable caps in order to avoid compiler warnings.
Updated.
Added infor about w (send_cmd).
Max serial rate is 9600. Changed backend status to stable.
Escape the backslash character.
The 765 can do RIG_SCAN_PROG and RIG_SCAN_MEM.
Fixed S-meter reading to use calibration table since frontend always uses RAWSTR.
Fixed RF power reading and added power2mw and mw2power.
Fixed RIG_LEVEL_STRENGTH reading.
Andrew Errington (1):
Initial support for CM108 GPIO contorl of PTT
Ben Coleman, NJ8J (6):
Fixed bug in rpcrig_set_parm (using RIG_LEVEL_IS_FLOAT instead of RIG_PARM_FLOAT)
Fixed same bug in rigctl_get_parm.
Added checking of return string from rig on set (non-retrieval) commands. Added code for COMP function. Added alinco_set_parm & tweaked dx77 capabilities.
Handle setting Keyer speed and CW Pitch
Added NJ8J's email address.
Change email address for NJ8J
Berndt Josef Wulf, VK5ABN (11):
Implemented rig_set_channel()
Implemented set_parm() for BACKLIGHT operation
Commented out RIG_MODE_PKTFM overlooked at the submission of previous code
Implemented RIG_MODE_PKTFM and RIG_MODE_PKTLSB modes
Changed debug message format for freq_t from long long to double
ft990_get_ptt() now uses the FT990_SF_XMIT instead of FT990_SF_PTT. FT990_SF_PTT only returns status of PTT activated by CAT commands, whereas FT990_SF_XMIT reports the actual status of the ptt line.
ft990_get_mem(): Fixed bug that prevented the reporting of current channel number when vfo != RIG_VFO_MEM
Fixed erroneous return value
Fixed mispelled name for VK5ABN
Added missing modes to RX/TX caps
Fixed bug in ft990_set_mode that caused RTTY interchanged modes USB/LSB Fixed bugs in ft990_get_channel
Bill Barker (1):
Add test for Flex 6300 ID
Bill Somerville (210):
Patch submission for IC-756
Patch to allow same serial port for PTT and CAT.
Patch to fix broken Yaesu backend with FT-2000(D)
Fix rig_open not failing when PTT/DCD port is unavailable.
Fix Icom IC-756 filter handling.
Fix Yaesu newcat backend set_tx_vfo issue.
Add support for Data Modes on Icom "Pro" models.
Fix Icom IC-726 mode handling.
Fix Kenwood TS-2000 split operation.
Fix Kenwood Split Operation for TS50 & TS480.
Fix Kenwood TS-870s split and bandwidth set/get.
Correct receive buffer length for IS; comamnd.
Fix Kenwood CAT transaction busy retry mechanism.
Fix Kenwood get split VFO function.
Add data sub-mode support for TS590s.
Correct order of MD and DA commands for TS590s.
Get firmware revision for TS590s in rig_open.
Fix TS590s firmware defect.
Fix Kenwood get_vfo function returning wrong VFO in split TX.
Make Kenwood TS590s firmware defect fixup revision specific.
Extend TS590s firmware defect fixup to both VFOs.
Fix Icom IC-756 Pro III get data mode.
Add spilt mode get and set for Elecraft K3.
Fix data sub-modes on Elecraft K3.
Fix Elecraft Data Mode Translation.
Fix Elecraft K3 Data Sub-Mode Setting.
Fix Yaesu FT1000MP and FT1000MP Mk V modes.
Fix configure.ac
Fix a warning message.
Added option to not use VFO XCHG command when setting split parameters.
Fix a buffer overflow in the Windows termios emulation.
Fix pkg-config generation.
Fix Icom IC-756Pro mode get/set.
Facility for rigctl to read commands from standard input.
Add a pause command to the rigctl command set.
Prefix action function names so as not to clash with system names.
Prefix action function names so as not to clash with system names.
Corrected typos in rigctl.1 manpage.
Add read commands from stdin and pause command features to rotctl.
Merge branch 'rigctl-stdin' of ssh://git.code.sf.net/u/bsomervi/hamlib into rigctl-stdin
Fix manpage errors.
Remove redundant RIG_PTT_SERIAL_CAT enum from ptt_t
Only check for serial control line conflicts if PTT shares CAT port
Fix Ten-Tec Orion get/set split functions
Icom IC-7410 has VFO A/B not MAIN/SUB
Added IC-7410 data modes
Add retry mechanism for Yaesu "newcat" backend
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open
Add retry mechanism for Yaesu "newcat" backend
Implement retries for Yaesu "newcat" rigs
Disable auto information mode on open
Merge branch 'yaesu-retries' of ssh://git.code.sf.net/u/bsomervi/hamlib into yaesu-retries
RIG_OK is zero and need not be negated and this will not change
Fix response length expected error in K3 back end
Data mode support for the Icom IC-7700
Data mode support for the Icom IC-9100
Data mode support for the Icom IC-7200
Add support for the Kenwood TS-590SG
Kenwood TS-590SG
Always clear serial control lines when used for PTT
Disable AI mode on open for Kenwood/Elecraft rigs
Add more diagnostics and error checks to serial line control
Move serial line control error checks to lower level routines
Merge branch 'master' into kenwood-ai-off-at-start
Merge branch 'master' into ptt-control-on-cat-port
Fix serial i/o on Windows.
Yaesu newcat style command response reading improvements
Increase communications timeout for Icom rigs
Kenwood AIn; command has no reply
Revert read_string() to partial results are a success status
Remove gratuitous sleeps before function exits
Error checks on simulated direct VFO addressing
Elecraft K2 RTTY modes are not FSK
Kenwood and Elecraft rigs sometimes ignore commands
Removed kenwood_cmd function and replaced uses of it
Allow for failed test command on the K2
Elecraft K3 has 1 stop bit
Kenwood TS-570 series IF returns current frequency
Switch to "ID;" command for verification as no "AI;" on TS-840s
Increase Elecraft K2 comms timeout and retries
Switch Kenwood TS940 to generic kenwood CAT functions
Improve command verification for Kenwood & Elecraft
Use local buffer in kenwood transaction funciton
Clarify the handling of Kenwood CAT message terminators
Further clarification in the implementation of kenwood_transaction()
Removed redundant precondition test
Remove kenwood_simple_cmd as kenwood_transaction has that functionality
Call kenwood_open() for TS-2000 to ensure AI mode is disabled
Allow for bad ID from DDUtil in TS-2000 mode
Allow one extra byte in read_string() length to accomodate terminator
Enable data modes for the Icom IC-7100
Allow for PowerSDR ID in Kenwood TS2000 emulation mode
Fix TenTec Argonaut message lengths and timeout
Fix TenTec set split command
Implement get PTT status for the TenTec Argonaut
Fix error with width in set mode for the TT argonaut
Yaesu FT540 can only change the frequency of the current VFO
Fix defect in Kenwood TS-940 IF command response parsing
Fix response lengths for the TT Jupiter 538
Do not attempt CAT PTT commands on the Icom IC-706mkIIG
Use correct argument type for serial control line functions
Initial back end implementation for the Kenwood TS-990s
Mode set is not VFO targetable on the Kenwood TS990s
The Kenwood TS990s only does split Tx on SUB VFO
The doesn't appear to be a way of getting PTT/SEND on the TS990s
Lower both RTS and DTR on alternate PTT serial port
Honour any error status from serial port calls
Dummy get_ptt function needs to read RTS/DTR/PARALLEL
Make autogen.sh agnostic to whitespace in paths
Increase the number or retries for most Kenwood rigs
Command validation for Yaesu set commands
Remove unecessary delays from TS-940S backend
Proper IPv6 and dual stack networking
Fix compiler warnings
Proper IPv6 and dual stack networking for rotator net daemon
Attempt to restore AI status on exit
Allow for poor emulations of Kenwood rigs that have no ID command
Use correct function to execute set type commands with no response
Add a new command line option '--no-restore-ai' ('-n') to rigctl
Fix FT-817/857/897 issues and add some missing functionality
Fix missing PKTUSB mode setting code for FT-817 & FT-897
Fix a logic error in band detection during IC-910 set frequency
Add missing configuration getters
Detect C-IV NAK returns as rejected commands
Elecraft rigs do not switch VFO in IF command responses during split Tx.
Redundant split mode directives on Elecraft rigs cause Tx failures
Only use IPv6 features on Windows versions that support it (>=XP)
Improve IPv6 portability and consistency
Add 23cms to IC-910(H) backend
Implement combined split VFO frequency and mode setting.
Initial implementation of rig_{set,get}_split_freq_mode() for FT-857.
Implement rig_{set,get}_split_freq_mode() for IC-756 series.
Add {get,set}_splitfrequency_mode for the IC-910(H)
Elide unnecessary CAT commands when setting split frequency and mode
Do not swap VFO unnecessarily
Better set frequency semantics for the IC-910(h)
VFO targetable get frequency operation for the Icom IC-910(h)
Make sure right band is used when setting frequency on IC-910(H)
Use rig state rig port retry option rather than from capabilities
Use a sensible port timeout value for the Kenwood TS-850
Further attempts to simplify and improve Icom CAT for split operating
Add RIG_PASSBAND_NOCHANGE as possible set_{split_,split_freq_,}mode argument
Switch to POSIXLY_CORRECT mode for getopt_long()
Fix a regression introduced in 222ad74
Do not crash if expected CTCSS tones not sepcified
Do not attempt to query AI state on the TS-450s as it is not supported
Some more Kenwood rigs with no AI query
Adjust rig_list_foreach to allow use for unregistering
Fix an issue presenting on the Yaesu FT-450(D)
Release the serial port used for PTT when possible
Change the IC7600 & IC7800 set/get mode to versions that support DATA modes
Add rig_{open,close} functions to TS-790 backend
Revised kenwood rig busy response handling
Add get and set split functions for the TS450S
Simplify and fix defects in the FT991 back end
Fix some endian issues in the si570/AVR SDR back ends
Fix a state machine defect with repeated PTT reset calls
Do not pass --no-cpp_precomp to compilers on Mac OS X
Allow RIG_LEVEL_STRENGTH queries over the network link
Stop rigctld and rotctld crashing when service threads cannot write to clients
Use snprintf throughout kenwood/kenwood.c for buffer safety
Fix off-by-one issue in reading memory mode from IF command response
Fix some issues with commands not supported by TS-2000 CAT emulations
Add best guess transmit status to rig state structure
Take out unecessary delays in K(X)3(S) back end.
FT-817 status queries honour retries and timeout
Make rig_open() call in rigctld lazy and add graceful termination
Simplify SWIG interface definition and hide 64-bit values from Lua binding
Remove unnecessary delays from TS-990 and TS-2000 back ends
Change frequency setting for the FT-747GX to something more basic
Fix an incorrect error return value from win32_serial_select()
Fix timeout issues with the Ten-Tec Orion/Eagle
Ensure compilation works with a pre C11 compiler
Make code C90 compliant again
Move unnecessary global and file static variables to the stack
Simplify unnecessary persistence of extended response state
Fix misunderstanding of netrigctl_transaction() return value
Made PTT and DCD options consistent between rigctl and rigctld
Report unrecognised PTT and DCD types in rigctl and rigctld
Update i/o functions to support GPIO(N) port closure
Fixed erroneous messages in rig_close with GPIO(N) PTT or DCD types
Remove duplication across GPIO and GPION handling of PTT and DCD
Improved get PTT state handling in dummy backend
Simplify closing of device files
Repair a regression with the dummy get PTT functionality
Revert "Add debug to serial.c"
Repair a regression with the dummy get PTT functionality
Revert "Add debug to serial.c"
Fix regression with slow responses from SmartSDR causing errors
Deal with remote PTT type at the client end
Avoid 'echo -n' as macOS sh doesn't support it
Fixing an operator precedence defect
Updates to the TH-D7A/E back end
Less ambiguous variable name and repair merge issue in prior commit
Add missing config parameters for rig power on/off and screen-saver
New power on option rather than power on/off
Make version recording safe for parallel builds without breaking make dist
Make version recording safe for parallel builds
Ensure old hamlibdatetime.h headers in the source dir are ignored
Merge branch 'safe-scs-versioning' of ssh://git.code.sf.net/u/bsomervi/hamlib into safe-scs-versioning
Fix make dist versioning
Use BUILT_SOURCES make mechanism as intended
Fix rebuild dependency
Build hamlibdatetime.h every time
Force copy over existing
Minimize rebuilding
Correct use of sh if
Another attempt at a reliable SCS version header generation
Remove temporary file
Blaine Kubesh (8):
added Icom803 to icmarine
added Icom803 to icmarine
added Icom803 to icmarine
Update ic-m803 remote-id to 20
Update icm803.c
Update AUTHORS
undo author changes
Update icm803.c
Bob Freeman (1):
New CNCTRK rotor backend
Brian G. Lucas (10):
Pretty much a complete re-write of thd72.c, since the old one didn't work at all. Many commands have been tested with real hardware. But more work remains to be done.
WIP: thd72 driver. More level, func, and parm stuff works.
WIP: thd72 driver. Try to simplify the menu based interface.
WIP: thd72 driver. First cut at get_channel(). Other cleanup.
WIP: thd72 driver. More interfaces implemented. Other cleanup.
Implement some more interfaces. Comment out get_chan_all_cb because the block read routine doesn't work.
Fix a format so that it works with Windows. Can't test it because I have no Windows machines.
Fix RFPOWER level for FT-450D. It uses 5-100, rather than 0-255 that the FT-450 does.
In newcat_open(), initialize rig_id in case any subsequent commands need it.
Some calls to thd72_get_menu_item where passing wrong values for range check.
C-Elegans (1):
Add ability to have rigctld display transverter frequency
Charles Suprin (7):
Add file for TM-D710 support.
Merge branch 'master' of ssh://hamlib.git.sourceforge.net/gitroot/hamlib/hamlib
Add D710 to riglist.
Add D710 code to kenwood library.
Register D710 interface.
Initial D710 Implementation.
Register D710 interface.
Charles Suprin, AA1VS (3):
extend th_get_vfo_char to support D700
Changed th_set_freq to round and select step size to use. Allows 6.25kHz and 5kHz channelization.
Use new th_set_freq for TM-D700
Chris Karpinsky, AA1VL (7):
add serial_flush() method to clean rx buffer
initial stab at this for the Yaesu FT-817
add ft817.*
add ft817
bump the backend status to ALPHA
Initial entry of cgirig giving ability to use hamlib from a web browser.
increased post write delay to 300
Chris Ruvolo (4):
TS-690: deal with optional tone board using TS-450 logic
TS-690 does not implement the PC command to get/set output power level
TS-690 does not implement the GT command to get/set AGC rate
TS-690: bump version
Chuck Hemker, N2POR (1):
Use RIG_TARGETABLE_MODE in rig_set_mode and rig_get_mode
DL1YCF (5):
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Dale E. Edmons, KD7ENI (19):
Added comments to commandline in rigctl (second time) --Dale
Started TS-2000 update/overhaul --Dale
Copied too much stuff, backed out what I broke.
Bring ts2k.c more in line with current CVS.
Changed ts2000.c to ts2000.h.
Start of rig menuing functions.
New file.
Renamed ts2000.c.new ts2000.h
Bring code more in line with CVS code.
Changes often, so added status. Will delete when things stabilize.
Corrected status to CVS branch.
Renamed new ts2000.c to ts2000.h
Wouldn't compile. Removed ts2k.c. Haven't got all new rig.h stuff removed.
Temp kludge to make ts2k.c compile (keeps Hamlib from compiling!).
Updated status.
Added working TS-2000 files. There are some changes left out but this is the minimum I could commit and have a functional rig. The cost is that I've broken kylix and others that duplicate rig.h. I'm in the process of repairing the damage. Please be patient. I hope a day or so, but am asking for up to a week. E-mail me about *anything* you find broken. Kylix (and similar) is (are) known to not work.
Changed name back to original.
Had to re-run automake kenwood/Makefile.
1) Updated branch_ts2k with respect to HEAD. 2) Working ts2k_menu. (only in RIG_MODEL_TS2K) 3) Split TS-2000 into experimental and standard versions: RIG_MODEL_TS2000 = standard, RIG_MODEL_TS2K = experimental. 4) Basic command parser in tests/rc. Will open/close rig or copy a freq from one rig/vfo to another rig/vfo. Very cool. Very basic. Very experimental. 5) Added test programs. a) testcmd - calls parser (no command prompt yet!) b) testts2k - replacement for testrig (with trivial modification) c) testptt - testts2k/testrig should not transmit. TX stuff in testptt. 6) Used crowbar to merge HEAD into branch_ts2k. Working on clean-up. 7) I'm sure I've forgotten or neglected to mention some other stuff.
Daniel Estévez (2):
Fix DIG MODE for FT817-ND
Fix DIG MODE for FT817-ND
Daniele Forsi (5):
Set the executable bits on py3test.py
Fix spelling errors
Fix more spelling errors
Fix more spelling errors
Fix typos
Daniele Forsi IU5HKX (1):
Fix a [missingInclude] "information" when running cppcheck --check-config
Dario Ventura (3):
New Prosistel rotor backend from IZ7CRX
Add elevation code to Prosistel backend
TS2000 Satellite mode and Gpredict
Dariusz Bismor, SQ9KEJ (1):
rigmem: implement CSV file loading
David Fannin (1):
Submission for new backend model (134) for Yaesu FT-DX1200
Davide Gerhard (3):
tests/{memcsv.c,memsave.c}: partially revert commit 4072f9f4
ic746.c: correct chanbuf length, fix channel structure and support split
ic746.c: add ic746pro_set_channel() to load memory from csv
Dawid Szymanski (2):
ICOM Voice Keyer implemented.
typo fix
Diane Bruce, VA3DB (5):
- first cut at fixing configure to recognise --without-tcl-binding and --without-python-binding options
- gt_HEADER_INTTYPES_H is definitely bogus here, leftover from what?
- document debian/FreeBSD needs for AUTOMAKE etc. - add in libtoolize which should be there
- These should have been commented out.
- Extra comma on RIG_STATUS_BUGGY can cause a compiler error.
Dieter Röver (1):
Fix bug in vfo_comp calculation in Hamlib
Ekki Plicht (DF4OR) (2):
New model Icom IC-R8600
Patch for Icom DCS code handling
Elliott Liggett (1):
Added functionality for the IC-7300 auto antenna tuner
Eriks Dobelis (2):
ft817: adding delay before next retry after returning from tx to rx
ft817: Moving delay value into #define section of the header
Ervin Hegedus (9):
RIG_PASSBAND_NORMAL wasn't handled correctly when rig_set_mode() was called - fixed
Fixed SWIG `Setting a const char * variable may leak memory' error
Fixed Kenwood filter cmd when passband is set to 500Hz
Merged from upstream
Merge branch 'master' of http://git.code.sf.net/p/hamlib/code
Added Lua binding and demo script
Added new example to Python demo script (set/get float type level)
Change variable length argument handling in affected functions
Fix two typos
Ervin Hegedüs (1):
rig.swg: New properly formatted macro
Francois Retief (21):
Added read_serial function to read strings from a port.
Corrected some comments
Added code to hexdump to right align ASCII dump column
added private caps for rig termination character
add private caps and more commands.
Changed to a new transaction function and adde quite a few commands.
add private caps to store the termination character of Kenwood rigs commands.
added a kenwood_init and _cleanup routine for priv caps & priv data.
Added a new function: LCD Lamp ON/OFF (for Kenwood TH-7DA)
check trn state of rig in rig_open.
Initial commit of Kylix binding
New backend for rotators
New RPC backend for rotators
Added rot_move function
Fix macro name
Added rot_move function
Added easycomm and rpcrot backends
Fixed circular dependency for rpc.rigd and rpc.rotd
regenerated
Added IC-910 rig.
Added constants for the IC-910 rig.
Frank Goenninger (3):
Add ADAT ADT-200A backend
adat updates from Frank, DG1SBG
ADAT fixes on Windows
Frank Singleton, VK3FCS (165):
Initial revision
Initial revision
*** empty log message ***
*** empty log message ***
*** empty log message ***
Initial revision
Initial revision
*** empty log message ***
*** empty log message ***
added build_all ,cleanall and verify targets
*** empty log message ***
initial top level makefile
add some things
initial import
initial import
initial import
fixed some typos
use rig_open and rig_close
added rig_open and rig_close
fixed cmd_sat_on / off
added sat-on and sat_off to test
changed cmd_get_rx_status, must do tx also
updated test()
all reads use while (1) and break
added ../common as object path
added rig_open and rig_close
using rig_open and rig_close and serial.h
use common dir for serial stuff
use ft747 on serial port /dev/ttyS0
read uses while(1) and break
use while(1) and break
added read_sleep
use read_sleep now from serial.h
using read_sleep from serial.h
had rx and tx status swapped (document error?)
removed cmd_get_update
using CVS instead of RCS directories
use MODE_xx defines
cannot use const int in case statements ?? so use #define instead
use #defines for MODE_XXX used in case statements
working out freq conversion, unfinished
playing with test routines
long int cmd_get_freq_mode_status_main_vfo(int fd, unsigned char *mode);
long int cmd_get_freq_mode_status_main_vfo(int fd, unsigned char *mode)
frq = cmd_get_freq_mode_status_main_vfo(fd, &mode);
starting with the cmd_set commands now
starting on cmd_set commands now
starting on cmd_set_freq commands now
add scanning todo
now set sat rx and tx freq and mode also
fix typo
dump raw hex data when writing and reading
trying some cms_set_freq_xxx commands
added routines for dec <-> packed decimal conversion
minor
added generic hex dump routine, static void dump_hex(unsigned char *ptr, int size, int width);
removed unwanted debug printf's
removed dump_hex from here..
calc_freq_from_packed4 is about to be replaced
calc_packed_from_char and calc_char_from_packed now here
cleanup
cleanup
void dump_hex(unsigned char *ptr, int size, int width);
adding dcs tables and repeater offset in Hz
describe faulty yaesu documentation
added README.license for GPL
added GPL license info
included full GPL license
Updated docs to point to http://sourceforge.net/projects/hamlib/ and added a C code snippet on how to use the API.
added -I$(COMMON_DIR) to find rig.h
added -I$(COMMON_DIR) to find rig.h
adding capabilities
initial capabilities stuff
starting to add rig_caps stuff
starting to add rig_caps stuff
starting to add rig_caps stuff.
added GPL stuff and comments
adding rig_caps stuff
adding rig_cap stuff
adding rig_caps stuff
add capabilities and preferences
adding rig_caps functionality
adding rig_caps stuff
frontend reduction on backend function namespace - phew !!
frontend API clarification
removed old open_port2() using old rig_caps
fixed some typos, added 3 more candidates for API
missing ; in some enums
converting to frontend/backend structure compiles ok
removed open_port() and write_block()
removed open_port() and write_block()
fixed typos, added &ft747_caps in rig_caps
changing to frontend/backend style
converting to frontend/backend style
added 3 more cmd_* for API examples
Example of setting rig Main VFO to 439.700 Mhz FM
cleanup comments
added extern const struct rig_caps ft747_caps;
still thinking about set/get strategy
minor updates
added extra rig caps
added some set/get examples with return code checking
added testrig to Makefile, no linking yet
added usleep to read_sleep()
updated rig_caps structure
*** empty log message ***
test making a shared lib (at last) for the frontend - more todo
test making a shared lib for the frontend - make hamlib
describe frontend/backend structure
updated code snippet example
started ft747_set_ptt and ft747_set_vfo
starting to implement set/get pairs
added typedef enum ptt_type_e ptt_type_t;
added VFO types to enum
starting on libhamlib Makefile, added ./lib and ./include under common
make, make install, and make clean work ok, using ./lib and ./include directories also.
make, make install, and make clean work ok, using ./lib and ./include directories also.
removed "make verify". Added reference to common/Makefile
added printf("testrig:main() has been called \n"); for testing linking
makefile for testing testrig linking
alternative rig_base declaration removes references to rig_caps at compile time. should populate it another way -- FS
added printf's to confirm rig.c (hamlib) is being called ok
better libhamlib.so version :-)
added ft847_open and ft847_close to enable CAT ON/OFF
added ft747_open and ft747_close
updated lib names for backend to libhamlib-xxxxx.so
API updates - added set/get_mode
merge with TRN stuff and add some set/get_mode and vfo stuff
added post_write_delay
cvs mails to hamlib-cvs-digest
cvs mail update works ok :-)
minor fixes
updated ptt/mode/vfo
added set/get freq to use generic bcd etc
more set_freq() examples
1. Added VFO as target for some set/get cmds. 2. ./testrig still runs ok using RIG_VFO_CURR.
minor update to active VFO handling in _set_vfo
some new defines for FT747_VFO_A/B
minor updates to active vfo handling
added ptt handling example, stand back !
trying different approach to storing cmd sequence. _set_ptt is being converted. Needs tidying up though. Some sequences are complete, and can be read from static data. Incomplete sequences will eventually be copied form static declaration, and completed in priv data.
Removed static stuff from functions. Also, begin to implement table driven command translation from API to rig native. priv now contains a cmd table that is used for backend commands towards rig.
Added some new freq/mode combinations.
converting ft847 to table driven, similar to ft747.
more table driven stuff for ft847. cat/ptt/freq being converted.
Added ft847_send_priv_cmd(), converted some part of API to use this. Added _set_mode to work now. TODO: put _send_priv_cmd into yaesu.[ch] so ft747 can use also. Turned on PTT also (stand back)..
rig_cleanup and rig_close not calling backend
removed unused calc_ functions.
removed old API functions, general cleanup tested rig_close and rig_cleanup
Initial release, common yaesu declareations etc.
add version tag
nseq uses YAESU_CMD_LENGTH
Initial yaesu Makefile
Moved from ft747 and ft847 dirs
common yaesu handling
common yaesu dir
Begin to use common yaesu code
general cleanup, added _send_priv_cmd
added targetable_vfo value to caps
minor cleanup
ChangeLog history started
Initial import for ChangeLog handling
starting to convert rig struct to readable form
more of convert rig struct to readable form
Changelog update for HAMLIB-1.1.1
Gerardo Richarte (1):
gs232b.c: Improve get_position string parsing
Gisle Vanem (1):
Enable verbose mode in bindings/pytest.py
Greg Troxel (1):
Warning about dodgy code in drake.c
HB9EIK (4):
Initial release ELAD FDM DUO
Update ELAD files
Update build system for ELAD backend
Update copyright for fdm_duo.c
Hans Van Ingelgom (1):
Added Peaberry V1 and V2 models
Hegedüs Ervin (4):
Merge branch 'master' of http://git.code.sf.net/p/hamlib/code
Check SWIG string functions for some languages
Leave off multiply 'typedef const char * const_char_string' definition (in rig.swg and rotator.swg)
Fixed int[10] type variable error in bindings
Jae Stutzman (5):
Added HPSDR backend
Clears potential garbage data in read buffer prior to command being sent
Updated PiHPSDR backend defaults
Use Windows ioctlsocket to avoid buffer overrun
Added new AGC control for PiHPSDR
James Watson, HZ1JW (2):
Added ic7200 to icom
Corrected modes in ic7200.c
Jaroslav Skarvada (2):
Fix hardcoded pcconfig libdir
Fix serial_port DCD squelch
Jeroen Vreeken (9):
Add support for GPIO PTT.
Add missing breaks and improve error messages
Add Dorji DRA818 modules (VHF and UHF variants) Also works with NiceRF SA818 modules
Merge branch 'master' of git://git.code.sf.net/p/hamlib/code
Small fixes to DRA818 volume handling
Add GPIO and GPION options for DCD. Also bump abi version since the config params struct needed resizing.
Merge branch 'master' of github.com:Hamlib/Hamlib
GPIO working after debugging
Merge branch 'master' of github.com:Hamlib/Hamlib
Johan Ström (1):
Backup serial options on open, restore on close
John Paul Adrian Glaubitz (1):
dummy/dummy.c: Fix unaligned access in dummy_get_level()
Jonathan Bastien-Filiatrault (3):
Correct FT; command that does not exist on the FT-891.
Allow setting split mode without smashing the VFOB frequency.
Scale power values correctly for Yaesu FT-891.
Jonny public (1):
ether6: New rotor backend from Jonny, DG9OAA
Joop Stakenborg, PG4I (116):
update (kenwood is not a WIP anymore)
first implementation of kenwood_get_ptt
enable get_ptt for this rig
add get_ptt for this rig
additional protocol checks and cleanups
fix signal strength
add RIG_LEVEL_RFPOWER
fix_compilation
add rit capabilities
bring comands in sync with other kenwood rigs
add rit capabilities
send_morse added
explain set_rit
fix get_ctcss_tone by using IF command
typo
add xit capabilities
add set_level and get_level
bring rig in sync with other kenwood rigs
bump version numbers
nothing returned by the rig for these commands
fix get_level_agc
fix set_level_agc
getting in sync with the debian 1.1.2 package
remove template files
initial checkin
make this NMU for now
correct the path for copying files in the apropriate package
do not install the old changelog
versioning not used
move .la, .a, .so files to the correct package
include rpc.rigd and rpc.rotd
include pkgconfig support
don't create shlibs file for drake, jrc and easycomm libraries
move hamlib1 to the top so the documentations gets installed correctly
make building easier, call autogen.sh
INSTALL file not used
build the documentation package
we don't have to call configure twice
cleanup
remove some build dependencies and don't call autogen.sh
ts450s uses IF command for get_vfo, get_freq and get_mode
minor bugfix, bump to beta
add CWR and RTTYR
this rig does not have a command for reading IF bandwidth
retrieve passband with FW command
passband should be calculated after mode is set
use rig_passband_normal here
various lintian fixes
one last lintian fix
use FW command to set bandpass
cw filters for normal, narrow and wide
more filters
get_mode and set_mode for this rig
filters
some comments
correct rit
add get_level
cleanups
more modes
set_level for this rig
should use kenwood_get_freq
minor bug
add rpm support
need hamlib.spec for 'make rpm'
make rpm will fail with a '-' in the version number
a working spec file
update debian build for rotorez and fodtrack, minor fixes
unofficial
fix the debian build script, new maintainer
update the debian build tree to the latest
correct baudrate for the ts-950, use the information field IF for get_vfo by default (supported by most kenwood rigs), ts870s will use the much shorter FR command for get_vfo
correct baudrate for some rigs and add ts-950 to the id_list
ts-850 returns ID 009 according to martin, OK1RR
fix 'make rpm'
build for hamlib-1.1.5
not needed
sync with latest debian package and add tcl, c++, python and perl bindings
correct spelling
s-meter calibration by Matt Dawson
basic functionality by Matt Dawson, tested with grig and xlog
lifetime e-mail address :-)
sync with latest debian release
more functionality, mode and frequency get by Matt Dawson
only switch tx vfo is split is on
set attenuator level
export convenience function get_kenwood_level, so they can be use by other backends
add RIG_LEVEL_SWR, copied from ts850
add RIG_LEVEL_COMP, RIG_LEVEL_AGC, copied from ts850
bump version, no preamp
really add ALC read this time, only change meter if needed, cleanups
split has_get_level and has_set_level
fix coding, python2.4 compatibility
fix compilation warnings
more compilation warnings nuked, use tone_t for ctcss_list
use size_t
fix more compilation warnings, int->size_t, unsigned char->char
more unsigned char->char and int->size_t transitions
set functions should have ack_len zero, also need to check other rigs
make sure we use ack_len=0 for functions that return nothing (set functions)
more unsigned char->char and int->size_t transitions
extend rig capabilities, patch by Tom, DL1JBE
add RIG_LEVEL_STRENGTH to caps, set post write delay to 0 and do some cleanups
re-establish post-write delay
remove rpath backdoor
long long really needed here?
updates by matt, GW0VNR
long long really needed here? - patch by diane Bruce
distribute footer.html
correct set/get power
try better s-meter readings
packages renamed
obsolete
sync with latest debian release
no need to link to python
sync with latest, python changes
another debian update: use 'make distclean' in the rules file
Joshua Lynch (4):
initial SatEL rotator support
factored io functions out. improve reliability...i hope.
fixed state bug. reconnecting would disable motion every other connect.
merged upstream/master into master
Juergen Rinas, DC3BW (4):
added antenna switching...
added a few get_level/set_level get_function/set_functions.
* fixed set_func (concerns most kenwood rigs) * added 115200 to the list of baudrates in probeallrigs_kenwood()
* fixed ptt * expanded frequency range (available after firmware update) according to http://www.kenwood.com/i/products/info/amateur/ts_480/firmware/pop_ts480_e.htm * added tuning steps * added filter list * increased version info
Julian Cable (3):
WinRadio G313: Updates from Julian Campbell
wrg313api.c: Fix Win32 (MinGW) build issue
Use Automake conditionals for G313 build
Kamal Mostafa (3):
Fix mingw32 cross-compilation procedure and config
Do not let macros/ac_python_devel.m4 trash CPPFLAGS and LIBS
Fix spelling errors
Kamal Mostafa, KA6MAL (19):
Hard-code length of hamlib_version and hamlib_copyright strings to stay compliant with hamlib 1.2 ABI and avoid spurious "consider relinking" warnings from dynamic loader.
Removed stale debian/ dir from the hamlib source (it is maintained in the Debian diff and isn't useful in this tree).
Update bundled libltdl (libtool) to version 2.2.6b to address CVE-2009-3736. - autogen.sh: never downgrade our bundled libltdl/ (only run libtoolize if system version is newer than our bundled version). - autofixer.sh: script removed as libtool 1.x is no longer allowed. - configure.ac: (not enabled) optional setting to deprecate embedded libltdl/.
Added Kamal Mostafa and Jaime Robles as maintainers for Debian packaging.
Fix build --with-python-binding breakage introduced by Python 2.6: Do not reference LOCALMODLIBS, else it will add libraries to our link line (e.g -lssl) which are not necessarily installed.
Elektor 507 frequency selection resolution improvements, contributed by John Nogatch AC6SL.
Move backend libraries into /usr/lib/hamlib directory.
Force automake to invoke the C (not C++) linker in kit/ when no C++ is in use.
python: fix --with-python-binding configure macro
fix configure.ac paths for FreeBSD
Remove bundled libltdl (libtool)
README.developer: restore libtool prerequisite text
Fix segfault on improper -C syntax
configure: add check and advice for missing ltdl.h
configure: refine advice for missing ltdl.h
source warnings cleanup: rpcgen-generated code
source warnings cleanup: #if-0 out a few unused routines
source warnings cleanup: #ifdef out unused FT-840 routines
source warnings cleanup: rotorez_rot_reset wrapper for stop
Kosta Arvanitis (1):
Allow IC-7410 to send cw messages
Kārlis Millers (1):
Merge pull request #1 from Hamlib/master
Ladislav Vaiz (3):
Add Android build support
Android build updates for monolithic build
Initial support for FUNcube Dongle Pro
Larry Gadallah (1):
AR7030+: Error reading signal strength for low signal levels.
Larry Gadallah, VE6VQ (20):
Added Larry Gadallah as maintainer of AOR AR7030+
Added AOR AR7030 Plus
Added caps for AR7030+
Added caps for AR7030+
Added AR7030+
Alpha version of AR7030+ backend
Alpha version of AR7030+ backend
Rationalized naming convention, ran everything through lint.
Rationalized naming convention, ran everything through lint.
Fixed SVN tags
Fixed SVN tags
Added AR7030P utilities in ar7030p_utils.c
Initial version of utility functions for AR7030 Plus receiver
Removed utility/helper functions, added/updated Rig API functions
Added new I/O helper functions, IR code definitions
Added private data to support channel information
Added init/cleanup functions, started implementation of mem/channel access functions
Added prototypes for pbsToHz() and hzToPBS() helper functions. Added comments to denote mey_sq, mey_pb, and mey_id labels
Added implementation for pbsToHz() and hzToPBS() helper functions.
Added various memory/VFO functions.
Magne Mæhre (1):
Enable set_powerstat (turning radio on/off) for IC-7100.
Malcolm Herring (62):
init branch
init branch
New model: Icom IC-R6
Icom IC-R10 & 20 testing complete. Move to Beta
ignore build
Complete R6 commands
Add IC-R30
daily
fix tones
Merge remote-tracking branch 'Hamlib/master'
update
Merge branch 'master' into icr6
ICR6 new functions
merge
update
Merge remote-tracking branch 'Hamlib/master'
commands 00-15
Merge branch 'master' into icr30
icr30 updates
Automatically detect CI-V echo state
Icom R8600 to Alpha
Update contributors
Merge branch 'master' into origin/master
Fix Icom DCS SQL funnctions
Merge remote-tracking branch 'Hamlib/master'
Merge remote-tracking branch 'Hamlib/master'
Prepare for D-STAR implementation
Merge remote-tracking branch 'Hamlib/master'
Initial implementation of icom extended operations
more extended operations
Merge remote-tracking branch 'Hamlib/master'
more ext functions
fix merge conflicts
more ext_cmd updates
ic7100 ext functions
Merge remote-tracking branch 'mdblack/master'
Merge branch 'master' of https://github.com/malcolmh/Hamlib
add token list for ext operations
Merge remote-tracking branch 'mdblack/master'
more ext operations
Merge remote-tracking branch 'mdblack/master'
custom ops using ext ops scheme
custom level ops
Merge remote-tracking branch 'mdblack/master'
Merge remote-tracking branch 'Hamlib/master'
add scope functions
update IC7100
update rigs for new functions
Merge remote-tracking branch 'Hamlib/master'
new directory structure
Merge remote-tracking branch 'Hamlib/master'
correct powerstat caps
Merge remote-tracking branch 'Hamlib/master'
New custom parm implementations
restore get_powerstat
correct rig_close cap
Merge remote-tracking branch 'Hamlib/master'
Merge remote-tracking branch 'Hamlib/master'
Merge remote-tracking branch 'Hamlib/master'
add g/set_ext_func to API
additional error checking for extended operations
Add Macports to README.osx
Mark J. Fine (25):
Fixed post-write-delay timing
Added support for ECSS/FAX and meter strength
Added support for meter strength
Added ECSS support to R8B and reconfigured default filter modes
Reconfigured default filter modes
Updated to reflect recent changes within v1.2.2cvs-2
Fixed CWPITCH function on IC-R75 to use 'set mode data' command. Added level granularity steps
included other rig_ prefixes
fixed get_powerstat to read correctly when memory channel is blank
Added memory switching function in set_vfo Added set memory channel# in radio in set_mem
Added set_vfo command for vfo/mem switching Corrected handling of "vacant" memory channels
Correctly detect if in memory mode in get_vfo() Reduced large decision trees with bitwise math
Added set/get channel functions
Updated set/get channel functions
Made get_channel aware of untunable blank memory channel
accounted for dual preamp (10 & 20db)
Fixed passband width return for IC-756PROII
Added FM narrow to passband spec
Added a provisional define for a variable bandwidth control
Added a provisional variable bandwidth control to the RIG_LEVEL enumeration
Added provisions for a variable bandwidth control Added provisions for a tone control Corrected problems with Squelch (SQL) and Notch (NOTCHF) controls
Added provisions for a variable bandwidth control (BWC)
Fixed low-end of freq range from 100kHz to 10kHz.
Fixed several differences in 535/545 commands
Added missing manual notch switch for the NRD-545
Martin Cooper (2):
Don't expect a response when none is required.
Don't send EasyComm I commands to EasyComm II rotators.
Martin Ewing (7):
Add test for valid set frequency, esp. for VFOA (ham band only) Expand valid range_lists for full hardware ranges Fix tt565_transaction to allow Morse commands.
Orion.c: remove spurious debug statement.
implement level settting and misc fixes
remove debug stmt
Increment Jupiter version
Trim TS950 commands that are not provided by CAT
jupiter.c: Updates from Martin, AA6E
Martin Ewing, AA6E (69):
specified buffer lengths, added default vfo A setting
Fix SWR & S-meter, set ATT, set AGC, add rough STR_CAL func.
Fix timeout, add retry, better S-mtr scale
various bug fixes
Added RIG_LEVEL_CWPITCH, RIG_LEVEL_KEYSPD, send_morse()
Added RIG_FUNC_TUNER, RIG_FUNC_LOCK and RIG_FUNC_VOX, fixed MEM_CAP.
Added VFO_OPS, promote to Beta
Support LEVEL_VOX, VOXGAIN, ANTIVOX Support LEVEL_NR as Orion NB setting (firmware bug), FUNC_NB -> NB=0,4
Add get_, set_ant (ignores rx only ant)
Added Orion, Orion 2 info
Squashed warnings about signedness
Orion S-meter cal
minor - add doxygen info for enums
minor - doxygen parameters
doxygen formatting
add comments
info on generating docs
doc improvements
add comment
documentation
documentation
allow atten = 0 dB
patch from SM6PPS
fix enum documentation
documentation page
documentation
documentation
split orion.c and add doc info
documentation
SM6PPS mods for AOR 5000a
further rx-320 mods by Ken Prox
use binary mode VFO requests
correct CHANNEL_CAPS sytax
Dead simple sample Hamlib program
Correct float vs int interpolation options
Add autodetect version 1 or 2 firmware (using rig_get_info). Correct V1 calibration. Make V2 calibration the default. Signal RIG_LEVEL_STRENGTH supported.
Moved firmware detection to new tt565_open routine, where it is done every time the rig is opened.
Add more functions to example program.
Ensure printable get_info string
Fix bug that seg faulted when get_info returned null. (No reward points!)
Add S meter operations to sample program.
Adjust retry & timeout values to help in case of no response from rig, i.e., if rig power happens to be off. Prettify some code indents.
Better error handling, reliability for serial I/O. Misc prettification.
TT Omni VI / Plus improvements
Fix typo
Fix Omni VI PTT function
Update Icom info
Declutter
Omni VI memories, rit/xit
Fix serial I/O error checking
Add author. (credits info added to web page, also)
Switch back to ASCII freq. setting because of hardware(?) bug.
Add AF, RF gain and squelch level capability.
Add thanks to W1RFI & ARRL
minor changes
RIG_STATUS_ALPHA reflecting initial tests.
fix missing comma
use rawstrength.i which matters in PPC compile
fix string handling in LEVEL_RAWSTR
Orion - implement RIG_LEVEL_STRENGTH
Example updates
Orion: Allow frontend to handle RIG_LEVEL_STRENGTH
Minor comment re rit/xit
Downgrade ERR to WARN (i/o retry)
Init revision - tnx Stephane
Autofixer sets up for libtool v1 or v2
autofixer.sh supportin libtool v1 and v2
minor update
repair echo cmd
Max Lock (1):
Addition of support for CM108B PTT
Michael Black (1290):
TenTec Omni VII update from W9MDB
New XG3 backend
Fixes to termios.c on W32 targets
xg3 patch
Check TS-590S for EU or US firmware
New backend for FT-991
Flush the debug stream
Omni VII to set VFO_CURR correctly
Omni VII patch for WSJT-X
FT-991 patch
Small FT-991 patch for WSJT support
Omni VII patch
FT-857 and FT-991 patches
Fix possible frequency overflow on Kenwood and Yaesu
Add get_freq to FRG-100
Clean up clang warnings on adat.c
Clear up a clang compiler warning in kenwood/elecraft.h
Clean up clang warnings in tentec
Fix port->pathname checks
Quell clang warnings in tests directory
Various Yaesu updates
Simply define TRUE to 1 in omnivii.c
Allow the ft757gx to work with WSJT-X.
Remove input redirects in autogen.sh
Initial support for the IC-7300
Add send_morse to icom rigs
tmd710 patch
Icom frame patch
Exposed constants via function calls
Remove define
Merge branch 'master' of https://github.com/N0NB/hamlib
Changed some modules to LGPL in lieu of GPL
Fixed buffer overflow in rigctl_parse and rotctl_parse
Merge branch 'master' of https://github.com/N0NB/hamlib
Move K3 DT0 before mode switch, add version info to electraft rig open, WSJT-X VOX rig split now works
Merge branch 'master' of https://github.com/N0NB/hamlib
Added IC-7850/51 -- works with WSJT-X
Merge branch 'master' of https://github.com/N0NB/hamlib
Add ic7850 ic7851 -- works with wsjtx
Add ic7850 ic7851 -- works with wsjtx
Merger 7850/51 into 785x
Fix ft991_get_mode
Added ft891 backend
Fix ic785x default addr to 0x8e
Fix FT-891 recognition
IC-M710 now working with WSJST-X
Add icm710.h to icmarine Makefile.am
Merge pull request #1 from Hamlib/master
Fix FT857 to return the SMeter-based value
Reduce debug info in flrig.c
Change RIG_MODE and RIG_FUNC to 64-bit values
Merge hamlib head
Add PRXll macro for 64-bit use
Fixup for 64-bit in memcsv.c
64 bit mods to netrigctl.c testrig.c
Add TS-890S as derivative of TS-480 plus new modes
Add XHCG to ic706.c
Change rmode_t to uint64_t and remove unneeded casts
Fix RIG_MODE structure in src/msic.c
Fix some 64bit items and add RIG_FUNC_NB2 for TS-890S
Suppress GCC unused-return warning
Fix rig_idx2settings for 64-bit sprintf_list functions
Fix flrig when WSJT-X startup causes rig mode change Increase flrig timeout value Add USB mode to flrig Fix flrig memory leak Fix bug where constant value was being trashed
Add PKT modes to ts590.c
Add BC2 and NB2 functions for newer kenwoods Change RIG_SETTING_MAX for 64-bit compatibility
All kenwoods to have 3-char commands for functions and return whatever value the rig returns instead of 0/1 Changes to add more ts890 capabilities, e.g. NB2, BC2
Fix kenwoood BC BC2 returns
Fix kenwood BC BC2 return
merge master
New utility to allow non-hamlib-aware programs to use hamlib rigs via COM ports Virtual com ports providing a TS-2000 Emulator Example connecting N1MM or such to FLRig via COM5/COM6 virtual COM pair rigctlcom -m 4 -R COM5 -S 115200 N1MM connects to COM6 TS-2000 115200 8N1
Add TUNER on/off fnction for Yaesu rigs
Fix segfault in rigctlcom with no args and improve usage
Add rigctlcom to install scripts
Add FT847UNI for early serial number units that are one-way comm
Add rigctlcom to gitignore
Reduce verbosity in FLRig
Ensure buf is zeroed in kenwood_safe_transaction to avoid return random data
Reduce verbosity of rig_strrmode and read_string
Improve error handling in network_flush when disconnect happens
Reduce verbosity of rig_strvfo
netrigctl can now do vfo mode -- has automatic detection of rigctld vfo mode rigctl automatically detects vfo mode of rigctld rigctli and rigctld recommend vfo mode if not selected
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Fix memset in kenwood.c
Fix network_flush as it was not actually flushing before This was causing an infinite loop and WSJT-X to lock up using flex6xxx backend
network.c astyle applied
Add ability for rigctlcom to work with Ham Radio Deluxe
astyle format of rigctlcom.c
Relax chk_vfo requirement for backward compatibility
astyle for netrigctl.c
Merge branch 'master' of https://github.com/Hamlib/Hamlib
Fix ts590 RIG_LEVEL_AF
astyle ts590.c
Update TS590 version and make it STABLE
Add set/get powerstat for ic785x.c
Have kenwood set_powerstat ON wait for get_powerstat
Fix set_powerstat wait loop
Bump version for kenwood.c
Add wait for set_powerstat in icom.c
Change powerstat to wait for get_freq as this is generic to all
cache timeout when swapping vfos on ft817 and ft897
Add flush to serial open
Add set/get vfo to ft857
...
[truncated message content] |
|
From: Nate B. <n0...@us...> - 2021-02-01 02:03:07
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, Hamlib-4.1 has been created
at 645717241f4a952d05eab50e1bfb990a3d3d8b53 (commit)
- Log -----------------------------------------------------------------
commit 645717241f4a952d05eab50e1bfb990a3d3d8b53
Author: Nate Bargmann <n0...@n0...>
Date: Sun Jan 31 19:56:33 2021 -0600
Release Hamlib 4.1
diff --git a/configure.ac b/configure.ac
index 3c4a6ee0..b3d9d4f7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@ dnl however, the use of '~' should be fine as apt (others?) will treat
dnl it as an earlier version than the actual release. TNX KA6MAL
dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars!
AC_INIT([Hamlib],
- [4.1~git],
+ [4.1],
[ham...@li...],
[hamlib],
[http://www.hamlib.org])
-----------------------------------------------------------------------
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Nate B. <n0...@us...> - 2021-02-01 01:54:39
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via b53eed7cd34ca5a2457fa5ae1029e54e913826a9 (commit)
via eaa26af74065a35ce89fbe7b5a960ae88ba25a41 (commit)
from 9d30205174f567e97665fb08f4014b7badb0257f (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit b53eed7cd34ca5a2457fa5ae1029e54e913826a9
Author: Nate Bargmann <n0...@n0...>
Date: Sun Jan 31 19:53:28 2021 -0600
Advance to 4.2~git
diff --git a/configure.ac b/configure.ac
index 3c4a6ee0..e5800afd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -15,7 +15,7 @@ dnl however, the use of '~' should be fine as apt (others?) will treat
dnl it as an earlier version than the actual release. TNX KA6MAL
dnl PACKAGE_NAME + " " + PACKAGE_VERSION must not exceed 20 chars!
AC_INIT([Hamlib],
- [4.1~git],
+ [4.2~git],
[ham...@li...],
[hamlib],
[http://www.hamlib.org])
@@ -60,7 +60,7 @@ dnl See README.release on setting these values
# Values given to -version-info when linking. See libtool documentation.
# Set them here to keep c++/Makefile and src/Makefile in sync.
ABI_VERSION=4
-ABI_REVISION=1
+ABI_REVISION=2
ABI_AGE=0
AC_DEFINE_UNQUOTED([ABI_VERSION], [$ABI_VERSION], [Frontend ABI version])
commit eaa26af74065a35ce89fbe7b5a960ae88ba25a41
Author: Nate Bargmann <n0...@n0...>
Date: Sun Jan 31 19:51:46 2021 -0600
Prepare NEWS for 4.1 release
diff --git a/NEWS b/NEWS
index a3fe9bcb..938f29fb 100644
--- a/NEWS
+++ b/NEWS
@@ -7,23 +7,24 @@ Copyright (C) 2000-2020 Michael Black W9MDB, and others
Please send Hamlib bug reports to ham...@li...
Version 4.1
- * rigctld and rigs should be more robust for disconnect problemsy
- * Several fixes for Icom and Yaesu rigs
- * Nobody should need to use rig->caps or rig->state anymore
- If you need a variable added please contact us.
- Note that rig->state abstraction is not implemented yet...no need known
- * New rig_get_caps_int and rig_get_caps_cptr functions to replace using caps-> values
- * New rig_get_function to replace using caps-> function pointers
- * Fix shared library problem with WSJTX, JTDX, and JS8Call
- * New model Barrett 950
+ 2021-01-31
+ * rigctld and rigs should be more robust for disconnect problems
+ * Several fixes for Icom and Yaesu rigs
+ * Nobody should need to use rig->caps or rig->state anymore
+ If you need a variable added please contact us.
+ Note that rig->state abstraction is not implemented yet...no need known
+ * New rig_get_caps_int and rig_get_caps_cptr functions to replace using caps-> values
+ * New rig_get_function to replace using caps-> function pointers
+ * Fix shared library problem with WSJTX, JTDX, and JS8Call
+ * New model Barrett 950
Version 4.0
2020-11-29
* API/ABI changes, advance ABI to 4 0 0.
* Add GPIO and GPION options for DCD. Jeroen Vreeken
* New backend: ELAD FDM DUO. Giovanni, HB9EIK.
- * New RIG_LEVEL_RFPOWER_METER_WATTS level
- * All channel functions now take a vfo argument
+ * New RIG_LEVEL_RFPOWER_METER_WATTS level
+ * All channel functions now take a vfo argument
* New rotator backend: iOptron. Bob, KD8CGH
* New model: Icom IC-R8600. Ekki, DF4OR
* New utility: rigctlcom. Mike, W9MDB
@@ -43,7 +44,7 @@ Version 4.0
* New rig backend for Elecraft K4.
* New rig backend for PowerSDR (Flex and Apache users).
* Many fixes and enhancements. Mike, W9MDB and many contributors
- * PTT port is no longer shared by default, use --set-conf=ptt_share=1 to enable
+ * PTT port is no longer shared by default, use --set-conf=ptt_share=1 to enable
Version 3.3
2018-08-12
-----------------------------------------------------------------------
Summary of changes:
NEWS | 25 +++++++++++++------------
configure.ac | 4 ++--
2 files changed, 15 insertions(+), 14 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-31 18:21:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 9d30205174f567e97665fb08f4014b7badb0257f (commit)
from 84ce231daf09ecc505c393a05444b2e3b4b9e6c4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9d30205174f567e97665fb08f4014b7badb0257f
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Jan 31 12:20:44 2021 -0600
Fix linking error for w32-build.sh script
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 1d806c82..489d4683 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2857,7 +2857,7 @@ rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
// this need to be fairly big to avoid compiler warnings
#define DEBUGMSGSAVE_SIZE 24000
-extern char debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug msg
+extern HAMLIB_EXPORT_VAR(char) debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug msg
#ifndef __cplusplus
#ifdef __GNUC__
// doing the debug macro with a dummy sprintf allows gcc to check the format string
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-31 13:31:50
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 84ce231daf09ecc505c393a05444b2e3b4b9e6c4 (commit)
from 9394a6cfe465f1783d62c88a48ccefc2dabf798b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 84ce231daf09ecc505c393a05444b2e3b4b9e6c4
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sun Jan 31 07:08:08 2021 -0600
Fix link error for debugmsgsave on MacOS and perhaps others
diff --git a/src/rig.c b/src/rig.c
index 69d25ee7..868bbcc7 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -290,7 +290,7 @@ int foreach_opened_rig(int (*cfunc)(RIG *, rig_ptr_t), rig_ptr_t data)
*
* \todo support gettext/localization
*/
-char debugmsgsave[DEBUGMSGSAVE_SIZE];
+char debugmsgsave[DEBUGMSGSAVE_SIZE] = "No message";
const char *HAMLIB_API rigerror(int errnum)
{
@@ -302,8 +302,8 @@ const char *HAMLIB_API rigerror(int errnum)
return "ERR_OUT_OF_RANGE";
}
- static char msg[20000];
- snprintf(msg, sizeof(msg), "%s\n%s", rigerror_table[errnum], debugmsgsave);
+ static char msg[25000];
+ snprintf(msg, sizeof(msg), "%80s\n%15000s", rigerror_table[errnum], debugmsgsave);
return msg;
}
-----------------------------------------------------------------------
Summary of changes:
src/rig.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-31 04:17:09
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 9394a6cfe465f1783d62c88a48ccefc2dabf798b (commit)
from d20635dfe67e67b5926995594bc5ff7380599bdf (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9394a6cfe465f1783d62c88a48ccefc2dabf798b
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 30 22:16:14 2021 -0600
Fix link error with testloc.c
diff --git a/tests/testloc.c b/tests/testloc.c
index 82bd8614..64a15641 100644
--- a/tests/testloc.c
+++ b/tests/testloc.c
@@ -14,6 +14,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <hamlib/rig.h>
#include <hamlib/rotator.h>
-----------------------------------------------------------------------
Summary of changes:
tests/testloc.c | 1 +
1 file changed, 1 insertion(+)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-30 17:06:20
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via d20635dfe67e67b5926995594bc5ff7380599bdf (commit)
via d8492c66024f9aaf1e045d117807c2d72902469c (commit)
from cd7811f3edbec08bcfb5bfc93d62053a9cea99d4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d20635dfe67e67b5926995594bc5ff7380599bdf
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 30 11:05:34 2021 -0600
Fix compiler warning in newcat.c
diff --git a/rigs/yaesu/newcat.c b/rigs/yaesu/newcat.c
index 973217a8..16e60894 100644
--- a/rigs/yaesu/newcat.c
+++ b/rigs/yaesu/newcat.c
@@ -7064,7 +7064,7 @@ int newcat_set_rx_bandwidth(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
{
struct newcat_priv_data *priv = (struct newcat_priv_data *)rig->state.priv;
int err;
- int w;
+ int w = 0;
char main_sub_vfo = '0';
ENTERFUNC;
diff --git a/rigs/yaesu/newcat.h b/rigs/yaesu/newcat.h
index ba2e5096..1cef76dc 100644
--- a/rigs/yaesu/newcat.h
+++ b/rigs/yaesu/newcat.h
@@ -50,7 +50,7 @@
typedef char ncboolean;
/* shared function version */
-#define NEWCAT_VER "20210124"
+#define NEWCAT_VER "20210130"
/* Hopefully large enough for future use, 128 chars plus '\0' */
#define NEWCAT_DATA_LEN 129
commit d8492c66024f9aaf1e045d117807c2d72902469c
Author: Michael Black W9MDB <mdb...@ya...>
Date: Sat Jan 30 11:03:08 2021 -0600
Increase debugmsgsave size to avoid compiler warning about not big enough
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index e806a8f0..1d806c82 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2855,7 +2855,8 @@ extern HAMLIB_EXPORT(int)
rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
-#define DEBUGMSGSAVE_SIZE 16384
+// this need to be fairly big to avoid compiler warnings
+#define DEBUGMSGSAVE_SIZE 24000
extern char debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug msg
#ifndef __cplusplus
#ifdef __GNUC__
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 3 ++-
rigs/yaesu/newcat.c | 2 +-
rigs/yaesu/newcat.h | 2 +-
3 files changed, 4 insertions(+), 3 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-29 22:46:02
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via cd7811f3edbec08bcfb5bfc93d62053a9cea99d4 (commit)
from 8e707636197345c982c187119c12e49ab8ce3ef4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit cd7811f3edbec08bcfb5bfc93d62053a9cea99d4
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Jan 29 16:32:16 2021 -0600
Fix icom_get_mode for rigs with 1-byte mode_len
https://github.com/Hamlib/Hamlib/issues/522
diff --git a/rigs/icom/icom.c b/rigs/icom/icom.c
index aecf0540..455b7a7a 100644
--- a/rigs/icom/icom.c
+++ b/rigs/icom/icom.c
@@ -1911,7 +1911,8 @@ int icom_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
/*
* modebuf should contain Cn,Data area
*/
- mode_len--;
+ // when mode gets here it should be 2 or 1
+ // mode_len--;
if (mode_len != 2 && mode_len != 1)
{
diff --git a/rigs/icom/icom.h b/rigs/icom/icom.h
index 34e055a9..4d87d12d 100644
--- a/rigs/icom/icom.h
+++ b/rigs/icom/icom.h
@@ -30,7 +30,7 @@
#include <sys/time.h>
#endif
-#define BACKEND_VER "20210120"
+#define BACKEND_VER "20210129"
/*
* defines used by comp_cal_str in rig.c
-----------------------------------------------------------------------
Summary of changes:
rigs/icom/icom.c | 3 ++-
rigs/icom/icom.h | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-29 15:39:32
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 8e707636197345c982c187119c12e49ab8ce3ef4 (commit)
via 431b5dfc37151b5e13f011c6a67c27a27e914b58 (commit)
via acbe8da8a1aa513f47f4dd5b31cd7697d47fc76f (commit)
via 883574049b04756be80dfafd24badbb8c5f8a096 (commit)
via f228bda1a2555afd8f23411af2e12156cc956cbb (commit)
from 0575f9defd8d163a57bfeec196d4e9c4e0ab2231 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 8e707636197345c982c187119c12e49ab8ce3ef4
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Jan 29 09:35:46 2021 -0600
Add debug msg to rig_error
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index 733bf5ac..e806a8f0 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -2855,11 +2855,13 @@ extern HAMLIB_EXPORT(int)
rig_need_debug HAMLIB_PARAMS((enum rig_debug_level_e debug_level));
-
+#define DEBUGMSGSAVE_SIZE 16384
+extern char debugmsgsave[DEBUGMSGSAVE_SIZE]; // last debug msg
#ifndef __cplusplus
#ifdef __GNUC__
// doing the debug macro with a dummy sprintf allows gcc to check the format string
-#define rig_debug(debug_level,fmt,...) { char xxxbuf[16384]="";snprintf(xxxbuf,sizeof(xxxbuf),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); }
+//#define rig_debug(debug_level,fmt,...) { char xxxbuf[16384]="";snprintf(xxxbuf,sizeof(xxxbuf),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); }
+#define rig_debug(debug_level,fmt,...) { snprintf(debugmsgsave,sizeof(debugmsgsave),fmt,__VA_ARGS__);rig_debug(debug_level,fmt,##__VA_ARGS__); }
#endif
#endif
extern HAMLIB_EXPORT(void)
commit 431b5dfc37151b5e13f011c6a67c27a27e914b58
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Jan 29 08:30:35 2021 -0600
Make lack of tx_range_list non-fatal -- some rigs don't have this
diff --git a/src/rig.c b/src/rig.c
index e5ae4705..69d25ee7 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -290,6 +290,8 @@ int foreach_opened_rig(int (*cfunc)(RIG *, rig_ptr_t), rig_ptr_t data)
*
* \todo support gettext/localization
*/
+char debugmsgsave[DEBUGMSGSAVE_SIZE];
+
const char *HAMLIB_API rigerror(int errnum)
{
errnum = abs(errnum);
@@ -300,7 +302,9 @@ const char *HAMLIB_API rigerror(int errnum)
return "ERR_OUT_OF_RANGE";
}
- return rigerror_table[errnum];
+ static char msg[20000];
+ snprintf(msg, sizeof(msg), "%s\n%s", rigerror_table[errnum], debugmsgsave);
+ return msg;
}
// We use a couple of defined pointer to determine if the shared library changes
@@ -474,7 +478,7 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model)
if (rs->tx_range_list[0].startf == 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: rig does not have tx_range!!\n", __func__);
- RETURNFUNC(NULL);
+ //RETURNFUNC(NULL); // this is not fatal
}
#if 0 // this is no longer applicable -- replace it with something?
commit acbe8da8a1aa513f47f4dd5b31cd7697d47fc76f
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Jan 29 08:23:19 2021 -0600
astyle rc2800.c
https://github.com/Hamlib/Hamlib/issues/451
diff --git a/rotators/m2/rc2800.c b/rotators/m2/rc2800.c
index 66903c3e..a65b0bdc 100644
--- a/rotators/m2/rc2800.c
+++ b/rotators/m2/rc2800.c
@@ -207,7 +207,7 @@ transaction_write:
retval = read_string(&rs->rotport, data, data_len, CR, strlen(CR));
// some models seem to echo -- so we'll check and read again if echoed
- if (strcmp(data, cmdstr)==0)
+ if (strcmp(data, cmdstr) == 0)
{
memset(data, 0, data_len);
retval = read_string(&rs->rotport, data, data_len, CR, strlen(CR));
commit 883574049b04756be80dfafd24badbb8c5f8a096
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Jan 29 08:22:56 2021 -0600
Fix compile error on rc2800
https://github.com/Hamlib/Hamlib/issues/451
diff --git a/rotators/m2/rc2800.c b/rotators/m2/rc2800.c
index ab8c87f4..66903c3e 100644
--- a/rotators/m2/rc2800.c
+++ b/rotators/m2/rc2800.c
@@ -207,7 +207,7 @@ transaction_write:
retval = read_string(&rs->rotport, data, data_len, CR, strlen(CR));
// some models seem to echo -- so we'll check and read again if echoed
- if (strcmp(data_len, cmdstr)==0)
+ if (strcmp(data, cmdstr)==0)
{
memset(data, 0, data_len);
retval = read_string(&rs->rotport, data, data_len, CR, strlen(CR));
commit f228bda1a2555afd8f23411af2e12156cc956cbb
Author: Michael Black W9MDB <mdb...@ya...>
Date: Fri Jan 29 08:20:56 2021 -0600
Add detection of echo for rc2800 -- seems some versions do echo
https://github.com/Hamlib/Hamlib/issues/451
diff --git a/rotators/m2/rc2800.c b/rotators/m2/rc2800.c
index a839c8df..ab8c87f4 100644
--- a/rotators/m2/rc2800.c
+++ b/rotators/m2/rc2800.c
@@ -202,27 +202,17 @@ transaction_write:
data_len = BUFSZ;
}
-#if 0 // manual says no echos
- /* first reply is an echo */
+ /* then comes the answer */
memset(data, 0, data_len);
retval = read_string(&rs->rotport, data, data_len, CR, strlen(CR));
- if (retval < 0)
+ // some models seem to echo -- so we'll check and read again if echoed
+ if (strcmp(data_len, cmdstr)==0)
{
- if (retry_read++ < rot->state.rotport.retry)
- {
- goto transaction_write;
- }
-
- goto transaction_quit;
+ memset(data, 0, data_len);
+ retval = read_string(&rs->rotport, data, data_len, CR, strlen(CR));
}
-#endif
-
- /* then comes the answer */
- memset(data, 0, data_len);
- retval = read_string(&rs->rotport, data, data_len, CR, strlen(CR));
-
if (retval < 0)
{
if (retry_read++ < rot->state.rotport.retry)
@@ -413,9 +403,9 @@ const struct rot_caps rc2800_rot_caps =
ROT_MODEL(ROT_MODEL_RC2800),
.model_name = "RC2800",
.mfg_name = "M2",
- .version = "20201130",
+ .version = "20210129",
.copyright = "LGPL",
- .status = RIG_STATUS_BETA,
+ .status = RIG_STATUS_STABLE,
.rot_type = ROT_TYPE_AZEL,
.port_type = RIG_PORT_SERIAL,
.serial_rate_min = 9600,
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 6 ++++--
rotators/m2/rc2800.c | 24 +++++++-----------------
src/rig.c | 8 ++++++--
3 files changed, 17 insertions(+), 21 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-29 12:53:12
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 0575f9defd8d163a57bfeec196d4e9c4e0ab2231 (commit)
via f38f35beeb632ca2142370cbd11ff3ef09b4c6cd (commit)
from 620c97fe1249d231cc65086a1a1405a8305f9819 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0575f9defd8d163a57bfeec196d4e9c4e0ab2231
Merge: 620c97fe f38f35be
Author: Michael Black <mdb...@ya...>
Date: Fri Jan 29 06:51:00 2021 -0600
Merge pull request #520 from dl1ycf/master
corrected tx_rangelist bug
commit f38f35beeb632ca2142370cbd11ff3ef09b4c6cd
Author: c vw <dl...@da...>
Date: Fri Jan 29 09:50:11 2021 +0100
corrected bug
diff --git a/src/rig.c b/src/rig.c
index 735ddc8f..e5ae4705 100644
--- a/src/rig.c
+++ b/src/rig.c
@@ -471,9 +471,9 @@ RIG *HAMLIB_API rig_init(rig_model_t rig_model)
sizeof(struct freq_range_list)*FRQRANGESIZ);
}
- if (rs->tx_range_list == NULL)
+ if (rs->tx_range_list[0].startf == 0)
{
- rig_debug(RIG_DEBUG_ERR, "%s: rig does not have rx_range!!\n", __func__);
+ rig_debug(RIG_DEBUG_ERR, "%s: rig does not have tx_range!!\n", __func__);
RETURNFUNC(NULL);
}
-----------------------------------------------------------------------
Summary of changes:
src/rig.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-28 20:36:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 620c97fe1249d231cc65086a1a1405a8305f9819 (commit)
from 0d6958781ded6093395b0e31ea57ecaf3f9d8dd3 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 620c97fe1249d231cc65086a1a1405a8305f9819
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 28 14:35:53 2021 -0600
Remove debug from rigctl.c
diff --git a/tests/rigctl.c b/tests/rigctl.c
index 4411a6ea..cb94a4fd 100644
--- a/tests/rigctl.c
+++ b/tests/rigctl.c
@@ -615,7 +615,6 @@ int main(int argc, char *argv[])
exitcode = 2;
}
- rig_debug(RIG_DEBUG_ERR, "%s: XXXXXXXXX#1 retcode=%d\n", __func__, retcode);
if (retcode == -RIG_EIO || retcode == 2)
{
rig_debug(RIG_DEBUG_ERR, "%s: i/o error\n", __func__)
-----------------------------------------------------------------------
Summary of changes:
tests/rigctl.c | 1 -
1 file changed, 1 deletion(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-28 20:27:32
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 0d6958781ded6093395b0e31ea57ecaf3f9d8dd3 (commit)
via 7838539a3b963eb1238d7407713a7669b57f280c (commit)
via 4b41c0dbfc195cf4088cb82e8230490611f90c99 (commit)
via 7b04640cea96e44c50b98b1b1d247c9d51fca0b8 (commit)
via 03924db38cc37f2f766dae96d717f5567c254792 (commit)
via 58feda1a4ae329e9a146c6c5eaf9a76d3821f0ec (commit)
via b5a18c17320222ff5283e1718a95732b0721eb9a (commit)
via 887b289920014a92787e01de634a736c3921d251 (commit)
from f2b7893a2b81c00e7a9998b376b846a34bab1205 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0d6958781ded6093395b0e31ea57ecaf3f9d8dd3
Merge: 7838539a 58feda1a
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 28 14:25:42 2021 -0600
Merge branch 'master' of http://github.com/Hamlib/Hamlib
commit 7838539a3b963eb1238d7407713a7669b57f280c
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 28 14:25:26 2021 -0600
Add __FILENAME__ macro
diff --git a/include/hamlib/rig.h b/include/hamlib/rig.h
index c90b5dbd..733bf5ac 100644
--- a/include/hamlib/rig.h
+++ b/include/hamlib/rig.h
@@ -24,6 +24,8 @@
#ifndef _RIG_H
#define _RIG_H 1
+#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
+
#include <stdio.h>
#include <stdarg.h>
#include <inttypes.h>
commit 4b41c0dbfc195cf4088cb82e8230490611f90c99
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 28 12:24:22 2021 -0600
Let flrig use 5 second timeout from rig instead of overriding it
diff --git a/rigs/dummy/flrig.c b/rigs/dummy/flrig.c
index 9c452cc7..11a5b2a9 100644
--- a/rigs/dummy/flrig.c
+++ b/rigs/dummy/flrig.c
@@ -404,8 +404,6 @@ static int read_transaction(RIG *rig, char *xml, int xml_len)
rig_debug(RIG_DEBUG_TRACE, "%s\n", __func__);
- rs->rigport.timeout = 1000; // 1 second read string timeout
-
retry = 2;
delims = "\n";
xml[0] = 0;
diff --git a/rigs/dummy/flrig.h b/rigs/dummy/flrig.h
index 70c84b0d..bcd35b6b 100644
--- a/rigs/dummy/flrig.h
+++ b/rigs/dummy/flrig.h
@@ -28,7 +28,7 @@
#include <sys/time.h>
#endif
-#define BACKEND_VER "20210123"
+#define BACKEND_VER "20210128"
#define EOM "\r"
#define TRUE 1
commit 7b04640cea96e44c50b98b1b1d247c9d51fca0b8
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 28 12:22:52 2021 -0600
Fix read_string timeout display value
diff --git a/src/iofunc.c b/src/iofunc.c
index 060b9d1c..c4eb2b35 100644
--- a/src/iofunc.c
+++ b/src/iofunc.c
@@ -713,10 +713,10 @@ int HAMLIB_API read_string(hamlib_port_t *p,
dump_hex((unsigned char *) rxbuffer, total_count);
rig_debug(RIG_DEBUG_WARN,
- "%s(): Timed out %d.%d seconds after %d chars\n",
+ "%s(): Timed out %d.%03d seconds after %d chars\n",
__func__,
(int)elapsed_time.tv_sec,
- (int)elapsed_time.tv_usec,
+ (int)elapsed_time.tv_usec/1000,
total_count);
return -RIG_ETIMEOUT;
commit 03924db38cc37f2f766dae96d717f5567c254792
Author: Michael Black W9MDB <mdb...@ya...>
Date: Thu Jan 28 10:25:05 2021 -0600
Modify __FILE__ to use __FILENAME__ macro to avoid full path in misc.c
diff --git a/src/misc.h b/src/misc.h
index d4ff18e2..085ceb62 100644
--- a/src/misc.h
+++ b/src/misc.h
@@ -138,10 +138,11 @@ extern HAMLIB_EXPORT(int) parse_hoststr(char *host, char hoststr[256], char port
# endif
#endif
+#define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__)
void errmsg(int err, char *s, const char *func, const char *file, int line);
-#define ERRMSG(err, s) errmsg(err, s, __func__, __FILE__, __LINE__)
-#define ENTERFUNC rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s entered\n", __FILE__, __LINE__, __func__)
-#define RETURNFUNC(rc) {rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return\n", __FILE__, __LINE__, __func__);return rc;}
+#define ERRMSG(err, s) errmsg(err, s, __func__, __FILENAME__, __LINE__)
+#define ENTERFUNC rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s entered\n", __FILENAME__, __LINE__, __func__)
+#define RETURNFUNC(rc) {rig_debug(RIG_DEBUG_VERBOSE, "%s(%d):%s return\n", __FILENAME__, __LINE__, __func__);return rc;}
#define CACHE_RESET {\
elapsed_ms(&rig->state.cache.time_freq, HAMLIB_ELAPSED_INVALIDATE);\
commit 58feda1a4ae329e9a146c6c5eaf9a76d3821f0ec
Merge: f2b7893a b5a18c17
Author: Michael Black <mdb...@ya...>
Date: Wed Jan 27 12:59:43 2021 -0600
Merge pull request #519 from code-posse/master
SatEL motion bugfix
commit b5a18c17320222ff5283e1718a95732b0721eb9a
Merge: 887b2899 f2b7893a
Author: Joshua Lynch <jo...@co...>
Date: Wed Jan 27 12:44:07 2021 -0600
merged upstream/master into master
commit 887b289920014a92787e01de634a736c3921d251
Author: Joshua Lynch <jo...@co...>
Date: Wed Jan 27 12:40:18 2021 -0600
fixed state bug. reconnecting would disable motion every other connect.
diff --git a/rotators/satel/satel.c b/rotators/satel/satel.c
index 6a0e12db..e350a1f7 100644
--- a/rotators/satel/satel.c
+++ b/rotators/satel/satel.c
@@ -115,25 +115,64 @@ struct satel_stat
};
-static int satel_read_status(ROT *rot, satel_stat_t *stat)
+static int satel_cmd(ROT *rot, char *cmd, int cmdlen, char *res, int reslen)
{
- char resbuf[BUF_SIZE];
- char *p;
int ret;
struct rot_state *rs;
+
+ rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
+
rs = &rot->state;
-
- // XXX skip for now
- for (int i = 0; i < 3; i++)
+ rig_flush(&rs->rotport);
+
+ ret = write_block(&rs->rotport, cmd, cmdlen);
+ if (ret != RIG_OK)
+ return ret;
+
+ if (reslen > 0 && res != NULL)
{
- ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
+ ret = read_string(&rs->rotport, res, reslen, "\n", 1);
if (ret < 0)
return ret;
}
+
+ return RIG_OK;
+}
+
+
+static int satel_read_status(ROT *rot, satel_stat_t *stat)
+{
+ char resbuf[BUF_SIZE];
+ char *p;
+ int ret;
+ struct rot_state *rs;
+
+
+ rs = &rot->state;
+
+
+
+ // read motion state
+ ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
+ if (ret < 0)
+ return ret;
+
+ stat->motion_enabled = strcmp(resbuf, "Motion ENABLED") == 0 ? true : false;
+
+ // XXX skip mode
+ ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
+ if (ret < 0)
+ return ret;
+
+ // XXX skip time
+ ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
+ if (ret < 0)
+ return ret;
+
// read azimuth line
ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
if (ret < 0)
@@ -152,44 +191,32 @@ static int satel_read_status(ROT *rot, satel_stat_t *stat)
p[3] = '\0';
stat->el = (int)strtof(p, NULL);
- // XXX skip for now
- for (int i = 0; i < 2; i++)
- {
- ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
- if (ret < 0)
- return ret;
- }
+ // skip blank line
+ ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
+ if (ret < 0)
+ return ret;
+
+ // XXX skip stored position count
+ ret = read_string(&rs->rotport, resbuf, BUF_SIZE, "\n", 1);
+ if (ret < 0)
+ return ret;
+
return RIG_OK;
}
-static int satel_cmd(ROT *rot, char *cmd, int cmdlen, char *res, int reslen)
+static int satel_get_status(ROT *rot, satel_stat_t *stat)
{
int ret;
- struct rot_state *rs;
- rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
-
-
- rs = &rot->state;
-
- rig_flush(&rs->rotport);
-
- ret = write_block(&rs->rotport, cmd, cmdlen);
+ ret = satel_cmd(rot, "z", 1, NULL, 0);
if (ret != RIG_OK)
return ret;
- if (reslen > 0 && res != NULL)
- {
- ret = read_string(&rs->rotport, res, reslen, "\n", 1);
- if (ret < 0)
- return ret;
- }
-
- return RIG_OK;
+ return satel_read_status(rot, stat);
}
@@ -217,11 +244,6 @@ static int satel_rot_open(ROT *rot)
if (ret != RIG_OK)
return ret;
- // enable motion
- ret = satel_cmd(rot, "g", 1, NULL, 0);
- if (ret != RIG_OK)
- return ret;
-
return RIG_OK;
}
@@ -236,6 +258,17 @@ static int satel_rot_set_position(ROT *rot, azimuth_t az, elevation_t el)
rig_debug(RIG_DEBUG_VERBOSE, "%s called: %.2f %.2f\n", __func__,
az, el);
+
+ ret = satel_get_status(rot, &stat);
+ if (ret < 0)
+ return ret;
+
+ if (stat.motion_enabled == false)
+ {
+ ret = satel_cmd(rot, "g", 1, NULL, 0);
+ if (ret != RIG_OK)
+ return ret;
+ }
snprintf(cmdbuf, BUF_SIZE, "p%d %d\r\n", (int)az, (int)el);
ret = satel_cmd(rot, cmdbuf, strlen(cmdbuf), NULL, 0);
@@ -261,11 +294,7 @@ static int satel_rot_get_position(ROT *rot, azimuth_t *az, elevation_t *el)
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
- ret = satel_cmd(rot, "z", 1, NULL, 0);
- if (ret != RIG_OK)
- return ret;
-
- ret = satel_read_status(rot, &stat);
+ ret = satel_get_status(rot, &stat);
if (ret < 0)
return ret;
-----------------------------------------------------------------------
Summary of changes:
include/hamlib/rig.h | 2 +
rigs/dummy/flrig.c | 2 -
rigs/dummy/flrig.h | 2 +-
rotators/satel/satel.c | 113 +++++++++++++++++++++++++++++++------------------
src/iofunc.c | 4 +-
src/misc.h | 7 +--
6 files changed, 80 insertions(+), 50 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-27 17:01:23
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via f2b7893a2b81c00e7a9998b376b846a34bab1205 (commit)
via 30eca94210ece61603d2d09d88632125c66072b4 (commit)
from 9695828b1994245d0ed9d2cb756ff9170209fc14 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f2b7893a2b81c00e7a9998b376b846a34bab1205
Author: Michael Black W9MDB <mdb...@ya...>
Date: Wed Jan 27 11:00:58 2021 -0600
Another attempt to get clock_gettime compiling for all Mac flavors
diff --git a/src/misc.c b/src/misc.c
index e5a0a6e7..eccb7ba1 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -60,22 +60,23 @@
#ifdef __APPLE__
-#include <AvailabilityMacros.h>
+#include <time.h>
-#if AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
+#if !defined(CLOCK_REALTIME) && !defined(CLOCK_MONOTONIC)
+//
+// MacOS < 10.12 does not have clock_gettime
+//
+// Contribution from github user "ra1nb0w"
+//
-#else
-
-# include <mach/mach_time.h>
-# ifndef __clockid_t_defined
+#define CLOCK_REALTIME 0
+#define CLOCK_MONOTONIC 6
typedef int clockid_t;
-#define __clockid_t_defined 1
-# endif /* __clockid_t_defined */
-# define CLOCK_REALTIME 0
-# define CLOCK_MONOTONIC 1
+#include <sys/time.h>
+#include <mach/mach_time.h>
-int clock_gettime(clockid_t clock_id, struct timespec *tp)
+static int clock_gettime(clockid_t clock_id, struct timespec *tp)
{
if (clock_id == CLOCK_REALTIME)
{
commit 30eca94210ece61603d2d09d88632125c66072b4
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Jan 26 15:05:43 2021 -0600
Change MacOS detection logic for clock_gettime to hopefully cover all flavors
diff --git a/src/misc.c b/src/misc.c
index 3206fe67..e5a0a6e7 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -57,48 +57,64 @@
#include "misc.h"
#include "serial.h"
#include "network.h"
+
#ifdef __APPLE__
-#ifndef HAVE_CLOCK_GETTIME
+#include <AvailabilityMacros.h>
+
+#if AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER
+
+#else
# include <mach/mach_time.h>
-# ifndef __clockid_t_defined
- typedef enum clockid_t;
- #define __clockid_t_defined 1
-# endif /* __clockid_t_defined */
-
-# define CLOCK_REALTIME 0
-# define CLOCK_MONOTONIC 6
-
-int clock_gettime(clockid_t clock_id, struct timespec* tp)
-{
- if (clock_id == CLOCK_REALTIME) {
- struct timeval t;
- if (gettimeofday(&t, NULL) != 0)
- return -1;
- tp->tv_sec = t.tv_sec;
- tp->tv_nsec = t.tv_usec * 1000;
- }
- else if (clock_id == CLOCK_MONOTONIC) {
- static mach_timebase_info_data_t info = { 0, 0 };
- if (info.denom == 0)
- mach_timebase_info(&info);
- uint64_t t = mach_absolute_time() * info.numer / info.denom;
- tp->tv_sec = t / 1000000000;
- tp->tv_nsec = t % 1000000000;
- }
- else {
- errno = EINVAL;
- return -1;
- }
-
- return 0;
+# ifndef __clockid_t_defined
+typedef int clockid_t;
+#define __clockid_t_defined 1
+# endif /* __clockid_t_defined */
+
+# define CLOCK_REALTIME 0
+# define CLOCK_MONOTONIC 1
+
+int clock_gettime(clockid_t clock_id, struct timespec *tp)
+{
+ if (clock_id == CLOCK_REALTIME)
+ {
+ struct timeval t;
+
+ if (gettimeofday(&t, NULL) != 0)
+ {
+ return -1;
+ }
+
+ tp->tv_sec = t.tv_sec;
+ tp->tv_nsec = t.tv_usec * 1000;
+ }
+ else if (clock_id == CLOCK_MONOTONIC)
+ {
+ static mach_timebase_info_data_t info = { 0, 0 };
+
+ if (info.denom == 0)
+ {
+ mach_timebase_info(&info);
+ }
+
+ uint64_t t = mach_absolute_time() * info.numer / info.denom;
+ tp->tv_sec = t / 1000000000;
+ tp->tv_nsec = t % 1000000000;
+ }
+ else
+ {
+ errno = EINVAL;
+ return -1;
+ }
+
+ return 0;
}
+
#endif // !HAVE_CLOCK_GETTIME
#endif // __APPLE__
-
/**
* \brief Convert from binary to 4-bit BCD digits, little-endian
* \param bcd_data
-----------------------------------------------------------------------
Summary of changes:
src/misc.c | 87 +++++++++++++++++++++++++++++++++++++-------------------------
1 file changed, 52 insertions(+), 35 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-26 13:29:39
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 9695828b1994245d0ed9d2cb756ff9170209fc14 (commit)
via a81b4db9bebb711681632c7427dd7dc7ec81d446 (commit)
via 921220bfa5b04c3737262e9acc7a41b556da0759 (commit)
from 610cd2608593139afcec2658a66ba9ba5dbe6a45 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9695828b1994245d0ed9d2cb756ff9170209fc14
Merge: a81b4db9 610cd260
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Jan 26 07:29:03 2021 -0600
Merge branch 'master' of http://github.com/Hamlib/Hamlib
commit a81b4db9bebb711681632c7427dd7dc7ec81d446
Author: Michael Black W9MDB <mdb...@ya...>
Date: Tue Jan 26 07:28:55 2021 -0600
Fix clock_gettime for Big Sur and hopefully older MacOS too
diff --git a/src/misc.c b/src/misc.c
index 2aa1ad56..3206fe67 100644
--- a/src/misc.c
+++ b/src/misc.c
@@ -59,11 +59,11 @@
#include "network.h"
#ifdef __APPLE__
-#if !HAVE_CLOCK_GETTIME
+#ifndef HAVE_CLOCK_GETTIME
# include <mach/mach_time.h>
# ifndef __clockid_t_defined
- typedef int clockid_t;
+ typedef enum clockid_t;
#define __clockid_t_defined 1
# endif /* __clockid_t_defined */
commit 921220bfa5b04c3737262e9acc7a41b556da0759
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Jan 25 23:38:43 2021 -0600
Update NEWS
diff --git a/NEWS b/NEWS
index 4d78c5e0..a3fe9bcb 100644
--- a/NEWS
+++ b/NEWS
@@ -7,6 +7,7 @@ Copyright (C) 2000-2020 Michael Black W9MDB, and others
Please send Hamlib bug reports to ham...@li...
Version 4.1
+ * rigctld and rigs should be more robust for disconnect problemsy
* Several fixes for Icom and Yaesu rigs
* Nobody should need to use rig->caps or rig->state anymore
If you need a variable added please contact us.
-----------------------------------------------------------------------
Summary of changes:
NEWS | 1 +
src/misc.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Nate B. <n0...@us...> - 2021-01-26 13:14:16
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via 610cd2608593139afcec2658a66ba9ba5dbe6a45 (commit)
from c717bb5d76939fa355c56dd84d850b1a3b889338 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 610cd2608593139afcec2658a66ba9ba5dbe6a45
Author: Nate Bargmann <n0...@n0...>
Date: Tue Jan 26 07:12:26 2021 -0600
Supply missing rotators/satel/Android.mk
The use of 'make discheck' will detect such missing files before pushing
out changes.
diff --git a/rotators/satel/Android.mk b/rotators/satel/Android.mk
new file mode 100644
index 00000000..7925dd54
--- /dev/null
+++ b/rotators/satel/Android.mk
@@ -0,0 +1,12 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES := satel.c
+LOCAL_MODULE := satel
+
+LOCAL_CFLAGS := -DHAVE_CONFIG_H
+LOCAL_C_INCLUDES := android include src
+LOCAL_LDLIBS := -lhamlib -Lobj/local/armeabi
+
+include $(BUILD_STATIC_LIBRARY)
-----------------------------------------------------------------------
Summary of changes:
rotators/{amsat => satel}/Android.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
copy rotators/{amsat => satel}/Android.mk (80%)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|
|
From: Michael B. <mdb...@us...> - 2021-01-26 04:25:26
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Hamlib -- Ham radio control libraries".
The branch, master has been updated
via c717bb5d76939fa355c56dd84d850b1a3b889338 (commit)
from 54fc0e10f63767dd7e63728cd1715559de761c99 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c717bb5d76939fa355c56dd84d850b1a3b889338
Author: Michael Black W9MDB <mdb...@ya...>
Date: Mon Jan 25 22:24:57 2021 -0600
Improve -V version info
diff --git a/tests/rigctl.c b/tests/rigctl.c
index 799e5250..4411a6ea 100644
--- a/tests/rigctl.c
+++ b/tests/rigctl.c
@@ -177,7 +177,7 @@ int main(int argc, char *argv[])
exit(0);
case 'V':
- version();
+ printf("rigctl %s\nLast commit was %s\n", hamlib_version, HAMLIBDATETIME);
exit(0);
case 'm':
@@ -433,8 +433,7 @@ int main(int argc, char *argv[])
rig_set_debug(verbose);
- rig_debug(RIG_DEBUG_VERBOSE, "rigctl %s\nLast commit was %s\n", hamlib_version,
- HAMLIBDATETIME);
+ rig_debug(RIG_DEBUG_VERBOSE, "rigctl %s\nLast commit was %s\n", hamlib_version,HAMLIBDATETIME);
rig_debug(RIG_DEBUG_VERBOSE, "%s",
"Report bugs to <ham...@li...>\n\n");
diff --git a/tests/rigctld.c b/tests/rigctld.c
index bd33cb8f..88cace9a 100644
--- a/tests/rigctld.c
+++ b/tests/rigctld.c
@@ -287,7 +287,7 @@ int main(int argc, char *argv[])
exit(0);
case 'V':
- version();
+ printf("rigctl %s\nLast commit was %s\n", hamlib_version, HAMLIBDATETIME);
exit(0);
case 'm':
-----------------------------------------------------------------------
Summary of changes:
tests/rigctl.c | 5 ++---
tests/rigctld.c | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
hooks/post-receive
--
Hamlib -- Ham radio control libraries
|