Logo Search packages:      
Sourcecode: hamlib version File versions  Download package

icom_defs.h

/*
 *  Hamlib CI-V backend - defines for the ICOM "CI-V" interface.
 *  Copyright (c) 2000-2004 by Stephane Fillod
 *
 *          $Id: icom_defs.h,v 1.17 2004/09/07 21:54:20 fillods Exp $
 *
 *   This library is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU Library General Public License as
 *   published by the Free Software Foundation; either version 2 of
 *   the License, or (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU Library General Public License for more details.
 *
 *   You should have received a copy of the GNU Library General Public
 *   License along with this library; if not, write to the Free Software
 *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */

#ifndef _ICOM_DEFS_H
#define _ICOM_DEFS_H 1

/*
 *  CI-V frame codes
 */
#define PR        0xfe        /* Preamble code */
#define CTRLID    0xe0        /* Controllers's default address */
#define BCASTID   0x00        /* Broadcast address */
#define FI        0xfd        /* End of message code */
#define ACK       0xfb        /* OK code */
#define NAK       0xfa        /* NG code */
#define COL       0xfc        /* CI-V bus collision detected */
#define PAD       0xff        /* Transmit padding */

#define ACKFRMLEN 6           /* reply frame length */

#define S_NONE -1


/*
 * Arguments length in bytes
 */
#define CHAN_NB_LEN 2
#define BANK_NB_LEN 2
#define OFFS_LEN 3

/*
 * Cn controller commands
 * Notes:
 * 1. When wide or normal op available: add "00" for wide, "01" normal
 *      Normal or narrow op: add "00" for normal, "01" for narrow
 *      Wide, normal or narrow op: add "00" for wide, "01" normal, "02" narrow
 * 2. Memory channel number 1A=0100/1b=0101, 2A=0102/2b=0103,
 *      3A=0104/3b=0105, C1=0106, C2=0107
 */
#define C_SND_FREQ      0x00        /* Send frequency data */
#define C_SND_MODE      0x01        /* Send mode data, Sc */
#define C_RD_BAND 0x02        /* Read band edge frequencies */
#define C_RD_FREQ 0x03        /* Read display frequency */
#define C_RD_MODE 0x04        /* Read display mode */
#define C_SET_FREQ      0x05        /* Set frequency data(1) */
#define C_SET_MODE      0x06        /* Set mode data, Sc */
#define C_SET_VFO 0x07        /* Set VFO */
#define C_SET_MEM 0x08        /* Set channel, Sc(2) */
#define C_WR_MEM  0x09        /* Write memory */
#define C_MEM2VFO 0x0a        /* Memory to VFO */
#define C_CLR_MEM 0x0b        /* Memory clear */
#define C_RD_OFFS 0x0c        /* Read duplex offset frequency */
#define C_SET_OFFS      0x0d        /* Set duplex offset frequency */
#define C_CTL_SCAN      0x0e        /* Control scan, Sc */
#define C_CTL_SPLT      0x0f        /* Control split, Sc */
#define C_SET_TS  0x10        /* Set tuning step, Sc */
#define C_CTL_ATT 0x11        /* Set attenuator, Sc */
#define C_CTL_ANT 0x12        /* Set antenna, Sc */
#define C_CTL_ANN 0x13        /* Control announce (speech synth.), Sc */
#define C_CTL_LVL 0x14        /* Set AF/RF/squelch, Sc */
#define C_RD_SQSM 0x15        /* Read squelch condiction/S-meter level, Sc */
#define C_CTL_FUNC      0x16        /* Function settings (AGC,NB,etc.), Sc */
#define C_SND_CW  0x17        /* Send CW message */
#define C_SET_PWR 0x18        /* Set Power ON/OFF, Sc */
#define C_RD_TRXID      0x19        /* Read transceiver ID code */
#define C_CTL_MEM 0x1a        /* Misc memory/bank functions, Sc */
#define C_SET_TONE      0x1b        /* Set tone frequency */
#define C_CTL_PTT 0x1c        /* Control Transmit On/Off, Sc */
#define C_CTL_MISC      0x7f        /* Miscellaneous control, Sc */

/*
 * Sc controller sub commands
 */


/*
 * Set mode data (C_SET_MODE) sub commands
 */
#define S_LSB     0x00        /* Set to LSB */
#define S_USB     0x01        /* Set to USB */
#define S_AM      0x02        /* Set to AM */
#define S_CW      0x03        /* Set to CW */
#define S_RTTY    0x04        /* Set to RTTY */
#define S_FM      0x05        /* Set to FM */
#define S_WFM     0x06        /* Set to Wide FM */
#define S_CWR     0x07        /* Set to CW Reverse */
#define S_RTTYR   0x08        /* Set to RTTY Reverse */
#define S_AMS     0x11        /* Set to AMS */

#define S_R7000_SSB     0x05  /* Set to SSB on R-7000 */
#define PD_WIDE         0x01  /* Wide */
#define PD_MEDIUM 0x02  /* Medium */
#define PD_NARROW 0x03  /* Narrow */

/*
 * Set VFO (C_SET_VFO) sub commands
 */
#define S_VFOA    0x00        /* Set to VFO A */
#define S_VFOB    0x01        /* Set to VFO B */
#define S_BTOA    0xa0        /* VFO A=B */
#define S_XCHNG   0xb0        /* Switch VFO A and B */
#define S_SUBTOMAIN     0xb1        /* MAIN = SUB */
#define S_DUAL_OFF      0xc0        /* Dual watch off */
#define S_DUAL_ON 0xc1        /* Dual watch on */
#define S_MAIN    0xd0        /* Select MAIN band */
#define S_SUB     0xd1        /* Select SUB band */
#define S_FRONTWIN      0xe0        /* Select front window */

/*
 * Set MEM (C_SET_MEM) sub commands
 */
#define S_BANK    0xa0        /* Select memory bank */

/*
 * Scan control (C_CTL_SCAN) subcommands
 */
#define S_SCAN_STOP           0x00        /* Stop scan/window scan */
#define S_SCAN_START    0x01        /* Programmed/Memory scan */
#define S_SCAN_PROG           0x02        /* Programmed scan */
#define S_SCAN_DELTA    0x03        /* Delta-f scan */
#define S_SCAN_WRITE    0x04        /* auto memory-write scan */
#define S_SCAN_FPROG    0x12        /* Fine programmed scan */
#define S_SCAN_FDELTA   0x13        /* Fine delta-f scan */
#define S_SCAN_MEM2           0x22        /* Memory scan */
#define S_SCAN_SLCTN    0x23        /* Selected number memory scan */
#define S_SCAN_SLCTM    0x24        /* Selected mode memory scan */
#define S_SCAN_PRIO           0x42        /* Priority / window scan */
#define S_SCAN_NSLCT    0xB0        /* Set as non select channel */
#define S_SCAN_SLCT           0xB1        /* Set as select channel */
#define S_SCAN_RSMOFF   0xD0        /* Set scan resume OFF */
#define S_SCAN_RSMON    0xD3        /* Set scan resume ON */


/*
 * Split control (S_CTL_SPLT) subcommands
 */
#define S_SPLT_OFF      0x00        /* Split OFF */
#define S_SPLT_ON 0x01        /* Split ON */
#define S_DUP_OFF 0x10        /* Simplex mode */
#define S_DUP_M   0x11        /* Duplex - mode */
#define S_DUP_P         0x12        /* Duplex + mode */

/*
 * Set Attenuator (C_CTL_ATT) subcommands
 */
#define S_ATT_RD  0x00        /* Without subcommand, reads out setting */
#define S_ATT_OFF 0x00        /* Off */
#define S_ATT_6dB 0x06        /* 6 dB, IC-756Pro */
#define S_ATT_10dB      0x10        /* 10 dB */
#define S_ATT_12dB      0x12        /* 12 dB, IC-756Pro */
#define S_ATT_18dB      0x18        /* 18 dB, IC-756Pro */
#define S_ATT_20dB      0x20        /* 20 dB */
#define S_ATT_30dB      0x30        /* 30 dB, or Att on for IC-R75 */

/*
 * Set Preamp (S_FUNC_PAMP) data
 */
#define D_PAMP_OFF      0x00
#define D_PAMP1         0x01
#define D_PAMP2         0x02

/*
 * Set antenna (C_SET_ANT) subcommands
 */
#define S_ANT_RD  0x00        /* Without subcommand, reads out setting */
#define S_ANT1          0x00        /* Antenna 1 */
#define S_ANT2          0x01        /* Antenna 2 */

/*
 * Announce control (C_CTL_ANN) subcommands
 */
#define S_ANN_ALL 0x00        /* Announce all */
#define S_ANN_FREQ      0x01        /* Announce freq */
#define S_ANN_MODE  0x02        /* Announce operating mode */

/*
 * Function settings (C_CTL_LVL) subcommands
 */
#define S_LVL_AF        0x01        /* AF level setting */
#define S_LVL_RF        0x02        /* RF level setting */
#define S_LVL_SQL       0x03        /* SQL level setting */
#define S_LVL_IF        0x04        /* IF shift setting */
#define S_LVL_APF       0x05        /* APF level setting */
#define S_LVL_NR        0x06        /* NR level setting */
#define S_LVL_PBTIN           0x07        /* Twin PBT setting (inside) */
#define S_LVL_PBTOUT    0x08        /* Twin PBT setting (outside) */
#define S_LVL_CWPITCH   0x09        /* CW pitch setting */
#define S_LVL_RFPOWER   0x0a        /* RF power setting */
#define S_LVL_MICGAIN   0x0b        /* MIC gain setting */
#define S_LVL_KEYSPD    0x0c        /* Key Speed setting */
#define S_LVL_NOTCHF    0x0d        /* Notch freq. setting */
#define S_LVL_COMP            0x0e        /* Compressor level setting */
#define S_LVL_BKINDL    0x0f        /* BKin delay setting */
#define S_LVL_BALANCE   0x10        /* Balance setting (Dual watch) */

