Lines Matching defs:ser12
5 * baycom_ser_fdx.c -- baycom ser12 fullduplex radio modem driver.
15 * ser12: This is a very simple 1200 baud AFSK modem. The modem consists only
37 * '#' denotes the baud rate / 100, eg. ser12* is '1200 baud, soft DCD'
46 * 0.4 08.07.1997 alternative ser12 decoding algorithm (uses delta CTS ints)
47 * 0.5 11.11.1997 ser12/par96 split into separate files
129 } ser12;
199 bc->modem.ser12.pll_time;
204 bc->modem.ser12.pll_time += bc->baud_us;
205 bc->modem.ser12.dcd_time--;
214 if (bc->modem.ser12.dcd_time <= 0) {
216 hdlcdrv_setdcd(&bc->hdrv, (bc->modem.ser12.dcd_sum0 +
217 bc->modem.ser12.dcd_sum1 +
218 bc->modem.ser12.dcd_sum2) < 0);
219 bc->modem.ser12.dcd_sum2 = bc->modem.ser12.dcd_sum1;
220 bc->modem.ser12.dcd_sum1 = bc->modem.ser12.dcd_sum0;
221 bc->modem.ser12.dcd_sum0 = 2; /* slight bias */
222 bc->modem.ser12.dcd_time += 120;
224 if (bc->modem.ser12.last_rxbit != curs) {
225 bc->modem.ser12.last_rxbit = curs;
229 bc->modem.ser12.pll_time += bdus8;
231 bc->modem.ser12.pll_time += 1000000 - bdus8;
234 bc->modem.ser12.dcd_sum0 += 4;
236 bc->modem.ser12.dcd_sum0--;
241 while (bc->modem.ser12.pll_time >= 1000000)
242 bc->modem.ser12.pll_time -= 1000000;
290 outb(0x0e | (!!bc->modem.ser12.tx_bit), MCR(dev->base_addr));
306 if (bc->modem.ser12.txshreg <= 1) {
307 bc->modem.ser12.txshreg = 0x10000 | hdlcdrv_getbits(&bc->hdrv);
314 bc->modem.ser12.tx_bit = !(bc->modem.ser12.tx_bit ^ (bc->modem.ser12.txshreg & 1));
315 bc->modem.ser12.txshreg >>= 1;
323 bc->modem.ser12.txshreg = 1;
533 strcpy(hi->data.modename, "ser12,ser3,ser24");
569 static char *mode[NR_PORTS] = { "ser12*", };
584 MODULE_DESCRIPTION("Baycom ser12 full duplex amateur radio modem driver");
652 * '#' denotes the baud rate / 100, eg. ser12* is '1200 baud, soft DCD'