summaryrefslogtreecommitdiff
path: root/software/octdeviceapi/oct6100api/oct6100_api
diff options
context:
space:
mode:
Diffstat (limited to 'software/octdeviceapi/oct6100api/oct6100_api')
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c6
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c113
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c43
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c2
-rw-r--r--software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c48
-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.c2
-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
19 files changed, 172 insertions, 68 deletions
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c
index e6ce694..ec51f33 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 16 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c
index 88eb906..162dfa6 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
-$Octasic_Revision: 491 $
+$Octasic_Revision: 492 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -9420,7 +9420,7 @@ UINT32 Oct6100ApiWriteVqeNlpMemory(
ulTempData &= (~ulMask);
/*If we support ANR level the TLV is shared over 2 bits*/
- if (pSharedInfo->ImageInfo.fRoutNoiseReductionLevel == TRUE)
+ if (ulFeatureBitOffset == 18)
{
ulFeatureBitOffset -= 2;
ausLookupTable[ f_pVqeConfig->ulNonLinearityBehaviorA ] &= 0xFFFC;
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
index 47ea357..603ddaa 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 347 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c
index ad9ef1d..fb2df1f 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 89 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c
index ec9e7ff..d082889 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
-$Octasic_Revision: 145 $
+$Octasic_Revision: 146 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -2039,33 +2039,6 @@ UINT32 Oct6100ApiBridgeEventAdd(
}
mOCT6100_GET_CHANNEL_ENTRY_PNT( pSharedInfo, pEchoChanEntry, f_usChanIndex );
- /* Configure the SIN copy mixer entry and memory - if using the SOUT port. */
- if ( ( f_ulInputPort == cOCT6100_CHANNEL_PORT_SOUT ) && ( f_fTap == FALSE ) )
- {
- if ( pEchoChanEntry->usSinTsstIndex != cOCT6100_INVALID_INDEX )
- {
- ulResult = Oct6100ApiWriteInputTsstControlMemory( f_pApiInstance,
- pEchoChanEntry->usSinTsstIndex,
- pEchoChanEntry->usExtraSinTsiMemIndex,
- pEchoChanEntry->TdmConfig.bySinPcmLaw );
- if ( ulResult != cOCT6100_ERR_OK )
- return ulResult;
- }
-
- /* If the silence TSI is loaded on this port, update with the extra sin TSI. */
- if ( pEchoChanEntry->usSinSilenceEventIndex != cOCT6100_INVALID_INDEX )
- {
- WriteParams.ulWriteAddress = cOCT6100_MIXER_CONTROL_MEM_BASE + ( pEchoChanEntry->usSinSilenceEventIndex * cOCT6100_MIXER_CONTROL_MEM_ENTRY_SIZE );
-
- WriteParams.ulWriteAddress += 2;
- WriteParams.usWriteData = pEchoChanEntry->usExtraSinTsiMemIndex;
-
- mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult );
- if ( ulResult != cOCT6100_ERR_OK )
- return ulResult;
- }
- }
-
if ( f_fFlexibleConfBridge == TRUE )
{
tPOCT6100_API_FLEX_CONF_PARTICIPANT pNewParticipant;
@@ -2181,9 +2154,36 @@ UINT32 Oct6100ApiBridgeEventAdd(
}
else /* if ( f_fFlexibleConfBridge == FALSE ) */
{
+ /* Configure the SIN copy mixer entry and memory - if using the SOUT port. */
+ if ( ( f_ulInputPort == cOCT6100_CHANNEL_PORT_SOUT ) && ( f_fTap == FALSE ) )
+ {
+ if ( pEchoChanEntry->usSinTsstIndex != cOCT6100_INVALID_INDEX )
+ {
+ ulResult = Oct6100ApiWriteInputTsstControlMemory( f_pApiInstance,
+ pEchoChanEntry->usSinTsstIndex,
+ pEchoChanEntry->usExtraSinTsiMemIndex,
+ pEchoChanEntry->TdmConfig.bySinPcmLaw );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
+
+ /* If the silence TSI is loaded on this port, update with the extra sin TSI. */
+ if ( pEchoChanEntry->usSinSilenceEventIndex != cOCT6100_INVALID_INDEX )
+ {
+ WriteParams.ulWriteAddress = cOCT6100_MIXER_CONTROL_MEM_BASE + ( pEchoChanEntry->usSinSilenceEventIndex * cOCT6100_MIXER_CONTROL_MEM_ENTRY_SIZE );
+
+ WriteParams.ulWriteAddress += 2;
+ WriteParams.usWriteData = pEchoChanEntry->usExtraSinTsiMemIndex;
+
+ mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
+ }
+
mOCT6100_GET_MIXER_EVENT_ENTRY_PNT( pSharedInfo, pLoadEventEntry, f_usLoadEventIndex );
mOCT6100_GET_MIXER_EVENT_ENTRY_PNT( pSharedInfo, pSubStoreEventEntry, f_usSubStoreEventIndex );
-
+
/*=======================================================================*/
/* Program the Load event.*/
WriteParams.ulWriteAddress = cOCT6100_MIXER_CONTROL_MEM_BASE + ( f_usLoadEventIndex * cOCT6100_MIXER_CONTROL_MEM_ENTRY_SIZE );
@@ -2864,6 +2864,39 @@ UINT32 Oct6100ApiBridgeAddParticipantToChannel(
if ( pDestinationParticipant->fFlexibleMixerCreated == FALSE )
{
/*=======================================================================*/
+ /* Before creating the participant's flexible mixer, make sure the extra Sin */
+ /* mixer event is programmed correctly for sending the voice stream to the right place. */
+
+ /* Configure the SIN copy mixer entry and memory - if using the SOUT port. */
+ if ( f_ulDestinationInputPort == cOCT6100_CHANNEL_PORT_SOUT )
+ {
+ if ( pDestinationChanEntry->usSinTsstIndex != cOCT6100_INVALID_INDEX )
+ {
+ ulResult = Oct6100ApiWriteInputTsstControlMemory( f_pApiInstance,
+ pDestinationChanEntry->usSinTsstIndex,
+ pDestinationChanEntry->usExtraSinTsiMemIndex,
+ pDestinationChanEntry->TdmConfig.bySinPcmLaw );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
+
+ /* If the silence TSI is loaded on this port, update with the extra sin TSI. */
+ if ( pDestinationChanEntry->usSinSilenceEventIndex != cOCT6100_INVALID_INDEX )
+ {
+ WriteParams.ulWriteAddress = cOCT6100_MIXER_CONTROL_MEM_BASE + ( pDestinationChanEntry->usSinSilenceEventIndex * cOCT6100_MIXER_CONTROL_MEM_ENTRY_SIZE );
+
+ WriteParams.ulWriteAddress += 2;
+ WriteParams.usWriteData = pDestinationChanEntry->usExtraSinTsiMemIndex;
+
+ mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
+ }
+ /*=======================================================================*/
+
+
+ /*=======================================================================*/
/* Program the load event. This is the first event for this new destination channel. */
/* First set the TSI buffer where the resulting stream should be written to. */
@@ -3960,6 +3993,11 @@ UINT32 Oct6100ApiBridgeEventRemove (
pEchoChanEntry->usExtraSinTsiDependencyCnt--;
pEchoChanEntry->usExtraSinTsiMemIndex = cOCT6100_INVALID_INDEX;
}
+ else
+ {
+ /* Decrement the dependency count, but do not clear the mem index. */
+ pEchoChanEntry->usExtraSinTsiDependencyCnt--;
+ }
/* Indicate that the extra RIN TSI is not needed anymore by the mixer. */
if ( pEchoChanEntry->usExtraRinTsiDependencyCnt == 1 )
@@ -4126,6 +4164,11 @@ UINT32 Oct6100ApiBridgeEventRemove (
pEchoChanEntry->usExtraSinTsiDependencyCnt--;
pEchoChanEntry->usExtraSinTsiMemIndex = cOCT6100_INVALID_INDEX;
}
+ else
+ {
+ /* Decrement the dependency count, but do not clear the mem index. */
+ pEchoChanEntry->usExtraSinTsiDependencyCnt--;
+ }
/* Indicate that the Extra RIN TSI is not needed anymore by the mixer. */
if ( pEchoChanEntry->usExtraRinTsiDependencyCnt == 1 )
@@ -4619,6 +4662,11 @@ UINT32 Oct6100ApiBridgeEventRemove (
pEchoChanEntry->usExtraSinTsiDependencyCnt--;
pEchoChanEntry->usExtraSinTsiMemIndex = cOCT6100_INVALID_INDEX;
}
+ else
+ {
+ /* Decrement the dependency count, but do not clear the mem index. */
+ pEchoChanEntry->usExtraSinTsiDependencyCnt--;
+ }
/* Update the chip stats structure. */
pSharedInfo->ChipStats.usNumEcChanUsingMixer--;
@@ -4797,6 +4845,11 @@ UINT32 Oct6100ApiBridgeEventRemove (
pEchoChanEntry->usExtraSinTsiDependencyCnt--;
pEchoChanEntry->usExtraSinTsiMemIndex = cOCT6100_INVALID_INDEX;
}
+ else
+ {
+ /* Decrement the dependency count, but do not clear the mem index. */
+ pEchoChanEntry->usExtraSinTsiDependencyCnt--;
+ }
/* Invalidate the channel entry. */
pEchoChanEntry->usLoadEventIndex = cOCT6100_INVALID_INDEX;
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c
index 6965d8d..5fc5e3d 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
-$Octasic_Revision: 64 $
+$Octasic_Revision: 65 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -248,7 +248,7 @@ UINT32 Oct6100DebugSelectChannelSer(
mOCT6100_GET_CHANNEL_ENTRY_PNT( pSharedInfo, pTempChanEntry, pSharedInfo->DebugInfo.usCurrentDebugChanIndex )
/* Release the extra TSI memory entry and reprogram the TSST control memory if required. */
- if ( pTempChanEntry->usExtraSinTsiDependencyCnt == 1 )
+ if ( pTempChanEntry->usExtraSinTsiDependencyCnt >= 1 )
{
/*=======================================================================*/
/* Clear memcpy operations. */
@@ -271,23 +271,30 @@ UINT32 Oct6100DebugSelectChannelSer(
/*=======================================================================*/
- ulResult = Oct6100ApiReleaseTsiMemEntry( f_pApiInstance, pTempChanEntry->usExtraSinTsiMemIndex );
- if ( ulResult != cOCT6100_ERR_OK )
- return ulResult;
-
- if ( pTempChanEntry->usSinTsstIndex != cOCT6100_INVALID_INDEX )
+ /* If we are the last dependency using the extra Sin TSI, release it */
+ if ( pTempChanEntry->usExtraSinTsiDependencyCnt == 1 )
{
- ulResult = Oct6100ApiWriteInputTsstControlMemory( f_pApiInstance,
- pTempChanEntry->usSinTsstIndex,
- pTempChanEntry->usSinSoutTsiMemIndex,
- pTempChanEntry->TdmConfig.bySinPcmLaw );
- }
+ ulResult = Oct6100ApiReleaseTsiMemEntry( f_pApiInstance, pTempChanEntry->usExtraSinTsiMemIndex );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
- if ( ulResult != cOCT6100_ERR_OK )
- return ulResult;
+ /* Do not forget to reprogram the TSST control memory. */
+ if ( pTempChanEntry->usSinTsstIndex != cOCT6100_INVALID_INDEX )
+ {
+ ulResult = Oct6100ApiWriteInputTsstControlMemory( f_pApiInstance,
+ pTempChanEntry->usSinTsstIndex,
+ pTempChanEntry->usSinSoutTsiMemIndex,
+ pTempChanEntry->TdmConfig.bySinPcmLaw );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+ }
+ pTempChanEntry->usExtraSinTsiMemIndex = cOCT6100_INVALID_INDEX;
+
+ /* XXX: What about the silence TSI usSinSilenceEventIndex ?? */
+ }
pTempChanEntry->usExtraSinTsiDependencyCnt--;
- pTempChanEntry->usExtraSinTsiMemIndex = cOCT6100_INVALID_INDEX;
+
}
}
@@ -328,12 +335,14 @@ UINT32 Oct6100DebugSelectChannelSer(
/* Check if the API needs to reserve an extra TSI memory to load the SIN signal. */
if ( pSharedInfo->ChipConfig.fEnableChannelRecording == TRUE )
{
+ /* Reserve the extra Sin TSI memory if it was not already reserved. */
if ( pChanEntry->usExtraSinTsiMemIndex == cOCT6100_INVALID_INDEX )
{
ulResult = Oct6100ApiReserveTsiMemEntry( f_pApiInstance, &pChanEntry->usExtraSinTsiMemIndex );
if ( ulResult != cOCT6100_ERR_OK )
return ulResult;
+ /* Reprogram the TSST control memory accordingly. */
if ( pChanEntry->usSinTsstIndex != cOCT6100_INVALID_INDEX )
{
ulResult = Oct6100ApiWriteInputTsstControlMemory( f_pApiInstance,
@@ -343,6 +352,8 @@ UINT32 Oct6100DebugSelectChannelSer(
if ( ulResult != cOCT6100_ERR_OK )
return ulResult;
}
+
+ /* XXX: What about the silence TSI usSinSilenceEventIndex ?? */
}
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c
index ca329b1..7d52366 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 81 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c
index 6503402..60d7616 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
-$Octasic_Revision: 78 $
+$Octasic_Revision: 81 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
@@ -1797,15 +1797,18 @@ UINT32 Oct6100ApiCheckProcessorState(
tPOCT6100_SHARED_INFO pSharedInfo;
tOCT6100_READ_PARAMS ReadParams;
tOCT6100_READ_BURST_PARAMS ReadBurstParams;
+
UINT32 ulNlpTimestamp;
UINT32 ulAfTimestamp;
UINT32 ulTimestampDiff;
UINT32 ulResult;
UINT32 i;
-
+
UINT16 usReadData;
UINT16 ausReadData[ 2 ];
+
+ UINT32 aulWaitTime[ 2 ];
/* Get local pointer(s). */
pSharedInfo = f_pApiInstance->pSharedInfo;
@@ -1913,7 +1916,7 @@ UINT32 Oct6100ApiCheckProcessorState(
/*-----------------------------------------------------------------------*/
/* Check the validity of the timestamp. */
-
+
if ( ulAfTimestamp > ulNlpTimestamp )
{
/* The NLP timestamp wrapped. */
@@ -1930,6 +1933,43 @@ UINT32 Oct6100ApiCheckProcessorState(
pSharedInfo->ErrorStats.fFatalChipError = TRUE;
}
+ /*Check if AF and NLP are both stuck*/
+ if ( f_pIntFlags->fErrorH100ClkA == FALSE &&
+ f_pIntFlags->fErrorH100ClkB == FALSE &&
+ f_pIntFlags->fErrorH100FrameA == FALSE &&
+ f_pIntFlags->fErrorH100OutOfSync == FALSE )
+
+ {
+ if ( ulAfTimestamp == 0 && ulNlpTimestamp == 0 )
+ {
+ /*Give some time to the counters*/
+ aulWaitTime[ 0 ] = 250;
+ aulWaitTime[ 1 ] = 0;
+ ulResult = Oct6100ApiWaitForTime( f_pApiInstance, aulWaitTime );
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+
+ /*Let's read again the AF timestamp to be sure. Maybe they were at 0 at the same time*/
+ ReadBurstParams.ulReadAddress = 0x082E0008;
+ ReadBurstParams.ulReadLength = 2;
+
+ mOCT6100_DRIVER_READ_BURST_API( ReadBurstParams, ulResult )
+ if ( ulResult != cOCT6100_ERR_OK )
+ return ulResult;
+
+ ulAfTimestamp = (ausReadData[ 0 ] << 16) | ausReadData[ 1 ];
+
+ if ( ulAfTimestamp == 0 )
+ {
+ /*TDM Clocks are ok but NLP and AF timestamps are both at 0*/
+ f_pIntFlags->ulFatalGeneralFlags |= cOCT6100_FATAL_GENERAL_ERROR_TYPE_9;
+ f_pIntFlags->fFatalGeneral = TRUE;
+ pSharedInfo->ErrorStats.fFatalChipError = TRUE;
+ }
+ }
+
+ }
+
/*-----------------------------------------------------------------------*/
return cOCT6100_ERR_OK;
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c
index 1566111..ccf1612 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 42 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c
index 17693f8..f082410 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 35 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c
index 01610ce..1121b98 100644
--- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c
+++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 42 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c
index 0f0cb1d..39d94b1 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$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 81b07f9..01d5ee7 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$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 dbb8d93..63e1242 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 35 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c
index 37864f5..6cee0e6 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 113 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c
index 97d3648..052e439 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$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 f90b16b..6784282 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 38 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c
index 49c8bbe..917af02 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 39 $
diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c
index dfdaad4..165cdb9 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.00-PR48 $
+$Octasic_Release: OCT612xAPI-01.00-PR49 $
$Octasic_Revision: 28 $