summaryrefslogtreecommitdiff
path: root/main/tdd.c
diff options
context:
space:
mode:
authorTilghman Lesher <tilghman@meg.abyt.es>2008-07-21 20:59:03 +0000
committerTilghman Lesher <tilghman@meg.abyt.es>2008-07-21 20:59:03 +0000
commit0ecc7e302d2578f25c757c6fe5ae582816c97ea0 (patch)
treef99dbf0794b599bc588c4e06a937f22371480a6c /main/tdd.c
parent16374ad40df69a01b55482cd45f5289511a49016 (diff)
Optionally build integer-based routines for FSK tone decoding (but default
to the more accurate float-based routines). (Closes issue #11679) (Step 1 of 2) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@132510 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/tdd.c')
-rw-r--r--main/tdd.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/main/tdd.c b/main/tdd.c
index e07d5b0d1..8cbe18837 100644
--- a/main/tdd.c
+++ b/main/tdd.c
@@ -99,6 +99,7 @@ struct tdd_state *tdd_new(void)
struct tdd_state *tdd;
tdd = calloc(1, sizeof(*tdd));
if (tdd) {
+#ifdef INTEGER_CALLERID
tdd->fskd.ispb = 176; /* 45.5 baud */
/* Set up for 45.5 / 8000 freq *32 to allow ints */
tdd->fskd.pllispb = (int)((8000 * 32 * 2) / 90);
@@ -115,8 +116,24 @@ struct tdd_state *tdd_new(void)
tdd->fskd.state = 0;
tdd->pos = 0;
tdd->mode = 0;
- tdd->charnum = 0;
fskmodem_init(&tdd->fskd);
+#else
+ tdd->fskd.spb = 176; /* 45.5 baud */
+ tdd->fskd.hdlc = 0; /* Async */
+ tdd->fskd.nbit = 5; /* 5 bits */
+ tdd->fskd.nstop = 1.5; /* 1.5 stop bits */
+ tdd->fskd.parity = 0; /* No parity */
+ tdd->fskd.bw=0; /* Filter 75 Hz */
+ tdd->fskd.f_mark_idx = 0; /* 1400 Hz */
+ tdd->fskd.f_space_idx = 1; /* 1800 Hz */
+ tdd->fskd.pcola = 0; /* No clue */
+ tdd->fskd.cont = 0; /* Digital PLL reset */
+ tdd->fskd.x0 = 0.0;
+ tdd->fskd.state = 0;
+ tdd->pos = 0;
+ tdd->mode = 2;
+#endif
+ tdd->charnum = 0;
} else
ast_log(LOG_WARNING, "Out of memory\n");
return tdd;