kopia lustrzana https://github.com/Hamlib/Hamlib
converting ft847 to table driven, similar to ft747.
git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@296 7ae35d74-ebe9-4afe-98af-79ac388436b8Hamlib-1.1.0
rodzic
52a9a4d535
commit
c3711a55ef
|
@ -6,7 +6,7 @@
|
|||
* via serial interface to an FT-847 using the "CAT" interface.
|
||||
*
|
||||
*
|
||||
* $Id: ft847.c,v 1.24 2000-10-16 22:27:12 f4cfe Exp $
|
||||
* $Id: ft847.c,v 1.25 2000-12-17 22:14:18 javabear Exp $
|
||||
*
|
||||
*
|
||||
*
|
||||
|
@ -26,6 +26,13 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* TODO - Remove static stuff, see ft747 for new style.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h> /* Standard input/output definitions */
|
||||
#include <string.h> /* String function definitions */
|
||||
|
@ -41,7 +48,62 @@
|
|||
#include "ft847.h"
|
||||
|
||||
/* prototypes */
|
||||
int ft847_set_freq_main_vfo_hz(RIG *rig, freq_t freq, rmode_t mode);
|
||||
|
||||
|
||||
/* Native ft847 cmd set prototypes. These are READ ONLY as each */
|
||||
/* rig instance will copy from these and modify if required . */
|
||||
/* Complete sequences (1) can be read and used directly as a cmd sequence . */
|
||||
/* Incomplete sequences (0) must be completed with extra parameters */
|
||||
/* eg: mem number, or freq etc.. */
|
||||
|
||||
static const ft847_cmd_set_t ncmd[] = {
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x00 } }, /* CAT = On */
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x80 } }, /* CAT = Off */
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x08 } }, /* ptt on */
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x01, 0x88 } }, /* ptt off */
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x4e } }, /* sat mode on */
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x8e } }, /* sat mode off */
|
||||
|
||||
{ 0, { 0x00, 0x00, 0x00, 0x00, 0x01 } }, /* set freq main */
|
||||
{ 0, { 0x00, 0x00, 0x00, 0x00, 0x11 } }, /* set freq sat rx */
|
||||
{ 0, { 0x00, 0x00, 0x00, 0x00, 0x21 } }, /* set freq sat tx */
|
||||
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main LSB */
|
||||
{ 1, { 0x01, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main USB */
|
||||
{ 1, { 0x02, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main CW */
|
||||
{ 1, { 0x03, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main CWR */
|
||||
{ 1, { 0x04, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main AM */
|
||||
{ 1, { 0x08, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main FM */
|
||||
{ 1, { 0x82, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main CWN */
|
||||
{ 1, { 0x83, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main CWRN */
|
||||
{ 1, { 0x84, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main AMN */
|
||||
{ 1, { 0x88, 0x00, 0x00, 0x00, 0x07 } }, /* mode set main FMN */
|
||||
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx LSB */
|
||||
{ 1, { 0x01, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx USB */
|
||||
{ 1, { 0x02, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx CW */
|
||||
{ 1, { 0x03, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx CWR */
|
||||
{ 1, { 0x04, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx AM */
|
||||
{ 1, { 0x08, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx FM */
|
||||
{ 1, { 0x82, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx CWN */
|
||||
{ 1, { 0x83, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx CWRN */
|
||||
{ 1, { 0x84, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx AMN */
|
||||
{ 1, { 0x88, 0x00, 0x00, 0x00, 0x17 } }, /* mode set sat rx FMN */
|
||||
|
||||
{ 1, { 0x00, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx LSB */
|
||||
{ 1, { 0x01, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx USB */
|
||||
{ 1, { 0x02, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx CW */
|
||||
{ 1, { 0x03, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx CWR */
|
||||
{ 1, { 0x04, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx AM */
|
||||
{ 1, { 0x08, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx FM */
|
||||
{ 1, { 0x82, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx CWN */
|
||||
{ 1, { 0x83, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx CWRN */
|
||||
{ 1, { 0x84, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx AMN */
|
||||
{ 1, { 0x88, 0x00, 0x00, 0x00, 0x27 } }, /* mode set sat tx FMN */
|
||||
|
||||
/* TODO - Add missing elements */
|
||||
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
|
@ -144,13 +206,6 @@ const struct rig_caps ft847_caps = {
|
|||
NULL,
|
||||
};
|
||||
|
||||
/*
|
||||
* Init some private data
|
||||
*/
|
||||
|
||||
static const struct ft847_priv_data ft847_priv = { 847 }; /* dummy atm */
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Function definitions below
|
||||
|
@ -172,15 +227,11 @@ int ft847_init(RIG *rig) {
|
|||
/* whoops! memory shortage! */
|
||||
return -RIG_ENOMEM;
|
||||
}
|
||||
|
||||
/* init the priv_data from static struct
|
||||
* + override with rig-specific preferences
|
||||
*/
|
||||
*p = ft847_priv;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
rig->state.priv = (void*)p;
|
||||
|
||||
|
||||
|
||||
return RIG_OK;
|
||||
}
|
||||
|
|
134
ft847/ft847.h
134
ft847/ft847.h
|
@ -6,7 +6,7 @@
|
|||
* via serial interface to an FT-847 using the "CAT" interface.
|
||||
*
|
||||
*
|
||||
* $Id: ft847.h,v 1.16 2000-10-09 01:17:19 javabear Exp $
|
||||
* $Id: ft847.h,v 1.17 2000-12-17 22:14:19 javabear Exp $
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
|
@ -44,12 +44,140 @@
|
|||
|
||||
|
||||
/*
|
||||
* future - private data
|
||||
* Native FT847 functions. This is what I have to work with :-)
|
||||
*
|
||||
*/
|
||||
|
||||
enum ft847_native_cmd_e {
|
||||
|
||||
/* Set commands to the rig */
|
||||
|
||||
FT_847_NATIVE_CAT_ON = 0,
|
||||
FT_847_NATIVE_CAT_OFF,
|
||||
|
||||
FT_847_NATIVE_CAT_PTT_ON,
|
||||
FT_847_NATIVE_CAT_PTT_OFF,
|
||||
|
||||
FT_847_NATIVE_CAT_SAT_MODE_ON,
|
||||
FT_847_NATIVE_CAT_SAT_MODE_OFF,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_FREQ_MAIN,
|
||||
FT_847_NATIVE_CAT_SET_FREQ_SAT_RX_VFO,
|
||||
FT_847_NATIVE_CAT_SET_FREQ_SAT_TX_VFO,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_LSB, /* MAIN VFO */
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_USB,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_CW,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_CWR,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_AM,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_FM,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_CWN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_CWRN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_AMN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_MAIN_FMN,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_LSB, /* SAT RX VFO */
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_USB,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_CW,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_CWR,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_AM,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_FM,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_CWN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_CWRN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_AMN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_RX_FMN,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_LSB, /* SAT TX VFO */
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_USB,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_CW,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_CWR,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_AM,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_FM,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_CWN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_CWRN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_AMN,
|
||||
FT_847_NATIVE_CAT_SET_MODE_SAT_TX_FMN,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_DCS_ON_MAIN, /* MAIN CTCSS/DCS */
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_ENC_DEC_ON_MAIN,
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_ENC_ON_MAIN,
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_DCS_OFF_MAIN,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_DCS_ON_SAT_RX, /* SAT RX CTCSS/DCS */
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_ENC_DEC_ON_SAT_RX,
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_ENC_ON_SAT_RX,
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_DCS_OFF_SAT_RX,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_DCS_ON_SAT_TX, /* SAT TX CTCSS/DCS */
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_ENC_DEC_ON_SAT_TX,
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_ENC_ON_SAT_TX,
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_DCS_OFF_SAT_TX,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_FREQ_MAIN, /* CTCSS Freq */
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_FREQ_SAT_RX,
|
||||
FT_847_NATIVE_CAT_SET_CTCSS_FREQ_SAT_TX,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_DCS_CODE_MAIN, /* DCS code */
|
||||
FT_847_NATIVE_CAT_SET_DCS_CODE_SAT_RX,
|
||||
FT_847_NATIVE_CAT_SET_DCS_CODE_SAT_TX,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_RPT_SHIFT_MINUS, /* RPT SHIFT */
|
||||
FT_847_NATIVE_CAT_SET_RPT_SHIFT_PLUS,
|
||||
FT_847_NATIVE_CAT_SET_RPT_SHIFT_SIMPLEX,
|
||||
|
||||
FT_847_NATIVE_CAT_SET_RPT_OFFSET, /* RPT Offset frequency */
|
||||
|
||||
/* Get info from the rig */
|
||||
|
||||
FT_847_NATIVE_CAT_GET_RX_STATUS,
|
||||
FT_847_NATIVE_CAT_GET_TX_STATUS,
|
||||
|
||||
FT_847_NATIVE_CAT_GET_FREQ_MODE_STATUS_MAIN,
|
||||
FT_847_NATIVE_CAT_GET_FREQ_MODE_STATUS_SAT_RX,
|
||||
FT_847_NATIVE_CAT_GET_FREQ_MODE_STATUS_SAT_TX,
|
||||
|
||||
FT_847_NATIVE_SIZE /* end marker, value indicates number of */
|
||||
/* native cmd entries */
|
||||
|
||||
};
|
||||
|
||||
typedef enum ft847_native_cmd_e ft847_native_cmd_t;
|
||||
|
||||
|
||||
/*
|
||||
* TODO -- Move this to common yaesu.h file -- FS
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Basic Data structure for FT847 native cmd set
|
||||
*/
|
||||
|
||||
|
||||
|
||||
struct ft847_cmd_set {
|
||||
unsigned char ncomp; /* 1 = complete, 0 = incomplete, needs extra info */
|
||||
unsigned char nseq[5]; /* native cmd sequence */
|
||||
};
|
||||
|
||||
typedef struct ft847_cmd_set ft847_cmd_set_t;
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* ft847 instance - private data
|
||||
*
|
||||
*/
|
||||
|
||||
struct ft847_priv_data {
|
||||
int dummy; /* for test */
|
||||
unsigned char current_vfo; /* active VFO from last cmd , can be either RIG_VFO_A, SAT_RX, SAT_TX */
|
||||
ft847_cmd_set_t pcs[FT_847_NATIVE_SIZE]; /* private cmd set */
|
||||
unsigned char tx_status; /* tx returned data */
|
||||
unsigned char rx_status; /* rx returned data */
|
||||
unsigned char fm_status_main; /* freq and mode ,returned data */
|
||||
unsigned char fm_status_satrx; /* freq and mode ,returned data */
|
||||
unsigned char fm_status_sattx; /* freq and mode ,returned data */
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue