summaryrefslogtreecommitdiff
path: root/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c')
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c76
1 files changed, 52 insertions, 24 deletions
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
index 79801dc..a037aa5 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
@@ -23,9 +23,9 @@ You should have received a copy of the GNU General Public License
along with the OCT6100 GPL API; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-$Octasic_Release: OCT612xAPI-01.04.05 $
+$Octasic_Release: OCT612xAPI-01.04.06 $
-$Octasic_Revision: 524 $
+$Octasic_Revision: 526 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -8143,7 +8143,13 @@ UINT32 Oct6100ApiCheckVqeConfig(
( f_pVqeConfig->lDefaultErlDb != -3 ) &&
( f_pVqeConfig->lDefaultErlDb != -6 ) &&
( f_pVqeConfig->lDefaultErlDb != -9 ) &&
- ( f_pVqeConfig->lDefaultErlDb != -12 ) )
+ ( f_pVqeConfig->lDefaultErlDb != -12 ) &&
+ ( f_pVqeConfig->lDefaultErlDb != -15 ) &&
+ ( f_pVqeConfig->lDefaultErlDb != -18 ) &&
+ ( f_pVqeConfig->lDefaultErlDb != -21 ) &&
+ ( f_pVqeConfig->lDefaultErlDb != -24 ) &&
+ ( f_pVqeConfig->lDefaultErlDb != -27 ) &&
+ ( f_pVqeConfig->lDefaultErlDb != -30 ) )
return cOCT6100_ERR_CHANNEL_DEFAULT_ERL;
/* Validate the Default AEC ERL parameter.*/
@@ -12725,7 +12731,11 @@ UINT32 Oct6100ApiDisableChannelRecordingSer(
tPOCT6100_SHARED_INFO pSharedInfo;
tOCT6100_WRITE_PARAMS WriteParams;
tOCT6100_WRITE_SMEAR_PARAMS SmearParams;
- UINT32 ulResult;
+ tPOCT6100_API_CHANNEL pChanEntry;
+ UINT32 ulResult;
+ UINT32 ulTempData;
+ UINT32 ulBaseAddress;
+ UINT32 ulOffset;
pSharedInfo = f_pApiInstance->pSharedInfo;
@@ -12747,6 +12757,9 @@ UINT32 Oct6100ApiDisableChannelRecordingSer(
/* We let through even though this could already be disabled.. */
if ( pSharedInfo->DebugInfo.fRecordChanUp == TRUE )
{
+ /* Obtain a pointer to the new buffer's list entry. */
+ mOCT6100_GET_CHANNEL_ENTRY_PNT( pSharedInfo, pChanEntry, pSharedInfo->DebugInfo.usRecordChanIndex );
+
/*------------------------------------------------------------------------------*/
/* Deactivate the ECHO control memory entry.*/
@@ -12769,13 +12782,17 @@ UINT32 Oct6100ApiDisableChannelRecordingSer(
/*------------------------------------------------------------------------------*/
/* Clear the VQE memory. */
-
- SmearParams.ulWriteAddress = cOCT6100_CHANNEL_ROOT_BASE + ( pSharedInfo->DebugInfo.usRecordChanIndex * cOCT6100_CHANNEL_ROOT_SIZE ) + pSharedInfo->MemoryMap.ulChanRootConfOfst + 0x20;
- SmearParams.usWriteData = 0x0000;
- SmearParams.ulWriteLength = 2;
-
- mOCT6100_DRIVER_WRITE_SMEAR_API( SmearParams, ulResult );
- if ( ulResult != cOCT6100_ERR_OK )
+
+ ulBaseAddress = cOCT6100_CHANNEL_ROOT_BASE + ( pSharedInfo->DebugInfo.usRecordChanIndex * cOCT6100_CHANNEL_ROOT_SIZE ) + pSharedInfo->MemoryMap.ulChanRootConfOfst + 0x20;
+ ulTempData = 0x0000;
+
+ /* Save the new DWORD where the field is located.*/
+ mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance,
+ pChanEntry,
+ ulBaseAddress,
+ ulTempData,
+ ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
return ulResult;
/*------------------------------------------------------------------------------*/
@@ -12783,12 +12800,16 @@ UINT32 Oct6100ApiDisableChannelRecordingSer(
/*------------------------------------------------------------------------------*/
/* Clear the NLP memory. */
- SmearParams.ulWriteAddress = cOCT6100_CHANNEL_ROOT_BASE + ( pSharedInfo->DebugInfo.usRecordChanIndex * cOCT6100_CHANNEL_ROOT_SIZE ) + pSharedInfo->MemoryMap.ulChanRootConfOfst + 0x28;
- SmearParams.usWriteData = 0x0000;
- SmearParams.ulWriteLength = 2;
-
- mOCT6100_DRIVER_WRITE_SMEAR_API( SmearParams, ulResult );
- if ( ulResult != cOCT6100_ERR_OK )
+ ulBaseAddress = cOCT6100_CHANNEL_ROOT_BASE + ( pSharedInfo->DebugInfo.usRecordChanIndex * cOCT6100_CHANNEL_ROOT_SIZE ) + pSharedInfo->MemoryMap.ulChanRootConfOfst + 0x28;
+ ulTempData = 0x0000;
+
+ /* Save the new DWORD where the field is located.*/
+ mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance,
+ pChanEntry,
+ ulBaseAddress,
+ ulTempData,
+ ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
return ulResult;
/*------------------------------------------------------------------------------*/
@@ -12796,13 +12817,20 @@ UINT32 Oct6100ApiDisableChannelRecordingSer(
/*------------------------------------------------------------------------------*/
/* Clear the AF information memory. */
- SmearParams.ulWriteAddress = pSharedInfo->MemoryMap.ulChanMainMemBase + ( pSharedInfo->DebugInfo.usRecordChanIndex * f_pApiInstance->pSharedInfo->MemoryMap.ulChanMainMemSize ) + f_pApiInstance->pSharedInfo->MemoryMap.ulChanMainIoMemOfst;
- SmearParams.usWriteData = 0x0000;
- SmearParams.ulWriteLength = 12;
-
- mOCT6100_DRIVER_WRITE_SMEAR_API( SmearParams, ulResult );
- if ( ulResult != cOCT6100_ERR_OK )
- return ulResult;
+ ulBaseAddress = pSharedInfo->MemoryMap.ulChanMainMemBase + ( pSharedInfo->DebugInfo.usRecordChanIndex * f_pApiInstance->pSharedInfo->MemoryMap.ulChanMainMemSize ) + f_pApiInstance->pSharedInfo->MemoryMap.ulChanMainIoMemOfst;
+ ulTempData = 0x0000;
+
+ for(ulOffset=0; ulOffset<=0x14; ulOffset+=4)
+ {
+ /* Save the new DWORD where the field is located.*/
+ mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance,
+ pChanEntry,
+ ulBaseAddress + ulOffset,
+ ulTempData,
+ ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
/*------------------------------------------------------------------------------*/