[zaptel-commits] mattf: branch 1.2 r3988 - /branches/1.2/wctdm24xxp/

SVN commits to the Zaptel project zaptel-commits at lists.digium.com
Fri Mar 14 11:32:56 CDT 2008


Author: mattf
Date: Fri Mar 14 11:32:55 2008
New Revision: 3988

URL: http://svn.digium.com/view/zaptel?view=rev&rev=3988
Log:
Update wctdm24xxp's VPMADT032 firmware to version 1.16

Modified:
    branches/1.2/wctdm24xxp/GpakApi.c
    branches/1.2/wctdm24xxp/GpakApi.h
    branches/1.2/wctdm24xxp/VPMADT032.bin
    branches/1.2/wctdm24xxp/base.c
    branches/1.2/wctdm24xxp/gpakErrs.h

Modified: branches/1.2/wctdm24xxp/GpakApi.c
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/GpakApi.c?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/GpakApi.c (original)
+++ branches/1.2/wctdm24xxp/GpakApi.c Fri Mar 14 11:32:55 2008
@@ -32,10 +32,9 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 
  */
-
+ 
 #include <linux/version.h>
 #include <asm/semaphore.h>
-
 #include "zaptel.h"
 
 #include "GpakHpi.h"
@@ -129,12 +128,10 @@
     DSP_ADDRESS IfBlockPntr; /* Interface Block pointer */
     DSP_WORD DspStatus;      /* DSP Status */
     DSP_WORD DspChannels;    /* number of DSP channels */
-    DSP_WORD  Temp[2];
-#if 0
     DSP_WORD DspConfs;       /* number of DSP conferences */
     DSP_ADDRESS PktBufrMem;  /* address of Packet Buffer */
+    DSP_WORD  Temp[2];
     unsigned short int i;    /* loop index / counter */
-#endif
 
     /* Read the pointer to the Interface Block. */
     gpakReadDspMemory(DspId, DSP_IFBLK_ADDRESS, 2, Temp);
@@ -563,7 +560,7 @@
                     ((pPortConfig->RxFrameSyncPolarity2 << 4) & 0x0010) |
                     ((pPortConfig->TxFrameSyncPolarity2 << 3) & 0x0008) |
                     ((pPortConfig->CompandingMode2 << 1) & 0x0006) |
-                    (pPortConfig->SerialWordSize1 & 0x0001));
+                    (pPortConfig->SerialWordSize2 & 0x0001));
 
     MsgBuffer[12] = (DSP_WORD)
                    (((pPortConfig->DxDelay3 << 11) & 0x0800) |
@@ -735,8 +732,16 @@
                          pChanConfig->EcanParametersB.EcanNumFirSegments;  
         MsgBuffer[34]  = (DSP_WORD)
                          pChanConfig->EcanParametersB.EcanFirSegmentLen;   
-
-        MsgLength = 70; // byte number == 35*2 
+        MsgBuffer[35]  = (DSP_WORD)
+                         pChanConfig->EcanParametersA.EcanTandemOperationEnable;  
+        MsgBuffer[36]  = (DSP_WORD)
+                         pChanConfig->EcanParametersA.EcanMixedFourWireMode;   
+        MsgBuffer[37]  = (DSP_WORD)
+                         pChanConfig->EcanParametersB.EcanTandemOperationEnable;  
+        MsgBuffer[38]  = (DSP_WORD)
+                         pChanConfig->EcanParametersB.EcanMixedFourWireMode;   
+
+        MsgLength = 78; // byte number == 39*2 
         break;
 
 
@@ -892,32 +897,21 @@
     DSP_WORD TakeIndex;     /* event fifo take index */
     DSP_WORD WordsReady;    /* number words ready for read out of event fifo */
     DSP_WORD EventError;    /* flag indicating error with event fifo msg  */
-#if 0
     DSP_WORD *pDebugData;   /* debug data buffer pointer in event data struct */
-#endif
 
     /* Make sure the DSP Id is valid. */
-    if (DspId >= MAX_DSP_CORES) {
-#if 0
-	    printk("Invalid DSP\n");
-#endif
+    if (DspId >= MAX_DSP_CORES)
         return (RefInvalidDsp);
-    }
 
     /* Lock access to the DSP. */
     gpakLockAccess(DspId);
 
-#if 1
     /* Check if the DSP was reset and is ready. */
     if (CheckDspReset(DspId) == -1)
     {
         gpakUnlockAccess(DspId);
-#if 0
-	printk("CheckDspReset failed (DspId %d)\n", DspId);
-#endif
         return (RefDspCommFailure);
     }
-#endif
 
     /* Check if an event message is ready in the DSP. */
     EventInfoAddress = pEventFifoAddress[DspId];
@@ -958,9 +952,6 @@
             if (EventDataLength > WORD_BUFFER_SIZE)
             {
                 gpakUnlockAccess(DspId);
-#if 0
-		printk("EventDataLength > WORD_BUFFER_SIZE (%d)\n", EventDataLength);
-#endif
                 return (RefInvalidEvent);
             }
             ReadCircBuffer(DspId, BufrBaseAddress, BufrLastAddress, &TakeAddress,
@@ -973,18 +964,11 @@
             TakeIndex += EventDataLength;
             if (TakeIndex >= BufrSize)
                 TakeIndex -= BufrSize;
-            if (EventDataLength != 4) {
-#if 0
-		    printk("EventDataLength != 4 it's %d\n", EventDataLength);
-#endif
+            if (EventDataLength != 4)
                 EventError = 1;
-	    }
             break;
 
         default:
-#if 0
-	    printk("Event Code not in switch\n");
-#endif
             EventError = 1;
             break;
     };

Modified: branches/1.2/wctdm24xxp/GpakApi.h
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/GpakApi.h?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/GpakApi.h (original)
+++ branches/1.2/wctdm24xxp/GpakApi.h Fri Mar 14 11:32:55 2008
@@ -77,6 +77,9 @@
     short int EcanCrossCorrLimit;  // Echo Can Cross Correlation limit 
     short int EcanNumFirSegments;  // Echo Can Num FIR Segments 
     short int EcanFirSegmentLen;   // Echo Can FIR Segment Length 
+    short int EcanTandemOperationEnable;   //Enable tandem operation 
+    short int EcanMixedFourWireMode; 	// Handle possible 4-wire (echo-free) lines
+
 } GpakEcanParms_t;
 
 /* Definition of a Channel Configuration information structure. */

