• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/hamradio/

Lines Matching refs:modem

4  *	baycom_ser_fdx.c  -- baycom ser12 fullduplex radio modem driver.
29 * ser12: This is a very simple 1200 baud AFSK modem. The modem consists only
32 * for handling the HDLC protocol. The modem connects to a serial port,
37 * This modem usually draws its supply current out of the otherwise unused
41 * hsk: This is a 4800 baud FSK modem, designed for TNC use. It works fine
42 * in 'baycom-mode' :-) In contrast to the TCM3105 modem, power is
143 } modem;
192 * 0 must be used to power the modem; the modem draws its
216 timediff = 1000000 + tv->tv_usec - bc->modem.ser12.pll_time;
221 bc->modem.ser12.pll_time += bc->baud_us;
222 bc->modem.ser12.dcd_time--;
224 if (bc->modem.shreg & 1) {
225 hdlcdrv_putbits(&bc->hdrv, (bc->modem.shreg >> 1) ^ 0xffff);
226 bc->modem.shreg = 0x10000;
229 bc->modem.shreg >>= 1;
231 if (bc->modem.ser12.dcd_time <= 0) {
233 hdlcdrv_setdcd(&bc->hdrv, (bc->modem.ser12.dcd_sum0 +
234 bc->modem.ser12.dcd_sum1 +
235 bc->modem.ser12.dcd_sum2) < 0);
236 bc->modem.ser12.dcd_sum2 = bc->modem.ser12.dcd_sum1;
237 bc->modem.ser12.dcd_sum1 = bc->modem.ser12.dcd_sum0;
238 bc->modem.ser12.dcd_sum0 = 2; /* slight bias */
239 bc->modem.ser12.dcd_time += 120;
241 if (bc->modem.ser12.last_rxbit != curs) {
242 bc->modem.ser12.last_rxbit = curs;
243 bc->modem.shreg |= 0x10000;
246 bc->modem.ser12.pll_time += bdus8;
248 bc->modem.ser12.pll_time += 1000000 - bdus8;
251 bc->modem.ser12.dcd_sum0 += 4;
253 bc->modem.ser12.dcd_sum0--;
258 while (bc->modem.ser12.pll_time >= 1000000)
259 bc->modem.ser12.pll_time -= 1000000;
296 * 0 must be used to power the modem; the modem draws its
306 if (bc->modem.ptt)
307 outb(0x0e | (!!bc->modem.ser12.tx_bit), MCR(dev->base_addr));
322 if (bc->modem.ptt && txcount) {
323 if (bc->modem.ser12.txshreg <= 1) {
324 bc->modem.ser12.txshreg = 0x10000 | hdlcdrv_getbits(&bc->hdrv);
327 bc->modem.ptt = 0;
331 bc->modem.ser12.tx_bit = !(bc->modem.ser12.tx_bit ^ (bc->modem.ser12.txshreg & 1));
332 bc->modem.ser12.txshreg >>= 1;
336 if (!bc->modem.ptt && txcount) {
340 bc->modem.ser12.txshreg = 1;
341 bc->modem.ptt = 1;
415 memset(&bc->modem, 0, sizeof(bc->modem));
440 * enable transmitter empty interrupt and modem status interrupt
445 * 0 must be used to power the modem; the modem draws its
601 MODULE_DESCRIPTION("Baycom ser12 full duplex amateur radio modem driver");