kopia lustrzana https://github.com/Hamlib/Hamlib
merge
commit
8decf6fd89
|
@ -113,7 +113,7 @@ static int netrigctl_open(RIG *rig)
|
|||
if (ret <= 0)
|
||||
return (ret < 0) ? ret : -RIG_EPROTO;
|
||||
|
||||
ret = num_sscanf(buf, "%"SCNfreq"%"SCNfreq"%x%d%d%x%x",
|
||||
ret = num_sscanf(buf, "%"SCNfreq"%"SCNfreq"%"SCNXll"%d%d%x%x",
|
||||
&rs->rx_range_list[i].start,
|
||||
&rs->rx_range_list[i].end,
|
||||
&rs->rx_range_list[i].modes,
|
||||
|
@ -132,7 +132,7 @@ static int netrigctl_open(RIG *rig)
|
|||
if (ret <= 0)
|
||||
return (ret < 0) ? ret : -RIG_EPROTO;
|
||||
|
||||
ret = num_sscanf(buf, "%"SCNfreq"%"SCNfreq"%x%d%d%x%x",
|
||||
ret = num_sscanf(buf, "%"SCNfreq"%"SCNfreq"%"SCNXll"%d%d%x%x",
|
||||
&rs->tx_range_list[i].start,
|
||||
&rs->tx_range_list[i].end,
|
||||
&rs->tx_range_list[i].modes,
|
||||
|
@ -151,7 +151,7 @@ static int netrigctl_open(RIG *rig)
|
|||
if (ret <= 0)
|
||||
return (ret < 0) ? ret : -RIG_EPROTO;
|
||||
|
||||
ret = sscanf(buf, "%x%ld",
|
||||
ret = sscanf(buf, "%"SCNXll"%ld",
|
||||
&rs->tuning_steps[i].modes,
|
||||
&rs->tuning_steps[i].ts);
|
||||
if (ret != 2)
|
||||
|
@ -165,7 +165,7 @@ static int netrigctl_open(RIG *rig)
|
|||
if (ret <= 0)
|
||||
return (ret < 0) ? ret : -RIG_EPROTO;
|
||||
|
||||
ret = sscanf(buf, "%x%ld",
|
||||
ret = sscanf(buf, "%"SCNXll"%ld",
|
||||
&rs->filters[i].modes,
|
||||
&rs->filters[i].width);
|
||||
if (ret != 2)
|
||||
|
|
|
@ -176,6 +176,7 @@ const struct rig_caps ic706_caps = {
|
|||
.max_xit = Hz(0),
|
||||
.max_ifshift = Hz(0),
|
||||
.targetable_vfo = 0,
|
||||
.vfo_ops = IC706_VFO_OPS,
|
||||
.transceive = RIG_TRN_RIG,
|
||||
.bank_qty = 0,
|
||||
.chan_desc_sz = 0,
|
||||
|
@ -309,6 +310,7 @@ const struct rig_caps ic706mkii_caps = {
|
|||
.max_xit = Hz(0),
|
||||
.max_ifshift = Hz(0),
|
||||
.targetable_vfo = 0,
|
||||
.vfo_ops = IC706_VFO_OPS,
|
||||
.transceive = RIG_TRN_RIG,
|
||||
.bank_qty = 0,
|
||||
.chan_desc_sz = 0,
|
||||
|
|
|
@ -84,8 +84,8 @@ const struct rig_caps icr6_caps = {
|
|||
[LVL_RAWSTR] = { .min = { .i = 0 }, .max = { .i = 255 } },
|
||||
},
|
||||
.parm_gran = {},
|
||||
.ctcss_list = NULL,
|
||||
.dcs_list = NULL,
|
||||
.ctcss_list = static_common_ctcss_list,
|
||||
.dcs_list = common_dcs_list,
|
||||
.preamp = { RIG_DBLST_END, },
|
||||
.attenuator = { RIG_DBLST_END, },
|
||||
.max_rit = Hz(0),
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
#include <stdio.h>
|
||||
#include <stdarg.h>
|
||||
#include <inttypes.h>
|
||||
|
||||
/* Rig list is in a separate file so as not to mess up w/ this one */
|
||||
#include <hamlib/riglist.h>
|
||||
|
@ -760,7 +761,7 @@ enum rig_parm_e {
|
|||
* This can be a func, a level or a parm.
|
||||
* Each bit designates one of them.
|
||||
*/
|
||||
typedef unsigned long setting_t;
|
||||
typedef uint64_t setting_t;
|
||||
|
||||
/**
|
||||
* \brief Tranceive mode
|
||||
|
@ -790,39 +791,71 @@ typedef unsigned long setting_t;
|
|||
* initialize the func_str.func members. TNX KA6MAL, AC6SL. - N0NB
|
||||
*/
|
||||
#define RIG_FUNC_NONE 0 /*!< '' -- No Function */
|
||||
#define RIG_FUNC_FAGC (1UL<<0) /*!< \c FAGC -- Fast AGC */
|
||||
#define RIG_FUNC_NB (1UL<<1) /*!< \c NB -- Noise Blanker */
|
||||
#define RIG_FUNC_COMP (1UL<<2) /*!< \c COMP -- Speech Compression */
|
||||
#define RIG_FUNC_VOX (1UL<<3) /*!< \c VOX -- Voice Operated Relay */
|
||||
#define RIG_FUNC_TONE (1UL<<4) /*!< \c TONE -- CTCSS Tone */
|
||||
#define RIG_FUNC_TSQL (1UL<<5) /*!< \c TSQL -- CTCSS Activate/De-activate */
|
||||
#define RIG_FUNC_SBKIN (1UL<<6) /*!< \c SBKIN -- Semi Break-in (CW mode) */
|
||||
#define RIG_FUNC_FBKIN (1UL<<7) /*!< \c FBKIN -- Full Break-in (CW mode) */
|
||||
#define RIG_FUNC_ANF (1UL<<8) /*!< \c ANF -- Automatic Notch Filter (DSP) */
|
||||
#define RIG_FUNC_NR (1UL<<9) /*!< \c NR -- Noise Reduction (DSP) */
|
||||
#define RIG_FUNC_AIP (1UL<<10) /*!< \c AIP -- RF pre-amp (AIP on Kenwood, IPO on Yaesu, etc.) */
|
||||
#define RIG_FUNC_APF (1UL<<11) /*!< \c APF -- Auto Passband/Audio Peak Filter */
|
||||
#define RIG_FUNC_MON (1UL<<12) /*!< \c MON -- Monitor transmitted signal */
|
||||
#define RIG_FUNC_MN (1UL<<13) /*!< \c MN -- Manual Notch */
|
||||
#define RIG_FUNC_RF (1UL<<14) /*!< \c RF -- RTTY Filter */
|
||||
#define RIG_FUNC_ARO (1UL<<15) /*!< \c ARO -- Auto Repeater Offset */
|
||||
#define RIG_FUNC_LOCK (1UL<<16) /*!< \c LOCK -- Lock */
|
||||
#define RIG_FUNC_MUTE (1UL<<17) /*!< \c MUTE -- Mute */
|
||||
#define RIG_FUNC_VSC (1UL<<18) /*!< \c VSC -- Voice Scan Control */
|
||||
#define RIG_FUNC_REV (1UL<<19) /*!< \c REV -- Reverse transmit and receive frequencies */
|
||||
#define RIG_FUNC_SQL (1UL<<20) /*!< \c SQL -- Turn Squelch Monitor on/off */
|
||||
#define RIG_FUNC_ABM (1UL<<21) /*!< \c ABM -- Auto Band Mode */
|
||||
#define RIG_FUNC_BC (1UL<<22) /*!< \c BC -- Beat Canceller */
|
||||
#define RIG_FUNC_MBC (1UL<<23) /*!< \c MBC -- Manual Beat Canceller */
|
||||
#define RIG_FUNC_RIT (1UL<<24) /*!< \c RIT -- Receiver Incremental Tuning */
|
||||
#define RIG_FUNC_AFC (1UL<<25) /*!< \c AFC -- Auto Frequency Control ON/OFF */
|
||||
#define RIG_FUNC_SATMODE (1UL<<26) /*!< \c SATMODE -- Satellite mode ON/OFF */
|
||||
#define RIG_FUNC_SCOPE (1UL<<27) /*!< \c SCOPE -- Simple bandscope ON/OFF */
|
||||
#define RIG_FUNC_RESUME (1UL<<28) /*!< \c RESUME -- Scan auto-resume */
|
||||
#define RIG_FUNC_TBURST (1UL<<29) /*!< \c TBURST -- 1750 Hz tone burst */
|
||||
#define RIG_FUNC_TUNER (1UL<<30) /*!< \c TUNER -- Enable automatic tuner */
|
||||
#define RIG_FUNC_XIT (1UL<<31) /*!< \c XIT -- Transmitter Incremental Tuning */
|
||||
|
||||
#define RIG_FUNC_FAGC (1ULL<<0) /*!< \c FAGC -- Fast AGC */
|
||||
#define RIG_FUNC_NB (1ULL<<1) /*!< \c NB -- Noise Blanker */
|
||||
#define RIG_FUNC_COMP (1ULL<<2) /*!< \c COMP -- Speech Compression */
|
||||
#define RIG_FUNC_VOX (1ULL<<3) /*!< \c VOX -- Voice Operated Relay */
|
||||
#define RIG_FUNC_TONE (1ULL<<4) /*!< \c TONE -- CTCSS Tone */
|
||||
#define RIG_FUNC_TSQL (1ULL<<5) /*!< \c TSQL -- CTCSS Activate/De-activate */
|
||||
#define RIG_FUNC_SBKIN (1ULL<<6) /*!< \c SBKIN -- Semi Break-in (CW mode) */
|
||||
#define RIG_FUNC_FBKIN (1ULL<<7) /*!< \c FBKIN -- Full Break-in (CW mode) */
|
||||
#define RIG_FUNC_ANF (1ULL<<8) /*!< \c ANF -- Automatic Notch Filter (DSP) */
|
||||
#define RIG_FUNC_NR (1ULL<<9) /*!< \c NR -- Noise Reduction (DSP) */
|
||||
#define RIG_FUNC_AIP (1ULL<<10) /*!< \c AIP -- RF pre-amp (AIP on Kenwood, IPO on Yaesu, etc.) */
|
||||
#define RIG_FUNC_APF (1ULL<<11) /*!< \c APF -- Auto Passband/Audio Peak Filter */
|
||||
#define RIG_FUNC_MON (1ULL<<12) /*!< \c MON -- Monitor transmitted signal */
|
||||
#define RIG_FUNC_MN (1ULL<<13) /*!< \c MN -- Manual Notch */
|
||||
#define RIG_FUNC_RF (1ULL<<14) /*!< \c RF -- RTTY Filter */
|
||||
#define RIG_FUNC_ARO (1ULL<<15) /*!< \c ARO -- Auto Repeater Offset */
|
||||
#define RIG_FUNC_LOCK (1ULL<<16) /*!< \c LOCK -- Lock */
|
||||
#define RIG_FUNC_MUTE (1ULL<<17) /*!< \c MUTE -- Mute */
|
||||
#define RIG_FUNC_VSC (1ULL<<18) /*!< \c VSC -- Voice Scan Control */
|
||||
#define RIG_FUNC_REV (1ULL<<19) /*!< \c REV -- Reverse transmit and receive frequencies */
|
||||
#define RIG_FUNC_SQL (1ULL<<20) /*!< \c SQL -- Turn Squelch Monitor on/off */
|
||||
#define RIG_FUNC_ABM (1ULL<<21) /*!< \c ABM -- Auto Band Mode */
|
||||
#define RIG_FUNC_BC (1ULL<<22) /*!< \c BC -- Beat Canceller */
|
||||
#define RIG_FUNC_MBC (1ULL<<23) /*!< \c MBC -- Manual Beat Canceller */
|
||||
#define RIG_FUNC_RIT (1ULL<<24) /*!< \c RIT -- Receiver Incremental Tuning */
|
||||
#define RIG_FUNC_AFC (1ULL<<25) /*!< \c AFC -- Auto Frequency Control ON/OFF */
|
||||
#define RIG_FUNC_SATMODE (1ULL<<26) /*!< \c SATMODE -- Satellite mode ON/OFF */
|
||||
#define RIG_FUNC_SCOPE (1ULL<<27) /*!< \c SCOPE -- Simple bandscope ON/OFF */
|
||||
#define RIG_FUNC_RESUME (1ULL<<28) /*!< \c RESUME -- Scan auto-resume */
|
||||
#define RIG_FUNC_TBURST (1ULL<<29) /*!< \c TBURST -- 1750 Hz tone burst */
|
||||
#define RIG_FUNC_TUNER (1ULL<<30) /*!< \c TUNER -- Enable automatic tuner */
|
||||
#define RIG_FUNC_XIT (1ULL<<31) /*!< \c XIT -- Transmitter Incremental Tuning */
|
||||
#define RIG_FUNC_NB2 (1ULL<<32) /*!< \c NB2 -- 2nd Noise Blanker */
|
||||
#define RIG_FUNC_BIT33 (1ULL<<33) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT34 (1ULL<<34) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT35 (1ULL<<35) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT36 (1ULL<<36) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT37 (1ULL<<37) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT38 (1ULL<<38) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT39 (1ULL<<39) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT40 (1ULL<<40) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT41 (1ULL<<41) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT42 (1ULL<<42) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT43 (1ULL<<43) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT44 (1ULL<<44) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT45 (1ULL<<45) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT46 (1ULL<<46) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT47 (1ULL<<47) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT48 (1ULL<<48) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT49 (1ULL<<49) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT50 (1ULL<<50) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT51 (1ULL<<51) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT52 (1ULL<<52) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT53 (1ULL<<53) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT54 (1ULL<<54) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT55 (1ULL<<55) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT56 (1ULL<<56) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT57 (1ULL<<57) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT58 (1ULL<<58) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT59 (1ULL<<59) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT60 (1ULL<<60) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT61 (1ULL<<61) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT62 (1ULL<<62) /* available for future RIG_FUNC items */
|
||||
#define RIG_FUNC_BIT63 (1ULL<<63) /* available for future RIG_FUNC items */
|
||||
/* 63 is this highest bit number that can be used */
|
||||
|
||||
/**
|
||||
* \brief power unit macros
|
||||
|
@ -845,6 +878,7 @@ typedef unsigned long setting_t;
|
|||
* \sa rig_parse_mode(), rig_strrmode()
|
||||
* TODO: Add new 8600 modes to rig2icom_mode() and icom2rig_mode() in frame.c
|
||||
*/
|
||||
<<<<<<< HEAD
|
||||
typedef enum {
|
||||
RIG_MODE_NONE = 0, /*!< '' -- None */
|
||||
RIG_MODE_AM = (1 << 0), /*!< \c AM -- Amplitude Modulation */
|
||||
|
@ -880,6 +914,75 @@ typedef enum {
|
|||
RIG_MODE_TESTS_MAX /*!< \c MUST ALWAYS BE LAST, Max Count for dumpcaps.c */
|
||||
} rmode_t;
|
||||
|
||||
=======
|
||||
#define ULL (uint64_t)
|
||||
typedef uint64_t rmode_t;
|
||||
|
||||
#define RIG_MODE_NONE 0 /*!< '' -- None */
|
||||
#define RIG_MODE_AM (1ULL << 0) /*!< \c AM -- Amplitude Modulation */
|
||||
#define RIG_MODE_CW (1ULL << 1) /*!< \c CW -- CW "normal" sideband */
|
||||
#define RIG_MODE_USB (1ULL << 2) /*!< \c USB -- Upper Side Band */
|
||||
#define RIG_MODE_LSB (1ULL << 3) /*!< \c LSB -- Lower Side Band */
|
||||
#define RIG_MODE_RTTY (1ULL << 4) /*!< \c RTTY -- Radio Teletype */
|
||||
#define RIG_MODE_FM (1ULL << 5) /*!< \c FM -- "narrow" band FM */
|
||||
#define RIG_MODE_WFM (1ULL << 6) /*!< \c WFM -- broadcast wide FM */
|
||||
#define RIG_MODE_CWR (1ULL << 7) /*!< \c CWR -- CW "reverse" sideband */
|
||||
#define RIG_MODE_RTTYR (1ULL << 8) /*!< \c RTTYR -- RTTY "reverse" sideband */
|
||||
#define RIG_MODE_AMS (1ULL << 9) /*!< \c AMS -- Amplitude Modulation Synchronous */
|
||||
#define RIG_MODE_PKTLSB (1ULL << 10) /*!< \c PKTLSB -- Packet/Digital LSB mode (dedicated port) */
|
||||
#define RIG_MODE_PKTUSB (1ULL << 11) /*!< \c PKTUSB -- Packet/Digital USB mode (dedicated port) */
|
||||
#define RIG_MODE_PKTFM (1ULL << 12) /*!< \c PKTFM -- Packet/Digital FM mode (dedicated port) */
|
||||
#define RIG_MODE_ECSSUSB (1ULL << 13) /*!< \c ECSSUSB -- Exalted Carrier Single Sideband USB */
|
||||
#define RIG_MODE_ECSSLSB (1ULL << 14) /*!< \c ECSSLSB -- Exalted Carrier Single Sideband LSB */
|
||||
#define RIG_MODE_FAX (1ULL << 15) /*!< \c FAX -- Facsimile Mode */
|
||||
#define RIG_MODE_SAM (1ULL << 16) /*!< \c SAM -- Synchronous AM double sideband */
|
||||
#define RIG_MODE_SAL (1ULL << 17) /*!< \c SAL -- Synchronous AM lower sideband */
|
||||
#define RIG_MODE_SAH (1ULL << 18) /*!< \c SAH -- Synchronous AM upper (higher) sideband */
|
||||
#define RIG_MODE_DSB (1ULL << 19) /*!< \c DSB -- Double sideband suppressed carrier */
|
||||
#define RIG_MODE_FMN (1ULL << 21) /*!< \c FMN -- FM Narrow Kenwood ts990s */
|
||||
#define RIG_MODE_PKTAM (1ULL << 22) /*!< \c PKTAM -- Packet/Digital AM mode e.g. IC7300 */
|
||||
#define RIG_MODE_P25 (1ULL << 23) /*!< \c P25 -- APCO/P25 VHF,UHF digital mode IC-R8600 */
|
||||
#define RIG_MODE_DSTAR (1ULL << 24) /*!< \c D-Star -- VHF,UHF digital mode IC-R8600 */
|
||||
#define RIG_MODE_DPMR (1ULL << 25) /*!< \c dPMR -- digital PMR, VHF,UHF digital mode IC-R8600 */
|
||||
#define RIG_MODE_NXDNVN (1ULL << 26) /*!< \c NXDN-VN -- VHF,UHF digital mode IC-R8600 */
|
||||
#define RIG_MODE_NXDN_N (1ULL << 27) /*!< \c NXDN-N -- VHF,UHF digital mode IC-R8600 */
|
||||
#define RIG_MODE_DCR (1ULL << 28) /*!< \c DCR -- VHF,UHF digital mode IC-R8600 */
|
||||
#define RIG_MODE_AMN (1ULL << 29) /*!< \c AM-N -- Narrow band AM mode IC-R30 */
|
||||
#define RIG_MODE_PSK (1ULL << 30) /* PSK - Kenwood PSK and others */
|
||||
#define RIG_MODE_PSKR (1ULL << 31) /* PSKR - Kenwood PSKR and others */
|
||||
#define RIG_MODE_BIT32 (1ULL << 32) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT33 (1ULL << 33) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT34 (1ULL << 34) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT35 (1ULL << 35) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT36 (1ULL << 36) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT37 (1ULL << 37) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT38 (1ULL << 38) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT39 (1ULL << 39) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT40 (1ULL << 40) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT41 (1ULL << 41) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT42 (1ULL << 42) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT43 (1ULL << 43) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT44 (1ULL << 44) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT45 (1ULL << 45) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT46 (1ULL << 46) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT47 (1ULL << 47) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT48 (1ULL << 48) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT49 (1ULL << 49) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT50 (1ULL << 50) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT51 (1ULL << 51) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT52 (1ULL << 52) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT53 (1ULL << 53) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT54 (1ULL << 54) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT55 (1ULL << 55) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT56 (1ULL << 56) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT57 (1ULL << 57) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT58 (1ULL << 58) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT59 (1ULL << 59) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT60 (1ULL << 60) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT61 (1ULL << 61) /* reserved for future expansion */
|
||||
#define RIG_MODE_BIT62 (1ULL << 62) /* reserved for future expansion */
|
||||
#define RIG_MODE_TESTS_MAX (1ULL << 63) /*!< \c last bit available for 64-bit enum MUST ALWAYS BE LAST, Max Count for dumpcaps.c */
|
||||
>>>>>>> master
|
||||
|
||||
/**
|
||||
* \brief macro for backends, not to be used by rig_set_mode et al.
|
||||
|
@ -2188,7 +2291,7 @@ rigerror HAMLIB_PARAMS((int errnum));
|
|||
extern HAMLIB_EXPORT(int)
|
||||
rig_setting2idx HAMLIB_PARAMS((setting_t s));
|
||||
|
||||
#define rig_idx2setting(i) (1UL<<(i))
|
||||
#define rig_idx2setting(i) (1ULL<<(i))
|
||||
|
||||
/*
|
||||
* Even if these functions are prefixed with "rig_", they are not rig specific
|
||||
|
|
|
@ -153,6 +153,7 @@
|
|||
#define RIG_MODEL_XG3 RIG_MAKE_MODEL(RIG_KENWOOD, 38) /* Elecraft XG-3 signal generator */
|
||||
#define RIG_MODEL_TS990S RIG_MAKE_MODEL(RIG_KENWOOD, 39)
|
||||
#define RIG_MODEL_HPSDR RIG_MAKE_MODEL(RIG_KENWOOD, 40) /* OpenHPSDR, PiHPSDR */
|
||||
#define RIG_MODEL_TS890S RIG_MAKE_MODEL(RIG_KENWOOD, 41)
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -86,6 +86,7 @@ static const struct kenwood_id kenwood_id_list[] = {
|
|||
{ RIG_MODEL_TS590S, 21 },
|
||||
{ RIG_MODEL_TS990S, 22 },
|
||||
{ RIG_MODEL_TS590SG, 23 },
|
||||
{ RIG_MODEL_TS890S, 24 },
|
||||
{ RIG_MODEL_NONE, UNKNOWN_ID }, /* end marker */
|
||||
};
|
||||
|
||||
|
@ -132,7 +133,13 @@ rmode_t kenwood_mode_table[KENWOOD_MODE_TABLE_MAX] = {
|
|||
[6] = RIG_MODE_RTTY,
|
||||
[7] = RIG_MODE_CWR,
|
||||
[8] = RIG_MODE_NONE, /* TUNE mode */
|
||||
[9] = RIG_MODE_RTTYR
|
||||
[9] = RIG_MODE_RTTYR,
|
||||
[10] = RIG_MODE_PSK,
|
||||
[11] = RIG_MODE_PSKR,
|
||||
[12] = RIG_MODE_PKTLSB,
|
||||
[13] = RIG_MODE_PKTUSB,
|
||||
[14] = RIG_MODE_PKTFM,
|
||||
[15] = RIG_MODE_PKTAM
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -1442,6 +1449,16 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
return -RIG_EINVAL;
|
||||
}
|
||||
|
||||
char c;
|
||||
if (kmode <= 9)
|
||||
{
|
||||
c = '0' + kmode;
|
||||
}
|
||||
else
|
||||
{
|
||||
c = 'A' + kmode - 10;
|
||||
}
|
||||
|
||||
if (RIG_MODEL_TS990S == rig->caps->rig_model)
|
||||
{
|
||||
/* The TS990s has targetable read mode but can only set the mode
|
||||
|
@ -1450,18 +1467,9 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
setting caps.targetable_vfo to not include
|
||||
RIG_TARGETABLE_MODE since the toggle is not required for
|
||||
reading the mode. */
|
||||
char c;
|
||||
vfo_t curr_vfo;
|
||||
err = kenwood_get_vfo_main_sub (rig, &curr_vfo);
|
||||
if (err != RIG_OK) return err;
|
||||
if (kmode <= 9)
|
||||
{
|
||||
c = '0' + kmode;
|
||||
}
|
||||
else
|
||||
{
|
||||
c = 'A' + kmode - 10;
|
||||
}
|
||||
if (vfo != RIG_VFO_CURR && vfo != curr_vfo)
|
||||
{
|
||||
err = kenwood_set_vfo_main_sub (rig, vfo);
|
||||
|
@ -1477,7 +1485,7 @@ int kenwood_set_mode(RIG *rig, vfo_t vfo, rmode_t mode, pbwidth_t width)
|
|||
}
|
||||
else
|
||||
{
|
||||
snprintf(buf, sizeof (buf), "MD%c", '0' + kmode);
|
||||
snprintf(buf, sizeof (buf), "MD%c", c);
|
||||
err = kenwood_transaction(rig, buf, NULL, 0);
|
||||
}
|
||||
if (err != RIG_OK) return err;
|
||||
|
@ -2019,11 +2027,28 @@ int kenwood_set_func(RIG *rig, vfo_t vfo, setting_t func, int status)
|
|||
if (!rig)
|
||||
return -RIG_EINVAL;
|
||||
|
||||
char buf[6]; /* longest cmd is GTxxx */
|
||||
char buf[10]; /* longest cmd is GTxxx */
|
||||
|
||||
switch (func) {
|
||||
case RIG_FUNC_NB:
|
||||
snprintf(buf, sizeof (buf), "NB%c", (status == 0) ? '0' : '1');
|
||||
case RIG_FUNC_NB2:
|
||||
/* newer Kenwoods have a second noise blanker */
|
||||
if (RIG_MODEL_TS890S == rig->caps->rig_model) {
|
||||
switch(func) {
|
||||
case RIG_FUNC_NB:
|
||||
snprintf(buf, sizeof (buf), "NB1%c", (status == 0) ? '0' : '1');
|
||||
break;
|
||||
case RIG_FUNC_NB2:
|
||||
snprintf(buf, sizeof (buf), "NB2%c", (status == 0) ? '0' : '1');
|
||||
break;
|
||||
default:
|
||||
rig_debug(RIG_DEBUG_ERR, "%s: expected 0,1, or 2 and got %d\n", __func__, status);
|
||||
return -RIG_EINVAL;
|
||||
}
|
||||
}
|
||||
else {
|
||||
snprintf(buf, sizeof (buf), "NB%c", (status == 0) ? '0' : '1');
|
||||
}
|
||||
return kenwood_transaction(rig, buf, NULL, 0);
|
||||
|
||||
case RIG_FUNC_ABM:
|
||||
|
@ -2134,6 +2159,9 @@ int kenwood_get_func(RIG *rig, vfo_t vfo, setting_t func, int *status)
|
|||
case RIG_FUNC_NB:
|
||||
return get_kenwood_func(rig, "NB", status);
|
||||
|
||||
case RIG_FUNC_NB2:
|
||||
return get_kenwood_func(rig, "NB2", status);
|
||||
|
||||
case RIG_FUNC_ABM:
|
||||
return get_kenwood_func(rig, "AM", status);
|
||||
|
||||
|
@ -3437,6 +3465,7 @@ DECLARE_INITRIG_BACKEND(kenwood)
|
|||
|
||||
rig_register(&f6k_caps);
|
||||
rig_register(&pihpsdr_caps);
|
||||
rig_register(&ts890s_caps);
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
#include <string.h>
|
||||
#include "token.h"
|
||||
|
||||
#define BACKEND_VER "1.0"
|
||||
#define BACKEND_VER "1.1"
|
||||
|
||||
#define EOM_KEN ';'
|
||||
#define EOM_TH '\r'
|
||||
|
@ -203,6 +203,7 @@ extern const struct rig_caps transfox_caps;
|
|||
|
||||
extern const struct rig_caps f6k_caps;
|
||||
extern const struct rig_caps pihpsdr_caps;
|
||||
extern const struct rig_caps ts890s_caps;
|
||||
|
||||
/* use when not interested in the answer, but want to check its len */
|
||||
static int inline kenwood_simple_transaction(RIG *rig, const char *cmd, size_t expected)
|
||||
|
|
161
kenwood/ts480.c
161
kenwood/ts480.c
|
@ -1,5 +1,6 @@
|
|||
/*
|
||||
* Hamlib Kenwood backend - TS480 description
|
||||
* Hamlib Kenwood backend - TS890s description
|
||||
* Copyright (c) 2000-2004 by Stephane Fillod and Juergen Rinas
|
||||
*
|
||||
*
|
||||
|
@ -31,6 +32,8 @@
|
|||
#include "kenwood.h"
|
||||
|
||||
#define TS480_ALL_MODES (RIG_MODE_AM|RIG_MODE_CW|RIG_MODE_CWR|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY|RIG_MODE_RTTYR)
|
||||
#define TS890_ALL_MODES (RIG_MODE_LSB|RIG_MODE_USB|RIG_MODE_CW|RIG_MODE_FM|RIG_MODE_AM|RIG_MODE_RTTY|RIG_MODE_CWR|RIG_MODE_RTTYR|RIG_MODE_PSK|RIG_MODE_PSKR|RIG_MODE_PKTLSB|RIG_MODE_PKTUSB|RIG_MODE_PKTFM|RIG_MODE_PKTAM)
|
||||
|
||||
#define TS480_OTHER_TX_MODES (RIG_MODE_CW|RIG_MODE_SSB|RIG_MODE_FM|RIG_MODE_RTTY)
|
||||
#define TS480_AM_TX_MODES RIG_MODE_AM
|
||||
#define TS480_VFO (RIG_VFO_A|RIG_VFO_B)
|
||||
|
@ -252,6 +255,10 @@ static struct kenwood_priv_caps ts480_priv_caps = {
|
|||
.cmdtrm = EOM_KEN,
|
||||
};
|
||||
|
||||
static struct kenwood_priv_caps ts890s_priv_caps = {
|
||||
.cmdtrm = EOM_KEN,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* ts480 rig capabilities.
|
||||
|
@ -405,6 +412,160 @@ const struct rig_caps ts480_caps = {
|
|||
.get_func = kenwood_get_func,
|
||||
};
|
||||
|
||||
/*
|
||||
* ts890s rig capabilities.
|
||||
* Copied from ts480_caps
|
||||
* Where you see TS480 in this the values have not been verified
|
||||
* Notice that some rigs share the same functions.
|
||||
* Also this struct is READONLY!
|
||||
*/
|
||||
const struct rig_caps ts890s_caps = {
|
||||
.rig_model = RIG_MODEL_TS890S,
|
||||
.model_name = "TS-890S",
|
||||
.mfg_name = "Kenwood",
|
||||
.version = BACKEND_VER ".2",
|
||||
.copyright = "LGPL",
|
||||
.status = RIG_STATUS_BETA,
|
||||
.rig_type = RIG_TYPE_TRANSCEIVER,
|
||||
.ptt_type = RIG_PTT_RIG_MICDATA,
|
||||
.dcd_type = RIG_DCD_RIG,
|
||||
.port_type = RIG_PORT_SERIAL,
|
||||
.serial_rate_min = 4800,
|
||||
.serial_rate_max = 115200,
|
||||
.serial_data_bits = 8,
|
||||
.serial_stop_bits = 1,
|
||||
.serial_parity = RIG_PARITY_NONE,
|
||||
.serial_handshake = RIG_HANDSHAKE_NONE,
|
||||
.write_delay = 0,
|
||||
.post_write_delay = 0,
|
||||
.timeout = 200,
|
||||
.retry = 10,
|
||||
.preamp = {12, RIG_DBLST_END,},
|
||||
.attenuator = {12, RIG_DBLST_END,},
|
||||
.max_rit = kHz (9.99),
|
||||
.max_xit = kHz (9.99),
|
||||
.max_ifshift = Hz (0),
|
||||
.targetable_vfo = RIG_TARGETABLE_FREQ,
|
||||
.transceive = RIG_TRN_RIG,
|
||||
|
||||
|
||||
.rx_range_list1 = {
|
||||
{kHz(100), Hz(59999999), TS890_ALL_MODES, -1, -1, TS480_VFO},
|
||||
RIG_FRNG_END,
|
||||
}, /*!< Receive frequency range list for ITU region 1 */
|
||||
.tx_range_list1 = {
|
||||
{kHz(1810), kHz(1850), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO}, /* 100W class */
|
||||
{kHz(1810), kHz(1850), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO}, /* 25W class */
|
||||
{kHz(3500), kHz(3800), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(3500), kHz(3800), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(7), kHz(7200), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(7), kHz(7200), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{kHz(10100), kHz(10150), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(10100), kHz(10150), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(14), kHz(14350), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(14), kHz(14350), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{kHz(18068), kHz(18168), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(18068), kHz(18168), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(21), kHz(21450), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(21), kHz(21450), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{kHz(24890), kHz(24990), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(24890), kHz(24990), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(28), kHz(29700), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(28), kHz(29700), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(50), kHz(52000), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(50), kHz(52000), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
RIG_FRNG_END,
|
||||
}, /*!< Transmit frequency range list for ITU region 1 */
|
||||
.rx_range_list2 = {
|
||||
{kHz(100), Hz(59999999), TS890_ALL_MODES, -1, -1, TS480_VFO},
|
||||
RIG_FRNG_END,
|
||||
}, /*!< Receive frequency range list for ITU region 2 */
|
||||
.tx_range_list2 = {
|
||||
{kHz(1800), MHz(2) - 1, TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO}, /* 100W class */
|
||||
{kHz(1800), MHz(2) - 1, TS480_AM_TX_MODES, 5000, 25000, TS480_VFO}, /* 25W class */
|
||||
{kHz(3500), MHz(4) - 1, TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(3500), MHz(4) - 1, TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{kHz(5250), kHz(5450), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(5250), kHz(5450), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(7), kHz(7300), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(7), kHz(7300), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{kHz(10100), kHz(10150), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(10100), kHz(10150), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(14), kHz(14350), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(14), kHz(14350), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{kHz(18068), kHz(18168), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(18068), kHz(18168), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(21), kHz(21450), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(21), kHz(21450), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{kHz(24890), kHz(24990), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{kHz(24890), kHz(24990), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(28), kHz(29700), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(28), kHz(29700), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
{MHz(50), kHz(52000), TS480_OTHER_TX_MODES, 5000, 100000, TS480_VFO},
|
||||
{MHz(50), kHz(52000), TS480_AM_TX_MODES, 5000, 25000, TS480_VFO},
|
||||
RIG_FRNG_END,
|
||||
}, /*!< Transmit frequency range list for ITU region 2 */
|
||||
.tuning_steps = {
|
||||
{TS890_ALL_MODES,kHz(1)},
|
||||
{TS890_ALL_MODES,Hz(2500)},
|
||||
{TS890_ALL_MODES,kHz(5)},
|
||||
{TS890_ALL_MODES,Hz(6250)},
|
||||
{TS890_ALL_MODES,kHz(10)},
|
||||
{TS890_ALL_MODES,Hz(12500)},
|
||||
{TS890_ALL_MODES,kHz(15)},
|
||||
{TS890_ALL_MODES,kHz(20)},
|
||||
{TS890_ALL_MODES,kHz(25)},
|
||||
{TS890_ALL_MODES,kHz(30)},
|
||||
{TS890_ALL_MODES,kHz(100)},
|
||||
{TS890_ALL_MODES,kHz(500)},
|
||||
{TS890_ALL_MODES,MHz(1)},
|
||||
{TS890_ALL_MODES,0}, /* any tuning step */
|
||||
RIG_TS_END,
|
||||
},
|
||||
/* mode/filter list, remember: order matters! */
|
||||
.filters = {
|
||||
{RIG_MODE_SSB, kHz(2.4)},
|
||||
{RIG_MODE_CW, Hz(200)},
|
||||
{RIG_MODE_RTTY, Hz(500)},
|
||||
{RIG_MODE_AM, kHz(9)},
|
||||
{RIG_MODE_FM, kHz(14)},
|
||||
RIG_FLT_END,
|
||||
},
|
||||
.priv = (void *) &ts890s_priv_caps,
|
||||
.rig_init = kenwood_init,
|
||||
.rig_cleanup = kenwood_cleanup,
|
||||
.set_freq = kenwood_set_freq,
|
||||
.get_freq = kenwood_get_freq,
|
||||
.set_rit = kenwood_set_rit, /* FIXME should this switch to rit mode or just set the frequency? */
|
||||
.get_rit = kenwood_get_rit,
|
||||
.set_xit = kenwood_set_xit, /* FIXME should this switch to xit mode or just set the frequency? */
|
||||
.get_xit = kenwood_get_xit,
|
||||
.set_mode = kenwood_set_mode,
|
||||
.get_mode = kenwood_get_mode,
|
||||
.set_vfo = kenwood_set_vfo,
|
||||
.get_vfo = kenwood_get_vfo_if,
|
||||
.set_split_vfo = kenwood_set_split_vfo,
|
||||
.get_split_vfo = kenwood_get_split_vfo_if,
|
||||
.get_ptt = kenwood_get_ptt,
|
||||
.set_ptt = kenwood_set_ptt,
|
||||
.get_dcd = kenwood_get_dcd,
|
||||
.set_powerstat = kenwood_set_powerstat,
|
||||
.get_powerstat = kenwood_get_powerstat,
|
||||
.get_info = kenwood_ts480_get_info,
|
||||
.reset = kenwood_reset,
|
||||
.set_ant = kenwood_set_ant,
|
||||
.get_ant = kenwood_get_ant,
|
||||
.scan = kenwood_scan, /* not working, invalid arguments using rigctl; kenwood_scan does only support on/off and not tone and CTCSS scan */
|
||||
.has_set_level = TS480_LEVEL_ALL,
|
||||
.has_get_level = TS480_LEVEL_ALL,
|
||||
.set_level = kenwood_ts480_set_level,
|
||||
.get_level = kenwood_ts480_get_level,
|
||||
.has_get_func = TS480_FUNC_ALL,
|
||||
.has_set_func = TS480_FUNC_ALL,
|
||||
.set_func = kenwood_set_func,
|
||||
.get_func = kenwood_get_func,
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
* my notes:
|
||||
|
|
15
src/misc.c
15
src/misc.c
|
@ -319,8 +319,11 @@ static struct
|
|||
{ RIG_MODE_LSB, "LSB" },
|
||||
{ RIG_MODE_RTTY, "RTTY" },
|
||||
{ RIG_MODE_FM, "FM" },
|
||||
<<<<<<< HEAD
|
||||
{ RIG_MODE_FMN, "FMN" },
|
||||
{ RIG_MODE_FM_N, "FM-N" },
|
||||
=======
|
||||
>>>>>>> master
|
||||
{ RIG_MODE_WFM, "WFM" },
|
||||
{ RIG_MODE_CWR, "CWR" },
|
||||
{ RIG_MODE_RTTYR, "RTTYR" },
|
||||
|
@ -335,13 +338,21 @@ static struct
|
|||
{ RIG_MODE_SAL, "SAL" },
|
||||
{ RIG_MODE_SAH, "SAH" },
|
||||
{ RIG_MODE_DSB, "DSB"},
|
||||
<<<<<<< HEAD
|
||||
{ RIG_MODE_AM_N, "AM-N"},
|
||||
=======
|
||||
{ RIG_MODE_FMN, "FMN" },
|
||||
{ RIG_MODE_PKTAM, "PKTAM"},
|
||||
>>>>>>> master
|
||||
{ RIG_MODE_P25, "P25"},
|
||||
{ RIG_MODE_DSTAR, "D-STAR"},
|
||||
{ RIG_MODE_DPMR, "dPMR"},
|
||||
{ RIG_MODE_DPMR, "DPMR"},
|
||||
{ RIG_MODE_NXDNVN, "NXDN-VN"},
|
||||
{ RIG_MODE_NXDN_N, "NXDN-N"},
|
||||
{ RIG_MODE_DCR, "DCR"},
|
||||
{ RIG_MODE_AMN, "AMN"},
|
||||
{ RIG_MODE_PSK, "PSK"},
|
||||
{ RIG_MODE_PSKR, "PSKR"},
|
||||
{ RIG_MODE_NONE, "" },
|
||||
};
|
||||
|
||||
|
@ -382,7 +393,7 @@ const char * HAMLIB_API rig_strrmode(rmode_t mode)
|
|||
{
|
||||
int i;
|
||||
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called\n", __func__);
|
||||
rig_debug(RIG_DEBUG_VERBOSE, "%s called mode=0x%"PRXll"\n", __func__, mode);
|
||||
|
||||
if (mode == RIG_MODE_NONE)
|
||||
{
|
||||
|
|
|
@ -100,22 +100,28 @@ extern HAMLIB_EXPORT(void) rig_force_cache_timeout(struct timeval *tv);
|
|||
#ifdef PRId64
|
||||
/** \brief printf(3) format to be used for long long (64bits) type */
|
||||
# define PRIll PRId64
|
||||
# define PRXll PRIx64
|
||||
#else
|
||||
# ifdef FBSD4
|
||||
# define PRIll "qd"
|
||||
# define PRXll "qx"
|
||||
# else
|
||||
# define PRIll "lld"
|
||||
# define PRXll "lld"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef SCNd64
|
||||
/** \brief scanf(3) format to be used for long long (64bits) type */
|
||||
# define SCNll SCNd64
|
||||
# define SCNXll SCNx64
|
||||
#else
|
||||
# ifdef FBSD4
|
||||
# define SCNll "qd"
|
||||
# define SCNXll "qx"
|
||||
# else
|
||||
# define SCNll "lld"
|
||||
# define SCNXll "llx"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -669,7 +669,7 @@ int dump_csv_chan(RIG *rig,
|
|||
|
||||
if (mem_caps->funcs)
|
||||
{
|
||||
fprintf(f, "%lx%c", chan.funcs, csv_sep);
|
||||
fprintf(f, "%"PRXll"%c", chan.funcs, csv_sep);
|
||||
}
|
||||
|
||||
if (mem_caps->ctcss_tone)
|
||||
|
@ -940,7 +940,7 @@ int set_channel_data(RIG *rig,
|
|||
|
||||
if (i >= 0)
|
||||
{
|
||||
sscanf(line_data_list[i], "%lx", &chan->funcs);
|
||||
sscanf(line_data_list[i], "%"SCNXll, &chan->funcs);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -3788,7 +3788,7 @@ declare_proto_rig(dump_state)
|
|||
for (i = 0; i < FRQRANGESIZ && !RIG_IS_FRNG_END(rs->rx_range_list[i]); i++)
|
||||
{
|
||||
fprintf(fout,
|
||||
"%"FREQFMT" %"FREQFMT" 0x%x %d %d 0x%x 0x%x\n",
|
||||
"%"FREQFMT" %"FREQFMT" 0x%"PRXll" %d %d 0x%x 0x%x\n",
|
||||
rs->rx_range_list[i].start,
|
||||
rs->rx_range_list[i].end,
|
||||
rs->rx_range_list[i].modes,
|
||||
|
@ -3803,7 +3803,7 @@ declare_proto_rig(dump_state)
|
|||
for (i = 0; i < FRQRANGESIZ && !RIG_IS_FRNG_END(rs->tx_range_list[i]); i++)
|
||||
{
|
||||
fprintf(fout,
|
||||
"%"FREQFMT" %"FREQFMT" 0x%x %d %d 0x%x 0x%x\n",
|
||||
"%"FREQFMT" %"FREQFMT" 0x%"PRXll" %d %d 0x%x 0x%x\n",
|
||||
rs->tx_range_list[i].start,
|
||||
rs->tx_range_list[i].end,
|
||||
rs->tx_range_list[i].modes,
|
||||
|
@ -3818,7 +3818,7 @@ declare_proto_rig(dump_state)
|
|||
for (i = 0; i < TSLSTSIZ && !RIG_IS_TS_END(rs->tuning_steps[i]); i++)
|
||||
{
|
||||
fprintf(fout,
|
||||
"0x%x %ld\n",
|
||||
"0x%"PRXll" %ld\n",
|
||||
rs->tuning_steps[i].modes,
|
||||
rs->tuning_steps[i].ts);
|
||||
}
|
||||
|
@ -3828,7 +3828,7 @@ declare_proto_rig(dump_state)
|
|||
for (i = 0; i < FLTLSTSIZ && !RIG_IS_FLT_END(rs->filters[i]); i++)
|
||||
{
|
||||
fprintf(fout,
|
||||
"0x%x %ld\n",
|
||||
"0x%"PRXll" %ld\n",
|
||||
rs->filters[i].modes,
|
||||
rs->filters[i].width);
|
||||
}
|
||||
|
@ -3858,12 +3858,12 @@ declare_proto_rig(dump_state)
|
|||
|
||||
fprintf(fout, "\n");
|
||||
|
||||
fprintf(fout, "0x%lx\n", rs->has_get_func);
|
||||
fprintf(fout, "0x%lx\n", rs->has_set_func);
|
||||
fprintf(fout, "0x%lx\n", rs->has_get_level);
|
||||
fprintf(fout, "0x%lx\n", rs->has_set_level);
|
||||
fprintf(fout, "0x%lx\n", rs->has_get_parm);
|
||||
fprintf(fout, "0x%lx\n", rs->has_set_parm);
|
||||
fprintf(fout, "0x%"PRXll"\n", rs->has_get_func);
|
||||
fprintf(fout, "0x%"PRXll"\n", rs->has_set_func);
|
||||
fprintf(fout, "0x%"PRXll"\n", rs->has_get_level);
|
||||
fprintf(fout, "0x%"PRXll"\n", rs->has_set_level);
|
||||
fprintf(fout, "0x%"PRXll"\n", rs->has_get_parm);
|
||||
fprintf(fout, "0x%"PRXll"\n", rs->has_set_parm);
|
||||
|
||||
#if 0
|
||||
gran_t level_gran[RIG_SETTING_MAX]; /*!< level granularity */
|
||||
|
|
|
@ -103,7 +103,7 @@ int sprintf_vfo(char *str, vfo_t vfo)
|
|||
|
||||
int sprintf_mode(char *str, rmode_t mode)
|
||||
{
|
||||
int i, len = 0;
|
||||
uint64_t i, len = 0;
|
||||
|
||||
*str = '\0';
|
||||
|
||||
|
@ -112,9 +112,9 @@ int sprintf_mode(char *str, rmode_t mode)
|
|||
return 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < 30; i++)
|
||||
for (i = 0; i < 63; i++)
|
||||
{
|
||||
const char *ms = rig_strrmode(mode & (1UL << i));
|
||||
const char *ms = rig_strrmode(mode & (1ULL << i));
|
||||
|
||||
if (!ms || !ms[0])
|
||||
{
|
||||
|
@ -132,7 +132,7 @@ int sprintf_mode(char *str, rmode_t mode)
|
|||
|
||||
int sprintf_func(char *str, setting_t func)
|
||||
{
|
||||
int i, len = 0;
|
||||
uint64_t i, len = 0;
|
||||
|
||||
*str = '\0';
|
||||
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
|
||||
#include <hamlib/rig.h>
|
||||
|
||||
#include "misc.h"
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
@ -401,7 +403,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
if (retcode == RIG_OK)
|
||||
{
|
||||
printf("rig_get_mode: mode = %i \n", rmode);
|
||||
printf("rig_get_mode: mode = %"PRIll"\n", rmode);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -501,19 +501,28 @@ int g313_get_conf(RIG *rig, token_t token, char *val)
|
|||
static void g313_audio_callback(short* buffer, int count, void* arg)
|
||||
{
|
||||
struct g313_priv_data *priv = (struct g313_priv_data*)arg;
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-result"
|
||||
write(priv->audio_buf.fd, buffer, count*sizeof(short));
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
static void g313_if_callback(short* buffer, int count, void* arg)
|
||||
{
|
||||
struct g313_priv_data *priv = (struct g313_priv_data*)arg;
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-result"
|
||||
write(priv->if_buf.fd, buffer, count*sizeof(short));
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
static void g313_spectrum_callback(float* buffer, int count, void* arg)
|
||||
{
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wunused-result"
|
||||
struct g313_priv_data *priv = (struct g313_priv_data*)arg;
|
||||
write(priv->spectrum_buf.fd, buffer, count*sizeof(float));
|
||||
#pragma GCC diagnostic pop
|
||||
}
|
||||
|
||||
const struct rig_caps g313_caps =
|
||||
|
|
Ładowanie…
Reference in New Issue