Modified: branches/1.2/wctdm24xxp/VPMADT032.bin
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/VPMADT032.bin?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
Binary files - no diff available.

Modified: branches/1.2/wctdm24xxp/base.c
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/base.c?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/base.c (original)
+++ branches/1.2/wctdm24xxp/base.c Fri Mar 14 11:32:55 2008
@@ -269,7 +269,7 @@
 static int vpmdtmfsupport = 0;
 #define VPM_DEFAULT_DTMFTHRESHOLD 1250
 static int dtmfthreshold = VPM_DEFAULT_DTMFTHRESHOLD;
-static int vpmnlptype = 1;
+static int vpmnlptype = 3;
 static int vpmnlpthresh = 24;
 static int vpmnlpmaxsupp = 0;
 #endif
@@ -2881,13 +2881,15 @@
 		chanconfig.EcanParametersA.EcanDblTalkThresh = 6;
 		chanconfig.EcanParametersA.EcanNlpThreshold = vpmnlpthresh;
 		chanconfig.EcanParametersA.EcanNlpConv = 0;
-		chanconfig.EcanParametersA.EcanNlpUnConv = 0;
+		chanconfig.EcanParametersA.EcanNlpUnConv = 12;
 		chanconfig.EcanParametersA.EcanNlpMaxSuppress = vpmnlpmaxsupp;
 		chanconfig.EcanParametersA.EcanCngThreshold = 43;
 		chanconfig.EcanParametersA.EcanAdaptLimit = 50;
 		chanconfig.EcanParametersA.EcanCrossCorrLimit = 15;
 		chanconfig.EcanParametersA.EcanNumFirSegments = 3;
 		chanconfig.EcanParametersA.EcanFirSegmentLen = 64;
+		chanconfig.EcanParametersA.EcanTandemOperationEnable = 1;
+		chanconfig.EcanParametersA.EcanMixedFourWireMode = 1;
 	
 		chanconfig.EcanParametersB.EcanTapLength = 1024;
 		chanconfig.EcanParametersB.EcanNlpType = vpmnlptype;
@@ -2896,13 +2898,15 @@
 		chanconfig.EcanParametersB.EcanDblTalkThresh = 6;
 		chanconfig.EcanParametersB.EcanNlpThreshold = vpmnlpthresh;
 		chanconfig.EcanParametersB.EcanNlpConv = 0;
-		chanconfig.EcanParametersB.EcanNlpUnConv = 0;
+		chanconfig.EcanParametersB.EcanNlpUnConv = 12;
 		chanconfig.EcanParametersB.EcanNlpMaxSuppress = vpmnlpmaxsupp;
 		chanconfig.EcanParametersB.EcanCngThreshold = 43;
 		chanconfig.EcanParametersB.EcanAdaptLimit = 50;
 		chanconfig.EcanParametersB.EcanCrossCorrLimit = 15;
 		chanconfig.EcanParametersB.EcanNumFirSegments = 3;
 		chanconfig.EcanParametersB.EcanFirSegmentLen = 64;
+		chanconfig.EcanParametersB.EcanTandemOperationEnable = 1;
+		chanconfig.EcanParametersB.EcanMixedFourWireMode = 1;
 	
 		if ((res = gpakConfigureChannel(vpm150m->dspid, i, tdmToTdm, &chanconfig, &cstatus))) {
 			printk("Unable to configure channel (%d)\n", res);

Modified: branches/1.2/wctdm24xxp/gpakErrs.h
URL: http://svn.digium.com/view/zaptel/branches/1.2/wctdm24xxp/gpakErrs.h?view=diff&rev=3988&r1=3987&r2=3988
==============================================================================
--- branches/1.2/wctdm24xxp/gpakErrs.h (original)
+++ branches/1.2/wctdm24xxp/gpakErrs.h Fri Mar 14 11:32:55 2008
@@ -99,7 +99,8 @@
 
 	Cc_InvalidMuteToneA = 51,        /* invalid MuteToneA set, no detector */
 	Cc_InvalidMuteToneB = 52,         /* invalid MuteToneB set, no detector */
-    Cc_InsuffFaxCngDetResources = 53     /* insufficient tdm block resources avail. */
+    Cc_InsuffFaxCngDetResources = 53,     /* insufficient tdm block resources avail. */
+	Cc_PortDmaNotStarted = 54,     /* SerialPort not ready  */
 
 } GPAK_ChannelConfigStat_t;
 




More information about the zaptel-commits mailing list