Merge upstream and fix conflicts

pull/1481/head
Mikael Nousiainen 2023-12-19 18:03:12 +02:00
commit 1cc08d2f00
413 zmienionych plików z 5421 dodań i 3004 usunięć

9
NEWS
Wyświetl plik

@ -13,6 +13,15 @@ Version 5.x -- future
* Change FT1000MP Mark V model names to align with FT1000MP
Version 4.6
* Add -# --skip_init option to rigctl to skip rig initialization -- useful for executing commands quickly
* rig_caps is no longer constant -- this may break some 3rd party relying on the "const" declaration. Here's an example of how to handle compatiblity.
#ifdef RIGCAPS_NOT_CONST
static int add_to_list(struct rig_caps* rc, void*)
#else
static int add_to_list(const struct rig_caps* rc, void*)
#endif
* IC7610 now has IPP, DPP, and TX_INHIBIT functions set/get
* Hamlib now starts a multicast server that sends out rig information. Does not receive commands yet.
See README.multicast

Wyświetl plik

@ -103,8 +103,9 @@ int gemini_transaction(AMP *amp, const char *cmd, char *response,
if (response) // if response expected get it
{
response[0] = 0;
int len = read_string(&rs->ampport, (unsigned char *) response, response_len, "\n",
1, 0, 1);
int len = read_string(&rs->ampport, (unsigned char *) response, response_len,
"\n",
1, 0, 1);
if (len < 0)
{

Wyświetl plik

@ -1,48 +0,0 @@
using System;
using Gtk;
using UI = Gtk.Builder.ObjectAttribute;
namespace hamlibgui
{
class MainWindow : Window
{
[UI] private Label _label1 = null;
[UI] private Button _button1 = null;
private bool connectFlag;
public MainWindow() : this(new Builder("MainWindow.glade")) { }
private MainWindow(Builder builder) : base(
builder.GetRawOwnedObject("MainWindow"))
{
builder.Autoconnect(this);
DeleteEvent += Window_DeleteEvent;
_button1.Clicked += Button1_Clicked;
}
private void Window_DeleteEvent(object sender, DeleteEventArgs a)
{
Application.Quit();
}
private void Button1_Clicked(object sender, EventArgs a)
{
connectFlag = !connectFlag;
if (connectFlag)
{
String mytext = "Rig Connected (not really)";
_label1.Text = mytext;
_button1.Label = "Disconnect Rig";
}
else
{
String mytext = "Rig not Connected ";
_label1.Text = mytext;
_button1.Label = "Connect to Rig";
}
}
}
}

Wyświetl plik

@ -1,48 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.38.2 -->
<interface>
<requires lib="gtk+" version="3.18"/>
<object class="GtkWindow" id="MainWindow">
<property name="can-focus">False</property>
<property name="title" translatable="yes">Hamlib Control</property>
<property name="default-width">480</property>
<property name="default-height">240</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-left">4</property>
<property name="margin-right">4</property>
<property name="margin-top">4</property>
<property name="margin-bottom">4</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel" id="_label1">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="label" translatable="yes">Hamlib controller to go here</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="_button1">
<property name="label" translatable="yes">Connect to Rig</property>
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="receives-default">True</property>
<property name="tooltip-markup" translatable="yes">Click to connect/disconnect rig</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

Wyświetl plik

@ -1,23 +0,0 @@
using System;
using Gtk;
namespace hamlibgui
{
class Program
{
[STAThread]
public static void Main(string[] args)
{
Application.Init();
var app = new Application("org.hamlibgui.hamlibgui", GLib.ApplicationFlags.None);
app.Register(GLib.Cancellable.Current);
var win = new MainWindow();
app.AddWindow(win);
win.Show();
Application.Run();
}
}
}

Wyświetl plik

@ -1,18 +0,0 @@
This is a test of creating a portable Hamlib GUI controller using dotnet and GTK
Should be able to compile on Windows, Linux, and MacOS
No guarantee this will go anywhere depending on ability to talk to Hamlib via C#
On Windows
dotnet new install GtkSharp.Template.CSharp
dotnet build
On Ubuntu I don't see the GtkSharp package -- but you can build the code generated on the Windows side.
apt install dotnet-sdk-6.0
dotnet build
Note: On Windows you can create a skeleton GTK app
dotnet new gtkapp

Wyświetl plik

@ -1,19 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<None Remove="**\*.glade" />
<EmbeddedResource Include="**\*.glade">
<LogicalName>%(Filename)%(Extension)</LogicalName>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<PackageReference Include="GtkSharp" Version="3.24.24.*" />
</ItemGroup>
</Project>

Wyświetl plik

@ -81,8 +81,7 @@ Use
.I device
as the file name of the port connected to the radio.
.IP
Often a serial port, but could be a USB to serial adapter. Typically
.IR /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
Typically /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
etc. on Linux,
.IR COM1 ", " COM2 ,
etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations.
@ -1425,6 +1424,11 @@ Can also use 1,2,3,4
Reads GPIO1, GPIO2, GPIO3, GPIO4 on the GPIO ptt port
Can also use 1,2,3,4
.
.TP
.BR skip_init
.EX
Skips rig initialization -- useful when executing commands with rigctl to speed up things
.
.SH READLINE
.
If

Wyświetl plik

@ -127,8 +127,7 @@ Use
.I device
as the file name of the port connected to the radio.
.IP
Often a serial port, but could be a USB to serial adapter. Typically
.IR /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
Typically /dev/ttyS0 ", " /dev/ttyS1 ", " /dev/ttyUSB0 ,
etc. on Linux,
.IR COM1 ", " COM2 ,
etc. on MS Windows. The BSD flavors and Mac OS/X have their own designations.

Wyświetl plik

@ -61,10 +61,10 @@ int graudioiq_open(RIG *rig);
extern const struct confparams gnuradio_cfg_params[];
extern const struct rig_caps gr_caps;
extern const struct rig_caps mc4020_caps;
extern const struct rig_caps graudio_caps;
extern const struct rig_caps graudioiq_caps;
extern struct rig_caps gr_caps;
extern struct rig_caps mc4020_caps;
extern struct rig_caps graudio_caps;
extern struct rig_caps graudioiq_caps;
__END_DECLS

Wyświetl plik

@ -49,7 +49,7 @@ static const struct gnuradio_priv_caps gr_priv_caps =
.IF_center_freq = MHz(5.75),
};
const struct rig_caps gr_caps =
struct rig_caps gr_caps =
{
.rig_model = RIG_MODEL_GNURADIO,
.model_name = "GNU Radio dev",

Wyświetl plik

@ -52,7 +52,7 @@ static const struct gnuradio_priv_caps graudio_priv_caps =
};
const struct rig_caps graudio_caps =
struct rig_caps graudio_caps =
{
.rig_model = RIG_MODEL_GRAUDIO,
.model_name = "GNU Radio GrAudio",
@ -126,7 +126,7 @@ const struct rig_caps graudio_caps =
.vfo_op = gnuradio_vfo_op,
};
const struct rig_caps graudioiq_caps =
struct rig_caps graudioiq_caps =
{
.rig_model = RIG_MODEL_GRAUDIOIQ,
.model_name = "GNU Radio GrAudio I&Q",

Wyświetl plik

@ -49,7 +49,7 @@ static const struct gnuradio_priv_caps mc4020_priv_caps =
};
const struct rig_caps mc4020_caps =
struct rig_caps mc4020_caps =
{
.rig_model = RIG_MODEL_MC4020,
.model_name = "GNU Radio MC4020",

Wyświetl plik

@ -24,6 +24,10 @@
#ifndef _RIG_H
#define _RIG_H 1
// as of 2023-11-23 rig_caps is no longer constant
// this #define allows clients to test which declaration to use for backwards compatibility
#define RIGCAPS_NOT_CONST 1
#define BUILTINFUNC 0
// Our shared secret password
@ -152,6 +156,7 @@ typedef struct
// cookie is 26-char time code plus 10-char (2^31-1) random number
#define HAMLIB_COOKIE_SIZE 37
extern int cookie_use; // this is global as once one client requests it everybody needs to honor it
extern int skip_init; // allow rigctl to skip any radio commands at startup
//! @cond Doxygen_Suppress
extern HAMLIB_EXPORT_VAR(const char) hamlib_version[];
@ -287,6 +292,8 @@ typedef unsigned int tone_t;
/**
* \brief Port type
*
* Note: All rigs may use a network:port address ( e.g. tcp/serial adapter)
*/
typedef enum rig_port_e {
RIG_PORT_NONE = 0, /*!< No port */
@ -1642,7 +1649,9 @@ typedef enum {
RIG_MTYPE_MEMOPAD, /*!< Memory pad */
RIG_MTYPE_SAT, /*!< Satellite */
RIG_MTYPE_BAND, /*!< VFO/Band channel */
RIG_MTYPE_PRIO /*!< Priority channel */
RIG_MTYPE_PRIO, /*!< Priority channel */
RIG_MTYPE_VOICE, /*!< Stored Voice Message */
RIG_MTYPE_MORSE /*!< Morse Message */
} chan_type_t;
@ -2381,7 +2390,7 @@ typedef struct hamlib_port {
int fd_sync_error_read; /*!< file descriptor for reading synchronous data error codes */
#endif
short timeout_retry; /*!< number of retries to make in case of read timeout errors, some serial interfaces may require this, 0 to disable */
int post_ptt_delay; /*!< delay after PTT to allow for relays and such */
// DO NOT ADD ANYTHING HERE UNTIL 5.0!!
} hamlib_port_t;
@ -2779,6 +2788,9 @@ struct rig_state {
void *multicast_receiver_priv_data;
rig_comm_status_t comm_status; /*!< Detailed rig control status */
char device_id[HAMLIB_RIGNAMSIZ];
int dual_watch; /*!< Boolean DUAL_WATCH status */
int post_ptt_delay; /*!< delay after PTT to allow for relays and such */
// New rig_state items go before this line ============================================
};
/**
@ -2791,7 +2803,7 @@ struct rig_state {
* It is NOT fine to touch this struct AT ALL!!!
*/
struct rig_state_deprecated {
/********* ENSURE YOU DO NOT EVERY MODIFY THIS STRUCTURE *********/
/********* ENSURE YOU DO NOT EVER MODIFY THIS STRUCTURE *********/
/********* It will remain forever to provide DLL backwards compatiblity ******/
/*
* overridable fields
@ -3592,7 +3604,7 @@ rig_set_uplink HAMLIB_PARAMS((RIG *rig,
extern HAMLIB_EXPORT(const char *)
rig_get_info HAMLIB_PARAMS((RIG *rig));
extern HAMLIB_EXPORT(const struct rig_caps *)
extern HAMLIB_EXPORT(struct rig_caps *)
rig_get_caps HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(const freq_range_t *)
@ -3673,13 +3685,13 @@ extern HAMLIB_EXPORT(FILE *)
rig_set_debug_file HAMLIB_PARAMS((FILE *stream));
extern HAMLIB_EXPORT(int)
rig_register HAMLIB_PARAMS((const struct rig_caps *caps));
rig_register HAMLIB_PARAMS((struct rig_caps *caps));
extern HAMLIB_EXPORT(int)
rig_unregister HAMLIB_PARAMS((rig_model_t rig_model));
extern HAMLIB_EXPORT(int)
rig_list_foreach HAMLIB_PARAMS((int (*cfunc)(const struct rig_caps *, rig_ptr_t),
rig_list_foreach HAMLIB_PARAMS((int (*cfunc)(struct rig_caps *, rig_ptr_t),
rig_ptr_t data));
extern HAMLIB_EXPORT(int)

Wyświetl plik

@ -46,7 +46,7 @@ public:
#endif
const struct rig_caps *caps;
struct rig_caps *caps;
// This method opens the communication port to the rig
void open(void);

Plik diff jest za duży Load Diff

Wyświetl plik

@ -2,7 +2,7 @@
// precise_time.cxx
//
// Copyright (C) 2023
// Dave Freese, W1HKJ
// Dave Freese, W1HKJ
//
// This file is part of flrig
//
@ -28,9 +28,9 @@
// return current tick time in seconds
double monotonic_seconds()
{
static struct timeval t1;
gettimeofday(&t1, NULL);
return t1.tv_sec + t1.tv_usec / 1e6;
static struct timeval t1;
gettimeofday(&t1, NULL);
return t1.tv_sec + t1.tv_usec / 1e6;
}
#else
@ -49,118 +49,132 @@ double monotonic_seconds()
static int showme = 0;
#if _POSIX_TIMERS > 0 && defined(_POSIX_MONOTONIC_CLOCK)
// If we have it, use clock_gettime and CLOCK_MONOTONIC.
// If we have it, use clock_gettime and CLOCK_MONOTONIC.
#include <time.h>
#include <time.h>
double monotonic_seconds() {
if (showme) {
showme = 0;
}
struct timespec time;
// Note: Make sure to link with -lrt to define clock_gettime.
clock_gettime(CLOCK_MONOTONIC, &time);
return ((double) time.tv_sec) + ((double) time.tv_nsec / (NANOS_PER_SECF));
}
double monotonic_seconds()
{
if (showme)
{
showme = 0;
}
struct timespec time;
// Note: Make sure to link with -lrt to define clock_gettime.
clock_gettime(CLOCK_MONOTONIC, &time);
return ((double) time.tv_sec) + ((double) time.tv_nsec / (NANOS_PER_SECF));
}
#elif defined(__APPLE__)
// If we don't have CLOCK_MONOTONIC, we might be on a Mac. There we instead
// use mach_absolute_time().
// If we don't have CLOCK_MONOTONIC, we might be on a Mac. There we instead
// use mach_absolute_time().
#include <mach/mach_time.h>
#include <mach/mach_time.h>
static mach_timebase_info_data_t info;
static void __attribute__((constructor)) init_info() {
mach_timebase_info(&info);
}
static mach_timebase_info_data_t info;
static void __attribute__((constructor)) init_info()
{
mach_timebase_info(&info);
}
double monotonic_seconds() {
uint64_t time = mach_absolute_time();
double dtime = (double) time;
dtime *= (double) info.numer;
dtime /= (double) info.denom;
return dtime / NANOS_PER_SECF;
}
double monotonic_seconds()
{
uint64_t time = mach_absolute_time();
double dtime = (double) time;
dtime *= (double) info.numer;
dtime /= (double) info.denom;
return dtime / NANOS_PER_SECF;
}
#elif defined(__WIN32__)
// On Windows, use QueryPerformanceCounter and QueryPerformanceFrequency.
// On Windows, use QueryPerformanceCounter and QueryPerformanceFrequency.
#include <windows.h>
#include <windows.h>
static double PCFreq = 0.0;
static double PCFreq = 0.0;
// According to http://stackoverflow.com/q/1113409/447288, this will
// make this function a constructor.
// TODO(awreece) Actually attempt to compile on windows.
// w1hkj - builds OK on mingw32
// According to http://stackoverflow.com/q/1113409/447288, this will
// make this function a constructor.
// TODO(awreece) Actually attempt to compile on windows.
// w1hkj - builds OK on mingw32
static void __cdecl init_pcfreq();
__declspec(allocate(".CRT$XCU")) void (__cdecl*init_pcfreq_)() = init_pcfreq;
static void __cdecl init_pcfreq() {
// Accoring to http://stackoverflow.com/a/1739265/447288, this will
// properly initialize the QueryPerformanceCounter.
LARGE_INTEGER li;
int has_qpc = QueryPerformanceFrequency(&li);
assert(has_qpc);
static void __cdecl init_pcfreq();
__declspec(allocate(".CRT$XCU")) void (__cdecl *init_pcfreq_)() = init_pcfreq;
static void __cdecl init_pcfreq()
{
// Accoring to http://stackoverflow.com/a/1739265/447288, this will
// properly initialize the QueryPerformanceCounter.
LARGE_INTEGER li;
int has_qpc = QueryPerformanceFrequency(&li);
assert(has_qpc);
PCFreq = ((double) li.QuadPart) / 1000.0;
}
PCFreq = ((double) li.QuadPart) / 1000.0;
}
double monotonic_seconds() {
LARGE_INTEGER li;
QueryPerformanceCounter(&li);
return ((double) li.QuadPart) / PCFreq;
}
double monotonic_seconds()
{
LARGE_INTEGER li;
QueryPerformanceCounter(&li);
return ((double) li.QuadPart) / PCFreq;
}
#else
// Fall back to rdtsc. The reason we don't use clock() is this scary message
// from the man page:
// "On several other implementations, the value returned by clock() also
// includes the times of any children whose status has been collected via
// wait(2) (or another wait-type call)."
//
// Also, clock() only has microsecond accuracy.
//
// This whitepaper offered excellent advice on how to use rdtscp for
// profiling: http://download.intel.com/embedded/software/IA/324264.pdf
//
// Unfortunately, we can't follow its advice exactly with our semantics,
// so we're just going to use rdtscp with cpuid.
//
// Note that rdtscp will only be available on new processors.
// Fall back to rdtsc. The reason we don't use clock() is this scary message
// from the man page:
// "On several other implementations, the value returned by clock() also
// includes the times of any children whose status has been collected via
// wait(2) (or another wait-type call)."
//
// Also, clock() only has microsecond accuracy.
//
// This whitepaper offered excellent advice on how to use rdtscp for
// profiling: http://download.intel.com/embedded/software/IA/324264.pdf
//
// Unfortunately, we can't follow its advice exactly with our semantics,
// so we're just going to use rdtscp with cpuid.
//
// Note that rdtscp will only be available on new processors.
#include <stdint.h>
#include <stdint.h>
static inline uint64_t rdtsc() {
uint32_t hi, lo;
uint64_t hi64, lo64;
asm volatile("rdtscp\n"
"movl %%edx, %0\n"
"movl %%eax, %1\n"
"cpuid"
: "=r" (hi), "=r" (lo) : : "%rax", "%rbx", "%rcx", "%rdx");
hi64 = hi;
lo64 = lo;
return (hi64 << 32) | lo64;
}
static inline uint64_t rdtsc()
{
uint32_t hi, lo;
uint64_t hi64, lo64;
asm volatile("rdtscp\n"
"movl %%edx, %0\n"
"movl %%eax, %1\n"
"cpuid"
: "=r"(hi), "=r"(lo) : : "%rax", "%rbx", "%rcx", "%rdx");
hi64 = hi;
lo64 = lo;
return (hi64 << 32) | lo64;
}
static uint64_t rdtsc_per_sec = 0;
static void __attribute__((constructor)) init_rdtsc_per_sec() {
uint64_t before, after;
static uint64_t rdtsc_per_sec = 0;
static void __attribute__((constructor)) init_rdtsc_per_sec()
{
uint64_t before, after;
before = rdtsc();
usleep(USECS_PER_SEC);
after = rdtsc();
before = rdtsc();
usleep(USECS_PER_SEC);
after = rdtsc();
rdtsc_per_sec = after - before;
}
rdtsc_per_sec = after - before;
}
double monotonic_seconds() {
if (showme) {
showme = false;
}
return (double) rdtsc() / (double) rdtsc_per_sec;
}
double monotonic_seconds()
{
if (showme)
{
showme = false;
}
return (double) rdtsc() / (double) rdtsc_per_sec;
}
#endif

Wyświetl plik

@ -1312,8 +1312,8 @@ int adat_priv_set_cmd(RIG *pRig, char *pcCmd, int nCmdKind)
{
adat_priv_data_ptr pPriv = (adat_priv_data_ptr) pRig->state.priv;
memset( pPriv->acCmd, 0, ADAT_PRIV_DATA_CMD_LENGTH + 1 );
snprintf(pPriv->acCmd,ADAT_PRIV_DATA_CMD_LENGTH+1,"%s",pcCmd );
memset(pPriv->acCmd, 0, ADAT_PRIV_DATA_CMD_LENGTH + 1);
snprintf(pPriv->acCmd, ADAT_PRIV_DATA_CMD_LENGTH + 1, "%s", pcCmd);
pPriv->nCmdKind = nCmdKind;
}
@ -1351,8 +1351,8 @@ int adat_priv_set_result(RIG *pRig, char *pcResult)
{
adat_priv_data_ptr pPriv = (adat_priv_data_ptr) pRig->state.priv;
memset( pPriv->acResult, 0, ADAT_PRIV_DATA_RESULT_LENGTH + 1 );
snprintf(pPriv->acResult,ADAT_PRIV_DATA_RESULT_LENGTH+1,"%s",pcResult );
memset(pPriv->acResult, 0, ADAT_PRIV_DATA_RESULT_LENGTH + 1);
snprintf(pPriv->acResult, ADAT_PRIV_DATA_RESULT_LENGTH + 1, "%s", pcResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acResult = \"%s\"\n",
@ -1392,7 +1392,7 @@ int adat_priv_clear_result(RIG *pRig)
else
{
adat_priv_data_ptr pPriv = (adat_priv_data_ptr) pRig->state.priv;
memset( pPriv->acResult, 0, ADAT_PRIV_DATA_RESULT_LENGTH + 1 );
memset(pPriv->acResult, 0, ADAT_PRIV_DATA_RESULT_LENGTH + 1);
}
// Done !
@ -1631,8 +1631,9 @@ int adat_cmd_fn_get_callsign(RIG *pRig)
if (nRC == RIG_OK)
{
memset( pPriv->acCallsign, 0, ADAT_PRIV_DATA_CALLSIGN_LENGTH + 1 );
snprintf(pPriv->acCallsign,ADAT_PRIV_DATA_CALLSIGN_LENGTH+1,"%s",pPriv->acResult );
memset(pPriv->acCallsign, 0, ADAT_PRIV_DATA_CALLSIGN_LENGTH + 1);
snprintf(pPriv->acCallsign, ADAT_PRIV_DATA_CALLSIGN_LENGTH + 1, "%s",
pPriv->acResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acCallsign = \"%s\"\n",
@ -1684,8 +1685,9 @@ int adat_cmd_fn_get_serial_nr(RIG *pRig)
if (nRC == RIG_OK)
{
memset( pPriv->acSerialNr, 0, ADAT_PRIV_DATA_SERIALNR_LENGTH + 1 );
snprintf(pPriv->acSerialNr,ADAT_PRIV_DATA_SERIALNR_LENGTH+1,"%s",pPriv->acResult );
memset(pPriv->acSerialNr, 0, ADAT_PRIV_DATA_SERIALNR_LENGTH + 1);
snprintf(pPriv->acSerialNr, ADAT_PRIV_DATA_SERIALNR_LENGTH + 1, "%s",
pPriv->acResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acSerialNr = \"%s\"\n",
@ -1737,8 +1739,9 @@ int adat_cmd_fn_get_fw_version(RIG *pRig)
if (nRC == RIG_OK)
{
memset( pPriv->acFWVersion, 0, ADAT_PRIV_DATA_FWVERSION_LENGTH + 1 );
snprintf(pPriv->acFWVersion,ADAT_PRIV_DATA_FWVERSION_LENGTH+1,"%s",pPriv->acResult );
memset(pPriv->acFWVersion, 0, ADAT_PRIV_DATA_FWVERSION_LENGTH + 1);
snprintf(pPriv->acFWVersion, ADAT_PRIV_DATA_FWVERSION_LENGTH + 1, "%s",
pPriv->acResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acFWVersion = \"%s\"\n",
@ -1791,8 +1794,9 @@ int adat_cmd_fn_get_hw_version(RIG *pRig)
if (nRC == RIG_OK)
{
memset( pPriv->acHWVersion, 0, ADAT_PRIV_DATA_HWVERSION_LENGTH + 1 );
snprintf(pPriv->acHWVersion,ADAT_PRIV_DATA_HWVERSION_LENGTH+1,"%s",pPriv->acResult );
memset(pPriv->acHWVersion, 0, ADAT_PRIV_DATA_HWVERSION_LENGTH + 1);
snprintf(pPriv->acHWVersion, ADAT_PRIV_DATA_HWVERSION_LENGTH + 1, "%s",
pPriv->acResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acHWVersion = \"%s\"\n",
@ -1844,8 +1848,9 @@ int adat_cmd_fn_get_gui_fw_version(RIG *pRig)
if (nRC == RIG_OK)
{
memset( pPriv->acGUIFWVersion, 0, ADAT_PRIV_DATA_GUIFWVERSION_LENGTH + 1 );
snprintf(pPriv->acGUIFWVersion,ADAT_PRIV_DATA_GUIFWVERSION_LENGTH+1,"%s",pPriv->acResult );
memset(pPriv->acGUIFWVersion, 0, ADAT_PRIV_DATA_GUIFWVERSION_LENGTH + 1);
snprintf(pPriv->acGUIFWVersion, ADAT_PRIV_DATA_GUIFWVERSION_LENGTH + 1, "%s",
pPriv->acResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acGUIFWVersion = \"%s\"\n",
@ -1898,8 +1903,9 @@ int adat_cmd_fn_get_id_code(RIG *pRig)
if (nRC == RIG_OK)
{
memset( pPriv->acIDCode, 0, ADAT_PRIV_DATA_IDCODE_LENGTH + 1 );
snprintf(pPriv->acIDCode,ADAT_PRIV_DATA_IDCODE_LENGTH+1,"%s",pPriv->acResult );
memset(pPriv->acIDCode, 0, ADAT_PRIV_DATA_IDCODE_LENGTH + 1);
snprintf(pPriv->acIDCode, ADAT_PRIV_DATA_IDCODE_LENGTH + 1, "%s",
pPriv->acResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acIDCode = \"%s\"\n",
@ -1951,8 +1957,9 @@ int adat_cmd_fn_get_options(RIG *pRig)
if (nRC == RIG_OK)
{
memset( pPriv->acOptions, 0, ADAT_PRIV_DATA_OPTIONS_LENGTH + 1 );
snprintf(pPriv->acOptions,ADAT_PRIV_DATA_OPTIONS_LENGTH+1,"%s",pPriv->acResult );
memset(pPriv->acOptions, 0, ADAT_PRIV_DATA_OPTIONS_LENGTH + 1);
snprintf(pPriv->acOptions, ADAT_PRIV_DATA_OPTIONS_LENGTH + 1, "%s",
pPriv->acResult);
rig_debug(RIG_DEBUG_TRACE,
"*** ADAT: %d pPriv->acOptions = \"%s\"\n",
@ -2056,7 +2063,7 @@ int adat_cmd_fn_set_mode(RIG *pRig)
memset(acBuf, 0, ADAT_BUFSZ + 1);
snprintf(acBuf,sizeof(acBuf),"%s%02d%s",
snprintf(acBuf, sizeof(acBuf), "%s%02d%s",
ADAT_CMD_DEF_STRING_SET_MODE,
(int) pPriv->nADATMode,
ADAT_EOM);
@ -2173,7 +2180,7 @@ int adat_cmd_fn_set_freq(RIG *pRig)
memset(acBuf, 0, ADAT_BUFSZ + 1);
snprintf(acBuf,sizeof(acBuf),"%s%d%s",
snprintf(acBuf, sizeof(acBuf), "%s%d%s",
ADAT_CMD_DEF_STRING_SET_FREQ,
(int) pPriv->nFreq,
ADAT_EOM);
@ -2229,7 +2236,7 @@ int adat_cmd_fn_set_vfo(RIG *pRig)
memset(acBuf, 0, ADAT_BUFSZ + 1);
snprintf(acBuf,sizeof(acBuf), ADAT_CMD_DEF_STRING_SWITCH_ON_VFO,
snprintf(acBuf, sizeof(acBuf), ADAT_CMD_DEF_STRING_SWITCH_ON_VFO,
(int) pPriv->nCurrentVFO,
ADAT_EOM);
@ -2242,7 +2249,7 @@ int adat_cmd_fn_set_vfo(RIG *pRig)
if (nRC == RIG_OK)
{
memset(acBuf, 0, ADAT_BUFSZ + 1);
snprintf(acBuf,sizeof(acBuf),
snprintf(acBuf, sizeof(acBuf),
ADAT_CMD_DEF_STRING_SET_VFO_AS_MAIN_VFO,
(int) pPriv->nCurrentVFO,
ADAT_EOM);
@ -2375,7 +2382,7 @@ int adat_cmd_fn_set_ptt(RIG *pRig)
{
char acBuf[ ADAT_BUFSZ + 1 ];
memset(acBuf, 0, ADAT_BUFSZ + 1);
snprintf(acBuf,sizeof(acBuf),ADAT_CMD_DEF_STRING_SET_PTT,
snprintf(acBuf, sizeof(acBuf), ADAT_CMD_DEF_STRING_SET_PTT,
pcPTTStr,
ADAT_EOM);
@ -2490,8 +2497,8 @@ int adat_transaction(RIG *pRig,
nRC = adat_receive(pRig, acBuf);
}
memset( pPriv->acResult, 0, ADAT_PRIV_DATA_RESULT_LENGTH + 1 );
snprintf(pPriv->acResult,ADAT_PRIV_DATA_RESULT_LENGTH+1,"%s",acBuf);
memset(pPriv->acResult, 0, ADAT_PRIV_DATA_RESULT_LENGTH + 1);
snprintf(pPriv->acResult, ADAT_PRIV_DATA_RESULT_LENGTH + 1, "%s", acBuf);
}
}
@ -2546,8 +2553,8 @@ int adat_init(RIG *pRig)
{
// Set Rig Priv data
memset( &gsADATPrivData, 0, sizeof( adat_priv_data_t ));
pRig->state.priv = &gsADATPrivData;
memset(&gsADATPrivData, 0, sizeof(adat_priv_data_t));
pRig->state.priv = &gsADATPrivData;
}
// Done !
@ -2685,10 +2692,10 @@ const char *adat_get_info(RIG *pRig)
if (nRC == RIG_OK)
{
// cppcheck-suppress constVariablePointer
// cppcheck-suppress constVariablePointer
const adat_priv_data_ptr pPriv = (adat_priv_data_ptr) pRig->state.priv;
snprintf(acBuf,2048,
snprintf(acBuf, 2048,
"ADAT ADT-200A, Callsign: %s, S/N: %s, ID Code: %s, Options: %s, FW: %s, GUI FW: %s, HW: %s",
pPriv->acCallsign,
pPriv->acSerialNr,
@ -3271,7 +3278,8 @@ int adat_set_conf(RIG *pRig, token_t token, const char *val)
{
case TOKEN_ADAT_PRODUCT_NAME:
snprintf(pPriv->acProductName,ADAT_PRIV_DATA_PRODUCTNAME_LENGTH+1,"%s",val );
snprintf(pPriv->acProductName, ADAT_PRIV_DATA_PRODUCTNAME_LENGTH + 1, "%s",
val);
break;
default:
@ -3316,10 +3324,15 @@ int adat_get_conf(RIG *pRig, token_t token, char *val)
switch (token)
{
case TOKEN_ADAT_PRODUCT_NAME:
if (strlen(pPriv->acProductName) > 0)
strcpy(val, pPriv->acProductName);
else
strcpy(val,"Unknown product");
if (strlen(pPriv->acProductName) > 0)
{
strcpy(val, pPriv->acProductName);
}
else
{
strcpy(val, "Unknown product");
}
break;
default:

Wyświetl plik

@ -610,7 +610,7 @@ int adat_power2mW(RIG *, unsigned int *, float, freq_t, rmode_t);
int adat_get_powerstat(RIG *, powerstat_t *);
extern const struct rig_caps adt_200a_caps;
extern struct rig_caps adt_200a_caps;
// ---------------------------------------------------------------------------
// END OF FILE

Wyświetl plik

@ -48,7 +48,7 @@
// ADT-200A HAMLIB CAPS / DESCRIPTION
// ---------------------------------------------------------------------------
const struct rig_caps adt_200a_caps =
struct rig_caps adt_200a_caps =
{
RIG_MODEL(RIG_MODEL_ADT_200A),
.model_name = "ADT-200A",

Wyświetl plik

@ -26,8 +26,8 @@
#define BACKEND_VER "20200323"
extern const struct rig_caps dx77_caps;
extern const struct rig_caps dxsr8_caps;
extern struct rig_caps dx77_caps;
extern struct rig_caps dxsr8_caps;
#define BUFSZ 32

Wyświetl plik

@ -150,7 +150,7 @@ int dx77_get_mem(RIG *rig, vfo_t vfo, int *ch);
* - up/down
* - scan
*/
const struct rig_caps dx77_caps =
struct rig_caps dx77_caps =
{
RIG_MODEL(RIG_MODEL_DX77),
.model_name = "DX-77",
@ -1260,7 +1260,7 @@ int dx77_set_parm(RIG *rig, setting_t parm, value_t val)
*/
int dx77_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
{
const struct rig_caps *caps;
struct rig_caps *caps;
unsigned char tonebuf[BUFSZ];
int i;

Wyświetl plik

@ -75,7 +75,7 @@ int dxsr8_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt);
* https://yo5ptd.wordpress.com/2017/02/12/alinco-dx-sr8/
* for a partially documented protocol
*/
const struct rig_caps dxsr8_caps =
struct rig_caps dxsr8_caps =
{
RIG_MODEL(RIG_MODEL_DXSR8),
.model_name = "DX-SR8",

Wyświetl plik

@ -46,7 +46,8 @@
// ---------------------------------------------------------------------------
#include "anytone.h"
int anytone_transaction(RIG *rig, unsigned char *cmd, int cmd_len, unsigned char *reply, int reply_len, int expected_len);
int anytone_transaction(RIG *rig, unsigned char *cmd, int cmd_len,
unsigned char *reply, int reply_len, int expected_len);
DECLARE_INITRIG_BACKEND(anytone)
{
@ -116,7 +117,7 @@ void *anytone_thread(void *vrig)
write_block(&rig->state.rigport, (unsigned char *)c, strlen(c));
char buf[32];
read_block(&rig->state.rigport, (unsigned char*)buf, 22);
read_block(&rig->state.rigport, (unsigned char *)buf, 22);
if (rig_need_debug(RIG_DEBUG_CACHE) == 0)
{
@ -176,7 +177,8 @@ int anytone_receive(RIG *rig, unsigned char *buf, int buf_len, int expected)
// ---------------------------------------------------------------------------
// anytone_transaction
// ---------------------------------------------------------------------------
int anytone_transaction(RIG *rig, unsigned char *cmd, int cmd_len, unsigned char *reply, int reply_len, int expected_len)
int anytone_transaction(RIG *rig, unsigned char *cmd, int cmd_len,
unsigned char *reply, int reply_len, int expected_len)
{
int retval = RIG_OK;
//anytone_priv_data_t *p = rig->state.priv;
@ -258,7 +260,7 @@ int anytone_open(RIG *rig)
ENTERFUNC;
unsigned char cmd[] = { 0x2B,0x41,0x44,0x41,0x54,0x41,0x3A,0x30,0x30,0x2C,0x30,0x30,0x31,0x0d,0x0a,'a',0x0d,0x0a };
unsigned char cmd[] = { 0x2B, 0x41, 0x44, 0x41, 0x54, 0x41, 0x3A, 0x30, 0x30, 0x2C, 0x30, 0x30, 0x31, 0x0d, 0x0a, 'a', 0x0d, 0x0a };
write_block(&rig->state.rigport, cmd, sizeof(cmd));
hl_usleep(500 * 1000);
char cmd2[64];
@ -266,7 +268,8 @@ int anytone_open(RIG *rig)
write_block(&rig->state.rigport, (unsigned char *)cmd2, strlen(cmd2));
SNPRINTF(cmd2, sizeof(cmd2), "+ADATA:00,000\r\n");
unsigned char reply[512];
anytone_transaction(rig, (unsigned char*)cmd2, strlen(cmd2), reply, sizeof(reply), strlen(cmd2));
anytone_transaction(rig, (unsigned char *)cmd2, strlen(cmd2), reply,
sizeof(reply), strlen(cmd2));
pthread_t id;
// will start the keep alive
@ -291,7 +294,7 @@ int anytone_close(RIG *rig)
ENTERFUNC;
char *cmd = "+ADATA:00,000\r\n";
anytone_transaction(rig, (unsigned char*)cmd, strlen(cmd), NULL, 0, 0);
anytone_transaction(rig, (unsigned char *)cmd, strlen(cmd), NULL, 0, 0);
RETURNFUNC(retval);
}
@ -309,10 +312,11 @@ int anytone_get_vfo(RIG *rig, vfo_t *vfo)
const anytone_priv_data_ptr p = (anytone_priv_data_ptr) rig->state.priv;
unsigned char reply[512];
unsigned char cmd[] = { 0x2b,0x41,0x44,0x41,0x54,0x41,0x3a,0x30,0x30,0x2c,0x30,0x30,0x36,0x0d,0x0a,0x04,0x05,0x00,0x00,0x00,0x00,0x0d,0x0a };
unsigned char cmd[] = { 0x2b, 0x41, 0x44, 0x41, 0x54, 0x41, 0x3a, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x36, 0x0d, 0x0a, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0a };
anytone_transaction(rig, cmd, sizeof(cmd), reply, sizeof(reply), 114);
if (reply[113] == 0x9b) *vfo = RIG_VFO_A;
else if (reply[113] == 0x9c) *vfo = RIG_VFO_B;
if (reply[113] == 0x9b) { *vfo = RIG_VFO_A; }
else if (reply[113] == 0x9c) { *vfo = RIG_VFO_B; }
else
{
*vfo = RIG_VFO_A; // default to VFOA
@ -357,10 +361,11 @@ int anytone_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
ENTERFUNC;
//char buf[8] = { 0x41, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x06 };
unsigned char ptton[] = { 0x2B,0x41,0x44,0x41,0x54,0x41,0x3A,0x30,0x30,0x2C,0x30,0x30,0x31,0x0d,0x0a,0x61,0x0d,0x0a };
unsigned char pttoff[] = { 0x2B,0x41,0x44,0x41,0x54,0x41,0x3A,0x30,0x30,0x2C,0x30,0x32,0x33,0x0d,0x0a,0x56,0x0d,0x0a };
unsigned char ptton[] = { 0x2B, 0x41, 0x44, 0x41, 0x54, 0x41, 0x3A, 0x30, 0x30, 0x2C, 0x30, 0x30, 0x31, 0x0d, 0x0a, 0x61, 0x0d, 0x0a };
unsigned char pttoff[] = { 0x2B, 0x41, 0x44, 0x41, 0x54, 0x41, 0x3A, 0x30, 0x30, 0x2C, 0x30, 0x32, 0x33, 0x0d, 0x0a, 0x56, 0x0d, 0x0a };
void *pttcmd = ptton;
if (!ptt) pttcmd = pttoff;
if (!ptt) { pttcmd = pttoff; }
//if (!ptt) { cmd = " (unsigned char*)+ADATA:00,023\r\nV\r\n"; }
@ -409,6 +414,7 @@ int anytone_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
}
}
while (retval != 138 && --retry > 0);
MUTEX_UNLOCK(p->priv.mutex);
return RIG_OK;
@ -417,19 +423,25 @@ int anytone_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
int anytone_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
char cmd[64];
if (vfo == RIG_VFO_A)
snprintf(cmd, sizeof(cmd), "ADATA:00,005\r\n%c%c%c%c\r\n", 2, 0, 0, 0);
{
snprintf(cmd, sizeof(cmd), "ADATA:00,005\r\n%c%c%c%c\r\n", 2, 0, 0, 0);
}
else
snprintf(cmd, sizeof(cmd), "ADATA:00,005\r\n%c%c%c%c\r\n", 1, 0, 0, 0);
{
snprintf(cmd, sizeof(cmd), "ADATA:00,005\r\n%c%c%c%c\r\n", 1, 0, 0, 0);
}
MUTEX_LOCK(p->priv.mutex);
rig_flush(&rig->state.rigport);
write_block(&rig->state.rigport, (unsigned char*) cmd, 20);
write_block(&rig->state.rigport, (unsigned char *) cmd, 20);
unsigned char backend[] = { 0x2f, 0x03, 0x00, 0xff, 0xff, 0xff, 0xff, 0x15, 0x50, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x09, 0x00, 0x00, 0x0d, 0x0a};
snprintf(cmd, sizeof(cmd), "ADATA:00,023\r\n");
int bytes = strlen(cmd) + sizeof(backend);
memcpy(&cmd[15], backend, sizeof(backend));
hl_usleep(10*1000);
write_block(&rig->state.rigport, (unsigned char*)cmd, bytes);
hl_usleep(10 * 1000);
write_block(&rig->state.rigport, (unsigned char *)cmd, bytes);
MUTEX_UNLOCK(p->priv.mutex);
return -RIG_ENIMPL;

Wyświetl plik

@ -7,7 +7,7 @@
#define ANYTONE_RESPSZ 64
extern const struct rig_caps anytone_d578_caps;
extern struct rig_caps anytone_d578_caps;
#ifdef PTHREAD
#include <pthread.h>

Wyświetl plik

@ -26,7 +26,7 @@
#define D578_VFO (RIG_VFO_A|RIG_VFO_B)
#define D578_MODES (RIG_MODE_USB|RIG_MODE_AM)
const struct rig_caps anytone_d578_caps =
struct rig_caps anytone_d578_caps =
{
RIG_MODEL(RIG_MODEL_ATD578UVIII),
.model_name = "D578A",

Wyświetl plik

@ -64,16 +64,16 @@ int aor_get_channel(RIG *rig, vfo_t vfo, channel_t *chan, int read_only);
int aor_set_channel(RIG *rig, vfo_t vfo, const channel_t *chan);
int aor_get_chan_all_cb (RIG * rig, vfo_t vfo, chan_cb_t chan_cb, rig_ptr_t);
extern const struct rig_caps ar2700_caps;
extern const struct rig_caps ar8200_caps;
extern const struct rig_caps ar8000_caps;
extern const struct rig_caps ar8600_caps;
extern const struct rig_caps ar5000_caps;
extern const struct rig_caps ar3000a_caps;
extern const struct rig_caps ar7030_caps;
extern const struct rig_caps ar3030_caps;
extern const struct rig_caps ar5000a_caps;
extern const struct rig_caps ar7030p_caps;
extern const struct rig_caps sr2200_caps;
extern struct rig_caps ar2700_caps;
extern struct rig_caps ar8200_caps;
extern struct rig_caps ar8000_caps;
extern struct rig_caps ar8600_caps;
extern struct rig_caps ar5000_caps;
extern struct rig_caps ar3000a_caps;
extern struct rig_caps ar7030_caps;
extern struct rig_caps ar3030_caps;
extern struct rig_caps ar5000a_caps;
extern struct rig_caps ar7030p_caps;
extern struct rig_caps sr2200_caps;
#endif /* _AOR_H */

Wyświetl plik

@ -80,7 +80,7 @@ static const struct aor_priv_caps ar2700_priv_caps =
* part of info from http://www.aoruk.com/2700.htm
* Interface unit: CU-8232 (or equivalent)
*/
const struct rig_caps ar2700_caps =
struct rig_caps ar2700_caps =
{
RIG_MODEL(RIG_MODEL_AR2700),
.model_name = "AR2700",

Wyświetl plik

@ -62,7 +62,7 @@ static int ar3k_get_level(RIG *rig, vfo_t vfo, setting_t level, value_t *val);
* TODO:
* set_channel, get_channel, set_func MUTE,SQL, get_dcd, ...
*/
const struct rig_caps ar3000a_caps =
struct rig_caps ar3000a_caps =
{
RIG_MODEL(RIG_MODEL_AR3000A),
.model_name = "AR3000A",

Wyświetl plik

@ -93,7 +93,7 @@ struct ar3030_priv_data
*
* ar3030 rig capabilities.
*/
const struct rig_caps ar3030_caps =
struct rig_caps ar3030_caps =
{
RIG_MODEL(RIG_MODEL_AR3030),
.model_name = "AR3030",
@ -356,7 +356,8 @@ int ar3030_set_vfo(RIG *rig, vfo_t vfo)
int ar3030_get_vfo(RIG *rig, vfo_t *vfo)
{
const struct ar3030_priv_data *priv = (struct ar3030_priv_data *)rig->state.priv;
const struct ar3030_priv_data *priv = (struct ar3030_priv_data *)
rig->state.priv;
*vfo = priv->curr_vfo;

Wyświetl plik

@ -99,7 +99,7 @@ static const struct aor_priv_caps ar5k_priv_caps =
*
* TODO: retrieve BW info, and rest of commands
*/
const struct rig_caps ar5000_caps =
struct rig_caps ar5000_caps =
{
RIG_MODEL(RIG_MODEL_AR5000),
.model_name = "AR5000",
@ -245,7 +245,7 @@ const struct rig_caps ar5000_caps =
*
* TODO: retrieve BW info, and rest of commands
*/
const struct rig_caps ar5000a_caps =
struct rig_caps ar5000a_caps =
{
RIG_MODEL(RIG_MODEL_AR5000A),
.model_name = "AR5000A",

Wyświetl plik

@ -190,7 +190,8 @@ static void Execute_Routine_2_1(RIG *rig, char mp, char ad, int numSteps)
}
#endif
// Routine 3 Set passband Setup all IF parameters from filter, pbsval and bfoval bytes.
static void Execute_Routine_3_1(RIG *rig, char mp, char ad, unsigned int numSteps)
static void Execute_Routine_3_1(RIG *rig, char mp, char ad,
unsigned int numSteps)
{
setLock(rig, 1); //Set Lock Level
setMemPtr(rig, mp, ad); //page, address
@ -772,7 +773,7 @@ static int ar7030_reset(RIG *rig, reset_t reset)
const struct rig_caps ar7030_caps =
struct rig_caps ar7030_caps =
{
RIG_MODEL(RIG_MODEL_AR7030),
.model_name = "AR7030",

Wyświetl plik

@ -333,7 +333,7 @@ static int ar7030p_cleanup(RIG *rig)
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
if (priv == NULL) return RIG_OK;
if (priv == NULL) { return RIG_OK; }
for (i = 0; i < NB_CHAN; i++)
{
@ -483,7 +483,7 @@ static int ar7030p_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
if (RIG_OK == rc)
{
const struct rig_caps *caps = rig->caps;
struct rig_caps *caps = rig->caps;
if ((caps->rx_range_list1[ 0 ].endf > freq) &&
(caps->rx_range_list1[ 0 ].startf < freq))
@ -1264,7 +1264,8 @@ static int ar7030p_set_vfo(RIG *rig, vfo_t vfo)
static int ar7030p_get_vfo(RIG *rig, vfo_t *vfo)
{
int rc = RIG_OK;
struct ar7030p_priv_data const *priv = (struct ar7030p_priv_data *) rig->state.priv;
struct ar7030p_priv_data const *priv = (struct ar7030p_priv_data *)
rig->state.priv;
assert(NULL != vfo);
@ -1348,7 +1349,8 @@ static int ar7030p_get_mem(RIG *rig, vfo_t vfo, int *ch)
{
int rc = RIG_OK;
struct ar7030p_priv_data const *priv = (struct ar7030p_priv_data *) rig->state.priv;
struct ar7030p_priv_data const *priv = (struct ar7030p_priv_data *)
rig->state.priv;
const channel_t *curr = priv->curr;
assert(NULL != ch);
@ -1648,7 +1650,8 @@ static int ar7030p_get_channel(RIG *rig, vfo_t vfo, channel_t *chan,
unsigned int f;
unsigned char *p = NULL;
int ch;
const struct ar7030p_priv_data *priv = (struct ar7030p_priv_data *)rig->state.priv;
const struct ar7030p_priv_data *priv = (struct ar7030p_priv_data *)
rig->state.priv;
const channel_t *curr = priv->curr;
assert(NULL != chan);
@ -1770,7 +1773,7 @@ static int ar7030p_get_channel(RIG *rig, vfo_t vfo, channel_t *chan,
return (rc);
}
const struct rig_caps ar7030p_caps =
struct rig_caps ar7030p_caps =
{
RIG_MODEL(RIG_MODEL_AR7030P),
.model_name = "AR7030 Plus",

Wyświetl plik

@ -60,7 +60,7 @@ static const struct aor_priv_caps ar8000_priv_caps =
*
* part of info from http://www.aoruk.com/8000.htm
*/
const struct rig_caps ar8000_caps =
struct rig_caps ar8000_caps =
{
RIG_MODEL(RIG_MODEL_AR8000),
.model_name = "AR8000",

Wyświetl plik

@ -84,7 +84,7 @@ static const struct aor_priv_caps ar8k_priv_caps =
*
* part of info from http://www.aoruk.com/8200.htm
*/
const struct rig_caps ar8200_caps =
struct rig_caps ar8200_caps =
{
RIG_MODEL(RIG_MODEL_AR8200),
.model_name = "AR8200",

Wyświetl plik

@ -86,7 +86,7 @@ static const struct aor_priv_caps ar8600_priv_caps =
*
* part of info from http://www.aoruk.com/8600.htm
*/
const struct rig_caps ar8600_caps =
struct rig_caps ar8600_caps =
{
RIG_MODEL(RIG_MODEL_AR8600),
.model_name = "AR8600",

Wyświetl plik

@ -119,7 +119,7 @@ static const struct aor_priv_caps sr2200_priv_caps =
*
* TODO: retrieve BW info, and rest of commands
*/
const struct rig_caps sr2200_caps =
struct rig_caps sr2200_caps =
{
RIG_MODEL(RIG_MODEL_SR2200),
.model_name = "SR2200",

Wyświetl plik

@ -94,7 +94,7 @@ static int barrett4050_open(RIG *rig)
RETURNFUNC(RIG_OK);
}
const struct rig_caps barrett4050_caps =
struct rig_caps barrett4050_caps =
{
RIG_MODEL(RIG_MODEL_BARRETT_4050),
.model_name = "4050",

Wyświetl plik

@ -66,7 +66,7 @@ static struct chan_map_s chan_map[] =
{ 28.0, 30.0, 9}
};
const struct rig_caps barrett950_caps =
struct rig_caps barrett950_caps =
{
RIG_MODEL(RIG_MODEL_BARRETT_950),
.model_name = "950",
@ -164,7 +164,9 @@ int barrett950_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
for (i = 0; i < 10; ++i)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: Mhz=%lg, lo=%lg, hi=%lg\n", __func__, freq_MHz, chan_map[i].lo, chan_map[i].hi);
rig_debug(RIG_DEBUG_VERBOSE, "%s: Mhz=%lg, lo=%lg, hi=%lg\n", __func__,
freq_MHz, chan_map[i].lo, chan_map[i].hi);
if (freq_MHz >= chan_map[i].lo && freq_MHz <= chan_map[i].hi)
{
int channel_base = priv->channel_base;

Wyświetl plik

@ -683,11 +683,13 @@ int barrett_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
switch (level)
{
case RIG_LEVEL_AGC:
sprintf(cmd_buf,"EG%c%s", val.i==0?'N':'H' , EOM);
break;
default: return -RIG_ENIMPL;
case RIG_LEVEL_AGC:
sprintf(cmd_buf, "EG%c%s", val.i == 0 ? 'N' : 'H', EOM);
break;
default: return -RIG_ENIMPL;
}
rig_flush(&rs->rigport);
retval = write_block(&rs->rigport, (unsigned char *) cmd_buf, strlen(cmd_buf));
@ -695,6 +697,7 @@ int barrett_set_level(RIG *rig, vfo_t vfo, setting_t level, value_t val)
{
return retval;
}
return RIG_OK;
}
@ -756,7 +759,7 @@ int barrett_open(RIG *rig)
}
const struct rig_caps barrett_caps =
struct rig_caps barrett_caps =
{
RIG_MODEL(RIG_MODEL_BARRETT_2050),
.model_name = "2050",

Wyświetl plik

@ -36,9 +36,9 @@
// RET_LEN is # of max channels times the per-channel response length
#define BARRETT_RET_LEN 24*1000
extern const struct rig_caps barrett_caps;
extern const struct rig_caps barrett950_caps;
extern const struct rig_caps barrett4050_caps;
extern struct rig_caps barrett_caps;
extern struct rig_caps barrett950_caps;
extern struct rig_caps barrett4050_caps;
struct barrett_priv_data {
char cmd_str[BARRETT_DATA_LEN]; /* command string buffer */

Wyświetl plik

@ -410,7 +410,7 @@ int codan_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
const struct rig_caps envoy_caps =
struct rig_caps envoy_caps =
{
RIG_MODEL(RIG_MODEL_CODAN_ENVOY),
.model_name = "Envoy",
@ -475,7 +475,7 @@ const struct rig_caps envoy_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
const struct rig_caps ngs_caps =
struct rig_caps ngs_caps =
{
RIG_MODEL(RIG_MODEL_CODAN_NGT),
.model_name = "NGT",

Wyświetl plik

@ -34,8 +34,8 @@
// But that would 9999*41 or 406KB so didn't do that right now
#define CODAN_DATA_LEN 64
extern const struct rig_caps envoy_caps;
extern const struct rig_caps ngs_caps;
extern struct rig_caps envoy_caps;
extern struct rig_caps ngs_caps;
struct codan_priv_data {
char cmd_str[CODAN_DATA_LEN]; /* command string buffer */

Wyświetl plik

@ -24,7 +24,7 @@
#include "hamlib/rig.h"
extern const struct rig_caps dra818u_caps;
extern const struct rig_caps dra818v_caps;
extern struct rig_caps dra818u_caps;
extern struct rig_caps dra818v_caps;
#endif /* _DORJI_H */

Wyświetl plik

@ -519,7 +519,7 @@ int dra818_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
return RIG_OK;
}
const struct rig_caps dra818u_caps =
struct rig_caps dra818u_caps =
{
RIG_MODEL(RIG_MODEL_DORJI_DRA818U),
.model_name = "DRA818U",
@ -623,7 +623,7 @@ const struct rig_caps dra818u_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
const struct rig_caps dra818v_caps =
struct rig_caps dra818v_caps =
{
RIG_MODEL(RIG_MODEL_DORJI_DRA818V),
.model_name = "DRA818V",

Wyświetl plik

@ -53,8 +53,8 @@ int drake_set_powerstat (RIG * rig, powerstat_t status);
int drake_get_powerstat (RIG * rig, powerstat_t *status);
const char *drake_get_info(RIG *rig);
extern const struct rig_caps r8a_caps;
extern const struct rig_caps r8b_caps;
extern struct rig_caps r8a_caps;
extern struct rig_caps r8b_caps;
#endif /* _DRAKE_H */

Wyświetl plik

@ -78,7 +78,7 @@
*
*/
const struct rig_caps r8a_caps =
struct rig_caps r8a_caps =
{
RIG_MODEL(RIG_MODEL_DKR8A),
.model_name = "R-8A",

Wyświetl plik

@ -78,7 +78,7 @@
*
*/
const struct rig_caps r8b_caps =
struct rig_caps r8b_caps =
{
RIG_MODEL(RIG_MODEL_DKR8B),
.model_name = "R-8B",

Wyświetl plik

@ -257,7 +257,7 @@ static int aclog_transaction(RIG *rig, char *cmd, char *value,
ENTERFUNC;
ELAPSED1;
strcpy(xml,"UNKNOWN");
strcpy(xml, "UNKNOWN");
set_transaction_active(rig);
@ -710,10 +710,12 @@ static int aclog_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
}
#if 0
if (vfo == RIG_VFO_CURR)
{
vfo = rig->state.current_vfo;
}
#endif
SNPRINTF(cmd, sizeof(cmd),
@ -933,7 +935,7 @@ static int aclog_set_ptt(RIG *rig, vfo_t vfo, ptt_t ptt)
}
const struct rig_caps aclog_caps =
struct rig_caps aclog_caps =
{
RIG_MODEL(RIG_MODEL_ACLOG),
.model_name = "ACLog",

Wyświetl plik

@ -143,7 +143,7 @@ Also a way to display faults (there are commands)
static int dummy_amp_get_freq(AMP *amp, freq_t *freq)
{
const struct dummy_amp_priv_data *priv = (struct dummy_amp_priv_data *)
amp->state.priv;
amp->state.priv;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
*freq = priv->freq;
return RIG_OK;
@ -267,7 +267,7 @@ static int dummy_amp_set_powerstat(AMP *amp, powerstat_t status)
static int dummy_amp_get_powerstat(AMP *amp, powerstat_t *status)
{
const struct dummy_amp_priv_data *priv = (struct dummy_amp_priv_data *)
amp->state.priv;
amp->state.priv;
*status = priv->powerstat;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);

Wyświetl plik

@ -451,7 +451,9 @@ static int dummy_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
rig_debug(RIG_DEBUG_ERR, "%s: rig is NULL!!!\n", __func__);
return -RIG_EINVAL;
}
priv = (struct dummy_priv_data *)rig->state.priv;
if (priv == NULL)
{
RETURNFUNC(-RIG_EINTERNAL);
@ -1613,9 +1615,10 @@ static int dummy_set_parm(RIG *rig, setting_t parm, value_t val)
{
SNPRINTF(pstr, sizeof(pstr), "%f", val.f);
}
if (RIG_PARM_IS_STRING(parm))
{
strcpy(pstr,val.cs);
strcpy(pstr, val.cs);
}
else
{
@ -2382,10 +2385,10 @@ struct rig_caps dummy_caps =
.has_get_parm = DUMMY_PARM,
.has_set_parm = RIG_PARM_SET(DUMMY_PARM),
.level_gran = {
[LVL_RF] = { .min = { .f = 0 }, .max = { .f = 1.0f }, .step = { .f = 1.0f/255.0f } },
[LVL_RFPOWER] = { .min = { .f = .05f }, .max = { .f = 1 }, .step = { .f = 1.0f/511.0f } },
[LVL_RFPOWER_METER] = { .min = { .f = .0f }, .max = { .f = 1 }, .step = { .f = 1.0f/255.0f } },
[LVL_RFPOWER_METER_WATTS] = { .min = { .f = .0f }, .max = { .f = 100 }, .step = { .f = 1.0f/255.0f } },
[LVL_RF] = { .min = { .f = 0 }, .max = { .f = 1.0f }, .step = { .f = 1.0f / 255.0f } },
[LVL_RFPOWER] = { .min = { .f = .05f }, .max = { .f = 1 }, .step = { .f = 1.0f / 511.0f } },
[LVL_RFPOWER_METER] = { .min = { .f = .0f }, .max = { .f = 1 }, .step = { .f = 1.0f / 255.0f } },
[LVL_RFPOWER_METER_WATTS] = { .min = { .f = .0f }, .max = { .f = 100 }, .step = { .f = 1.0f / 255.0f } },
[LVL_CWPITCH] = { .step = { .i = 10 } },
[LVL_SPECTRUM_SPEED] = {.min = {.i = 0}, .max = {.i = 2}, .step = {.i = 1}},
[LVL_SPECTRUM_REF] = {.min = {.f = -30.0f}, .max = {.f = 10.0f}, .step = {.f = 0.5f}},

Wyświetl plik

@ -42,11 +42,11 @@
extern struct rig_caps dummy_caps;
extern struct rig_caps dummy_no_vfo_caps;
extern struct rig_caps netrigctl_caps;
extern const struct rig_caps flrig_caps;
extern const struct rig_caps trxmanager_caps;
extern const struct rig_caps tci1x_caps;
extern const struct rig_caps aclog_caps;
extern const struct rig_caps sdrsharp_caps;
extern struct rig_caps flrig_caps;
extern struct rig_caps trxmanager_caps;
extern struct rig_caps tci1x_caps;
extern struct rig_caps aclog_caps;
extern struct rig_caps sdrsharp_caps;
extern struct rig_caps quisk_caps;
int netrigctl_get_vfo_mode(RIG *);

Wyświetl plik

@ -50,7 +50,7 @@
RIG_MODE_PKTLSB | RIG_MODE_PKTUSB |\
RIG_MODE_SSB | RIG_MODE_LSB | RIG_MODE_USB |\
RIG_MODE_FM | RIG_MODE_WFM | RIG_MODE_FMN | RIG_MODE_PKTFM |\
RIG_MODE_C4FM)
RIG_MODE_C4FM | RIG_MODE_DSTAR)
#define FLRIG_LEVELS (RIG_LEVEL_AF | RIG_LEVEL_RF | RIG_LEVEL_MICGAIN | RIG_LEVEL_STRENGTH | RIG_LEVEL_RFPOWER_METER | RIG_LEVEL_RFPOWER_METER_WATTS | RIG_LEVEL_RFPOWER | RIG_LEVEL_SWR)
@ -138,12 +138,12 @@ static const struct confparams flrig_ext_parms[] =
{ RIG_CONF_END, NULL, }
};
const struct rig_caps flrig_caps =
struct rig_caps flrig_caps =
{
RIG_MODEL(RIG_MODEL_FLRIG),
.model_name = "FLRig",
.mfg_name = "FLRig",
.version = "20231113.0",
.version = "20231216.0",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@ -242,6 +242,7 @@ static struct s_modeMap modeMap[] =
{RIG_MODE_RTTY, NULL},
{RIG_MODE_RTTYR, NULL},
{RIG_MODE_C4FM, NULL},
{RIG_MODE_DSTAR, NULL},
{0, NULL}
};
@ -894,11 +895,15 @@ static int flrig_open(RIG *rig)
/* see if get_bwA is available */
retval = flrig_transaction(rig, "rig.get_bwA", NULL, value, sizeof(value));
int dummy;
if (retval == RIG_ENAVAIL) // must not have it
if (retval == RIG_ENAVAIL || value[0] == 0
|| sscanf(value, "%d", &dummy) == 0) // must not have it
{
priv->has_get_bwA = 0;
priv->has_get_bwB = 0; // if we don't have A then surely we don't have B either
priv->has_set_bwA = 0; // and we don't have set functions either
priv->has_set_bwB = 0;
rig_debug(RIG_DEBUG_VERBOSE, "%s: get_bwA/B is not available=%s\n", __func__,
value);
}
@ -1088,6 +1093,7 @@ static int flrig_open(RIG *rig)
else if (streq(p, "UCW")) { modeMapAdd(&modes, RIG_MODE_CW, p); }
else if (streq(p, "C4FM")) { modeMapAdd(&modes, RIG_MODE_C4FM, p); }
else if (streq(p, "SPEC")) { modeMapAdd(&modes, RIG_MODE_SPEC, p); }
else if (streq(p, "DV")) { modeMapAdd(&modes, RIG_MODE_DSTAR, p); }
else if (streq(p, "DRM")) // we don't support DRM yet (or maybe ever)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: no mapping for mode %s\n", __func__, p);
@ -1209,6 +1215,9 @@ static int flrig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
*freq = atof(value);
#if 0 // zero is actually valid for PowerSDR
if (*freq == 0)
{
rig_debug(RIG_DEBUG_ERR, "%s: freq==0??\nvalue=%s\n", __func__,
@ -1216,6 +1225,7 @@ static int flrig_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
RETURNFUNC(-RIG_EPROTO);
}
else
#endif
{
rig_debug(RIG_DEBUG_TRACE, "%s: freq=%.0f\n", __func__, *freq);
}
@ -1750,14 +1760,15 @@ static int flrig_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
/* so we may not be 100% accurate if op is twiddling knobs */
cmdp = "rig.get_bwA";
retval = flrig_transaction(rig, cmdp, NULL, value, sizeof(value));
if (retval == RIG_OK && strstr(value,"NONE"))
if (retval == RIG_OK && strstr(value, "NONE"))
{
priv->has_get_bwA = priv->has_get_bwB = 0;
*width = 0;
rig_debug(RIG_DEBUG_VERBOSE, "%s: does not have rig.get_bwA/B\n", __func__);
}
if (retval != RIG_OK || strstr(value,"NONE"))
if (retval != RIG_OK || strstr(value, "NONE"))
{
RETURNFUNC(retval);
}
@ -1767,7 +1778,8 @@ static int flrig_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode, pbwidth_t *width)
{
cmdp = "rig.get_bwB";
retval = flrig_transaction(rig, cmdp, NULL, value, sizeof(value));
if (retval == RIG_OK && strlen(value)==0)
if (retval == RIG_OK && strlen(value) == 0)
{
rig_debug(RIG_DEBUG_VERBOSE, "%s: does not have rig.get_bwB\n", __func__);
priv->has_get_bwB = 0;
@ -2515,8 +2527,8 @@ HAMLIB_EXPORT(int) flrig_cat_string(RIG *rig, const char *arg)
return retval;
}
HAMLIB_EXPORT(int) flrig_set_func(RIG *rig, vfo_t vfo, setting_t func,
int status)
int flrig_set_func(RIG *rig, vfo_t vfo, setting_t func,
int status)
{
int retval;
char cmd_arg[MAXARGLEN];

Wyświetl plik

@ -28,6 +28,6 @@
#define TRUE 1
#define FALSE 0
extern const struct rig_caps flrig_caps;
extern struct rig_caps flrig_caps;
#endif /* _FLRIG_H */

Wyświetl plik

@ -861,6 +861,7 @@ static int netrigctl_open(RIG *rig)
else if (strcmp(setting, "parm_gran") == 0)
{
char *p = strtok(value, ";");
for (i = 0; p != NULL && i < RIG_SETTING_MAX; ++i)
{
int level;
@ -882,6 +883,7 @@ static int netrigctl_open(RIG *rig)
rig->caps->parm_gran[i].max.i = rs->parm_gran[i].max.i = max;
rig->caps->parm_gran[i].step.i = rs->parm_gran[i].step.i = step;
}
p = strtok(NULL, ";");
}
}
@ -2577,7 +2579,7 @@ static int netrigctl_send_voice_mem(RIG *rig, vfo_t vfo, int ch)
static int netrigctl_send_morse(RIG *rig, vfo_t vfo, const char *msg)
{
int ret, len;
char *cmdp;
char *cmdp;
const char cmd[] = "\\send_morse ";
char buf[BUF_MAX];

Wyświetl plik

@ -199,8 +199,10 @@ static int quisk_cleanup(RIG *rig)
}
// these are in netrigctl.c
extern int parse_array_int(const char *s, const char *delim, int *array, int array_len);
extern int parse_array_double(const char *s, const char *delim, double *array, int array_len);
extern int parse_array_int(const char *s, const char *delim, int *array,
int array_len);
extern int parse_array_double(const char *s, const char *delim, double *array,
int array_len);
static int quisk_open(RIG *rig)
{
@ -554,6 +556,7 @@ static int quisk_open(RIG *rig)
{
RETURNFUNC((ret < 0) ? ret : -RIG_EPROTO);
}
HAMLIB_TRACE;
rig->caps->has_set_parm = rs->has_set_parm = strtoll(buf, NULL, 0);
@ -564,6 +567,7 @@ static int quisk_open(RIG *rig)
rs->mode_list |= rs->rx_range_list[i].modes;
rs->vfo_list |= rs->rx_range_list[i].vfo;
}
HAMLIB_TRACE;
for (i = 0; i < HAMLIB_FRQRANGESIZ
@ -572,6 +576,7 @@ static int quisk_open(RIG *rig)
rs->mode_list |= rs->tx_range_list[i].modes;
rs->vfo_list |= rs->tx_range_list[i].vfo;
}
HAMLIB_TRACE;
if (rs->vfo_list == 0)
@ -580,10 +585,12 @@ static int quisk_open(RIG *rig)
__func__);
rs->vfo_list = RIG_VFO_A | RIG_VFO_B;
}
HAMLIB_TRACE;
#endif
if (prot_ver == 0) { RETURNFUNC(RIG_OK); }
HAMLIB_TRACE;
// otherwise we continue reading protocol 1 fields
@ -805,6 +812,7 @@ static int quisk_open(RIG *rig)
else if (strcmp(setting, "parm_gran") == 0)
{
char *p = strtok(value, ";");
for (i = 0; p != NULL && i < RIG_SETTING_MAX; ++i)
{
int level;
@ -826,6 +834,7 @@ static int quisk_open(RIG *rig)
rig->caps->parm_gran[i].max.i = rs->parm_gran[i].max.i = max;
rig->caps->parm_gran[i].step.i = rs->parm_gran[i].step.i = step;
}
p = strtok(NULL, ";");
}
}
@ -961,7 +970,7 @@ static int quisk_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
static int quisk_set_mode(RIG *rig, vfo_t vfo, rmode_t mode,
pbwidth_t width)
pbwidth_t width)
{
int ret;
char cmd[CMD_MAX];
@ -991,7 +1000,7 @@ static int quisk_set_mode(RIG *rig, vfo_t vfo, rmode_t mode,
static int quisk_get_mode(RIG *rig, vfo_t vfo, rmode_t *mode,
pbwidth_t *width)
pbwidth_t *width)
{
int ret;
char cmd[CMD_MAX];
@ -1186,7 +1195,7 @@ static int quisk_get_dcd(RIG *rig, vfo_t vfo, dcd_t *dcd)
static int quisk_set_rptr_shift(RIG *rig, vfo_t vfo,
rptr_shift_t rptr_shift)
rptr_shift_t rptr_shift)
{
int ret;
char cmd[CMD_MAX];
@ -1215,7 +1224,7 @@ static int quisk_set_rptr_shift(RIG *rig, vfo_t vfo,
static int quisk_get_rptr_shift(RIG *rig, vfo_t vfo,
rptr_shift_t *rptr_shift)
rptr_shift_t *rptr_shift)
{
int ret;
char cmd[CMD_MAX];
@ -1581,7 +1590,7 @@ static int quisk_get_split_freq(RIG *rig, vfo_t vfo, freq_t *tx_freq)
}
static int quisk_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode,
pbwidth_t tx_width)
pbwidth_t tx_width)
{
int ret;
char cmd[CMD_MAX];
@ -1610,7 +1619,7 @@ static int quisk_set_split_mode(RIG *rig, vfo_t vfo, rmode_t tx_mode,
}
static int quisk_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode,
pbwidth_t *tx_width)
pbwidth_t *tx_width)
{
int ret;
char cmd[CMD_MAX];
@ -1650,7 +1659,7 @@ static int quisk_get_split_mode(RIG *rig, vfo_t vfo, rmode_t *tx_mode,
}
static int quisk_set_split_vfo(RIG *rig, vfo_t vfo, split_t split,
vfo_t tx_vfo)
vfo_t tx_vfo)
{
int ret;
char cmd[CMD_MAX];
@ -1680,7 +1689,7 @@ static int quisk_set_split_vfo(RIG *rig, vfo_t vfo, split_t split,
static int quisk_get_split_vfo(RIG *rig, vfo_t vfo, split_t *split,
vfo_t *tx_vfo)
vfo_t *tx_vfo)
{
int ret;
char cmd[CMD_MAX];
@ -1952,7 +1961,7 @@ static int quisk_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
static int quisk_set_level(RIG *rig, vfo_t vfo, setting_t level,
value_t val)
value_t val)
{
int ret;
char cmd[CMD_MAX];
@ -1993,7 +2002,7 @@ static int quisk_set_level(RIG *rig, vfo_t vfo, setting_t level,
static int quisk_get_level(RIG *rig, vfo_t vfo, setting_t level,
value_t *val)
value_t *val)
{
int ret;
char cmd[CMD_MAX];
@ -2208,7 +2217,7 @@ static int quisk_set_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t option)
static int quisk_get_ant(RIG *rig, vfo_t vfo, ant_t ant, value_t *option,
ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx)
ant_t *ant_curr, ant_t *ant_tx, ant_t *ant_rx)
{
int ret;
char cmd[CMD_MAX];
@ -2645,7 +2654,7 @@ static int quisk_get_trn(RIG *rig, int *trn)
#endif
static int quisk_mW2power(RIG *rig, float *power, unsigned int mwpower,
freq_t freq, rmode_t mode)
freq_t freq, rmode_t mode)
{
char cmdbuf[32];
char buf[BUF_MAX];
@ -2669,7 +2678,7 @@ static int quisk_mW2power(RIG *rig, float *power, unsigned int mwpower,
static int quisk_power2mW(RIG *rig, unsigned int *mwpower, float power,
freq_t freq, rmode_t mode)
freq_t freq, rmode_t mode)
{
char cmdbuf[64];
char buf[BUF_MAX];

Wyświetl plik

@ -354,7 +354,7 @@ static void dummy_rot_simulate_rotation(ROT *rot)
static int dummy_rot_get_position(ROT *rot, azimuth_t *az, elevation_t *el)
{
const struct dummy_rot_priv_data *priv = (struct dummy_rot_priv_data *)
rot->state.priv;
rot->state.priv;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
@ -416,7 +416,7 @@ static int dummy_rot_reset(ROT *rot, rot_reset_t reset)
static int dummy_rot_move(ROT *rot, int direction, int speed)
{
const struct dummy_rot_priv_data *priv = (struct dummy_rot_priv_data *)
rot->state.priv;
rot->state.priv;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
rig_debug(RIG_DEBUG_TRACE, "%s: Direction = %d, Speed = %d\n", __func__,
@ -474,7 +474,7 @@ static int dummy_set_func(ROT *rot, setting_t func, int status)
static int dummy_get_func(ROT *rot, setting_t func, int *status)
{
const struct dummy_rot_priv_data *priv = (struct dummy_rot_priv_data *)
rot->state.priv;
rot->state.priv;
*status = (priv->funcs & func) ? 1 : 0;
@ -904,7 +904,7 @@ static int dummy_get_ext_parm(ROT *rot, token_t token, value_t *val)
static int dummy_rot_get_status(ROT *rot, rot_status_t *status)
{
const struct dummy_rot_priv_data *priv = (struct dummy_rot_priv_data *)
rot->state.priv;
rot->state.priv;
if (simulating)
{

Wyświetl plik

@ -245,7 +245,7 @@ static int sdrsharp_transaction(RIG *rig, char *cmd, char *value,
if (value)
{
read_transaction(rig, xml, sizeof(xml)); // this might time out -- that's OK
strncpy(value, xml, value_len);
strncpy(value, xml, value_len);
}
}
@ -486,10 +486,12 @@ static int sdrsharp_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
}
#if 0
if (vfo == RIG_VFO_CURR)
{
vfo = rig->state.current_vfo;
}
#endif
SNPRINTF(cmd, sizeof(cmd), "F %.0lf\n", freq);
@ -519,7 +521,7 @@ static int sdrsharp_get_vfo(RIG *rig, vfo_t *vfo)
RETURNFUNC(RIG_OK);
}
const struct rig_caps sdrsharp_caps =
struct rig_caps sdrsharp_caps =
{
RIG_MODEL(RIG_MODEL_SDRSHARP),
.model_name = "SDR#/gpredict",

Wyświetl plik

@ -132,7 +132,7 @@ static const struct confparams tci1x_ext_parms[] =
{ RIG_CONF_END, NULL, }
};
const struct rig_caps tci1x_caps =
struct rig_caps tci1x_caps =
{
RIG_MODEL(RIG_MODEL_TCI1X),
.model_name = "TCI1.X",

Wyświetl plik

@ -477,7 +477,7 @@ static int trxmanager_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
char response[MAXCMDLEN] = "";
struct rig_state *rs = &rig->state;
const struct trxmanager_priv_data *priv = (struct trxmanager_priv_data *)
rig->state.priv;
rig->state.priv;
rig_debug(RIG_DEBUG_TRACE, "%s: vfo=%s freq=%.1f\n", __func__,
@ -1215,7 +1215,7 @@ static int trxmanager_get_split_freq_mode(RIG *rig, vfo_t vfo, freq_t *freq,
static const char *trxmanager_get_info(RIG *rig)
{
const struct trxmanager_priv_data *priv = (struct trxmanager_priv_data *)
rig->state.priv;
rig->state.priv;
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
return priv->info;

Wyświetl plik

@ -915,6 +915,7 @@ int elad_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
retval = elad_get_split_vfo_if(rig, vfo, &tsplit, &tvfo);
if (retval != RIG_OK)
{
return retval;
@ -983,10 +984,12 @@ int elad_set_split_vfo(RIG *rig, vfo_t vfo, split_t split, vfo_t txvfo)
}
retval = elad_set_split(rig, vfo, split, txvfo);
if (retval != RIG_OK)
{
return retval;
}
/* Remember whether split is on, for elad_set_vfo */
priv->split = split;
@ -2468,7 +2471,7 @@ int elad_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
*/
int elad_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
{
const struct rig_caps *caps;
struct rig_caps *caps;
char tonebuf[16];
int i;
@ -2498,7 +2501,7 @@ int elad_set_ctcss_tone(RIG *rig, vfo_t vfo, tone_t tone)
int elad_set_ctcss_tone_tn(RIG *rig, vfo_t vfo, tone_t tone)
{
const struct rig_caps *caps = rig->caps;
struct rig_caps *caps = rig->caps;
char buf[16];
int i;
@ -2560,7 +2563,7 @@ int elad_set_ctcss_tone_tn(RIG *rig, vfo_t vfo, tone_t tone)
int elad_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
{
const struct elad_priv_data *priv = rig->state.priv;
const struct rig_caps *caps;
struct rig_caps *caps;
char tonebuf[3];
int i, retval;
unsigned int tone_idx;
@ -2637,7 +2640,7 @@ int elad_get_ctcss_tone(RIG *rig, vfo_t vfo, tone_t *tone)
int elad_set_ctcss_sql(RIG *rig, vfo_t vfo, tone_t tone)
{
const struct rig_caps *caps = rig->caps;
struct rig_caps *caps = rig->caps;
char buf[16];
int i;
@ -2693,7 +2696,7 @@ int elad_set_ctcss_sql(RIG *rig, vfo_t vfo, tone_t tone)
int elad_get_ctcss_sql(RIG *rig, vfo_t vfo, tone_t *tone)
{
const struct rig_caps *caps;
struct rig_caps *caps;
char cmd[4];
char tonebuf[6];
int offs;

Wyświetl plik

@ -164,7 +164,7 @@ int elad_get_trn(RIG *rig, int *trn);
int get_elad_level(RIG *rig, const char *cmd, float *f);
int get_elad_func(RIG *rig, const char *cmd, int *status);
extern const struct rig_caps fdm_duo_caps;
extern struct rig_caps fdm_duo_caps;
#if 0
/* use when not interested in the answer, but want to check its len */

Wyświetl plik

@ -328,7 +328,7 @@ static struct elad_priv_caps fdm_duo_priv_caps =
* Notice that some rigs share the same functions.
* Also this struct is READONLY!
*/
const struct rig_caps fdm_duo_caps =
struct rig_caps fdm_duo_caps =
{
RIG_MODEL(RIG_MODEL_ELAD_FDM_DUO),
.model_name = "FDM-DUO",

Wyświetl plik

@ -155,7 +155,7 @@ static const struct hamlib_vs_dttsp
{ 50, 40 }, /* +40 */ \
} }
const struct rig_caps dttsp_rig_caps =
struct rig_caps dttsp_rig_caps =
{
RIG_MODEL(RIG_MODEL_DTTSP),
.model_name = "DttSP IPC",
@ -241,7 +241,7 @@ const struct rig_caps dttsp_rig_caps =
/*
* The same as the previous IPC, but of type RIG_PORT_UDP_NETWORK
*/
const struct rig_caps dttsp_udp_rig_caps =
struct rig_caps dttsp_udp_rig_caps =
{
RIG_MODEL(RIG_MODEL_DTTSP_UDP),
.model_name = "DttSP UDP",

Wyświetl plik

@ -24,9 +24,9 @@
#include "hamlib/rig.h"
extern const struct rig_caps sdr1k_rig_caps;
extern const struct rig_caps sdr1krfe_rig_caps;
extern const struct rig_caps dttsp_rig_caps;
extern const struct rig_caps dttsp_udp_rig_caps;
extern struct rig_caps sdr1k_rig_caps;
extern struct rig_caps sdr1krfe_rig_caps;
extern struct rig_caps dttsp_rig_caps;
extern struct rig_caps dttsp_udp_rig_caps;
#endif /* _FLEXRADIO_H */

Wyświetl plik

@ -110,7 +110,7 @@ struct sdr1k_priv_data
* What about IOUD_Clock?
*/
const struct rig_caps sdr1k_rig_caps =
struct rig_caps sdr1k_rig_caps =
{
RIG_MODEL(RIG_MODEL_SDR1000),
.model_name = "SDR-1000",

Wyświetl plik

@ -83,7 +83,8 @@ static int gomx_set(RIG *rig, int table, char *varname, char *varvalue);
/**
* Get variable from the GS100 configuration table
*/
static int gomx_get(RIG *rig, int table, char *varname, const char *varvalue, int varvalue_len);
static int gomx_get(RIG *rig, int table, char *varname, const char *varvalue,
int varvalue_len);
/**
* Sends a message to the GS100 and parses response lines
@ -217,8 +218,9 @@ static int gs100_get_conf(RIG *rig, token_t token, char *val)
static int gs100_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
#ifdef _LOCAL_SIMULATION_
__attribute__((unused)) const struct gs100_priv_data *priv = (struct gs100_priv_data
*)rig->state.priv;
__attribute__((unused)) const struct gs100_priv_data *priv =
(struct gs100_priv_data
*)rig->state.priv;
#endif
char fstr[20], value[20];
int retval;
@ -251,8 +253,9 @@ static int gs100_set_freq(RIG *rig, vfo_t vfo, freq_t freq)
static int gs100_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
#ifdef _LOCAL_SIMULATION_
__attribute__((unused)) const struct gs100_priv_data *priv = (struct gs100_priv_data
*)rig->state.priv;
__attribute__((unused)) const struct gs100_priv_data *priv =
(struct gs100_priv_data
*)rig->state.priv;
#endif
char resp[20];
int retval;
@ -287,8 +290,9 @@ static int gs100_get_freq(RIG *rig, vfo_t vfo, freq_t *freq)
static int gs100_set_tx_freq(RIG *rig, vfo_t vfo, freq_t freq)
{
#ifdef _LOCAL_SIMULATION_
__attribute__((unused)) const struct gs100_priv_data *priv = (struct gs100_priv_data
*)rig->state.priv;
__attribute__((unused)) const struct gs100_priv_data *priv =
(struct gs100_priv_data
*)rig->state.priv;
#endif
char fstr[20], value[20];
int retval;
@ -321,8 +325,9 @@ static int gs100_set_tx_freq(RIG *rig, vfo_t vfo, freq_t freq)
static int gs100_get_tx_freq(RIG *rig, vfo_t vfo, freq_t *freq)
{
#ifdef _LOCAL_SIMULATION_
__attribute__((unused)) const struct gs100_priv_data *priv = (struct gs100_priv_data
*)rig->state.priv;
__attribute__((unused)) const struct gs100_priv_data *priv =
(struct gs100_priv_data
*)rig->state.priv;
#endif
char resp[20];
int retval;
@ -470,7 +475,8 @@ static int gomx_set(RIG *rig, int table, char *varname, char *varvalue)
/* Get variable from the GS100 configuration table */
static int gomx_get(RIG *rig, int table, char *varname, const char *varvalue, int varvalue_len)
static int gomx_get(RIG *rig, int table, char *varname, const char *varvalue,
int varvalue_len)
{
__attribute__((unused)) struct gs100_priv_data *priv = (struct gs100_priv_data
*)rig->state.priv;
@ -504,6 +510,7 @@ static int gomx_get(RIG *rig, int table, char *varname, const char *varvalue, in
if ((c = strchr(resp, '=')) == NULL) { return (-RIG_EPROTO); }
snprintf(fmt, sizeof(fmt), "%%%ds", varvalue_len);
if (sscanf(c + 1, fmt, varvalue_len) != 1) { return (-RIG_EPROTO); }
return (RIG_OK);

Wyświetl plik

@ -47,8 +47,8 @@
/* RIG capabilities descriptions */
extern struct rig_caps gs100_caps;
extern struct rig_caps netrigctl_caps;
extern const struct rig_caps flrig_caps;
extern const struct rig_caps trxmanager_caps;
extern struct rig_caps flrig_caps;
extern struct rig_caps trxmanager_caps;
/*----------------------------------------------------------------------------*/

Wyświetl plik

@ -49,7 +49,7 @@ static const struct icmarine_priv_caps icm700pro_priv_caps =
.default_remote_id = 2,
};
const struct rig_caps icm700pro_caps =
struct rig_caps icm700pro_caps =
{
RIG_MODEL(RIG_MODEL_IC_M700PRO),
.model_name = "IC-M700PRO",

Wyświetl plik

@ -57,7 +57,7 @@ static const struct icm710_priv_caps icm710_priv_caps =
};
const struct rig_caps icm710_caps =
struct rig_caps icm710_caps =
{
RIG_MODEL(RIG_MODEL_IC_M710),
.model_name = "IC-M710",
@ -251,7 +251,7 @@ int icm710_init(RIG *rig)
{
struct icm710_priv_data *priv;
const struct icm710_priv_caps *priv_caps;
const struct rig_caps *caps;
struct rig_caps *caps;
if (!rig || !rig->caps)
{

Wyświetl plik

@ -75,8 +75,8 @@ int icm710_set_conf(RIG *rig, token_t token, const char *val);
int icm710_get_conf(RIG *rig, token_t token, char *val);
int icm710_get_conf2(RIG *rig, token_t token, char *val, int val_len);
extern const struct rig_caps icm700pro_caps;
extern const struct rig_caps icm710_caps;
extern const struct rig_caps icm802_caps;
extern struct rig_caps icm700pro_caps;
extern struct rig_caps icm710_caps;
extern struct rig_caps icm802_caps;
#endif /* _ICM710_H */

Wyświetl plik

@ -50,7 +50,7 @@ static const struct icmarine_priv_caps icm802_priv_caps =
};
const struct rig_caps icm802_caps =
struct rig_caps icm802_caps =
{
RIG_MODEL(RIG_MODEL_IC_M802),
.model_name = "IC-M802",

Wyświetl plik

@ -50,7 +50,7 @@ static const struct icmarine_priv_caps icm803_priv_caps =
};
const struct rig_caps icm803_caps =
struct rig_caps icm803_caps =
{
RIG_MODEL(RIG_MODEL_IC_M803),
.model_name = "IC-M803",

Wyświetl plik

@ -113,7 +113,7 @@ int icmarine_init(RIG *rig)
{
struct icmarine_priv_data *priv;
const struct icmarine_priv_caps *priv_caps;
const struct rig_caps *caps;
struct rig_caps *caps;
if (!rig || !rig->caps)
{

Wyświetl plik

@ -65,9 +65,9 @@ int icmarine_set_conf(RIG *rig, token_t token, const char *val);
int icmarine_get_conf(RIG *rig, token_t token, char *val);
int icmarine_get_conf2(RIG *rig, token_t token, char *val, int val_len);
extern const struct rig_caps icm700pro_caps;
extern const struct rig_caps icm710_caps;
extern const struct rig_caps icm802_caps;
extern const struct rig_caps icm803_caps;
extern struct rig_caps icm700pro_caps;
extern struct rig_caps icm710_caps;
extern struct rig_caps icm802_caps;
extern struct rig_caps icm803_caps;
#endif /* _ICMARINE_H */

Wyświetl plik

@ -52,7 +52,7 @@ static const struct icom_priv_caps delta2_priv_caps =
ic737_ts_sc_list /* TODO: ts_sc_list */
};
const struct rig_caps delta2_caps =
struct rig_caps delta2_caps =
{
RIG_MODEL(RIG_MODEL_DELTAII),
.model_name = "Delta II",

Wyświetl plik

@ -261,7 +261,7 @@ collision_retry:
// first 2 bytes of everyting are 0xfe so we won't test those
// this allows some corruptin of the 0xfe bytes which has been seen in the wild
if (memcmp(&buf[2], &sendbuf[2], frm_len-2) != 0)
if (memcmp(&buf[2], &sendbuf[2], frm_len - 2) != 0)
{
/* Frames are different? */
/* Problem on ci-v bus? */
@ -290,8 +290,11 @@ read_another_frame:
*/
buf[0] = 0;
frm_len = read_icom_frame(&rs->rigport, buf, sizeof(buf));
if (frm_len > 4 && memcmp(buf, sendbuf, frm_len) == 0)
{
priv->serial_USB_echo_off = 0;
}
#if 0
@ -587,7 +590,8 @@ int rig2icom_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width,
unsigned char icmode;
signed char icmode_ext;
pbwidth_t width_tmp = width;
const struct icom_priv_data *priv_data = (struct icom_priv_data *) rig->state.priv;
const struct icom_priv_data *priv_data = (struct icom_priv_data *)
rig->state.priv;
ENTERFUNC;
rig_debug(RIG_DEBUG_TRACE, "%s: mode=%d, width=%d\n", __func__, (int)mode,

Wyświetl plik

@ -40,7 +40,7 @@ static const struct icom_priv_caps ic1275_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic1275_caps =
struct rig_caps ic1275_caps =
{
RIG_MODEL(RIG_MODEL_IC1275),
.model_name = "IC-1275",

Wyświetl plik

@ -49,7 +49,7 @@ static const struct icom_priv_caps ic271_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic271_caps =
struct rig_caps ic271_caps =
{
RIG_MODEL(RIG_MODEL_IC271),
.model_name = "IC-271",

Wyświetl plik

@ -59,7 +59,7 @@ static const struct icom_priv_caps ic2730_priv_caps =
1, /* no XCHG */
};
const struct rig_caps ic2730_caps =
struct rig_caps ic2730_caps =
{
RIG_MODEL(RIG_MODEL_IC2730),
.model_name = "IC-2730",

Wyświetl plik

@ -52,7 +52,7 @@ static const struct icom_priv_caps ic375_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic275_caps =
struct rig_caps ic275_caps =
{
RIG_MODEL(RIG_MODEL_IC275),
.model_name = "IC-275",
@ -151,7 +151,7 @@ const struct rig_caps ic275_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
const struct rig_caps ic375_caps =
struct rig_caps ic375_caps =
{
RIG_MODEL(RIG_MODEL_IC375),
.model_name = "IC-375",

Wyświetl plik

@ -48,7 +48,7 @@ static const struct icom_priv_caps ic471_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic471_caps =
struct rig_caps ic471_caps =
{
RIG_MODEL(RIG_MODEL_IC471),
.model_name = "IC-471",

Wyświetl plik

@ -44,7 +44,7 @@ static const struct icom_priv_caps ic475_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic475_caps =
struct rig_caps ic475_caps =
{
RIG_MODEL(RIG_MODEL_IC475),
.model_name = "IC-475",
@ -150,7 +150,7 @@ static const struct icom_priv_caps ic575_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic575_caps =
struct rig_caps ic575_caps =
{
RIG_MODEL(RIG_MODEL_IC575),
.model_name = "IC-575",

Wyświetl plik

@ -190,7 +190,7 @@ static const struct icom_priv_caps IC7000_priv_caps =
.r2i_mode = ic7000_r2i_mode
};
const struct rig_caps ic7000_caps =
struct rig_caps ic7000_caps =
{
RIG_MODEL(RIG_MODEL_IC7000),
.model_name = "IC-7000",
@ -221,8 +221,6 @@ const struct rig_caps ic7000_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
[LVL_VOXDELAY] = { .min = { .i = 0 }, .max = { .i = 20 }, .step = { .i = 1 } },
[LVL_KEYSPD] = { .min = { .i = 6 }, .max = { .i = 48 }, .step = { .i = 1 } },
[LVL_CWPITCH] = { .min = { .i = 300 }, .max = { .i = 900 }, .step = { .i = 1 } },
},

Wyświetl plik

@ -81,7 +81,7 @@ static const struct icom_priv_caps ic703_priv_caps =
ic706_ts_sc_list
};
const struct rig_caps ic703_caps =
struct rig_caps ic703_caps =
{
RIG_MODEL(RIG_MODEL_IC703),
.model_name = "IC-703",
@ -112,7 +112,6 @@ const struct rig_caps ic703_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
},
.parm_gran = {},
.ctcss_list = common_ctcss_list,

Wyświetl plik

@ -144,7 +144,7 @@ static const struct icom_priv_caps ic706_priv_caps =
.r2i_mode = ic706_r2i_mode
};
const struct rig_caps ic706_caps =
struct rig_caps ic706_caps =
{
RIG_MODEL(RIG_MODEL_IC706),
.model_name = "IC-706",
@ -292,7 +292,7 @@ static const struct icom_priv_caps ic706mkii_priv_caps =
.r2i_mode = ic706_r2i_mode
};
const struct rig_caps ic706mkii_caps =
struct rig_caps ic706mkii_caps =
{
RIG_MODEL(RIG_MODEL_IC706MKII),
.model_name = "IC-706MkII",
@ -463,7 +463,7 @@ static const struct icom_priv_caps ic706mkiig_priv_caps =
.r2i_mode = ic706_r2i_mode
};
const struct rig_caps ic706mkiig_caps =
struct rig_caps ic706mkiig_caps =
{
RIG_MODEL(RIG_MODEL_IC706MKIIG),
.model_name = "IC-706MkIIG",

Wyświetl plik

@ -54,7 +54,7 @@ static const struct icom_priv_caps ic707_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic707_caps =
struct rig_caps ic707_caps =
{
RIG_MODEL(RIG_MODEL_IC707),
.model_name = "IC-707",

Wyświetl plik

@ -288,10 +288,12 @@ int ic7100_get_clock(RIG *rig, int *year, int *month, int *day, int *hour,
prmbuf[0] = 0x01;
prmbuf[1] = 0x21;
retval = icom_transaction(rig, cmd, subcmd, prmbuf, 2, respbuf, &resplen);
if (retval != RIG_OK)
{
return retval;
}
*hour = from_bcd(&respbuf[4], 2);
*min = from_bcd(&respbuf[5], 2);
*sec = 0;
@ -300,10 +302,12 @@ int ic7100_get_clock(RIG *rig, int *year, int *month, int *day, int *hour,
prmbuf[0] = 0x01;
prmbuf[1] = 0x23;
retval = icom_transaction(rig, cmd, subcmd, prmbuf, 2, respbuf, &resplen);
if (retval != RIG_OK)
{
return retval;
}
*utc_offset = from_bcd(&respbuf[4], 2) * 100;
*utc_offset += from_bcd(&respbuf[5], 2);
@ -318,7 +322,7 @@ int ic7100_get_clock(RIG *rig, int *year, int *month, int *day, int *hour,
return retval;
}
const struct rig_caps ic7100_caps =
struct rig_caps ic7100_caps =
{
RIG_MODEL(RIG_MODEL_IC7100),
.model_name = "IC-7100",
@ -349,8 +353,6 @@ const struct rig_caps ic7100_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
[LVL_VOXDELAY] = { .min = { .i = 0 }, .max = { .i = 20 }, .step = { .i = 1 } },
[LVL_KEYSPD] = { .min = { .i = 6 }, .max = { .i = 48 }, .step = { .i = 1 } },
[LVL_CWPITCH] = { .min = { .i = 300 }, .max = { .i = 900 }, .step = { .i = 1 } },
},

Wyświetl plik

@ -72,7 +72,7 @@ static const struct icom_priv_caps IC718_priv_caps =
ic718_ts_sc_list
};
const struct rig_caps ic718_caps =
struct rig_caps ic718_caps =
{
RIG_MODEL(RIG_MODEL_IC718),
.model_name = "IC-718",
@ -103,7 +103,6 @@ const struct rig_caps ic718_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
},
.parm_gran = {},
.str_cal = IC718_STR_CAL,

Wyświetl plik

@ -125,7 +125,7 @@ static const struct icom_priv_caps IC7200_priv_caps =
.data_mode_supported = 1
};
const struct rig_caps ic7200_caps =
struct rig_caps ic7200_caps =
{
RIG_MODEL(RIG_MODEL_IC7200),
.model_name = "IC-7200",
@ -156,8 +156,6 @@ const struct rig_caps ic7200_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
[LVL_VOXDELAY] = { .min = { .i = 0 }, .max = { .i = 20 }, .step = { .i = 1 } },
[LVL_KEYSPD] = { .min = { .i = 6 }, .max = { .i = 48 }, .step = { .i = 1 } },
[LVL_CWPITCH] = { .min = { .i = 300 }, .max = { .i = 900 }, .step = { .i = 1 } },
},

Wyświetl plik

@ -52,7 +52,7 @@ static const struct icom_priv_caps ic725_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic725_caps =
struct rig_caps ic725_caps =
{
RIG_MODEL(RIG_MODEL_IC725),
.model_name = "IC-725",

Wyświetl plik

@ -54,7 +54,7 @@ static const struct icom_priv_caps ic726_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic726_caps =
struct rig_caps ic726_caps =
{
RIG_MODEL(RIG_MODEL_IC726),
.model_name = "IC-726",

Wyświetl plik

@ -54,7 +54,7 @@ static const struct icom_priv_caps ic728_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic728_caps =
struct rig_caps ic728_caps =
{
RIG_MODEL(RIG_MODEL_IC728),
.model_name = "IC-728",
@ -173,7 +173,7 @@ static const struct icom_priv_caps ic729_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic729_caps =
struct rig_caps ic729_caps =
{
RIG_MODEL(RIG_MODEL_IC729),
.model_name = "IC-729",

Wyświetl plik

@ -715,7 +715,7 @@ static const struct icom_priv_caps IC905_priv_caps =
.data_mode_supported = 1
};
const struct rig_caps ic7300_caps =
struct rig_caps ic7300_caps =
{
RIG_MODEL(RIG_MODEL_IC7300),
.model_name = "IC-7300",
@ -745,8 +745,6 @@ const struct rig_caps ic7300_caps =
.has_set_parm = RIG_PARM_SET(IC7300_PARMS),
.level_gran = {
#include "level_gran_icom.h"
[LVL_RAWSTR] = {.min = {.i = 0}, .max = {.i = 255}},
[LVL_VOXDELAY] = {.min = {.i = 0}, .max = {.i = 20}, .step = {.i = 1}},
[LVL_KEYSPD] = {.min = {.i = 6}, .max = {.i = 48}, .step = {.i = 1}},
[LVL_CWPITCH] = {.min = {.i = 300}, .max = {.i = 900}, .step = {.i = 1}},
[LVL_SPECTRUM_SPEED] = {.min = {.i = 0}, .max = {.i = 2}, .step = {.i = 1}},
@ -784,6 +782,8 @@ const struct rig_caps ic7300_caps =
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM },
{ 1, 8, RIG_MTYPE_VOICE },
{ 1, 8, RIG_MTYPE_MORSE },
RIG_CHAN_END,
},
@ -966,7 +966,7 @@ struct rig_caps ic9700_caps =
RIG_MODEL(RIG_MODEL_IC9700),
.model_name = "IC-9700",
.mfg_name = "Icom",
.version = BACKEND_VER ".18",
.version = BACKEND_VER ".19",
.copyright = "LGPL",
.status = RIG_STATUS_STABLE,
.rig_type = RIG_TYPE_TRANSCEIVER,
@ -991,8 +991,6 @@ struct rig_caps ic9700_caps =
.has_set_parm = RIG_PARM_SET(IC9700_PARMS),
.level_gran = {
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
[LVL_VOXDELAY] = { .min = { .i = 0 }, .max = { .i = 20 }, .step = { .i = 1 } },
[LVL_KEYSPD] = {.min = {.i = 6}, .max = {.i = 48}, .step = {.i = 1}},
[LVL_CWPITCH] = {.min = {.i = 300}, .max = {.i = 900}, .step = {.i = 1}},
[LVL_SPECTRUM_SPEED] = {.min = {.i = 0}, .max = {.i = 2}, .step = {.i = 1}},
@ -1006,7 +1004,7 @@ struct rig_caps ic9700_caps =
[PARM_BEEP] = {.min = {.i = 0}, .max = {.i = 1}},
[PARM_SCREENSAVER] = {.min = {.i = 0}, .max = {.i = 3}, .step = {.i = 1}},
[PARM_KEYERTYPE] = {.step = {.s = "STRAIGHT,BUG,PADDLE"}},
},
},
.ext_tokens = ic9700_ext_tokens,
.extlevels = icom_ext_levels,
.ctcss_list = full_ctcss_list,
@ -1027,6 +1025,8 @@ struct rig_caps ic9700_caps =
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM },
{ 1, 8, RIG_MTYPE_VOICE },
{ 1, 8, RIG_MTYPE_MORSE },
RIG_CHAN_END,
},
@ -1285,7 +1285,7 @@ struct rig_caps ic9700_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
const struct rig_caps ic705_caps =
struct rig_caps ic705_caps =
{
RIG_MODEL(RIG_MODEL_IC705),
.model_name = "IC-705",
@ -1315,8 +1315,6 @@ const struct rig_caps ic705_caps =
.has_set_parm = RIG_PARM_SET(IC7300_PARMS),
.level_gran = {
#include "level_gran_icom.h"
[LVL_RAWSTR] = {.min = {.i = 0}, .max = {.i = 255}},
[LVL_VOXDELAY] = {.min = {.i = 0}, .max = {.i = 20}, .step = {.i = 1}},
[LVL_KEYSPD] = {.min = {.i = 6}, .max = {.i = 48}, .step = {.i = 1}},
[LVL_CWPITCH] = {.min = {.i = 300}, .max = {.i = 900}, .step = {.i = 1}},
[LVL_SPECTRUM_SPEED] = {.min = {.i = 0}, .max = {.i = 2}, .step = {.i = 1}},
@ -1329,7 +1327,7 @@ const struct rig_caps ic705_caps =
[PARM_BANDSELECT] = {.step = {.s = "BANDUNUSED,BAND160M,BAND80M,BAND40M,BAND30M,BAND20M,BAND17M,BAND15M,BAND12M,BAND10M,BAND6M,BANDWFM,BANDAIR,BAND70CM,BAND33CM,BANDGEN"}},
[PARM_BEEP] = {.min = {.i = 0}, .max = {.i = 1}},
[PARM_SCREENSAVER] = {.min = {.i = 0}, .max = {.i = 3}, .step = {.i = 1}},
},
},
.ext_tokens = ic705_ext_tokens,
.extlevels = icom_ext_levels,
.ctcss_list = full_ctcss_list,
@ -1350,6 +1348,8 @@ const struct rig_caps ic705_caps =
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM },
{ 1, 8, RIG_MTYPE_VOICE },
{ 1, 8, RIG_MTYPE_MORSE },
RIG_CHAN_END,
},
@ -1558,7 +1558,7 @@ const struct rig_caps ic705_caps =
.hamlib_check_rig_caps = HAMLIB_CHECK_RIG_CAPS
};
const struct rig_caps ic905_caps =
struct rig_caps ic905_caps =
{
RIG_MODEL(RIG_MODEL_IC905),
.model_name = "IC-905",
@ -1588,8 +1588,6 @@ const struct rig_caps ic905_caps =
.has_set_parm = RIG_PARM_SET(IC7300_PARMS),
.level_gran = {
#include "level_gran_icom.h"
[LVL_RAWSTR] = {.min = {.i = 0}, .max = {.i = 255}},
[LVL_VOXDELAY] = {.min = {.i = 0}, .max = {.i = 20}, .step = {.i = 1}},
[LVL_KEYSPD] = {.min = {.i = 6}, .max = {.i = 48}, .step = {.i = 1}},
[LVL_CWPITCH] = {.min = {.i = 300}, .max = {.i = 900}, .step = {.i = 1}},
[LVL_SPECTRUM_SPEED] = {.min = {.i = 0}, .max = {.i = 2}, .step = {.i = 1}},
@ -1603,7 +1601,7 @@ const struct rig_caps ic905_caps =
[PARM_BEEP] = {.min = {.i = 0}, .max = {.i = 1}},
[PARM_SCREENSAVER] = {.min = {.i = 0}, .max = {.i = 3}, .step = {.i = 1}},
[PARM_KEYERTYPE] = {.step = {.s = "STRAIGHT,BUG,PADDLE"}},
},
},
.ext_tokens = ic705_ext_tokens,
.extlevels = icom_ext_levels,
.ctcss_list = full_ctcss_list,
@ -1624,6 +1622,8 @@ const struct rig_caps ic905_caps =
.chan_list = {
{ 1, 99, RIG_MTYPE_MEM },
{ 1, 8, RIG_MTYPE_VOICE },
{ 1, 8, RIG_MTYPE_MORSE },
RIG_CHAN_END,
},
@ -1924,6 +1924,7 @@ int ic7300_get_parm(RIG *rig, setting_t parm, value_t *val)
switch (parm)
{
#if 0
case RIG_PARM_ANN:
return -RIG_ENIMPL; // How can we implement this?
#endif
@ -1956,6 +1957,7 @@ int ic7300_get_parm(RIG *rig, setting_t parm, value_t *val)
{
#if 0
case RIG_PARM_ANN:
rig_debug(RIG_DEBUG_WARN, "%s: not implemented\n", __func__);
return -RIG_ENIMPL;
@ -2050,10 +2052,12 @@ int ic7300_get_clock(RIG *rig, int *year, int *month, int *day, int *hour,
prmbuf[0] = 0x00;
prmbuf[1] = 0x95;
retval = icom_transaction(rig, cmd, subcmd, prmbuf, 2, respbuf, &resplen);
if (retval != RIG_OK)
{
return retval;
}
*hour = from_bcd(&respbuf[4], 2);
*min = from_bcd(&respbuf[5], 2);
*sec = 0;
@ -2062,10 +2066,12 @@ int ic7300_get_clock(RIG *rig, int *year, int *month, int *day, int *hour,
prmbuf[0] = 0x00;
prmbuf[1] = 0x96;
retval = icom_transaction(rig, cmd, subcmd, prmbuf, 2, respbuf, &resplen);
if (retval != RIG_OK)
{
return retval;
}
*utc_offset = from_bcd(&respbuf[4], 2) * 100;
*utc_offset += from_bcd(&respbuf[5], 2);
@ -2158,10 +2164,12 @@ int ic9700_get_clock(RIG *rig, int *year, int *month, int *day, int *hour,
prmbuf[0] = 0x01;
prmbuf[1] = 0x80;
retval = icom_transaction(rig, cmd, subcmd, prmbuf, 2, respbuf, &resplen);
if (retval != RIG_OK)
{
return retval;
}
*hour = from_bcd(&respbuf[4], 2);
*min = from_bcd(&respbuf[5], 2);
*sec = 0;
@ -2170,10 +2178,12 @@ int ic9700_get_clock(RIG *rig, int *year, int *month, int *day, int *hour,
prmbuf[0] = 0x01;
prmbuf[1] = 0x84;
retval = icom_transaction(rig, cmd, subcmd, prmbuf, 2, respbuf, &resplen);
if (retval != RIG_OK)
{
return retval;
}
*utc_offset = from_bcd(&respbuf[4], 2) * 100;
*utc_offset += from_bcd(&respbuf[5], 2);
@ -2193,11 +2203,30 @@ int ic9700_set_vfo(RIG *rig, vfo_t vfo)
unsigned char ackbuf[MAXFRAMELEN];
int ack_len = sizeof(ackbuf);
int retval;
int vfo_is_main_or_sub = (vfo == RIG_VFO_MAIN) || (vfo == RIG_VFO_SUB);
ENTERFUNC;
rig_debug(RIG_DEBUG_VERBOSE, "%s: vfo=%s\n", __func__, rig_strvfo(vfo));
if (rig->state.cache.satmode && !vfo_is_main_or_sub)
{
// Translate VFO A/B to Main/Sub in satellite mode
if (vfo == RIG_VFO_A)
{
vfo = RIG_VFO_MAIN;
}
else if (vfo == RIG_VFO_B)
{
vfo = RIG_VFO_SUB;
}
else
{
rig_debug(RIG_DEBUG_ERR, "%s: Invalid VFO %s in satellite mode\n", __func__, rig_strvfo(vfo));
return -RIG_EINVAL;
}
}
if (vfo == RIG_VFO_A)
{
retval = icom_transaction(rig, C_SET_VFO, S_VFOA, NULL, 0, ackbuf, &ack_len);
@ -2206,7 +2235,8 @@ int ic9700_set_vfo(RIG *rig, vfo_t vfo)
{
if (rig->state.cache.satmode)
{
rig_debug(RIG_DEBUG_WARN, "%s: cannot switch to VFOB when in satmode\n", __func__);
rig_debug(RIG_DEBUG_WARN, "%s: cannot switch to VFOB when in satmode\n",
__func__);
// we return RIG_OK anyways as this should just be a bad request
return RIG_OK;
}
@ -2260,6 +2290,10 @@ int ic9700_set_vfo(RIG *rig, vfo_t vfo)
retval = icom_transaction(rig, C_SET_VFO, subcmd, NULL, 0, ackbuf, &ack_len);
}
}
else if (vfo == RIG_VFO_MEM)
{
return icom_set_vfo(rig, vfo);
}
else
{
// Unsupported VFO

Wyświetl plik

@ -51,7 +51,7 @@ static const struct icom_priv_caps ic735_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic735_caps =
struct rig_caps ic735_caps =
{
RIG_MODEL(RIG_MODEL_IC735),
.model_name = "IC-735",

Wyświetl plik

@ -58,7 +58,7 @@ static const struct icom_priv_caps ic736_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic736_caps =
struct rig_caps ic736_caps =
{
RIG_MODEL(RIG_MODEL_IC736),
.model_name = "IC-736",

Wyświetl plik

@ -56,7 +56,7 @@ static const struct icom_priv_caps ic737_priv_caps =
.ant_count = 2
};
const struct rig_caps ic737_caps =
struct rig_caps ic737_caps =
{
RIG_MODEL(RIG_MODEL_IC737),
.model_name = "IC-737",

Wyświetl plik

@ -58,7 +58,7 @@ static const struct icom_priv_caps ic738_priv_caps =
ic737_ts_sc_list
};
const struct rig_caps ic738_caps =
struct rig_caps ic738_caps =
{
RIG_MODEL(RIG_MODEL_IC738),
.model_name = "IC-738",

Wyświetl plik

@ -119,7 +119,7 @@ static const struct icom_priv_caps ic7410_priv_caps =
};
const struct rig_caps ic7410_caps =
struct rig_caps ic7410_caps =
{
RIG_MODEL(RIG_MODEL_IC7410),
.model_name = "IC-7410",
@ -150,8 +150,6 @@ const struct rig_caps ic7410_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
[LVL_VOXDELAY] = { .min = { .i = 0 }, .max = { .i = 20 }, .step = { .i = 1 } },
[LVL_KEYSPD] = { .min = { .i = 6 }, .max = { .i = 48 }, .step = { .i = 1 } },
[LVL_CWPITCH] = { .min = { .i = 300 }, .max = { .i = 900 }, .step = { .i = 1 } },
},

Wyświetl plik

@ -176,7 +176,7 @@ static const struct icom_priv_caps ic746_priv_caps =
},
};
const struct rig_caps ic746_caps =
struct rig_caps ic746_caps =
{
RIG_MODEL(RIG_MODEL_IC746),
.model_name = "IC-746",
@ -207,7 +207,6 @@ const struct rig_caps ic746_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
[LVL_KEYSPD] = { .min = { .i = 6 }, .max = { .i = 48 }, .step = { .i = 1 } },
[LVL_CWPITCH] = { .min = { .i = 300 }, .max = { .i = 900 }, .step = { .i = 1 } },
},
@ -412,7 +411,7 @@ static const struct icom_priv_caps ic746pro_priv_caps =
},
};
const struct rig_caps ic746pro_caps =
struct rig_caps ic746pro_caps =
{
RIG_MODEL(RIG_MODEL_IC746PRO),
.model_name = "IC-746PRO",
@ -443,7 +442,6 @@ const struct rig_caps ic746pro_caps =
.level_gran =
{
#include "level_gran_icom.h"
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
},
.parm_gran = {
[PARM_BACKLIGHT] = {.min = {.f = 0.0f}, .max = {.f = 1.0f}, .step = {.f = 1.0f / 255.0f}},

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