/*
 * Read squelch condition/S-meter level (C_RD_SQSM) subcommands
 */
#define S_SQL     0x01        /* Read squelch condition */
#define S_SML     0x02        /* Read S-meter level */

/*
 * Function settings (C_CTL_FUNC) subcommands
 */
#define S_FUNC_PAMP     0x02        /* Preamp setting */
#define S_FUNC_AGCOFF   0x10        /* IC-R8500 only */
#define S_FUNC_AGCON    0x11        /* IC-R8500 only */
#define S_FUNC_AGC      0x12        /* AGC setting */
#define S_FUNC_NBOFF    0x20        /* IC-R8500 only */
#define S_FUNC_NBON     0x21        /* IC-R8500 only */
#define S_FUNC_NB 0x22        /* NB setting */
#define S_FUNC_APFOFF   0x30        /* IC-R8500 only */
#define S_FUNC_APFON    0x31        /* IC-R8500 only */
#define S_FUNC_APF      0x32        /* APF setting */
#define S_FUNC_NR 0x40        /* NR setting */
#define S_FUNC_ANF      0x41        /* ANF setting */
#define S_FUNC_TONE     0x42        /* TONE setting */
#define S_FUNC_TSQL     0x43        /* TSQL setting */
#define S_FUNC_COMP     0x44        /* COMP setting */
#define S_FUNC_MON      0x45        /* Monitor setting */
#define S_FUNC_VOX      0x46        /* VOX setting */
#define S_FUNC_BKIN     0x47        /* BK-IN setting */
#define S_FUNC_MN 0x48        /* Manual notch setting */
#define S_FUNC_RNF      0x49        /* RTTY Filter Notch setting */
#define S_FUNC_AFC  0x4A        /* Auto Frequency Control (AFC) setting */

/*
 * Transceiver ID (C_RD_TRXID) subcommands
 */
#define S_TRXID   0x00        /* Read transceiver ID code */

/*
 * Set Power On/Off (C_SET_PWR) subcommands
 */
#define S_PWR_OFF 0x00
#define S_PWR_ON  0x01

/*
 * Transmit control (C_CTL_PTT) subcommands
 */
#define S_PTT     0x00

/*
 * Memory contents (C_CTL_MEM) subcommands
 */
#define S_MEM_CNTNT     0x00
#define S_MEM_CNTNT_SLCT      0x01
#define S_MEM_FILT_SLCT       0x01
#define S_MEM_MODE_SLCT       0x02
                                    /* For IC-910H rig. */
#define S_MEM_RDWR_MEM      0x00    /* Read/write memory channel */
#define S_MEM_SATMEM        0x01    /* Satellite memory */
#define S_MEM_VOXGAIN       0x02    /* VOX gain level (0=0%, 255=100%) */
#define S_MEM_VOXDELAY      0x03    /* VOX delay (0=0.0 sec, 20=2.0 sec) */
#define S_MEM_ANTIVOX       0x04    /* anti VOX setting */
#define S_MEM_ATTLEVEL      0x05    /* Attenuation level (0=0%, 255=100%) */
#define S_MEM_RIT           0x06    /* RIT (0=off, 1=on, 2=sub dial) */
#define S_MEM_SATMODE       0x07    /* Satellite mode (on/off) */
#define S_MEM_BANDSCOPE     0x08    /* Simple bandscope (on/off) */

/*
 * Tone control (C_SET_TONE) subcommands
 */
#define S_TONE_RPTR     0x00        /* Tone frequency setting for repeater user */
#define S_TONE_SQL      0x01        /* Tone frequency setting for squelch */

/*
 * C_RD_TRXID
 */
#define S_RD_TRXID 0x00

/*
 * C_CTL_MISC     OptoScan extension
 */
#define S_OPTO_LOCAL    0x01
#define S_OPTO_REMOTE   0x02
#define S_OPTO_TAPE_ON  0x03
#define S_OPTO_TAPE_OFF 0x04
#define S_OPTO_RDSTAT   0x05
#define S_OPTO_RDCTCSS  0x06
#define S_OPTO_RDDCS    0x07
#define S_OPTO_RDDTMF   0x08
#define S_OPTO_RDID     0x09
#define S_OPTO_SPKRON   0x0a
#define S_OPTO_SPKROFF  0x0b
#define S_OPTO_5KSCON   0x0c
#define S_OPTO_5KSCOFF  0x0d
#define S_OPTO_NXT            0x0e
#define S_OPTO_SCON     0x0f
#define S_OPTO_SCOFF    0x10

/*
 * C_CTL_MODE     Misc CI-V Mode settings
 */
#define S_PRM_BEEP            0x02
#define S_PRM_CWPITCH   0x10
#define S_PRM_LANG            0x15
#define S_PRM_BACKLT    0x21
#define S_PRM_SLEEP           0x32
#define S_PRM_SLPTM           0x33
#define S_PRM_TIME            0x27

#endif /* _ICOM_DEFS_H */

Generated by  Doxygen 1.6.0   Back to index