hc
2024-11-01 2f529f9b558ca1c1bd74be7437a84e4711743404
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*****************************************************************************/
 
/*
 *    yam.h  -- YAM radio modem driver.
 *
 *    Copyright (C) 1998 Frederic Rible F1OAT (frible@teaser.fr)
 *    Adapted from baycom.c driver written by Thomas Sailer (sailer@ife.ee.ethz.ch)
 *
 *  Please note that the GPL allows you to use the driver, NOT the radio.
 *  In order to use the radio, you need a license from the communications
 *  authority of your country.
 */
 
/*****************************************************************************/
 
#define SIOCYAMRESERVED    (0)
#define SIOCYAMSCFG     (1)    /* Set configuration */
#define SIOCYAMGCFG     (2)    /* Get configuration */
#define SIOCYAMSMCS     (3)    /* Set mcs data */
 
#define YAM_IOBASE   (1 << 0)
#define YAM_IRQ      (1 << 1)
#define YAM_BITRATE  (1 << 2) /* Bit rate of radio port ->57600 */
#define YAM_MODE     (1 << 3) /* 0=simplex 1=duplex 2=duplex+tempo */
#define YAM_HOLDDLY  (1 << 4) /* duplex tempo (sec) */
#define YAM_TXDELAY  (1 << 5) /* Tx Delay (ms) */
#define YAM_TXTAIL   (1 << 6) /* Tx Tail  (ms) */
#define YAM_PERSIST  (1 << 7) /* Persist  (ms) */
#define YAM_SLOTTIME (1 << 8) /* Slottime (ms) */
#define YAM_BAUDRATE (1 << 9) /* Baud rate of rs232 port ->115200 */
 
#define YAM_MAXBITRATE  57600
#define YAM_MAXBAUDRATE 115200
#define YAM_MAXMODE     2
#define YAM_MAXHOLDDLY  99
#define YAM_MAXTXDELAY  999
#define YAM_MAXTXTAIL   999
#define YAM_MAXPERSIST  255
#define YAM_MAXSLOTTIME 999
 
#define YAM_FPGA_SIZE    5302
 
struct yamcfg {
   unsigned int mask;        /* Mask of commands */
   unsigned int iobase;    /* IO Base of COM port */
   unsigned int irq;        /* IRQ of COM port */
   unsigned int bitrate;    /* Bit rate of radio port */
   unsigned int baudrate;    /* Baud rate of the RS232 port */
   unsigned int txdelay;    /* TxDelay */
   unsigned int txtail;    /* TxTail */
   unsigned int persist;    /* Persistence */
   unsigned int slottime;    /* Slottime */
   unsigned int mode;        /* mode 0 (simp), 1(Dupl), 2(Dupl+delay) */
   unsigned int holddly;    /* PTT delay in FullDuplex 2 mode */
};
 
struct yamdrv_ioctl_cfg {
   int cmd;
   struct yamcfg cfg;
};
 
struct yamdrv_ioctl_mcs {
   int cmd;
   unsigned int bitrate;
   unsigned char bits[YAM_FPGA_SIZE];
};