summaryrefslogtreecommitdiff
path: root/software/octdeviceapi
diff options
context:
space:
mode:
Diffstat (limited to 'software/octdeviceapi')
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c402
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c63
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c12
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c35
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c7
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_channel_priv.h15
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_debug_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_events_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_memory_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_mixer_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_tlv_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_tsst_priv.h2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_version.h6
39 files changed, 494 insertions, 110 deletions
diff --git a/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h b/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h
index dc043ab..4bb46a5 100644
--- a/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 7 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c
index c27318f..1f92a34 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 16 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
index ef97dd8..b7dfb7a 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
-$Octasic_Revision: 521 $
+$Octasic_Revision: 523 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -1084,6 +1084,130 @@ UINT32 Oct6100ChannelUnMute(
return cOCT6100_ERR_OK;
}
+/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
+
+Function: Oct6100ApiEnableChannelRecording
+
+Description: Enable the recording channel
+
+-------------------------------------------------------------------------------
+| Argument | Description
+-------------------------------------------------------------------------------
+f_pApiInstance Pointer to API instance. This memory is used to keep the
+ present state of the chip and all its resources.
+
+f_pChannelRecord Pointer to a tOCT6100_ENABLE_CHANNEL_RECORDING structure.
+
+\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
+UINT32 Oct6100ApiEnableChannelRecordingDef(
+ IN OUT tPOCT6100_ENABLE_CHANNEL_RECORDING f_pChannelRecord )
+{
+ f_pChannelRecord->pulChannelHndlConflict = NULL;
+ return cOCT6100_ERR_OK;
+}
+
+UINT32 Oct6100ApiEnableChannelRecording(
+ IN tPOCT6100_INSTANCE_API f_pApiInstance,
+ IN OUT tPOCT6100_ENABLE_CHANNEL_RECORDING f_pChannelRecord )
+{
+ tOCT6100_SEIZE_SERIALIZE_OBJECT SeizeSerObj;
+ tOCT6100_RELEASE_SERIALIZE_OBJECT ReleaseSerObj;
+ UINT32 ulSerRes = cOCT6100_ERR_OK;
+ UINT32 ulFncRes = cOCT6100_ERR_OK;
+
+ /* Set the process context of the serialize structure.*/
+ SeizeSerObj.pProcessContext = f_pApiInstance->pProcessContext;
+ ReleaseSerObj.pProcessContext = f_pApiInstance->pProcessContext;
+
+ /* Seize all list semaphores needed by this function. */
+ SeizeSerObj.ulSerialObjHndl = f_pApiInstance->ulApiSerObj;
+ SeizeSerObj.ulTryTimeMs = cOCT6100_WAIT_INFINITELY;
+ ulSerRes = Oct6100UserSeizeSerializeObject( &SeizeSerObj );
+ if ( ulSerRes == cOCT6100_ERR_OK )
+ {
+ /* Call the serialized function. */
+ ulFncRes = Oct6100ApiEnableChannelRecordingSer( f_pApiInstance, f_pChannelRecord );
+ }
+ else
+ {
+ return ulSerRes;
+ }
+
+ /* Release the seized semaphores. */
+ ReleaseSerObj.ulSerialObjHndl = f_pApiInstance->ulApiSerObj;
+ ulSerRes = Oct6100UserReleaseSerializeObject( &ReleaseSerObj );
+
+ /* If an error occured then return the error code. */
+ if ( ulSerRes != cOCT6100_ERR_OK )
+ return ulSerRes;
+ if ( ulFncRes != cOCT6100_ERR_OK )
+ return ulFncRes;
+
+ return cOCT6100_ERR_OK;
+}
+
+/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
+
+Function: Oct6100ApiDisableChannelRecording
+
+Description: Disables the recording channel
+
+-------------------------------------------------------------------------------
+| Argument | Description
+-------------------------------------------------------------------------------
+f_pApiInstance Pointer to API instance. This memory is used to keep the
+ present state of the chip and all its resources.
+
+f_pChannelRecord Pointer to a tOCT6100_DISABLE_CHANNEL_RECORDING structure.
+
+\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
+UINT32 Oct6100ApiDisableChannelRecordingDef(
+ IN OUT tPOCT6100_DISABLE_CHANNEL_RECORDING f_pChannelRecord )
+{
+ f_pChannelRecord->ulUnused = 0;
+ return cOCT6100_ERR_OK;
+}
+
+UINT32 Oct6100ApiDisableChannelRecording(
+ IN tPOCT6100_INSTANCE_API f_pApiInstance,
+ IN OUT tPOCT6100_DISABLE_CHANNEL_RECORDING f_pChannelRecord )
+{
+ tOCT6100_SEIZE_SERIALIZE_OBJECT SeizeSerObj;
+ tOCT6100_RELEASE_SERIALIZE_OBJECT ReleaseSerObj;
+ UINT32 ulSerRes = cOCT6100_ERR_OK;
+ UINT32 ulFncRes = cOCT6100_ERR_OK;
+
+ /* Set the process context of the serialize structure.*/
+ SeizeSerObj.pProcessContext = f_pApiInstance->pProcessContext;
+ ReleaseSerObj.pProcessContext = f_pApiInstance->pProcessContext;
+
+ /* Seize all list semaphores needed by this function. */
+ SeizeSerObj.ulSerialObjHndl = f_pApiInstance->ulApiSerObj;
+ SeizeSerObj.ulTryTimeMs = cOCT6100_WAIT_INFINITELY;
+ ulSerRes = Oct6100UserSeizeSerializeObject( &SeizeSerObj );
+ if ( ulSerRes == cOCT6100_ERR_OK )
+ {
+ /* Call the serialized function. */
+ ulFncRes = Oct6100ApiDisableChannelRecordingSer( f_pApiInstance, f_pChannelRecord );
+ }
+ else
+ {
+ return ulSerRes;
+ }
+
+ /* Release the seized semaphores. */
+ ReleaseSerObj.ulSerialObjHndl = f_pApiInstance->ulApiSerObj;
+ ulSerRes = Oct6100UserReleaseSerializeObject( &ReleaseSerObj );
+
+ /* If an error occured then return the error code. */
+ if ( ulSerRes != cOCT6100_ERR_OK )
+ return ulSerRes;
+ if ( ulFncRes != cOCT6100_ERR_OK )
+ return ulFncRes;
+
+ return cOCT6100_ERR_OK;
+}
+
/**************************** PRIVATE FUNCTIONS ****************************/
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
@@ -1177,7 +1301,7 @@ UINT32 Oct6100ApiChannelsEchoSwInit(
/* Initialize the ECHO channel API list.*/
usMaxChannels = pSharedInfo->ChipConfig.usMaxChannels;
- /* add a channel to initialize if the recording is activated. */
+ /* Add a channel to initialize if the recording is activated. */
if ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
usMaxChannels++;
@@ -1215,14 +1339,6 @@ UINT32 Oct6100ApiChannelsEchoSwInit(
return cOCT6100_ERR_OK;
}
-
-
-
-
-
-
-
-
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
Function: Oct6100ChannelOpenSer
@@ -2506,7 +2622,7 @@ UINT32 Oct6100ApiUpdateChannelEntry(
/*=======================================================================*/
/* Update num active channel stats. */
if ( f_pChannelOpen->ulEchoOperationMode != cOCT6100_ECHO_OP_MODE_POWER_DOWN )
- {
+ {
f_pApiInstance->pSharedInfo->MiscVars.ulNumActiveChannels++;
}
/*=======================================================================*/
@@ -2913,7 +3029,7 @@ UINT32 Oct6100ApiInvalidateChannelStructs(
SmearParams.ulUserChipId = pSharedInfo->ChipConfig.ulUserChipId;
/* If this channel is currently debugged, automatically close the debug channel. */
- if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE || pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
&& ( pSharedInfo->DebugInfo.usCurrentDebugChanIndex == f_usChanIndex ) )
{
tOCT6100_DEBUG_SELECT_CHANNEL SelectDebugChan;
@@ -3290,7 +3406,7 @@ UINT32 Oct6100ApiReleaseChannelResources(
/*=======================================================================*/
/* Update num active channel stats. */
if ( pChanEntry->byEchoOperationMode != cOCT6100_ECHO_OP_MODE_POWER_DOWN )
- {
+ {
f_pApiInstance->pSharedInfo->MiscVars.ulNumActiveChannels--;
}
/*=======================================================================*/
@@ -4408,37 +4524,41 @@ UINT32 Oct6100ApiModifyChannelResources(
if ( ulResult == cOCT6100_ERR_OK )
{
- UINT32 ulMixerEventCntNeeded = 0;
+ /* No mixer is needed if the TDM config has not been modified */
+ if ( f_pChannelModify->fTdmConfigModified == TRUE )
+ {
+ UINT32 ulMixerEventCntNeeded = 0;
- /* Calculate how many mixer events are needed. */
- if ( pChanEntry->usBridgeIndex == cOCT6100_INVALID_INDEX )
- {
- /* If the channel is in bidir mode, do not create the Rin silence event!!! */
- if ( pChanEntry->fBiDirChannel == FALSE )
+ /* Calculate how many mixer events are needed. */
+ if ( pChanEntry->usBridgeIndex == cOCT6100_INVALID_INDEX )
{
- if ( ( *f_pusNewRinTsstIndex == cOCT6100_INVALID_INDEX )
- && ( pChanEntry->usRinSilenceEventIndex == cOCT6100_INVALID_INDEX ) )
- ulMixerEventCntNeeded++;
+ /* If the channel is in bidir mode, do not create the Rin silence event!!! */
+ if ( pChanEntry->fBiDirChannel == FALSE )
+ {
+ if ( ( *f_pusNewRinTsstIndex == cOCT6100_INVALID_INDEX )
+ && ( pChanEntry->usRinSilenceEventIndex == cOCT6100_INVALID_INDEX ) )
+ ulMixerEventCntNeeded++;
+ }
}
- }
- if ( ( *f_pusNewSinTsstIndex == cOCT6100_INVALID_INDEX )
- && ( pChanEntry->usSinSilenceEventIndex == cOCT6100_INVALID_INDEX ) )
- {
- ulMixerEventCntNeeded++;
- }
+ if ( ( *f_pusNewSinTsstIndex == cOCT6100_INVALID_INDEX )
+ && ( pChanEntry->usSinSilenceEventIndex == cOCT6100_INVALID_INDEX ) )
+ {
+ ulMixerEventCntNeeded++;
+ }
- /* If at least 1 mixer event is needed, check if those are available. */
- if ( ulMixerEventCntNeeded != 0 )
- {
- ulResult = Oct6100ApiGetFreeMixerEventCnt( f_pApiInstance, &ulFreeMixerEventCnt );
- if ( ulResult == cOCT6100_ERR_OK )
+ /* If at least 1 mixer event is needed, check if those are available. */
+ if ( ulMixerEventCntNeeded != 0 )
{
- /* The API might need more mixer events if the ports have to be muted. */
- /* Check if these are available. */
- if ( ulFreeMixerEventCnt < ulMixerEventCntNeeded )
+ ulResult = Oct6100ApiGetFreeMixerEventCnt( f_pApiInstance, &ulFreeMixerEventCnt );
+ if ( ulResult == cOCT6100_ERR_OK )
{
- ulResult = cOCT6100_ERR_CHANNEL_OUT_OF_MIXER_EVENTS;
+ /* The API might need more mixer events if the ports have to be muted. */
+ /* Check if these are available. */
+ if ( ulFreeMixerEventCnt < ulMixerEventCntNeeded )
+ {
+ ulResult = cOCT6100_ERR_CHANNEL_OUT_OF_MIXER_EVENTS;
+ }
}
}
}
@@ -5818,7 +5938,7 @@ UINT32 Oct6100ApiModifyChannelEntry(
if ( pChanEntry->byEchoOperationMode != byOpenEchoMode )
{
if ( pChanEntry->byEchoOperationMode == cOCT6100_ECHO_OP_MODE_POWER_DOWN )
- {
+ {
f_pApiInstance->pSharedInfo->MiscVars.ulNumActiveChannels++;
}
else if ( byOpenEchoMode == cOCT6100_ECHO_OP_MODE_POWER_DOWN )
@@ -12425,7 +12545,6 @@ UINT32 Oct6100ApiWriteDebugChanMemory(
return cOCT6100_ERR_OK;
}
-
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
Function: Oct6100ApiDebugChannelOpen
@@ -12462,20 +12581,55 @@ UINT32 Oct6100ApiDebugChannelOpen(
TempChanOpen.VqeConfig.lDefaultErlDb = 0;
/* Loop to reserve the proper entry for the debug channel */
+ if ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
+ Oct6100UserMemSet( pSharedInfo->MiscVars.ausSuperArray, 0xFF, sizeof( pSharedInfo->MiscVars.ausSuperArray ) );
+
for( usChanIndex = 0; usChanIndex < ( pSharedInfo->DebugInfo.usRecordChanIndex + 1 ); usChanIndex ++ )
{
ulResult = Oct6100ApiReserveEchoEntry( f_pApiInstance, &usDummyEchoIndex );
if( ulResult != cOCT6100_ERR_OK )
- return ulResult;
+ {
+ if ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ return ulResult;
+ }
+ else
+ {
+ if ( ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
+ && ( usDummyEchoIndex == pSharedInfo->DebugInfo.usRecordChanIndex ) )
+ break;
+
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ && ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) )
+ pSharedInfo->MiscVars.ausSuperArray[ usChanIndex ] = usDummyEchoIndex;
+ }
+ }
+
+ if ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
+ {
+ if ( usChanIndex == ( pSharedInfo->DebugInfo.usRecordChanIndex + 1 ) )
+ return cOCT6100_ERR_FATAL_EE;
}
/* Loop to free all entries except the one for the debug channel */
for( usChanIndex = pSharedInfo->DebugInfo.usRecordChanIndex; usChanIndex > 0; )
{
usChanIndex--;
- ulResult = Oct6100ApiReleaseEchoEntry( f_pApiInstance, usChanIndex );
- if( ulResult != cOCT6100_ERR_OK )
- return ulResult;
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ && ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) )
+ {
+ if ( pSharedInfo->MiscVars.ausSuperArray[ usChanIndex ] != 0xFFFF )
+ {
+ ulResult = Oct6100ApiReleaseEchoEntry( f_pApiInstance, pSharedInfo->MiscVars.ausSuperArray[ usChanIndex ] );
+ if( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
+ }
+ else
+ {
+ ulResult = Oct6100ApiReleaseEchoEntry( f_pApiInstance, usChanIndex );
+ if( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
}
ulResult = Oct6100ApiWriteDebugChanMemory( f_pApiInstance,
@@ -12492,6 +12646,166 @@ UINT32 Oct6100ApiDebugChannelOpen(
return cOCT6100_ERR_OK;
}
+/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
+
+Function: Oct6100ApiEnableChannelRecordingSer
+
+Description: Open the debug channel.
+
+-------------------------------------------------------------------------------
+| Argument | Description
+-------------------------------------------------------------------------------
+f_pApiInstance Pointer to API instance. This memory is used to keep
+ the present state of the chip and all its resources.
+
+\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
+UINT32 Oct6100ApiEnableChannelRecordingSer(
+ IN tPOCT6100_INSTANCE_API f_pApiInstance,
+ IN OUT tPOCT6100_ENABLE_CHANNEL_RECORDING f_pChannelRecord )
+{
+ tPOCT6100_SHARED_INFO pSharedInfo;
+ tPOCT6100_API_CHANNEL pChanEntry;
+ UINT32 ulResult;
+
+ pSharedInfo = f_pApiInstance->pSharedInfo;
+
+ if ( pSharedInfo->ChipConfig.fAllowDynamicRecording == FALSE )
+ return cOCT6100_ERR_CHANNEL_RECORDING_DISABLED;
+
+ if ( f_pChannelRecord->pulChannelHndlConflict == NULL )
+ return cOCT6100_ERR_CHANNEL_RECORDING_INVALID_HANDLE;
+
+ if ( pSharedInfo->DebugInfo.fRecordChanUp == TRUE )
+ return cOCT6100_ERR_CHANNEL_RECORDING_ALREADY_ENABLED;
+
+ /* Obtain record channel pointer using recording index */
+ mOCT6100_GET_CHANNEL_ENTRY_PNT( f_pApiInstance->pSharedInfo, pChanEntry, pSharedInfo->DebugInfo.usRecordChanIndex )
+ if ( pChanEntry->fReserved == TRUE )
+ {
+ /* Form handle returned to user. The channel must be closed first. */
+ *f_pChannelRecord->pulChannelHndlConflict = cOCT6100_HNDL_TAG_CHANNEL | (pChanEntry->byEntryOpenCnt << cOCT6100_ENTRY_OPEN_CNT_SHIFT) | pSharedInfo->DebugInfo.usRecordChanIndex;
+ return cOCT6100_ERR_CHANNEL_RECORDING_HANDLE_USED;
+ }
+
+ ulResult = Oct6100ApiDebugChannelOpen( f_pApiInstance );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+
+ pSharedInfo->DebugInfo.fRecordChanUp = TRUE;
+ return cOCT6100_ERR_OK;
+}
+
+/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
+
+Function: Oct6100ApiDisableChannelRecordingSer
+
+Description: Close the debug channel.
+
+-------------------------------------------------------------------------------
+| Argument | Description
+-------------------------------------------------------------------------------
+f_pApiInstance Pointer to API instance. This memory is used to keep
+ the present state of the chip and all its resources.
+
+\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
+UINT32 Oct6100ApiDisableChannelRecordingSer(
+ IN tPOCT6100_INSTANCE_API f_pApiInstance,
+ IN OUT tPOCT6100_DISABLE_CHANNEL_RECORDING f_pChannelRecord )
+{
+ tPOCT6100_SHARED_INFO pSharedInfo;
+ tOCT6100_WRITE_PARAMS WriteParams;
+ tOCT6100_WRITE_SMEAR_PARAMS SmearParams;
+ UINT32 ulResult;
+
+ pSharedInfo = f_pApiInstance->pSharedInfo;
+
+ if ( pSharedInfo->ChipConfig.fAllowDynamicRecording == FALSE )
+ return cOCT6100_ERR_CHANNEL_RECORDING_DISABLED;
+
+ /* If a channel is currently being recorded, it must be disabled first. */
+ if ( pSharedInfo->DebugInfo.usCurrentDebugChanIndex != cOCT6100_INVALID_INDEX )
+ return cOCT6100_ERR_DEBUG_CHANNEL_RECORDING_ENABLED;
+
+ WriteParams.pProcessContext = f_pApiInstance->pProcessContext;
+
+ WriteParams.ulUserChipId = pSharedInfo->ChipConfig.ulUserChipId;
+
+ SmearParams.pProcessContext = f_pApiInstance->pProcessContext;
+
+ SmearParams.ulUserChipId = pSharedInfo->ChipConfig.ulUserChipId;
+
+ /* We let through even though this could already be disabled.. */
+ if ( pSharedInfo->DebugInfo.fRecordChanUp == TRUE )
+ {
+ /*------------------------------------------------------------------------------*/
+ /* Deactivate the ECHO control memory entry.*/
+
+ /* Set the input Echo control entry to unused.*/
+ WriteParams.ulWriteAddress = cOCT6100_ECHO_CONTROL_MEM_BASE + ( pSharedInfo->DebugInfo.usRecordChanIndex * cOCT6100_ECHO_CONTROL_MEM_ENTRY_SIZE );
+ WriteParams.usWriteData = 0x85FF; /* TSI index 1535 reserved for power-down mode */
+
+ mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+
+ WriteParams.ulWriteAddress += 2;
+ WriteParams.usWriteData = 0xC5FF; /* TSI index 1535 reserved for power-down mode */
+
+ mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ /*------------------------------------------------------------------------------*/
+
+
+ /*------------------------------------------------------------------------------*/
+ /* 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 )
+ return ulResult;
+ /*------------------------------------------------------------------------------*/
+
+
+ /*------------------------------------------------------------------------------*/
+ /* 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 )
+ return ulResult;
+ /*------------------------------------------------------------------------------*/
+
+
+ /*------------------------------------------------------------------------------*/
+ /* 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;
+ /*------------------------------------------------------------------------------*/
+
+
+ /* Release echo mem entry */
+ ulResult = Oct6100ApiReleaseEchoEntry( f_pApiInstance, pSharedInfo->DebugInfo.usRecordChanIndex );
+ if( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+
+ pSharedInfo->DebugInfo.fRecordChanUp = FALSE;
+ }
+
+ return cOCT6100_ERR_OK;
+}
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
index 5a47ad6..16c4a4b 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
@@ -24,9 +24,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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
-$Octasic_Revision: 381 $
+$Octasic_Revision: 383 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -240,6 +240,7 @@ UINT32 Oct6100ChipOpenDef(
f_pChipOpen->fEnableChannelRecording = FALSE;
+ f_pChipOpen->fAllowDynamicRecording = FALSE;
f_pChipOpen->fEnableProductionBist = FALSE;
f_pChipOpen->ulProductionBistMode = cOCT6100_PRODUCTION_BIST_STANDARD;
f_pChipOpen->ulNumProductionBistLoops = 1;
@@ -1277,11 +1278,20 @@ UINT32 Oct6100ApiCheckChipConfiguration(
- /* Check the channel recording flag. */
+ /* Check the channel recording flags. */
if ( f_pChipOpen->fEnableChannelRecording != TRUE &&
f_pChipOpen->fEnableChannelRecording != FALSE )
return cOCT6100_ERR_OPEN_DEBUG_CHANNEL_RECORDING;
+ if ( f_pChipOpen->fAllowDynamicRecording != TRUE &&
+ f_pChipOpen->fAllowDynamicRecording != FALSE )
+ return cOCT6100_ERR_OPEN_DEBUG_CHANNEL_DYNAMIC_RECORDING;
+
+ /* Preferably not both modes at the same time. */
+ if ( f_pChipOpen->fEnableChannelRecording == TRUE &&
+ f_pChipOpen->fAllowDynamicRecording == TRUE )
+ return cOCT6100_ERR_OPEN_DEBUG_CHANNEL_DYNAMIC_AND_STATIC;
+
/* Check the enable production BIST flag. */
if ( ( f_pChipOpen->fEnableProductionBist != TRUE )
&& ( f_pChipOpen->fEnableProductionBist != FALSE ) )
@@ -1306,6 +1316,7 @@ UINT32 Oct6100ApiCheckChipConfiguration(
f_pChipOpen->ulMaxChannels = 0;
f_pChipOpen->ulMaxTsiCncts = 0;
f_pChipOpen->fEnableChannelRecording = FALSE;
+ f_pChipOpen->fAllowDynamicRecording = FALSE;
f_pChipOpen->ulMaxBiDirChannels = 0;
f_pChipOpen->ulMaxConfBridges = 0;
f_pChipOpen->ulMaxPlayoutBuffers = 0;
@@ -1414,6 +1425,7 @@ UINT32 Oct6100ApiCopyChipConfiguration(
pSharedInfo->ChipConfig.usMaxRemoteDebugSessions = (UINT16)( f_pChipOpen->ulMaxRemoteDebugSessions & 0xFFFF );
pSharedInfo->ChipConfig.fEnableChannelRecording = (UINT8)( f_pChipOpen->fEnableChannelRecording & 0xFF );
+ pSharedInfo->ChipConfig.fAllowDynamicRecording = (UINT8)( f_pChipOpen->fAllowDynamicRecording & 0xFF );
@@ -1484,7 +1496,8 @@ UINT32 Oct6100ApiInitializeMiscellaneousVariables(
pSharedInfo->DebugInfo.fPouchCounter = FALSE;
pSharedInfo->DebugInfo.fIsIsrCalledField = FALSE;
- pSharedInfo->MiscVars.ulNumActiveChannels = 0;
+ pSharedInfo->MiscVars.ulNumActiveChannels = 0;
+
/* Initialize the image info parameters */
pSharedInfo->ImageInfo.fAdaptiveNoiseReduction = FALSE;
@@ -1573,6 +1586,13 @@ UINT32 Oct6100ApiInitializeMiscellaneousVariables(
}
/* Initialize the channel recording info. */
pSharedInfo->DebugInfo.usRecordChanIndex = pSharedInfo->ChipConfig.usMaxChannels;
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ && ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) )
+ {
+ if ( pSharedInfo->DebugInfo.usRecordChanIndex != 0 )
+ pSharedInfo->DebugInfo.usRecordChanIndex--;
+ }
+
pSharedInfo->DebugInfo.usRecordMemIndex = cOCT6100_INVALID_INDEX;
pSharedInfo->DebugInfo.usCurrentDebugChanIndex = cOCT6100_INVALID_INDEX;
@@ -2209,7 +2229,7 @@ UINT32 Oct6100ApiDecodeKeyAndBist(
return ulResult;
/* Check if an error was reported. */
- for ( i=0; i<6; i++ )
+ for ( i=0; i<6; i+=2 )
{
if ( ausBistData[ i ] != 0x0000 )
{
@@ -6247,7 +6267,8 @@ UINT32 Oct6100ApiInitMixer(
BurstParams.pusWriteData = ausWriteData;
/*======================================================================*/
/* Initialize the mixer memory if required. */
- if ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ || ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) )
{
/* Modify the mixer pointer by adding the record event into the link list. */
pSharedInfo->MixerInfo.usFirstSinCopyEventPtr = pSharedInfo->MixerInfo.usRecordSinEventIndex;
@@ -6296,6 +6317,22 @@ UINT32 Oct6100ApiInitMixer(
/* Init the mixer pointer */
pSharedInfo->MixerInfo.usFirstSinCopyEventPtr = pSharedInfo->MixerInfo.usRecordSinEventIndex;
+
+ if ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
+ {
+ ausWriteData[ 0 ] = 0xFFFF;
+ ausWriteData[ 1 ] = (UINT16)(( cOCT6100_INVALID_INDEX >> 0) & 0xFFFF);
+
+ /* Disable the hot channel since by default it is recording on channel 0 */
+ BurstParams.ulWriteAddress = pSharedInfo->DebugInfo.ulHotChannelSelectBaseAddress;
+ BurstParams.pusWriteData = ausWriteData;
+ BurstParams.ulWriteLength = 2;
+
+ mOCT6100_DRIVER_WRITE_BURST_API( BurstParams, ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+
+ }
}
else
{
@@ -6353,7 +6390,8 @@ UINT32 Oct6100ApiInitRecordResources(
pSharedInfo = f_pApiInstance->pSharedInfo;
/* Check if recording is enabled. */
- if ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ && ( pSharedInfo->ChipConfig.fAllowDynamicRecording == FALSE ) )
return cOCT6100_ERR_OK;
if ( pSharedInfo->DebugInfo.usRecordMemIndex == cOCT6100_INVALID_INDEX )
@@ -6372,10 +6410,13 @@ UINT32 Oct6100ApiInitRecordResources(
if ( ulResult != cOCT6100_ERR_OK )
return ulResult;
- /* Open the debug channel. */
- ulResult = Oct6100ApiDebugChannelOpen( f_pApiInstance );
- if ( ulResult != cOCT6100_ERR_OK )
- return ulResult;
+ if ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ {
+ /* Open the debug channel. */
+ ulResult = Oct6100ApiDebugChannelOpen( f_pApiInstance );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
return cOCT6100_ERR_OK;
}
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c
index c576812..06a0cb2 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 98 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c
index 1a1bc24..159b21f 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c
@@ -25,9 +25,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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
-$Octasic_Revision: 148 $
+$Octasic_Revision: 149 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -704,7 +704,8 @@ UINT32 Oct6100ApiGetConfBridgeSwSizes(
UINT32 ulResult;
/* Calculate memory needed for conference bridge list. */
- if ( f_pOpenChip->ulMaxConfBridges == 0 && f_pOpenChip->fEnableChannelRecording == TRUE )
+ if ( ( f_pOpenChip->ulMaxConfBridges == 0 )
+ && ( f_pOpenChip->fEnableChannelRecording == TRUE || f_pOpenChip->fAllowDynamicRecording == TRUE ) )
f_pOpenChip->ulMaxConfBridges = 1;
f_pInstSizes->ulConfBridgeList = f_pOpenChip->ulMaxConfBridges * sizeof( tOCT6100_API_CONF_BRIDGE );
@@ -1369,8 +1370,9 @@ UINT32 Oct6100ApiCheckBridgeAddParams(
if ( f_pApiInstance->pSharedInfo->ChipConfig.usMaxConfBridges == 0 )
return cOCT6100_ERR_CONF_BRIDGE_DISABLED;
- if ( f_pApiInstance->pSharedInfo->ChipConfig.usMaxConfBridges == 1 &&
- f_pApiInstance->pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ if ( ( f_pApiInstance->pSharedInfo->ChipConfig.usMaxConfBridges == 1 )
+ && ( ( f_pApiInstance->pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ || ( f_pApiInstance->pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) ) )
return cOCT6100_ERR_CONF_BRIDGE_DISABLED;
if ( f_pConfBridgeAdd->ulConfBridgeHndl == cOCT6100_INVALID_HANDLE )
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c
index 8857c8e..dc32a82 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c
@@ -22,9 +22,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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
-$Octasic_Revision: 81 $
+$Octasic_Revision: 82 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -243,8 +243,9 @@ UINT32 Oct6100DebugSelectChannelSer(
BurstParams.pusWriteData = ausWriteData;
/* First release the resources reserved for the channel that was previously debugged. */
- if ( pSharedInfo->DebugInfo.usCurrentDebugChanIndex != cOCT6100_INVALID_INDEX &&
- pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ if ( ( pSharedInfo->DebugInfo.usCurrentDebugChanIndex != cOCT6100_INVALID_INDEX )
+ && ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ || ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) ) )
{
/*=======================================================================*/
/* Get a pointer to the channel's list entry. */
@@ -313,7 +314,10 @@ UINT32 Oct6100DebugSelectChannelSer(
if ( f_fCheckChannelRecording == TRUE )
{
- if ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ if ( ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ && ( pSharedInfo->ChipConfig.fAllowDynamicRecording == FALSE ) )
+ || ( ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
+ && ( pSharedInfo->DebugInfo.fRecordChanUp == FALSE ) ) )
return cOCT6100_ERR_DEBUG_CHANNEL_RECORDING_DISABLED;
}
@@ -335,7 +339,8 @@ UINT32 Oct6100DebugSelectChannelSer(
/* First program the mixer entry if the user wants to record. */
/* Check if the API needs to reserve an extra TSI memory to load the SIN signal. */
- if ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ || ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) )
{
/* Reserve the extra Sin TSI memory if it was not already reserved. */
if ( pChanEntry->usExtraSinTsiMemIndex == cOCT6100_INVALID_INDEX )
@@ -397,7 +402,8 @@ UINT32 Oct6100DebugSelectChannelSer(
}
/* Set law of newly selected hot channel. */
- if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ if ( ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ || ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) )
&& ( f_pSelectDebugChan->ulChannelHndl != cOCT6100_INVALID_HANDLE )
&& ( pChanEntry != NULL ) )
{
@@ -430,7 +436,10 @@ UINT32 Oct6100DebugSelectChannelSer(
return ulResult;
}
- ausWriteData[ 0 ] = 0x0;
+ if ( usChanIndex == cOCT6100_INVALID_INDEX )
+ ausWriteData[ 0 ] = 0xFFFF;
+ else
+ ausWriteData[ 0 ] = 0x0;
ausWriteData[ 1 ] = (UINT16)(( usChanIndex >> 0) & 0xFFFF);
/* Write the channel number into the Matrix hot channel field.*/
@@ -452,7 +461,10 @@ UINT32 Oct6100DebugSelectChannelSer(
if ( f_fCheckChannelRecording == FALSE )
{
/* If the user has not activated recording, let the remote client know. */
- if ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ if ( ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ && ( pSharedInfo->ChipConfig.fAllowDynamicRecording == FALSE ) )
+ || ( ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
+ && ( pSharedInfo->DebugInfo.fRecordChanUp == FALSE ) ) )
return cOCT6100_ERR_DEBUG_RC_CHANNEL_RECORDING_DISABLED;
}
@@ -536,7 +548,10 @@ UINT32 Oct6100DebugGetDataSer(
/* Check all user parameters. */
/* Check if channel recording is enabled. */
- if ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ if ( ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == FALSE )
+ && ( pSharedInfo->ChipConfig.fAllowDynamicRecording == FALSE ) )
+ || ( ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE )
+ && ( pSharedInfo->DebugInfo.fRecordChanUp == FALSE ) ) )
return cOCT6100_ERR_DEBUG_CHANNEL_RECORDING_DISABLED;
/* Check if a current debugging channel has been selected. */
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c
index 1742f17..72d37de 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 83 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c
index b391037..35d60cd 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c
@@ -23,7 +23,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 98 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c
index 3e0f92e..91990c2 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c
@@ -23,7 +23,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 42 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c
index 1ce2613..dc4ad4f 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 36 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c
index f57f90a..6e6a277 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
-$Octasic_Revision: 44 $
+$Octasic_Revision: 45 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -324,7 +324,8 @@ UINT32 Oct6100ApiMixerSwInit(
pMixerEventList[ cOCT6100_MIXER_TAIL_NODE ].usEventType = cOCT6100_MIXER_CONTROL_MEM_NO_OP;
/* Now reserve the entry used for channel recording if the feature is enabled. */
- if ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ if ( ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
+ || ( pSharedInfo->ChipConfig.fAllowDynamicRecording == TRUE ) )
{
UINT32 ulAllocIndex;
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c
index 072cf09..bd3453f 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 46 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c
index f04fc4a..c706e5f 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 109 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c
index 070e73e..6a7b034 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 35 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c
index 4aea3c6..0249ade 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c
@@ -24,7 +24,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 120 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c
index ab4b59a..d658635 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c
@@ -23,7 +23,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 51 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c
index 5bd2d4d..4cd9705 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 38 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c
index 0e061b1..f065c68 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c
@@ -23,7 +23,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 40 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c
index f5c8863..591f723 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 31 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c b/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c
index 802bd29..fa5b309 100644
--- a/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c
+++ b/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c
@@ -22,7 +22,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 8 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_channel_priv.h b/software/octdeviceapi/oct6100api/oct6100_channel_priv.h
index 0a3a6ba..e5ad221 100644
--- a/software/octdeviceapi/oct6100api/oct6100_channel_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_channel_priv.h
@@ -25,9 +25,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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
-$Octasic_Revision: 64 $
+$Octasic_Revision: 65 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -465,6 +465,17 @@ UINT32 Oct6100ApiWriteDebugChanMemory(
UINT32 Oct6100ApiDebugChannelOpen(
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
+UINT32 Oct6100ApiDebugChannelClose(
+ IN OUT tPOCT6100_INSTANCE_API f_pApiInstance );
+
+UINT32 Oct6100ApiEnableChannelRecordingSer(
+ IN tPOCT6100_INSTANCE_API f_pApiInstance,
+ IN OUT tPOCT6100_ENABLE_CHANNEL_RECORDING f_pChannelRecord );
+
+UINT32 Oct6100ApiDisableChannelRecordingSer(
+ IN tPOCT6100_INSTANCE_API f_pApiInstance,
+ IN OUT tPOCT6100_DISABLE_CHANNEL_RECORDING f_pChannelRecord );
+
UINT32 Oct6100ApiMutePorts(
IN OUT tPOCT6100_INSTANCE_API f_pApiInstance,
IN UINT16 f_usEchoIndex,
diff --git a/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h b/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h
index cd6384e..ee62d2b 100644
--- a/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 63 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h b/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h
index 1294cc4..5363720 100644
--- a/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 8 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h b/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h
index 58fa74d..26c9b84 100644
--- a/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 30 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_debug_priv.h b/software/octdeviceapi/oct6100api/oct6100_debug_priv.h
index 31988d4..c4af116 100644
--- a/software/octdeviceapi/oct6100api/oct6100_debug_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_debug_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 14 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_events_priv.h b/software/octdeviceapi/oct6100api/oct6100_events_priv.h
index f0f12bf..28cb47e 100644
--- a/software/octdeviceapi/oct6100api/oct6100_events_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_events_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 14 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h b/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h
index fa73989..be13f9d 100644
--- a/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 13 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_memory_priv.h b/software/octdeviceapi/oct6100api/oct6100_memory_priv.h
index 16f5686..60b3af1 100644
--- a/software/octdeviceapi/oct6100api/oct6100_memory_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_memory_priv.h
@@ -24,7 +24,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 17 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h
index c7dd200..1ce3ffa 100644
--- a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h
@@ -24,7 +24,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 20 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h b/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h
index 0edb9df..6c30c7b 100644
--- a/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 18 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h b/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h
index d68aba9..7c4048a 100644
--- a/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 12 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h b/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h
index 221a277..f301a2f 100644
--- a/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 22 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h b/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h
index cec3b9f..2739446 100644
--- a/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 13 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h b/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h
index 05b55c5..e08df1e 100644
--- a/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h
@@ -24,7 +24,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 60 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h b/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h
index 3572f3d..4b3bed0 100644
--- a/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 14 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h b/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h
index d3f3140..29bd7e2 100644
--- a/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h
@@ -25,7 +25,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 14 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h b/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h
index df9c7a7..f1b27ec 100644
--- a/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h
+++ b/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h
@@ -24,7 +24,7 @@ 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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
$Octasic_Revision: 15 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_version.h b/software/octdeviceapi/oct6100api/oct6100_version.h
index 08fdf63..cfae459 100644
--- a/software/octdeviceapi/oct6100api/oct6100_version.h
+++ b/software/octdeviceapi/oct6100api/oct6100_version.h
@@ -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.03.05 $
+$Octasic_Release: OCT612xAPI-01.04.01 $
-$Octasic_Revision: 70 $
+$Octasic_Revision: 71 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -34,6 +34,6 @@ $Octasic_Revision: 70 $
/* String version of the OCT6100 API.*/
-#define cOCT6100_API_VERSION "OCT6100API-01.03.05"
+#define cOCT6100_API_VERSION "OCT6100API-01.04.01"
#endif /* __OCT6100_VERSION_H__ */