Home | History | Annotate | Line # | Download | only in include
      1  1.7  christos /*	$NetBSD: icom.h,v 1.7 2020/05/25 20:47:19 christos Exp $	*/
      2  1.1    kardel 
      3  1.1    kardel /*
      4  1.1    kardel  * Header file for ICOM radios
      5  1.1    kardel  */
      6  1.1    kardel #include "ntp_types.h"
      7  1.1    kardel 
      8  1.1    kardel /*
      9  1.1    kardel  * Common definitions
     10  1.1    kardel  */
     11  1.1    kardel #define P_ERMSG	0x1		/* trace bus error messages */
     12  1.1    kardel #define P_TRACE 0x2		/* trace CI-V messges */
     13  1.1    kardel #define RETRY	3		/* max packet retries */
     14  1.1    kardel #define IBAUD	B1200		/* autotune port speed */
     15  1.1    kardel 
     16  1.1    kardel /*
     17  1.1    kardel  * Radio identifier codes
     18  1.1    kardel  */
     19  1.1    kardel #define IC1271	0x24
     20  1.1    kardel #define IC1275	0x18
     21  1.1    kardel #define IC271	0x20
     22  1.1    kardel #define IC275	0x10
     23  1.1    kardel #define IC375	0x12
     24  1.1    kardel #define IC471	0x22
     25  1.1    kardel #define IC475	0x14
     26  1.1    kardel #define IC575	0x16
     27  1.1    kardel #define IC725	0x28
     28  1.1    kardel #define IC726	0x30
     29  1.1    kardel #define IC735	0x04
     30  1.1    kardel #define IC751	0x1c
     31  1.1    kardel #define IC761	0x1e
     32  1.1    kardel #define IC765	0x2c
     33  1.1    kardel #define IC775	0x46
     34  1.1    kardel #define IC781	0x26
     35  1.1    kardel #define IC970	0x2e
     36  1.1    kardel #define R7000	0x08
     37  1.1    kardel #define R71	0x1a
     38  1.1    kardel #define R7100	0x34
     39  1.1    kardel #define R72	0x32
     40  1.1    kardel #define R8500	0x4a
     41  1.1    kardel #define R9000	0x2a
     42  1.1    kardel 
     43  1.1    kardel /*
     44  1.1    kardel  * CI-V frame codes
     45  1.1    kardel  */
     46  1.1    kardel #define PR	0xfe		/* preamble */
     47  1.1    kardel #define TX	0xe0		/* controller address */
     48  1.1    kardel #define FI	0xfd		/* end of message */
     49  1.1    kardel #define ACK	0xfb		/* controller normal reply */
     50  1.1    kardel #define NAK	0xfa		/* controller error reply */
     51  1.1    kardel #define PAD	0xff		/* transmit padding */
     52  1.1    kardel 
     53  1.1    kardel /*
     54  1.1    kardel  * CI-V controller commands
     55  1.1    kardel  */
     56  1.1    kardel #define V_FREQT	0x00		/* freq set (transceive) */
     57  1.1    kardel #define V_MODET	0x01		/* set mode (transceive) */
     58  1.1    kardel #define V_RBAND	0x02		/* read band edge */
     59  1.1    kardel #define V_RFREQ	0x03		/* read frequency */
     60  1.1    kardel #define V_RMODE	0x04		/* read mode */
     61  1.1    kardel #define V_SFREQ	0x05		/* set frequency */
     62  1.1    kardel #define V_SMODE	0x06		/* set mode */
     63  1.1    kardel #define V_SVFO	0x07		/* select vfo */
     64  1.1    kardel #define V_SMEM	0x08		/* select channel/bank */
     65  1.1    kardel #define V_WRITE	0x09		/* write channel */
     66  1.1    kardel #define V_VFOM	0x0a		/* memory -> vfo */
     67  1.1    kardel #define V_CLEAR	0x0b		/* clear channel */
     68  1.1    kardel #define V_ROFFS	0x0c		/* read tx offset */
     69  1.1    kardel #define V_SOFFS	0x0d		/* write tx offset */
     70  1.1    kardel #define V_SCAN	0x0e		/* scan control */
     71  1.1    kardel #define V_SPLIT	0x0f		/* split control */
     72  1.1    kardel #define V_DIAL	0x10		/* set dial tuning step */
     73  1.1    kardel #define V_ATTEN	0x11		/* set attenuator */
     74  1.1    kardel #define V_SANT	0x12		/* select antenna */
     75  1.1    kardel #define V_ANNC	0x13		/* announce control */
     76  1.1    kardel #define V_WRCTL	0x14		/* write controls */
     77  1.1    kardel #define V_RDCTL	0x15		/* read controls */
     78  1.1    kardel #define V_TOGL	0x16		/* set switches */
     79  1.1    kardel #define V_ASCII	0x17		/* send CW message */
     80  1.1    kardel #define V_POWER	0x18		/* power control */
     81  1.1    kardel #define V_RDID	0x19		/* read model ID */
     82  1.1    kardel #define V_SETW	0x1a		/* read/write channel/bank data */
     83  1.1    kardel #define V_CTRL	0x7f		/* miscellaneous control */
     84  1.1    kardel 
     85  1.1    kardel /*
     86  1.1    kardel  * Function prototypes
     87  1.1    kardel  */
     88  1.2  christos int	icom_init		(const char *, int, int);
     89  1.1    kardel int	icom_freq		(int, int, double);
     90