From 0ade252776e951a78e836ad3f4b126934c637bc1 Mon Sep 17 00:00:00 2001 From: mattf Date: Wed, 19 Mar 2008 19:58:37 +0000 Subject: Add support for new VPMADT032 fw for the TE120 git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@4028 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- wcte12xp/GpakApi.c | 24 ++++++++++++++++-------- wcte12xp/GpakApi.h | 3 +++ wcte12xp/GpakErrs.h | 3 ++- wcte12xp/GpakHpi.h | 4 ++-- wcte12xp/VPMADT032.bin | Bin 60980 -> 61370 bytes wcte12xp/gpakenum.h | 5 +++-- 6 files changed, 26 insertions(+), 13 deletions(-) (limited to 'wcte12xp') diff --git a/wcte12xp/GpakApi.c b/wcte12xp/GpakApi.c index 43b844a..8582350 100644 --- a/wcte12xp/GpakApi.c +++ b/wcte12xp/GpakApi.c @@ -128,10 +128,10 @@ static int CheckDspReset( DSP_ADDRESS IfBlockPntr; /* Interface Block pointer */ DSP_WORD DspStatus; /* DSP Status */ DSP_WORD DspChannels; /* number of DSP channels */ - //DSP_WORD DspConfs; /* number of DSP conferences */ - //DSP_ADDRESS PktBufrMem; /* address of Packet Buffer */ + 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 */ + unsigned short int i; /* loop index / counter */ /* Read the pointer to the Interface Block. */ gpakReadDspMemory(DspId, DSP_IFBLK_ADDRESS, 2, Temp); @@ -560,7 +560,7 @@ gpakConfigPortStatus_t gpakConfigurePorts( ((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) | @@ -672,7 +672,7 @@ gpakConfigChanStatus_t gpakConfigureChannel( ((pChanConfig->SoftwareCompand & 3) << 2) | (pChanConfig->EcanEnableB << 1) | (pChanConfig->EcanEnableA & 1) - ); + ); MsgBuffer[7] = (DSP_WORD) pChanConfig->EcanParametersA.EcanTapLength; @@ -732,8 +732,16 @@ gpakConfigChanStatus_t gpakConfigureChannel( 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; @@ -889,7 +897,7 @@ gpakReadEventFIFOMessageStat_t gpakReadEventFIFOMessage( 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 */ - //DSP_WORD *pDebugData; /* debug data buffer pointer in event data struct */ + DSP_WORD *pDebugData; /* debug data buffer pointer in event data struct */ /* Make sure the DSP Id is valid. */ if (DspId >= MAX_DSP_CORES) diff --git a/wcte12xp/GpakApi.h b/wcte12xp/GpakApi.h index e676b32..bd50926 100644 --- a/wcte12xp/GpakApi.h +++ b/wcte12xp/GpakApi.h @@ -77,6 +77,9 @@ typedef struct 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. */ diff --git a/wcte12xp/GpakErrs.h b/wcte12xp/GpakErrs.h index 3413f97..3f0c8ae 100644 --- a/wcte12xp/GpakErrs.h +++ b/wcte12xp/GpakErrs.h @@ -99,7 +99,8 @@ typedef enum 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; diff --git a/wcte12xp/GpakHpi.h b/wcte12xp/GpakHpi.h index 790bb3c..49e4ef9 100644 --- a/wcte12xp/GpakHpi.h +++ b/wcte12xp/GpakHpi.h @@ -75,6 +75,6 @@ #define MSG_READ_DSP_MEMORY 49 /* read small section of DSP's memory */ #define MSG_READ_DSP_MEMORY_REPLY 50 /* read memory reply */ -#define MSG_ACCESSGPIO 51 -#define MSG_ACCESSGPIO_REPLY 52 +#define MSG_ACCESSGPIO 51 +#define MSG_ACCESSGPIO_REPLY 52 #endif /* prevent multiple inclusion */ diff --git a/wcte12xp/VPMADT032.bin b/wcte12xp/VPMADT032.bin index e882060..e578521 100644 Binary files a/wcte12xp/VPMADT032.bin and b/wcte12xp/VPMADT032.bin differ diff --git a/wcte12xp/gpakenum.h b/wcte12xp/gpakenum.h index ed14a1a..91e4311 100644 --- a/wcte12xp/gpakenum.h +++ b/wcte12xp/gpakenum.h @@ -114,7 +114,7 @@ typedef enum EnableMuLawSwCompanding = 6,// Enable Mu-law Software companding EnableALawSwCompanding = 7, // Enable Mu-law Software companding - BypassSwCompanding = 8, // Bypass Software companding + BypassSwCompanding = 8, // Bypass Software companding EnableDTMFMuteA = 9, // Mute A side Dtmf digit after tone detected DisableDTMFMuteA = 10, // Do not mute A side Dtmf digit once tone detected EnableDTMFMuteB = 11, // Mute B side Dtmf digit after tone detected @@ -174,7 +174,7 @@ typedef enum DtmfDigitPnd = 14, // DTMF Digit # DtmfDigitD = 15, // DTMF Digit D - FaxCngDigit = 90, // Fax Calling Tone (1100 Hz) + FaxCngDigit = 90, // Fax Calling Tone (1100 Hz) EndofMFDigit = 100, // End of MF digit EndofCngDigit = 101 // End of Cng Digit @@ -188,4 +188,5 @@ typedef enum GPIO_DIR = 2 } GpakGPIOCotrol_t; + #endif // end multiple inclusion -- cgit v1.2.3