summaryrefslogtreecommitdiff
path: root/wcte12xp
diff options
context:
space:
mode:
Diffstat (limited to 'wcte12xp')
-rw-r--r--wcte12xp/base.c6
-rw-r--r--wcte12xp/vpmadt032.c16
2 files changed, 16 insertions, 6 deletions
diff --git a/wcte12xp/base.c b/wcte12xp/base.c
index 5c39da4..856bfa6 100644
--- a/wcte12xp/base.c
+++ b/wcte12xp/base.c
@@ -92,6 +92,9 @@ static int unchannelized = 0;
int vpmsupport = 1;
int vpmdtmfsupport = 0;
int vpmtsisupport = 0;
+int vpmnlptype = 1;
+int vpmnlpthresh = 24;
+int vpmnlpmaxsupp = 0;
#endif
struct t1 *ifaces[WC_MAX_IFACES];
@@ -2101,6 +2104,9 @@ MODULE_PARM(alarmdebounce, "i");
MODULE_PARM(vpmsupport, "i");
MODULE_PARM(vpmdtmfsupport, "i");
MODULE_PARM(vpmtsisupport, "i");
+MODULE_PARM(vpmnlptype, "i");
+MODULE_PARM(vpmnlpthresh, "i");
+MODULE_PARM(vpmnlpmaxsupp, "i");
#endif
#endif
diff --git a/wcte12xp/vpmadt032.c b/wcte12xp/vpmadt032.c
index 12adadc..3c2bfc6 100644
--- a/wcte12xp/vpmadt032.c
+++ b/wcte12xp/vpmadt032.c
@@ -42,6 +42,10 @@
extern struct t1 *ifaces[WC_MAX_IFACES];
+extern int vpmnlptype;
+extern int vpmnlpthresh;
+extern int vpmnlpmaxsupp;
+
#ifdef VPM_SUPPORT
inline void vpm150m_cmd_dequeue(struct t1 *wc, volatile unsigned char *writechunk, int whichframe)
@@ -1309,14 +1313,14 @@ int vpm150m_config_hw(struct t1 *wc)
chanconfig.FrameRate = rate10ms;
chanconfig.EcanParametersA.EcanTapLength = 1024;
- chanconfig.EcanParametersA.EcanNlpType = 1;
+ chanconfig.EcanParametersA.EcanNlpType = vpmnlptype;
chanconfig.EcanParametersA.EcanAdaptEnable = 1;
chanconfig.EcanParametersA.EcanG165DetEnable = 1;
chanconfig.EcanParametersA.EcanDblTalkThresh = 6;
- chanconfig.EcanParametersA.EcanNlpThreshold = 24;
+ chanconfig.EcanParametersA.EcanNlpThreshold = vpmnlpthresh;
chanconfig.EcanParametersA.EcanNlpConv = 0;
chanconfig.EcanParametersA.EcanNlpUnConv = 0;
- chanconfig.EcanParametersA.EcanNlpMaxSuppress = 0;
+ chanconfig.EcanParametersA.EcanNlpMaxSuppress = vpmnlpmaxsupp;
chanconfig.EcanParametersA.EcanCngThreshold = 43;
chanconfig.EcanParametersA.EcanAdaptLimit = 50;
chanconfig.EcanParametersA.EcanCrossCorrLimit = 15;
@@ -1324,14 +1328,14 @@ int vpm150m_config_hw(struct t1 *wc)
chanconfig.EcanParametersA.EcanFirSegmentLen = 64;
chanconfig.EcanParametersB.EcanTapLength = 1024;
- chanconfig.EcanParametersB.EcanNlpType = 1;
+ chanconfig.EcanParametersB.EcanNlpType = vpmnlptype;
chanconfig.EcanParametersB.EcanAdaptEnable = 1;
chanconfig.EcanParametersB.EcanG165DetEnable = 1;
chanconfig.EcanParametersB.EcanDblTalkThresh = 6;
- chanconfig.EcanParametersB.EcanNlpThreshold = 24;
+ chanconfig.EcanParametersB.EcanNlpThreshold = vpmnlpthresh;
chanconfig.EcanParametersB.EcanNlpConv = 0;
chanconfig.EcanParametersB.EcanNlpUnConv = 0;
- chanconfig.EcanParametersB.EcanNlpMaxSuppress = 0;
+ chanconfig.EcanParametersB.EcanNlpMaxSuppress = vpmnlpmaxsupp;
chanconfig.EcanParametersB.EcanCngThreshold = 43;
chanconfig.EcanParametersB.EcanAdaptLimit = 50;
chanconfig.EcanParametersB.EcanCrossCorrLimit = 15;