From e2b0cb3c458ae824c26d922a98c89c93cdd1f73a Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Fri, 13 Jul 2007 21:12:46 +0000 Subject: update to PR48 API release git-svn-id: http://svn.asterisk.org/svn/octasic_api/oct612x/trunk@28 537310ab-6354-42db-a3cc-247b777f7be6 --- software/Makefile | 2 +- software/apilib/bt/octapi_bt0.c | 4 +- software/apilib/bt/octapi_bt0_private.h | 2 +- software/apilib/largmath/octapi_largmath.c | 4 +- software/apilib/llman/octapi_llman.c | 4 +- software/apilib/llman/octapi_llman_private.h | 2 +- software/include/apilib/octapi_bt0.h | 4 +- software/include/apilib/octapi_largmath.h | 4 +- software/include/apilib/octapi_llman.h | 4 +- .../include/oct6100api/oct6100_adpcm_chan_inst.h | 4 +- .../include/oct6100api/oct6100_adpcm_chan_pub.h | 4 +- software/include/oct6100api/oct6100_api.h | 4 +- software/include/oct6100api/oct6100_api_inst.h | 8 +- software/include/oct6100api/oct6100_apimi.h | 4 +- software/include/oct6100api/oct6100_apiud.h | 29 +- software/include/oct6100api/oct6100_channel_inst.h | 11 +- software/include/oct6100api/oct6100_channel_pub.h | 15 +- .../include/oct6100api/oct6100_chip_open_inst.h | 20 +- .../include/oct6100api/oct6100_chip_open_pub.h | 7 +- .../include/oct6100api/oct6100_chip_stats_inst.h | 4 +- .../include/oct6100api/oct6100_chip_stats_pub.h | 8 +- .../include/oct6100api/oct6100_conf_bridge_inst.h | 4 +- .../include/oct6100api/oct6100_conf_bridge_pub.h | 4 +- software/include/oct6100api/oct6100_debug_inst.h | 4 +- software/include/oct6100api/oct6100_debug_pub.h | 4 +- software/include/oct6100api/oct6100_defines.h | 9 +- software/include/oct6100api/oct6100_errors.h | 21 +- software/include/oct6100api/oct6100_events_inst.h | 4 +- software/include/oct6100api/oct6100_events_pub.h | 4 +- .../include/oct6100api/oct6100_interrupts_inst.h | 4 +- .../include/oct6100api/oct6100_interrupts_pub.h | 4 +- software/include/oct6100api/oct6100_mixer_inst.h | 4 +- software/include/oct6100api/oct6100_mixer_pub.h | 4 +- .../include/oct6100api/oct6100_phasing_tsst_inst.h | 4 +- .../include/oct6100api/oct6100_phasing_tsst_pub.h | 4 +- .../include/oct6100api/oct6100_playout_buf_inst.h | 4 +- .../include/oct6100api/oct6100_playout_buf_pub.h | 4 +- .../include/oct6100api/oct6100_remote_debug_inst.h | 4 +- .../include/oct6100api/oct6100_remote_debug_pub.h | 4 +- software/include/oct6100api/oct6100_tlv_inst.h | 4 +- .../oct6100api/oct6100_tone_detection_inst.h | 4 +- .../oct6100api/oct6100_tone_detection_pub.h | 4 +- .../include/oct6100api/oct6100_tsi_cnct_inst.h | 4 +- software/include/oct6100api/oct6100_tsi_cnct_pub.h | 4 +- software/include/oct6100api/oct6100_tsst_inst.h | 4 +- software/include/octdef.h | 4 +- software/include/octmac.h | 4 +- software/include/octosdependant.h | 38 ++- software/include/octrpc/oct6100_rpc_protocol.h | 4 +- software/include/octrpc/rpc_protocol.h | 4 +- software/include/octtype.h | 4 +- software/include/octtypevx.h | 12 +- software/include/octtypewin.h | 4 +- .../oct6100api/oct6100_adpcm_chan_priv.h | 4 +- .../oct6100api/oct6100_api/oct6100_adpcm_chan.c | 4 +- .../oct6100api/oct6100_api/oct6100_channel.c | 365 ++++++--------------- .../oct6100api/oct6100_api/oct6100_chip_open.c | 162 +++++++-- .../oct6100api/oct6100_api/oct6100_chip_stats.c | 14 +- .../oct6100api/oct6100_api/oct6100_conf_bridge.c | 4 +- .../oct6100api/oct6100_api/oct6100_debug.c | 53 ++- .../oct6100api/oct6100_api/oct6100_events.c | 323 ++++++++++-------- .../oct6100api/oct6100_api/oct6100_interrupts.c | 113 ++++++- .../oct6100api/oct6100_api/oct6100_memory.c | 4 +- .../oct6100api/oct6100_api/oct6100_miscellaneous.c | 4 +- .../oct6100api/oct6100_api/oct6100_mixer.c | 4 +- .../oct6100api/oct6100_api/oct6100_phasing_tsst.c | 4 +- .../oct6100api/oct6100_api/oct6100_playout_buf.c | 4 +- .../oct6100api/oct6100_api/oct6100_remote_debug.c | 4 +- .../oct6100api/oct6100_api/oct6100_tlv.c | 54 +-- .../oct6100_api/oct6100_tone_detection.c | 51 ++- .../oct6100api/oct6100_api/oct6100_tsi_cnct.c | 4 +- .../oct6100api/oct6100_api/oct6100_tsst.c | 4 +- .../oct6100api/oct6100_api/oct6100_user.c | 4 +- .../oct6100_apimi/oct6100_mask_interrupts.c | 4 +- .../octdeviceapi/oct6100api/oct6100_channel_priv.h | 4 +- .../oct6100api/oct6100_chip_open_priv.h | 14 +- .../oct6100api/oct6100_chip_stats_priv.h | 4 +- .../oct6100api/oct6100_conf_bridge_priv.h | 4 +- .../octdeviceapi/oct6100api/oct6100_debug_priv.h | 4 +- .../octdeviceapi/oct6100api/oct6100_events_priv.h | 4 +- .../oct6100api/oct6100_interrupts_priv.h | 9 +- .../octdeviceapi/oct6100api/oct6100_memory_priv.h | 4 +- .../oct6100api/oct6100_miscellaneous_priv.h | 4 +- .../octdeviceapi/oct6100api/oct6100_mixer_priv.h | 4 +- .../oct6100api/oct6100_phasing_tsst_priv.h | 4 +- .../oct6100api/oct6100_playout_buf_priv.h | 4 +- .../oct6100api/oct6100_remote_debug_priv.h | 4 +- .../octdeviceapi/oct6100api/oct6100_tlv_priv.h | 18 +- .../oct6100api/oct6100_tone_detection_priv.h | 11 +- .../oct6100api/oct6100_tsi_cnct_priv.h | 4 +- .../octdeviceapi/oct6100api/oct6100_tsst_priv.h | 4 +- software/octdeviceapi/oct6100api/oct6100_version.h | 8 +- 92 files changed, 861 insertions(+), 778 deletions(-) diff --git a/software/Makefile b/software/Makefile index 5e6661f..e3e32e5 100644 --- a/software/Makefile +++ b/software/Makefile @@ -1,4 +1,4 @@ -CFLAGS=-V3.4 -ffunction-sections -Iinclude -Ioctdeviceapi -Ioctdeviceapi/oct6100api -DGFP_ATOMIC=0 -Dkmalloc=calloc -Dkfree=free +CFLAGS=-V3.4 -ffunction-sections -I/lib/modules/$(shell uname -r)/build/include -Iinclude -Ioctdeviceapi -Ioctdeviceapi/oct6100api -DGFP_ATOMIC=0 -Dkmalloc=calloc -Dkfree=free LDFLAGS=-V3.4 -Wl,-Map -Wl,test.map -Wl,--gc-sections APIDIR=octdeviceapi/oct6100api/oct6100_api diff --git a/software/apilib/bt/octapi_bt0.c b/software/apilib/bt/octapi_bt0.c index 4b160c1..a5e009a 100644 --- a/software/apilib/bt/octapi_bt0.c +++ b/software/apilib/bt/octapi_bt0.c @@ -2,7 +2,7 @@ File: octapi_bt0.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 18 $ diff --git a/software/apilib/bt/octapi_bt0_private.h b/software/apilib/bt/octapi_bt0_private.h index 1bb8841..059e58e 100644 --- a/software/apilib/bt/octapi_bt0_private.h +++ b/software/apilib/bt/octapi_bt0_private.h @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 11 $ diff --git a/software/apilib/largmath/octapi_largmath.c b/software/apilib/largmath/octapi_largmath.c index 59753f0..8f224e4 100644 --- a/software/apilib/largmath/octapi_largmath.c +++ b/software/apilib/largmath/octapi_largmath.c @@ -2,7 +2,7 @@ File: octapi_largmath.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 10 $ diff --git a/software/apilib/llman/octapi_llman.c b/software/apilib/llman/octapi_llman.c index 72d328f..c87d824 100644 --- a/software/apilib/llman/octapi_llman.c +++ b/software/apilib/llman/octapi_llman.c @@ -2,7 +2,7 @@ File: octapi_llman.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 22 $ diff --git a/software/apilib/llman/octapi_llman_private.h b/software/apilib/llman/octapi_llman_private.h index 213ca2b..4f24182 100644 --- a/software/apilib/llman/octapi_llman_private.h +++ b/software/apilib/llman/octapi_llman_private.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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 13 $ diff --git a/software/include/apilib/octapi_bt0.h b/software/include/apilib/octapi_bt0.h index bcd0bd6..1b130e0 100644 --- a/software/include/apilib/octapi_bt0.h +++ b/software/include/apilib/octapi_bt0.h @@ -2,7 +2,7 @@ File: octapi_bt0.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 11 $ diff --git a/software/include/apilib/octapi_largmath.h b/software/include/apilib/octapi_largmath.h index 065c1ca..7c4df4d 100644 --- a/software/include/apilib/octapi_largmath.h +++ b/software/include/apilib/octapi_largmath.h @@ -2,7 +2,7 @@ File: octapi_largmath.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 6 $ diff --git a/software/include/apilib/octapi_llman.h b/software/include/apilib/octapi_llman.h index 829113f..15322fa 100644 --- a/software/include/apilib/octapi_llman.h +++ b/software/include/apilib/octapi_llman.h @@ -2,7 +2,7 @@ File: octapi_llman.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 8 $ diff --git a/software/include/oct6100api/oct6100_adpcm_chan_inst.h b/software/include/oct6100api/oct6100_adpcm_chan_inst.h index 199890f..f8b890f 100644 --- a/software/include/oct6100api/oct6100_adpcm_chan_inst.h +++ b/software/include/oct6100api/oct6100_adpcm_chan_inst.h @@ -2,7 +2,7 @@ File: oct6100_adpcm_chan_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 6 $ diff --git a/software/include/oct6100api/oct6100_adpcm_chan_pub.h b/software/include/oct6100api/oct6100_adpcm_chan_pub.h index a6d1f39..e1d627b 100644 --- a/software/include/oct6100api/oct6100_adpcm_chan_pub.h +++ b/software/include/oct6100api/oct6100_adpcm_chan_pub.h @@ -2,7 +2,7 @@ File: oct6100_adpcm_chan_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 5 $ diff --git a/software/include/oct6100api/oct6100_api.h b/software/include/oct6100api/oct6100_api.h index 6a5cc4f..1742912 100644 --- a/software/include/oct6100api/oct6100_api.h +++ b/software/include/oct6100api/oct6100_api.h @@ -2,7 +2,7 @@ File: oct6100_api.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 23 $ diff --git a/software/include/oct6100api/oct6100_api_inst.h b/software/include/oct6100api/oct6100_api_inst.h index f92b2d8..32f7ee1 100644 --- a/software/include/oct6100api/oct6100_api_inst.h +++ b/software/include/oct6100api/oct6100_api_inst.h @@ -2,7 +2,7 @@ File: oct6100_api_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 39 $ +$Octasic_Revision: 40 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -130,7 +130,7 @@ typedef struct _OCT6100_INSTANCE_API_ PVOID pProcessContext; /* Handles to all serialization objects used by the API. */ - UINT32 ulApiSerObj; + tOCT6100_USER_SERIAL_OBJECT ulApiSerObj; } tOCT6100_INSTANCE_API, *tPOCT6100_INSTANCE_API; diff --git a/software/include/oct6100api/oct6100_apimi.h b/software/include/oct6100api/oct6100_apimi.h index 2fe6d46..4c809f3 100644 --- a/software/include/oct6100api/oct6100_apimi.h +++ b/software/include/oct6100api/oct6100_apimi.h @@ -2,7 +2,7 @@ File: oct6100_apimi.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -27,7 +27,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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 6 $ diff --git a/software/include/oct6100api/oct6100_apiud.h b/software/include/oct6100api/oct6100_apiud.h index 4076688..f05dec5 100644 --- a/software/include/oct6100api/oct6100_apiud.h +++ b/software/include/oct6100api/oct6100_apiud.h @@ -2,7 +2,7 @@ File: oct6100_apiud.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 15 $ +$Octasic_Revision: 16 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -128,6 +128,9 @@ $Octasic_Revision: 15 $ /***************************** TYPES ***************************************/ +/*Change this type if your platform uses 64bits semaphores/locks */ +typedef UINT32 tOCT6100_USER_SERIAL_OBJECT; + typedef struct _OCT6100_GET_TIME_ { PVOID pProcessContext; @@ -141,34 +144,34 @@ typedef struct _OCT6100_GET_TIME_ typedef struct _OCT6100_CREATE_SERIALIZE_OBJECT_ { - PVOID pProcessContext; - PSZ pszSerialObjName; - UINT32 ulSerialObjHndl; + PVOID pProcessContext; + PSZ pszSerialObjName; + tOCT6100_USER_SERIAL_OBJECT ulSerialObjHndl; } tOCT6100_CREATE_SERIALIZE_OBJECT, *tPOCT6100_CREATE_SERIALIZE_OBJECT; typedef struct _OCT6100_DESTROY_SERIALIZE_OBJECT_ { - PVOID pProcessContext; - UINT32 ulSerialObjHndl; + PVOID pProcessContext; + tOCT6100_USER_SERIAL_OBJECT ulSerialObjHndl; } tOCT6100_DESTROY_SERIALIZE_OBJECT, *tPOCT6100_DESTROY_SERIALIZE_OBJECT; typedef struct _OCT6100_SEIZE_SERIALIZE_OBJECT_ { - PVOID pProcessContext; - UINT32 ulSerialObjHndl; - UINT32 ulTryTimeMs; + PVOID pProcessContext; + tOCT6100_USER_SERIAL_OBJECT ulSerialObjHndl; + UINT32 ulTryTimeMs; } tOCT6100_SEIZE_SERIALIZE_OBJECT, *tPOCT6100_SEIZE_SERIALIZE_OBJECT; typedef struct _OCT6100_RELEASE_SERIALIZE_OBJECT_ { - PVOID pProcessContext; - UINT32 ulSerialObjHndl; + PVOID pProcessContext; + tOCT6100_USER_SERIAL_OBJECT ulSerialObjHndl; } tOCT6100_RELEASE_SERIALIZE_OBJECT, *tPOCT6100_RELEASE_SERIALIZE_OBJECT; diff --git a/software/include/oct6100api/oct6100_channel_inst.h b/software/include/oct6100api/oct6100_channel_inst.h index 694fdfa..4144c44 100644 --- a/software/include/oct6100api/oct6100_channel_inst.h +++ b/software/include/oct6100api/oct6100_channel_inst.h @@ -2,7 +2,7 @@ File: oct6100_channel_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 89 $ +$Octasic_Revision: 90 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -131,11 +131,6 @@ typedef struct _OCT6100_API_CHANNEL_VQE_ UINT8 byDoubleTalkBehavior; UINT8 fSoutNoiseBleaching; - UINT8 fResetRinAlcOnTones; - UINT8 fResetSoutAlcOnTones; - - UINT16 usAlcNoiseBleedOutTime; - UINT8 fSoutConferencingNoiseReduction; diff --git a/software/include/oct6100api/oct6100_channel_pub.h b/software/include/oct6100api/oct6100_channel_pub.h index 6bd42f3..43b2e8f 100644 --- a/software/include/oct6100api/oct6100_channel_pub.h +++ b/software/include/oct6100api/oct6100_channel_pub.h @@ -2,7 +2,7 @@ File: oct6100_channel_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 83 $ +$Octasic_Revision: 84 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -80,9 +80,7 @@ typedef struct _OCT6100_CHANNEL_OPEN_VQE_ BOOL fRinLevelControl; BOOL fSoutLevelControl; BOOL fRinAutomaticLevelControl; - BOOL fResetRinAlcOnTones; BOOL fSoutAutomaticLevelControl; - BOOL fResetSoutAlcOnTones; BOOL fRinHighLevelCompensation; BOOL fAcousticEcho; BOOL fSoutAdaptiveNoiseReduction; @@ -99,7 +97,6 @@ typedef struct _OCT6100_CHANNEL_OPEN_VQE_ INT32 lSoutLevelControlGainDb; INT32 lRinAutomaticLevelControlTargetDb; INT32 lSoutAutomaticLevelControlTargetDb; - UINT32 ulAlcNoiseBleedOutTime; INT32 lRinHighLevelCompensationThresholdDb; INT32 lDefaultErlDb; INT32 lAecDefaultErlDb; @@ -202,9 +199,7 @@ typedef struct _OCT6100_CHANNEL_MODIFY_VQE_ BOOL fRinLevelControl; BOOL fSoutLevelControl; BOOL fRinAutomaticLevelControl; - BOOL fResetRinAlcOnTones; BOOL fSoutAutomaticLevelControl; - BOOL fResetSoutAlcOnTones; BOOL fRinHighLevelCompensation; BOOL fAcousticEcho; BOOL fSoutAdaptiveNoiseReduction; @@ -221,7 +216,6 @@ typedef struct _OCT6100_CHANNEL_MODIFY_VQE_ INT32 lSoutLevelControlGainDb; INT32 lRinAutomaticLevelControlTargetDb; INT32 lSoutAutomaticLevelControlTargetDb; - UINT32 ulAlcNoiseBleedOutTime; INT32 lRinHighLevelCompensationThresholdDb; INT32 lDefaultErlDb; INT32 lAecDefaultErlDb; @@ -357,9 +351,7 @@ typedef struct _OCT6100_CHANNEL_STATS_VQE_ BOOL fRinLevelControl; BOOL fSoutLevelControl; BOOL fRinAutomaticLevelControl; - BOOL fResetRinAlcOnTones; BOOL fSoutAutomaticLevelControl; - BOOL fResetSoutAlcOnTones; BOOL fRinHighLevelCompensation; BOOL fAcousticEcho; BOOL fSoutAdaptiveNoiseReduction; @@ -376,7 +368,6 @@ typedef struct _OCT6100_CHANNEL_STATS_VQE_ INT32 lSoutLevelControlGainDb; INT32 lRinAutomaticLevelControlTargetDb; INT32 lSoutAutomaticLevelControlTargetDb; - UINT32 ulAlcNoiseBleedOutTime; INT32 lRinHighLevelCompensationThresholdDb; INT32 lDefaultErlDb; INT32 lAecDefaultErlDb; diff --git a/software/include/oct6100api/oct6100_chip_open_inst.h b/software/include/oct6100api/oct6100_chip_open_inst.h index d9a0139..85eedf7 100644 --- a/software/include/oct6100api/oct6100_chip_open_inst.h +++ b/software/include/oct6100api/oct6100_chip_open_inst.h @@ -2,7 +2,7 @@ File: oct6100_chip_open_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 120 $ +$Octasic_Revision: 122 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -88,6 +88,7 @@ typedef struct _OCT6100_API_CHIP_CONFIG_ UINT16 usMaxTsiCncts; UINT8 fEnableExtToneDetection; + UINT8 fEnable2100StopEvent; UINT16 usMaxConfBridges; @@ -340,15 +341,6 @@ typedef struct _OCT6100_API_MEMORY_MAP_ /* Idle code detection field offset. */ tOCT6100_TLV_OFFSET IdleCodeDetectionFieldOfst; - /* Reset Rin ALC on tones field offset. */ - tOCT6100_TLV_OFFSET ResetRinAlcOnTonesFieldOfst; - - /* Reset Sout ALC on tones field offset. */ - tOCT6100_TLV_OFFSET ResetSoutAlcOnTonesFieldOfst; - - /* ALC noise bleed out time field offset. */ - tOCT6100_TLV_OFFSET AlcNoiseBleedOutTimeFieldOfst; - /* TSI memory mapping information.*/ UINT32 ulNumTsiEntries; @@ -473,11 +465,7 @@ typedef struct _OCT6100_API_IMAGE_INFO_ UINT8 fIdleCodeDetection; UINT8 fIdleCodeDetectionConfiguration; - UINT8 fResetRinAlcOnTones; - UINT8 fResetSoutAlcOnTones; - UINT8 fSinLevel; - UINT8 fAlcNoiseBleedOutTime; diff --git a/software/include/oct6100api/oct6100_chip_open_pub.h b/software/include/oct6100api/oct6100_chip_open_pub.h index 2a3c151..980447c 100644 --- a/software/include/oct6100api/oct6100_chip_open_pub.h +++ b/software/include/oct6100api/oct6100_chip_open_pub.h @@ -2,7 +2,7 @@ File: oct6100_chip_open_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 51 $ +$Octasic_Revision: 54 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -90,6 +90,7 @@ typedef struct _OCT6100_CHIP_OPEN_ UINT32 ulSoftToneEventsBufSize; /* In events. */ BOOL fEnableExtToneDetection; + BOOL fEnable2100StopEvent; UINT32 ulSoftBufferPlayoutEventsBufSize; /* In events. */ diff --git a/software/include/oct6100api/oct6100_chip_stats_inst.h b/software/include/oct6100api/oct6100_chip_stats_inst.h index 9dd3404..85ad6e7 100644 --- a/software/include/oct6100api/oct6100_chip_stats_inst.h +++ b/software/include/oct6100api/oct6100_chip_stats_inst.h @@ -2,7 +2,7 @@ File: oct6100_chip_stats_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 21 $ diff --git a/software/include/oct6100api/oct6100_chip_stats_pub.h b/software/include/oct6100api/oct6100_chip_stats_pub.h index 85dce9e..f9ec60a 100644 --- a/software/include/oct6100api/oct6100_chip_stats_pub.h +++ b/software/include/oct6100api/oct6100_chip_stats_pub.h @@ -2,7 +2,7 @@ File: oct6100_chip_stats_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 58 $ +$Octasic_Revision: 59 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -85,8 +85,6 @@ typedef struct _OCT6100_CHIP_IMAGE_INFO_ BOOL fAdaptiveNoiseReduction; BOOL fSoutNoiseBleaching; BOOL fAutoLevelControl; - BOOL fAlcNoiseBleedOutTime; - BOOL fResetAlcOnTones; BOOL fHighLevelCompensation; BOOL fSilenceSuppression; diff --git a/software/include/oct6100api/oct6100_conf_bridge_inst.h b/software/include/oct6100api/oct6100_conf_bridge_inst.h index ab6294a..641f2f7 100644 --- a/software/include/oct6100api/oct6100_conf_bridge_inst.h +++ b/software/include/oct6100api/oct6100_conf_bridge_inst.h @@ -2,7 +2,7 @@ File: oct6100_conf_bridge_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 19 $ diff --git a/software/include/oct6100api/oct6100_conf_bridge_pub.h b/software/include/oct6100api/oct6100_conf_bridge_pub.h index 2ffd72c..7be321a 100644 --- a/software/include/oct6100api/oct6100_conf_bridge_pub.h +++ b/software/include/oct6100api/oct6100_conf_bridge_pub.h @@ -2,7 +2,7 @@ File: oct6100_conf_bridge_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 22 $ diff --git a/software/include/oct6100api/oct6100_debug_inst.h b/software/include/oct6100api/oct6100_debug_inst.h index 3caaf65..05a4f96 100644 --- a/software/include/oct6100api/oct6100_debug_inst.h +++ b/software/include/oct6100api/oct6100_debug_inst.h @@ -2,7 +2,7 @@ File: oct6100_debug_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 10 $ diff --git a/software/include/oct6100api/oct6100_debug_pub.h b/software/include/oct6100api/oct6100_debug_pub.h index 0ddb6e2..e8eb4ca 100644 --- a/software/include/oct6100api/oct6100_debug_pub.h +++ b/software/include/oct6100api/oct6100_debug_pub.h @@ -2,7 +2,7 @@ File: oct6100_debug_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 14 $ diff --git a/software/include/oct6100api/oct6100_defines.h b/software/include/oct6100api/oct6100_defines.h index abe1590..1e5edb1 100644 --- a/software/include/oct6100api/oct6100_defines.h +++ b/software/include/oct6100api/oct6100_defines.h @@ -2,7 +2,7 @@ File: oct6100_defines.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.7 -$Octasic_Release: OCT612xAPI-01.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 169 $ +$Octasic_Revision: 170 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -578,6 +578,9 @@ $Octasic_Revision: 169 $ #define cOCT6100_DEBUG_CHAN_STATS_EVENT_BYTE_SIZE 1024 #define cOCT6100_DEBUG_CHAN_STATS_LITE_EVENT_BYTE_SIZE 720 +/* Image start string define */ +#define cOCT6100_IMAGE_START_STRING "EDS3_IMAGE_NAME" + /* Tone image info defines.*/ #define cOCT6100_TONE_INFO_START_STRING "[ToneDetectorInfo]" #define cOCT6100_TONE_INFO_STOP_STRING "[~ToneDetectorInfo]" diff --git a/software/include/oct6100api/oct6100_errors.h b/software/include/oct6100api/oct6100_errors.h index 3834abc..c751b95 100644 --- a/software/include/oct6100api/oct6100_errors.h +++ b/software/include/oct6100api/oct6100_errors.h @@ -2,7 +2,7 @@ File: oct6100_errors.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 202 $ +$Octasic_Revision: 205 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -82,9 +82,6 @@ $Octasic_Revision: 202 $ #define cOCT6100_ERR_NOT_SUPPORTED_DOUBLE_TALK_BEHAVIOR_MODE (0x00024 + cOCT6100_NOT_SUPPORTED_BASE) #define cOCT6100_ERR_NOT_SUPPORTED_IDLE_CODE_DETECTION (0x00025 + cOCT6100_NOT_SUPPORTED_BASE) #define cOCT6100_ERR_NOT_SUPPORTED_IDLE_CODE_DETECTION_CONFIG (0x00026 + cOCT6100_NOT_SUPPORTED_BASE) -#define cOCT6100_ERR_NOT_SUPPORTED_RESET_RIN_ALC_ON_TONES (0x00027 + cOCT6100_NOT_SUPPORTED_BASE) -#define cOCT6100_ERR_NOT_SUPPORTED_RESET_SOUT_ALC_ON_TONES (0x00028 + cOCT6100_NOT_SUPPORTED_BASE) -#define cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_ALC_NOISE_BLEED_OUT_TIME (0x00029 + cOCT6100_NOT_SUPPORTED_BASE) #define cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_ROUT_NOISE_REDUCTION_GAIN (0x0002B + cOCT6100_NOT_SUPPORTED_BASE) @@ -186,8 +183,11 @@ $Octasic_Revision: 202 $ #define cOCT6100_ERR_OPEN_INVALID_TLV_LENGTH (0x0305B + cOCT6100_ERR_BASE) #define cOCT6100_ERR_OPEN_PRODUCTION_BIST_MODE (0x0305C + cOCT6100_ERR_BASE) -#define cOCT6100_ERR_CAP_PINS_INVALID_CHIP_STATE (0x0305E + cOCT6100_ERR_BASE) -#define cOCT6100_ERR_CAP_PINS_INVALID_CAPACITY_VALUE (0x0305F + cOCT6100_ERR_BASE) +#define cOCT6100_ERR_OPEN_ENABLE_2100_STOP_EVENT (0x03060 + cOCT6100_ERR_BASE) + + +#define cOCT6100_ERR_CAP_PINS_INVALID_CHIP_STATE (0x03081 + cOCT6100_ERR_BASE) +#define cOCT6100_ERR_CAP_PINS_INVALID_CAPACITY_VALUE (0x03082 + cOCT6100_ERR_BASE) #define cOCT6100_ERR_TSI_CNCT_ALL_CHANNELS_ARE_OPENED (0x04000 + cOCT6100_ERR_BASE) #define cOCT6100_ERR_TSI_CNCT_DISABLED (0x04001 + cOCT6100_ERR_BASE) @@ -409,11 +409,10 @@ $Octasic_Revision: 202 $ #define cOCT6100_ERR_CHANNEL_ANR_CNR_SIMULTANEOUSLY (0x070C0 + cOCT6100_ERR_BASE) #define cOCT6100_ERR_CHANNEL_IDLE_CODE_DETECTION (0x070C1 + cOCT6100_ERR_BASE) #define cOCT6100_ERR_CHANNEL_MUST_ENABLE_TONE_DISABLER (0x070C2 + cOCT6100_ERR_BASE) -#define cOCT6100_ERR_CHANNEL_RESET_RIN_ALC_ON_TONES (0x070C3 + cOCT6100_ERR_BASE) -#define cOCT6100_ERR_CHANNEL_RESET_SOUT_ALC_ON_TONES (0x070C4 + cOCT6100_ERR_BASE) + #define cOCT6100_ERR_CHANNEL_RIN_AUTO_LEVEL_CONTROL_REQUIRED (0x070C5 + cOCT6100_ERR_BASE) #define cOCT6100_ERR_CHANNEL_SOUT_AUTO_LEVEL_CONTROL_REQUIRED (0x070C6 + cOCT6100_ERR_BASE) -#define cOCT6100_ERR_CHANNEL_ALC_NOISE_BLEED_OUT_TIME (0x070C7 + cOCT6100_ERR_BASE) + #define cOCT6100_ERR_CHANNEL_AUTO_LEVEL_CONTROL_REQUIRED (0x070C8 + cOCT6100_ERR_BASE) #define cOCT6100_ERR_CHANNEL_COMFORT_NOISE_REQUIRED (0x070CB + cOCT6100_ERR_BASE) diff --git a/software/include/oct6100api/oct6100_events_inst.h b/software/include/oct6100api/oct6100_events_inst.h index eef5934..fba4f02 100644 --- a/software/include/oct6100api/oct6100_events_inst.h +++ b/software/include/oct6100api/oct6100_events_inst.h @@ -3,7 +3,7 @@ File: oct6100_events_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -26,7 +26,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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 12 $ diff --git a/software/include/oct6100api/oct6100_events_pub.h b/software/include/oct6100api/oct6100_events_pub.h index bc3d888..59261b8 100644 --- a/software/include/oct6100api/oct6100_events_pub.h +++ b/software/include/oct6100api/oct6100_events_pub.h @@ -2,7 +2,7 @@ File: oct6100_events_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 14 $ diff --git a/software/include/oct6100api/oct6100_interrupts_inst.h b/software/include/oct6100api/oct6100_interrupts_inst.h index 4d3e52b..55a3b4d 100644 --- a/software/include/oct6100api/oct6100_interrupts_inst.h +++ b/software/include/oct6100api/oct6100_interrupts_inst.h @@ -2,7 +2,7 @@ File: oct6100_interrupts_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 16 $ diff --git a/software/include/oct6100api/oct6100_interrupts_pub.h b/software/include/oct6100api/oct6100_interrupts_pub.h index a401ffa..e8e082c 100644 --- a/software/include/oct6100api/oct6100_interrupts_pub.h +++ b/software/include/oct6100api/oct6100_interrupts_pub.h @@ -2,7 +2,7 @@ File: oct6100_interrupts_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 23 $ diff --git a/software/include/oct6100api/oct6100_mixer_inst.h b/software/include/oct6100api/oct6100_mixer_inst.h index 020d15c..4d13618 100644 --- a/software/include/oct6100api/oct6100_mixer_inst.h +++ b/software/include/oct6100api/oct6100_mixer_inst.h @@ -2,7 +2,7 @@ File: oct6100_mixer_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 13 $ diff --git a/software/include/oct6100api/oct6100_mixer_pub.h b/software/include/oct6100api/oct6100_mixer_pub.h index b40b14c..954fc18 100644 --- a/software/include/oct6100api/oct6100_mixer_pub.h +++ b/software/include/oct6100api/oct6100_mixer_pub.h @@ -2,7 +2,7 @@ File: oct6100_mixer_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 7 $ diff --git a/software/include/oct6100api/oct6100_phasing_tsst_inst.h b/software/include/oct6100api/oct6100_phasing_tsst_inst.h index 58d12b1..2bc5fd4 100644 --- a/software/include/oct6100api/oct6100_phasing_tsst_inst.h +++ b/software/include/oct6100api/oct6100_phasing_tsst_inst.h @@ -2,7 +2,7 @@ File: oct6100_phasing_tsst_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 11 $ diff --git a/software/include/oct6100api/oct6100_phasing_tsst_pub.h b/software/include/oct6100api/oct6100_phasing_tsst_pub.h index 94f0ba3..4bcf055 100644 --- a/software/include/oct6100api/oct6100_phasing_tsst_pub.h +++ b/software/include/oct6100api/oct6100_phasing_tsst_pub.h @@ -2,7 +2,7 @@ File: oct6100_phasing_tsst_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 10 $ diff --git a/software/include/oct6100api/oct6100_playout_buf_inst.h b/software/include/oct6100api/oct6100_playout_buf_inst.h index 367e5f1..4e06387 100644 --- a/software/include/oct6100api/oct6100_playout_buf_inst.h +++ b/software/include/oct6100api/oct6100_playout_buf_inst.h @@ -2,7 +2,7 @@ File: oct6100_playout_buf_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 10 $ diff --git a/software/include/oct6100api/oct6100_playout_buf_pub.h b/software/include/oct6100api/oct6100_playout_buf_pub.h index 08f06c5..60fd9e2 100644 --- a/software/include/oct6100api/oct6100_playout_buf_pub.h +++ b/software/include/oct6100api/oct6100_playout_buf_pub.h @@ -2,7 +2,7 @@ File: oct6100_playout_buf_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 21 $ diff --git a/software/include/oct6100api/oct6100_remote_debug_inst.h b/software/include/oct6100api/oct6100_remote_debug_inst.h index 609d746..7167655 100644 --- a/software/include/oct6100api/oct6100_remote_debug_inst.h +++ b/software/include/oct6100api/oct6100_remote_debug_inst.h @@ -2,7 +2,7 @@ File: oct6100_remote_debug_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 6 $ diff --git a/software/include/oct6100api/oct6100_remote_debug_pub.h b/software/include/oct6100api/oct6100_remote_debug_pub.h index db34f94..cda0319 100644 --- a/software/include/oct6100api/oct6100_remote_debug_pub.h +++ b/software/include/oct6100api/oct6100_remote_debug_pub.h @@ -2,7 +2,7 @@ File: oct6100_remote_debug_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 6 $ diff --git a/software/include/oct6100api/oct6100_tlv_inst.h b/software/include/oct6100api/oct6100_tlv_inst.h index b1a24b5..dad10df 100644 --- a/software/include/oct6100api/oct6100_tlv_inst.h +++ b/software/include/oct6100api/oct6100_tlv_inst.h @@ -2,7 +2,7 @@ File: oct6100_tlv_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 7 $ diff --git a/software/include/oct6100api/oct6100_tone_detection_inst.h b/software/include/oct6100api/oct6100_tone_detection_inst.h index df2fa06..8fcc826 100644 --- a/software/include/oct6100api/oct6100_tone_detection_inst.h +++ b/software/include/oct6100api/oct6100_tone_detection_inst.h @@ -2,7 +2,7 @@ File: oct6100_tone_detection_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 8 $ diff --git a/software/include/oct6100api/oct6100_tone_detection_pub.h b/software/include/oct6100api/oct6100_tone_detection_pub.h index 9191c17..19574c3 100644 --- a/software/include/oct6100api/oct6100_tone_detection_pub.h +++ b/software/include/oct6100api/oct6100_tone_detection_pub.h @@ -2,7 +2,7 @@ File: oct6100_tone_detection_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 10 $ diff --git a/software/include/oct6100api/oct6100_tsi_cnct_inst.h b/software/include/oct6100api/oct6100_tsi_cnct_inst.h index 8388984..c8d8737 100644 --- a/software/include/oct6100api/oct6100_tsi_cnct_inst.h +++ b/software/include/oct6100api/oct6100_tsi_cnct_inst.h @@ -2,7 +2,7 @@ File: oct6100_tsi_cnct_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 9 $ diff --git a/software/include/oct6100api/oct6100_tsi_cnct_pub.h b/software/include/oct6100api/oct6100_tsi_cnct_pub.h index 2e69452..a3857ee 100644 --- a/software/include/oct6100api/oct6100_tsi_cnct_pub.h +++ b/software/include/oct6100api/oct6100_tsi_cnct_pub.h @@ -2,7 +2,7 @@ File: oct6100_tsi_cnct_pub.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 11 $ diff --git a/software/include/oct6100api/oct6100_tsst_inst.h b/software/include/oct6100api/oct6100_tsst_inst.h index 60204e6..6ddc9c3 100644 --- a/software/include/oct6100api/oct6100_tsst_inst.h +++ b/software/include/oct6100api/oct6100_tsst_inst.h @@ -2,7 +2,7 @@ File: oct6100_tsst_inst.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 5 $ diff --git a/software/include/octdef.h b/software/include/octdef.h index 0e1148c..6f98931 100644 --- a/software/include/octdef.h +++ b/software/include/octdef.h @@ -2,7 +2,7 @@ File: octdef.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 12 $ diff --git a/software/include/octmac.h b/software/include/octmac.h index 2c6a2c8..d9ae708 100644 --- a/software/include/octmac.h +++ b/software/include/octmac.h @@ -2,7 +2,7 @@ File: octmac.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 14 $ diff --git a/software/include/octosdependant.h b/software/include/octosdependant.h index a1a2190..9a94fb2 100644 --- a/software/include/octosdependant.h +++ b/software/include/octosdependant.h @@ -2,7 +2,7 @@ File: octosdependant.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 16 $ +$Octasic_Revision: 17 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -86,22 +86,32 @@ extern "C" { /* Try to find current OCT_MACH_ENDIAN from compiler define values */ #if !defined( MACH_TYPE_BIG_ENDIAN ) && !defined( MACH_TYPE_LITTLE_ENDIAN ) + /* Does GNU defines the endian ? */ + #if defined(__GNU_C__) + #if defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__) + #define OCT_MACH_ENDIAN OCT_MACH_BIG_ENDIAN + #elif defined(_LITTLE_ENDIAN) || defined(__LITTLE_ENDIAN__) + #define OCT_MACH_ENDIAN OCT_MACH_LITTLE_ENDIAN + #endif + #endif - /* Look for intel */ - #if defined( _M_IX86 ) - #define OCT_MACH_ENDIAN OCT_MACH_LITTLE_ENDIAN - /* Look for PowerPC */ - #elif defined( _M_MPPC ) || defined( _M_PPC ) - #define OCT_MACH_ENDIAN OCT_MACH_BIG_ENDIAN - #elif defined( CPU ) - #if CPU==PPC860 || CPU==SIMNT + /* Try with cpu type */ + #if !defined(OCT_MACH_ENDIAN) + /* Look for intel */ + #if defined( _M_IX86 ) + #define OCT_MACH_ENDIAN OCT_MACH_LITTLE_ENDIAN + /* Look for PowerPC */ + #elif defined( _M_MPPC ) || defined( _M_PPC ) || defined(PPC) || defined(__PPC) || defined(_ARCH_PPC) #define OCT_MACH_ENDIAN OCT_MACH_BIG_ENDIAN + #elif defined( CPU ) + #if CPU==PPC860 || CPU==SIMNT + #define OCT_MACH_ENDIAN OCT_MACH_BIG_ENDIAN + #else + #define OCT_MACH_ENDIAN OCT_MACH_LITTLE_ENDIAN + #endif #else #define OCT_MACH_ENDIAN OCT_MACH_LITTLE_ENDIAN #endif - /* Default is little endian */ - #else - #define OCT_MACH_ENDIAN OCT_MACH_LITTLE_ENDIAN #endif #else #if defined( MACH_TYPE_BIG_ENDIAN ) diff --git a/software/include/octrpc/oct6100_rpc_protocol.h b/software/include/octrpc/oct6100_rpc_protocol.h index 1bbdb5f..0ee0f5f 100644 --- a/software/include/octrpc/oct6100_rpc_protocol.h +++ b/software/include/octrpc/oct6100_rpc_protocol.h @@ -2,7 +2,7 @@ File: oct6100_rpc_protocol.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 6 $ diff --git a/software/include/octrpc/rpc_protocol.h b/software/include/octrpc/rpc_protocol.h index 426c562..6b17ee3 100644 --- a/software/include/octrpc/rpc_protocol.h +++ b/software/include/octrpc/rpc_protocol.h @@ -2,7 +2,7 @@ File: rpc_protocol.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 23 $ diff --git a/software/include/octtype.h b/software/include/octtype.h index be8a9e2..74c8418 100644 --- a/software/include/octtype.h +++ b/software/include/octtype.h @@ -2,7 +2,7 @@ File: octtype.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 18 $ diff --git a/software/include/octtypevx.h b/software/include/octtypevx.h index 7f8ebe1..a5e9d55 100644 --- a/software/include/octtypevx.h +++ b/software/include/octtypevx.h @@ -2,7 +2,7 @@ File: octtypevx.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 8 $ +$Octasic_Revision: 9 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -54,7 +54,8 @@ typedef INT32 * PINT32; typedef UINT32 * PUINT32; /* Long integer pointer */ -#ifndef DATATYPE_H /*Intel library for file system definition*/ +/*Intel library for file system definition*/ +#ifndef DATATYPE_H typedef long LONG; #endif typedef long * PLONG; @@ -74,7 +75,8 @@ typedef char BYTE; typedef BYTE * PBYTE; /* Character and strings */ -#ifndef DATATYPE_H /*Intel library for file system definition*/ +/*Intel library for file system definition*/ +#ifndef DATATYPE_H typedef char CHAR; #endif typedef char * PCHAR; diff --git a/software/include/octtypewin.h b/software/include/octtypewin.h index 1ebdb6b..357b348 100644 --- a/software/include/octtypewin.h +++ b/software/include/octtypewin.h @@ -2,7 +2,7 @@ File: octtypewin.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 16 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h b/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h index 65df05b..88d8e92 100644 --- a/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_adpcm_chan_priv.h @@ -2,7 +2,7 @@ File: oct6100_adpcm_chan_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $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 6abeda3..94f4495 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_adpcm_chan.c @@ -2,7 +2,7 @@ File: oct6100_adpcm_chan.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 16 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c index 766f93b..4536ad4 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_channel.c @@ -2,7 +2,7 @@ File: oct6100_channel.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 480 $ +$Octasic_Revision: 491 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -122,7 +122,6 @@ UINT32 Oct6100ChannelOpenDef( f_pChannelOpen->VqeConfig.lRinAutomaticLevelControlTargetDb = -20; f_pChannelOpen->VqeConfig.fSoutAutomaticLevelControl = FALSE; f_pChannelOpen->VqeConfig.lSoutAutomaticLevelControlTargetDb = -20; - f_pChannelOpen->VqeConfig.ulAlcNoiseBleedOutTime = 0; f_pChannelOpen->VqeConfig.fRinHighLevelCompensation = FALSE; f_pChannelOpen->VqeConfig.lRinHighLevelCompensationThresholdDb = -10; f_pChannelOpen->VqeConfig.fSoutAdaptiveNoiseReduction = FALSE; @@ -154,8 +153,6 @@ UINT32 Oct6100ChannelOpenDef( f_pChannelOpen->VqeConfig.fEnableMusicProtection = FALSE; /* Older images have idle code detection hard-coded to enabled. */ f_pChannelOpen->VqeConfig.fIdleCodeDetection = TRUE; - f_pChannelOpen->VqeConfig.fResetRinAlcOnTones = FALSE; - f_pChannelOpen->VqeConfig.fResetSoutAlcOnTones = FALSE; /* TDM configuration.*/ f_pChannelOpen->TdmConfig.ulRinNumTssts = 1; @@ -358,7 +355,6 @@ UINT32 Oct6100ChannelModifyDef( f_pChannelModify->VqeConfig.lRinAutomaticLevelControlTargetDb = (INT32)cOCT6100_KEEP_PREVIOUS_SETTING; f_pChannelModify->VqeConfig.fSoutAutomaticLevelControl = cOCT6100_KEEP_PREVIOUS_SETTING; f_pChannelModify->VqeConfig.lSoutAutomaticLevelControlTargetDb = (INT32)cOCT6100_KEEP_PREVIOUS_SETTING; - f_pChannelModify->VqeConfig.ulAlcNoiseBleedOutTime = cOCT6100_KEEP_PREVIOUS_SETTING; f_pChannelModify->VqeConfig.fRinHighLevelCompensation = cOCT6100_KEEP_PREVIOUS_SETTING; f_pChannelModify->VqeConfig.lRinHighLevelCompensationThresholdDb = (INT32)cOCT6100_KEEP_PREVIOUS_SETTING; f_pChannelModify->VqeConfig.fSoutAdaptiveNoiseReduction = cOCT6100_KEEP_PREVIOUS_SETTING; @@ -388,8 +384,6 @@ UINT32 Oct6100ChannelModifyDef( f_pChannelModify->VqeConfig.ulToneDisablerVqeActivationDelay = cOCT6100_KEEP_PREVIOUS_SETTING; f_pChannelModify->VqeConfig.fEnableMusicProtection = cOCT6100_KEEP_PREVIOUS_SETTING; f_pChannelModify->VqeConfig.fIdleCodeDetection = cOCT6100_KEEP_PREVIOUS_SETTING; - f_pChannelModify->VqeConfig.fResetRinAlcOnTones = cOCT6100_KEEP_PREVIOUS_SETTING; - f_pChannelModify->VqeConfig.fResetSoutAlcOnTones = cOCT6100_KEEP_PREVIOUS_SETTING; /* TDM config. */ f_pChannelModify->TdmConfig.ulRinNumTssts = cOCT6100_KEEP_PREVIOUS_SETTING; @@ -838,7 +832,6 @@ UINT32 Oct6100ChannelGetStatsDef( f_pChannelStats->VqeConfig.fSoutLevelControl = FALSE; f_pChannelStats->VqeConfig.fRinAutomaticLevelControl = FALSE; f_pChannelStats->VqeConfig.fSoutAutomaticLevelControl = FALSE; - f_pChannelStats->VqeConfig.ulAlcNoiseBleedOutTime = cOCT6100_INVALID_STAT; f_pChannelStats->VqeConfig.fRinHighLevelCompensation = FALSE; f_pChannelStats->VqeConfig.fAcousticEcho = FALSE; f_pChannelStats->VqeConfig.fSoutAdaptiveNoiseReduction = FALSE; @@ -869,8 +862,6 @@ UINT32 Oct6100ChannelGetStatsDef( f_pChannelStats->VqeConfig.ulToneDisablerVqeActivationDelay = cOCT6100_INVALID_STAT; f_pChannelStats->VqeConfig.fEnableMusicProtection = FALSE; f_pChannelStats->VqeConfig.fIdleCodeDetection = FALSE; - f_pChannelStats->VqeConfig.fResetRinAlcOnTones = FALSE; - f_pChannelStats->VqeConfig.fResetSoutAlcOnTones = FALSE; @@ -1967,7 +1958,7 @@ UINT32 Oct6100ApiWriteChannelStructs( mOCT6100_GET_CHANNEL_ENTRY_PNT( f_pApiInstance->pSharedInfo, pChanEntry, f_pChanIndexConf->usEchoChanIndex ); /*==============================================================================*/ - /* Configure the Tsst control memory.*/ + /* Configure the Input Tsst control memory.*/ /* Set the RIN Tsst control entry.*/ if ( f_pChanIndexConf->usRinTsstIndex != cOCT6100_INVALID_INDEX ) @@ -1980,18 +1971,6 @@ UINT32 Oct6100ApiWriteChannelStructs( return ulResult; } - /* Set the ROUT Tsst control entry.*/ - if ( f_pChanIndexConf->usRoutTsstIndex != cOCT6100_INVALID_INDEX ) - { - ulResult = Oct6100ApiWriteOutputTsstControlMemory( f_pApiInstance, - f_pChanIndexConf->usRoutTsstIndex, - f_pChannelOpen->CodecConfig.ulAdpcmNibblePosition, - pTdmConfig->ulRoutNumTssts, - f_pChanIndexConf->usRinRoutTsiMemIndex ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - } - /* Set the SIN Tsst control entry.*/ if ( f_pChanIndexConf->usSinTsstIndex != cOCT6100_INVALID_INDEX ) { @@ -2003,18 +1982,6 @@ UINT32 Oct6100ApiWriteChannelStructs( return ulResult; } - /* Set the SOUT Tsst control entry.*/ - if ( f_pChanIndexConf->usSoutTsstIndex != cOCT6100_INVALID_INDEX ) - { - ulResult = Oct6100ApiWriteOutputTsstControlMemory( f_pApiInstance, - f_pChanIndexConf->usSoutTsstIndex, - f_pChannelOpen->CodecConfig.ulAdpcmNibblePosition, - pTdmConfig->ulSoutNumTssts, - f_pChanIndexConf->usSinSoutTsiMemIndex ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - } - /*==============================================================================*/ /*==============================================================================*/ @@ -2036,10 +2003,19 @@ UINT32 Oct6100ApiWriteChannelStructs( { if ( pTdmConfig->ulRinPcmLaw == pTdmConfig->ulRoutPcmLaw ) fProgramAdpcmMem = FALSE; + + /* Check if both ports are assigned. If not, no law conversion needed here.. */ + if ( ( pTdmConfig->ulRinStream == cOCT6100_UNASSIGNED ) + || ( pTdmConfig->ulRoutStream == cOCT6100_UNASSIGNED ) ) + fProgramAdpcmMem = FALSE; } else /* f_pChannelOpen->CodecConfig.ulDecoderPort == cOCT6100_CHANNEL_PORT_SIN */ { - if ( f_pChannelOpen->TdmConfig.ulSinPcmLaw == f_pChannelOpen->TdmConfig.ulSoutPcmLaw ) + if ( pTdmConfig->ulSinPcmLaw == pTdmConfig->ulSoutPcmLaw ) + fProgramAdpcmMem = FALSE; + + if ( ( pTdmConfig->ulSinStream == cOCT6100_UNASSIGNED ) + || ( pTdmConfig->ulSoutStream == cOCT6100_UNASSIGNED ) ) fProgramAdpcmMem = FALSE; } break; @@ -2165,6 +2141,11 @@ UINT32 Oct6100ApiWriteChannelStructs( /* Check for law conversion.*/ if ( pTdmConfig->ulRinPcmLaw == pTdmConfig->ulRoutPcmLaw ) fProgramAdpcmMem = FALSE; + + /* Check if both ports are assigned. If not, no law conversion needed here.. */ + if ( ( pTdmConfig->ulRinStream == cOCT6100_UNASSIGNED ) + || ( pTdmConfig->ulRoutStream == cOCT6100_UNASSIGNED ) ) + fProgramAdpcmMem = FALSE; } else /* f_pChannelOpen->CodecConfig.ulEncoderPort == cOCT6100_CHANNEL_PORT_SOUT */ { @@ -2176,8 +2157,13 @@ UINT32 Oct6100ApiWriteChannelStructs( /* Check for law conversion.*/ if ( pTdmConfig->ulSinPcmLaw == pTdmConfig->ulSoutPcmLaw ) fProgramAdpcmMem = FALSE; - } + /* Check if both ports are assigned. If not, no law conversion needed here.. */ + if ( ( pTdmConfig->ulSinStream == cOCT6100_UNASSIGNED ) + || ( pTdmConfig->ulSoutStream == cOCT6100_UNASSIGNED ) ) + fProgramAdpcmMem = FALSE; + } + break; case cOCT6100_G726_40KBPS: ulCompType = 0x3; @@ -2504,6 +2490,35 @@ UINT32 Oct6100ApiWriteChannelStructs( /*==============================================================================*/ + /*==============================================================================*/ + /* Configure the Output Tsst control memory.*/ + + /* Set the ROUT Tsst control entry.*/ + if ( f_pChanIndexConf->usRoutTsstIndex != cOCT6100_INVALID_INDEX ) + { + ulResult = Oct6100ApiWriteOutputTsstControlMemory( f_pApiInstance, + f_pChanIndexConf->usRoutTsstIndex, + f_pChannelOpen->CodecConfig.ulAdpcmNibblePosition, + pTdmConfig->ulRoutNumTssts, + f_pChanIndexConf->usRinRoutTsiMemIndex ); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + } + + /* Set the SOUT Tsst control entry.*/ + if ( f_pChanIndexConf->usSoutTsstIndex != cOCT6100_INVALID_INDEX ) + { + ulResult = Oct6100ApiWriteOutputTsstControlMemory( f_pApiInstance, + f_pChanIndexConf->usSoutTsstIndex, + f_pChannelOpen->CodecConfig.ulAdpcmNibblePosition, + pTdmConfig->ulSoutNumTssts, + f_pChanIndexConf->usSinSoutTsiMemIndex ); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + } + + /*==============================================================================*/ + return cOCT6100_ERR_OK; } #endif @@ -2568,7 +2583,6 @@ UINT32 Oct6100ApiUpdateChannelEntry( pChanEntry->VqeConfig.fRinAutomaticLevelControl = (UINT8)( pVqeConfig->fRinAutomaticLevelControl & 0xFF ); pChanEntry->VqeConfig.chRinAutomaticLevelControlTargetDb = (OCT_INT8)( pVqeConfig->lRinAutomaticLevelControlTargetDb & 0xFF ); pChanEntry->VqeConfig.fSoutAutomaticLevelControl = (UINT8)( pVqeConfig->fSoutAutomaticLevelControl & 0xFF ); - pChanEntry->VqeConfig.usAlcNoiseBleedOutTime = (UINT16)( pVqeConfig->ulAlcNoiseBleedOutTime & 0xFFFF ); pChanEntry->VqeConfig.chSoutAutomaticLevelControlTargetDb = (OCT_INT8)( pVqeConfig->lSoutAutomaticLevelControlTargetDb & 0xFF ); pChanEntry->VqeConfig.fRinHighLevelCompensation = (UINT8)( pVqeConfig->fRinHighLevelCompensation & 0xFF ); pChanEntry->VqeConfig.chRinHighLevelCompensationThresholdDb = (OCT_INT8)( pVqeConfig->lRinHighLevelCompensationThresholdDb & 0xFF ); @@ -2597,8 +2611,6 @@ UINT32 Oct6100ApiUpdateChannelEntry( pChanEntry->VqeConfig.chRoutNoiseReductionLevelGainDb = (OCT_INT8) (pVqeConfig->lRoutNoiseReductionLevelGainDb & 0xFF); pChanEntry->VqeConfig.fEnableMusicProtection = (UINT8)( pVqeConfig->fEnableMusicProtection & 0xFF ); pChanEntry->VqeConfig.fIdleCodeDetection = (UINT8)( pVqeConfig->fIdleCodeDetection & 0xFF ); - pChanEntry->VqeConfig.fResetRinAlcOnTones = (UINT8)( pVqeConfig->fResetRinAlcOnTones & 0xFF ); - pChanEntry->VqeConfig.fResetSoutAlcOnTones = (UINT8)( pVqeConfig->fResetSoutAlcOnTones & 0xFF ); /* Save the codec information.*/ pChanEntry->CodecConfig.byAdpcmNibblePosition = (UINT8)( pCodecConfig->ulAdpcmNibblePosition & 0xFF ); @@ -3259,6 +3271,16 @@ UINT32 Oct6100ApiInvalidateChannelStructs( return ulResult; /*------------------------------------------------------------------------------*/ + /*------------------------------------------------------------------------------*/ + /* Clear the NLP memory. */ + + SmearParams.ulWriteAddress = cOCT6100_CHANNEL_ROOT_BASE + ( pChanEntry->usEchoMemIndex * 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. */ @@ -3526,6 +3548,11 @@ UINT32 Oct6100ApiReleaseChannelResources( pChanEntry->fReserved = FALSE; pChanEntry->byEntryOpenCnt++; + /* Reset the port, the bridge and BidirInfo */ + pChanEntry->usMutedPorts = cOCT6100_CHANNEL_MUTE_PORT_NONE; + pChanEntry->fBiDirChannel = FALSE; + pChanEntry->usBridgeIndex = cOCT6100_INVALID_INDEX; + /* Decrement the number of channel open.*/ f_pApiInstance->pSharedInfo->ChipStats.usNumberChannels--; @@ -5846,7 +5873,6 @@ UINT32 Oct6100ApiModifyChannelEntry( pApiVqeConf->fSoutLevelControl = (UINT8)( f_pChannelOpen->VqeConfig.fSoutLevelControl & 0xFF ); pApiVqeConf->fRinAutomaticLevelControl = (UINT8)( f_pChannelOpen->VqeConfig.fRinAutomaticLevelControl & 0xFF ); pApiVqeConf->fSoutAutomaticLevelControl = (UINT8)( f_pChannelOpen->VqeConfig.fSoutAutomaticLevelControl & 0xFF ); - pApiVqeConf->usAlcNoiseBleedOutTime = (UINT16)( f_pChannelOpen->VqeConfig.ulAlcNoiseBleedOutTime & 0xFFFF ); pApiVqeConf->fRinHighLevelCompensation = (UINT8)( f_pChannelOpen->VqeConfig.fRinHighLevelCompensation & 0xFF ); pApiVqeConf->fSoutAdaptiveNoiseReduction = (UINT8)( f_pChannelOpen->VqeConfig.fSoutAdaptiveNoiseReduction & 0xFF ); @@ -5879,8 +5905,6 @@ UINT32 Oct6100ApiModifyChannelEntry( pApiVqeConf->chRoutNoiseReductionLevelGainDb = (OCT_INT8)( f_pChannelOpen->VqeConfig.lRoutNoiseReductionLevelGainDb & 0xFF ); pApiVqeConf->fEnableMusicProtection = (UINT8)( f_pChannelOpen->VqeConfig.fEnableMusicProtection & 0xFF ); pApiVqeConf->fIdleCodeDetection = (UINT8)( f_pChannelOpen->VqeConfig.fIdleCodeDetection & 0xFF ); - pApiVqeConf->fResetRinAlcOnTones = (UINT8)( f_pChannelOpen->VqeConfig.fResetRinAlcOnTones & 0xFF ); - pApiVqeConf->fResetSoutAlcOnTones = (UINT8)( f_pChannelOpen->VqeConfig.fResetSoutAlcOnTones & 0xFF ); } /*=======================================================================*/ @@ -6932,7 +6956,6 @@ UINT32 Oct6100ApiChannelGetStatsSer( f_pChannelStats->VqeConfig.fSoutLevelControl = pChanEntry->VqeConfig.fSoutLevelControl; f_pChannelStats->VqeConfig.fRinAutomaticLevelControl = pChanEntry->VqeConfig.fRinAutomaticLevelControl; f_pChannelStats->VqeConfig.fSoutAutomaticLevelControl = pChanEntry->VqeConfig.fSoutAutomaticLevelControl; - f_pChannelStats->VqeConfig.ulAlcNoiseBleedOutTime = pChanEntry->VqeConfig.usAlcNoiseBleedOutTime; f_pChannelStats->VqeConfig.fRinHighLevelCompensation = pChanEntry->VqeConfig.fRinHighLevelCompensation; f_pChannelStats->VqeConfig.fSoutAdaptiveNoiseReduction = pChanEntry->VqeConfig.fSoutAdaptiveNoiseReduction; f_pChannelStats->VqeConfig.fSoutNoiseBleaching = pChanEntry->VqeConfig.fSoutNoiseBleaching; @@ -6961,8 +6984,6 @@ UINT32 Oct6100ApiChannelGetStatsSer( f_pChannelStats->VqeConfig.lRoutNoiseReductionLevelGainDb = pChanEntry->VqeConfig.chRoutNoiseReductionLevelGainDb; f_pChannelStats->VqeConfig.fEnableMusicProtection = pChanEntry->VqeConfig.fEnableMusicProtection; f_pChannelStats->VqeConfig.fIdleCodeDetection = pChanEntry->VqeConfig.fIdleCodeDetection; - f_pChannelStats->VqeConfig.fResetRinAlcOnTones = pChanEntry->VqeConfig.fResetRinAlcOnTones; - f_pChannelStats->VqeConfig.fResetSoutAlcOnTones = pChanEntry->VqeConfig.fResetSoutAlcOnTones; /* Copy the CODEC configuration.*/ f_pChannelStats->CodecConfig.ulAdpcmNibblePosition = pChanEntry->CodecConfig.byAdpcmNibblePosition; @@ -7783,23 +7804,9 @@ UINT32 Oct6100ApiCheckVqeConfig( if ( ( f_pVqeConfig->fRinAutomaticLevelControl == TRUE ) && ( pImageInfo->fRinAutoLevelControl == FALSE ) ) return cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_RIN_AUTO_LC; - if ( f_pVqeConfig->ulAlcNoiseBleedOutTime > 63750 ) - return cOCT6100_ERR_CHANNEL_ALC_NOISE_BLEED_OUT_TIME; - - if ( ( f_pVqeConfig->ulAlcNoiseBleedOutTime != 0 ) && ( pImageInfo->fAlcNoiseBleedOutTime == FALSE ) ) - return cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_ALC_NOISE_BLEED_OUT_TIME; - if ( ( f_pVqeConfig->fRinHighLevelCompensation == TRUE ) && ( pImageInfo->fRinHighLevelCompensation == FALSE ) ) return cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_RIN_HIGH_LEVEL_COMP; - /* Check the enable reset Rin ALC on tone detection flag. */ - if ( ( f_pVqeConfig->fResetRinAlcOnTones != TRUE ) && ( f_pVqeConfig->fResetRinAlcOnTones != FALSE ) ) - return cOCT6100_ERR_CHANNEL_RESET_RIN_ALC_ON_TONES; - - /* The reset Rin ALC on tone detection can be activated if the image supports it. */ - if ( ( f_pVqeConfig->fResetRinAlcOnTones == TRUE ) && ( pImageInfo->fResetRinAlcOnTones == FALSE ) ) - return cOCT6100_ERR_NOT_SUPPORTED_RESET_RIN_ALC_ON_TONES; - if ( f_pVqeConfig->fRinAutomaticLevelControl == TRUE ) { if ( f_pVqeConfig->fRinLevelControl == TRUE ) @@ -7811,12 +7818,6 @@ UINT32 Oct6100ApiCheckVqeConfig( if ( ( f_pVqeConfig->lRinAutomaticLevelControlTargetDb < -40 || f_pVqeConfig->lRinAutomaticLevelControlTargetDb > 0 ) ) return cOCT6100_ERR_CHANNEL_RIN_AUTO_LEVEL_CONTROL_TARGET; } - else /* if ( f_pVqeConfig->fRinAutomaticLevelControl != TRUE ) */ - { - /* Reset Rin ALC on tones can only be activated in Rin ALC is requested. */ - if ( f_pVqeConfig->fResetRinAlcOnTones == TRUE ) - return cOCT6100_ERR_CHANNEL_RIN_AUTO_LEVEL_CONTROL_REQUIRED; - } if ( f_pVqeConfig->fRinHighLevelCompensation == TRUE ) { @@ -7833,14 +7834,6 @@ UINT32 Oct6100ApiCheckVqeConfig( if ( ( f_pVqeConfig->fSoutAutomaticLevelControl == TRUE ) && ( pImageInfo->fSoutAutoLevelControl == FALSE ) ) return cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_SOUT_AUTO_LC; - /* Check the enable reset Sout ALC on tone detection flag. */ - if ( ( f_pVqeConfig->fResetSoutAlcOnTones != TRUE ) && ( f_pVqeConfig->fResetSoutAlcOnTones != FALSE ) ) - return cOCT6100_ERR_CHANNEL_RESET_SOUT_ALC_ON_TONES; - - /* The reset Sout ALC on tone detection can be activated if the image supports it. */ - if ( ( f_pVqeConfig->fResetSoutAlcOnTones == TRUE ) && ( pImageInfo->fResetSoutAlcOnTones == FALSE ) ) - return cOCT6100_ERR_NOT_SUPPORTED_RESET_SOUT_ALC_ON_TONES; - if ( f_pVqeConfig->fSoutAutomaticLevelControl == TRUE ) { if ( f_pVqeConfig->fSoutLevelControl == TRUE ) @@ -7849,21 +7842,6 @@ UINT32 Oct6100ApiCheckVqeConfig( if ( ( f_pVqeConfig->lSoutAutomaticLevelControlTargetDb < -40 || f_pVqeConfig->lSoutAutomaticLevelControlTargetDb > 0 ) ) return cOCT6100_ERR_CHANNEL_SOUT_AUTO_LEVEL_CONTROL_TARGET; } - else /* if ( f_pVqeConfig->fSoutAutomaticLevelControl != TRUE ) */ - { - /* Reset Sout ALC on tones can only be activated if Sout ALC is requested. */ - if ( f_pVqeConfig->fResetSoutAlcOnTones == TRUE ) - return cOCT6100_ERR_CHANNEL_SOUT_AUTO_LEVEL_CONTROL_REQUIRED; - } - - /* ALC noise bleed out can only be configured if ALC is requested. */ - if ( f_pVqeConfig->ulAlcNoiseBleedOutTime != 0 ) - { - /* If both ports ALC is disabled, let the user know. */ - if ( ( f_pVqeConfig->fRinAutomaticLevelControl == FALSE ) - && ( f_pVqeConfig->fSoutAutomaticLevelControl == FALSE ) ) - return cOCT6100_ERR_CHANNEL_AUTO_LEVEL_CONTROL_REQUIRED; - } if ( f_pVqeConfig->fSoutAdaptiveNoiseReduction != TRUE && f_pVqeConfig->fSoutAdaptiveNoiseReduction != FALSE ) @@ -8076,20 +8054,16 @@ UINT32 Oct6100ApiCheckVqeConfig( if ( f_pVqeConfig->fRoutNoiseReduction == TRUE && pImageInfo->fRoutNoiseReduction == FALSE ) return cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_ROUT_NR; - /* Validate Rout noise reduction Level. */ - if ( f_pVqeConfig->fRoutNoiseReduction == TRUE ) - { - /*Check if noise reduction level gain is supported*/ - if ( ( pImageInfo->fRoutNoiseReductionLevel == FALSE ) && ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -18 ) ) - return cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_ROUT_NOISE_REDUCTION_GAIN; - - if ( ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != 0 ) && - ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -6 ) && - ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -12 ) && - ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -18 ) ) - - return cOCT6100_ERR_CHANNEL_ROUT_NOISE_REDUCTION_GAIN; - } + /*Check if noise reduction level gain is supported*/ + if ( ( pImageInfo->fRoutNoiseReductionLevel == FALSE ) && ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -18 ) ) + return cOCT6100_ERR_NOT_SUPPORTED_CHANNEL_ROUT_NOISE_REDUCTION_GAIN; + + if ( ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != 0 ) && + ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -6 ) && + ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -12 ) && + ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != -18 ) ) + + return cOCT6100_ERR_CHANNEL_ROUT_NOISE_REDUCTION_GAIN; /* Check if ANR SNRE is supported. */ if ( ( f_pVqeConfig->lAnrSnrEnhancementDb != -18 ) && ( pImageInfo->fAnrSnrEnhancement == FALSE ) ) @@ -8948,7 +8922,8 @@ UINT32 Oct6100ApiWriteVqeNlpMemory( /* Check if the configuration has been changed. */ if ( ( f_fModifyOnly == FALSE ) || ( ( f_fModifyOnly == TRUE ) - && ( f_pVqeConfig->lRoutNoiseReductionLevelGainDb != pChanEntry->VqeConfig.chRoutNoiseReductionLevelGainDb ) ) ) + && ( (f_pVqeConfig->lRoutNoiseReductionLevelGainDb != pChanEntry->VqeConfig.chRoutNoiseReductionLevelGainDb ) + ||( f_pVqeConfig->fRoutNoiseReduction != pChanEntry->VqeConfig.fRoutNoiseReduction ) ) ) ) { ulFeatureBytesOffset = pSharedInfo->MemoryMap.RinAnrValOfst.usDwordOffset * 4; ulFeatureBitOffset = pSharedInfo->MemoryMap.RinAnrValOfst.byBitOffset; @@ -10552,18 +10527,6 @@ UINT32 Oct6100ApiUpdateOpenStruct( f_pChanOpen->VqeConfig.fRinAutomaticLevelControl = f_pChanModify->VqeConfig.fRinAutomaticLevelControl; - if ( f_pChanModify->VqeConfig.fResetRinAlcOnTones == cOCT6100_KEEP_PREVIOUS_SETTING ) - f_pChanOpen->VqeConfig.fResetRinAlcOnTones = f_pChanEntry->VqeConfig.fResetRinAlcOnTones; - else - f_pChanOpen->VqeConfig.fResetRinAlcOnTones = f_pChanModify->VqeConfig.fResetRinAlcOnTones; - - - if ( f_pChanModify->VqeConfig.ulAlcNoiseBleedOutTime == cOCT6100_KEEP_PREVIOUS_SETTING ) - f_pChanOpen->VqeConfig.ulAlcNoiseBleedOutTime = f_pChanEntry->VqeConfig.usAlcNoiseBleedOutTime; - else - f_pChanOpen->VqeConfig.ulAlcNoiseBleedOutTime = f_pChanModify->VqeConfig.ulAlcNoiseBleedOutTime; - - if ( f_pChanModify->VqeConfig.fRinHighLevelCompensation == cOCT6100_KEEP_PREVIOUS_SETTING ) f_pChanOpen->VqeConfig.fRinHighLevelCompensation = f_pChanEntry->VqeConfig.fRinHighLevelCompensation; else @@ -10612,12 +10575,6 @@ UINT32 Oct6100ApiUpdateOpenStruct( f_pChanOpen->VqeConfig.fSoutAutomaticLevelControl = f_pChanModify->VqeConfig.fSoutAutomaticLevelControl; - if ( f_pChanModify->VqeConfig.fResetSoutAlcOnTones == cOCT6100_KEEP_PREVIOUS_SETTING ) - f_pChanOpen->VqeConfig.fResetSoutAlcOnTones = f_pChanEntry->VqeConfig.fResetSoutAlcOnTones; - else - f_pChanOpen->VqeConfig.fResetSoutAlcOnTones = f_pChanModify->VqeConfig.fResetSoutAlcOnTones; - - if ( f_pChanModify->VqeConfig.lRinLevelControlGainDb == ( (INT32)cOCT6100_KEEP_PREVIOUS_SETTING ) ) f_pChanOpen->VqeConfig.lRinLevelControlGainDb = f_pChanEntry->VqeConfig.chRinLevelControlGainDb; else @@ -11124,7 +11081,9 @@ UINT32 Oct6100ApiCheckChannelCreateBiDirParams( return cOCT6100_ERR_CHANNEL_BIDIR_FIRST_CHANNEL_HANDLE; /* Check the specific state of the channel.*/ - if ( pFirstChanEntry->fRinRoutCodecActive == TRUE || pFirstChanEntry->fSinSoutCodecActive == TRUE ) + if ( pFirstChanEntry->fRinRoutCodecActive == TRUE && pFirstChanEntry->CodecConfig.byEncoderPort != cOCT6100_CHANNEL_PORT_ROUT) + return cOCT6100_ERR_CHANNEL_CODEC_ACTIVATED; + if ( pFirstChanEntry->fSinSoutCodecActive == TRUE && pFirstChanEntry->CodecConfig.byEncoderPort != cOCT6100_CHANNEL_PORT_SOUT) return cOCT6100_ERR_CHANNEL_CODEC_ACTIVATED; if ( pFirstChanEntry->fBiDirChannel == TRUE ) return cOCT6100_ERR_CHANNEL_ALREADY_BIDIR; @@ -11168,9 +11127,9 @@ UINT32 Oct6100ApiCheckChannelCreateBiDirParams( return cOCT6100_ERR_CHANNEL_BIDIR_SECOND_CHANNEL_HANDLE; /* Check the specific state of the channel.*/ - if ( pSecondChanEntry->fRinRoutCodecActive == TRUE ) + if ( pSecondChanEntry->fRinRoutCodecActive == TRUE && pSecondChanEntry->CodecConfig.byEncoderPort != cOCT6100_CHANNEL_PORT_ROUT) return cOCT6100_ERR_CHANNEL_CODEC_ACTIVATED; - if ( pSecondChanEntry->fSinSoutCodecActive == TRUE ) + if ( pSecondChanEntry->fSinSoutCodecActive == TRUE && pSecondChanEntry->CodecConfig.byEncoderPort != cOCT6100_CHANNEL_PORT_SOUT) { return cOCT6100_ERR_CHANNEL_CODEC_ACTIVATED; @@ -12695,10 +12654,7 @@ UINT32 Oct6100ApiSetChannelLevelControl( || ( f_pVqeConfig->lSoutAutomaticLevelControlTargetDb != pChanEntry->VqeConfig.chSoutAutomaticLevelControlTargetDb ) || ( f_pVqeConfig->fSoutNaturalListenerEnhancement != pChanEntry->VqeConfig.fSoutNaturalListenerEnhancement ) || ( f_pVqeConfig->ulSoutAutomaticListenerEnhancementGainDb != pChanEntry->VqeConfig.bySoutAutomaticListenerEnhancementGainDb ) - || ( f_pVqeConfig->ulSoutNaturalListenerEnhancementGainDb != pChanEntry->VqeConfig.bySoutNaturalListenerEnhancementGainDb ) - || ( f_pVqeConfig->fResetRinAlcOnTones != pChanEntry->VqeConfig.fResetRinAlcOnTones ) - || ( f_pVqeConfig->fResetSoutAlcOnTones != pChanEntry->VqeConfig.fResetSoutAlcOnTones ) - || ( f_pVqeConfig->ulAlcNoiseBleedOutTime != pChanEntry->VqeConfig.usAlcNoiseBleedOutTime ) ) + || ( f_pVqeConfig->ulSoutNaturalListenerEnhancementGainDb != pChanEntry->VqeConfig.bySoutNaturalListenerEnhancementGainDb ) ) { /* Calculate base address for manual level control configuration. */ ulBaseAddress = cOCT6100_CHANNEL_ROOT_BASE + ( f_usEchoMemIndex * cOCT6100_CHANNEL_ROOT_SIZE ) + pSharedInfo->MemoryMap.ulChanRootConfOfst; @@ -12812,49 +12768,6 @@ UINT32 Oct6100ApiSetChannelLevelControl( /* Calculate base address for auto level control + high level compensation configuration. */ ulBaseAddress = pSharedInfo->MemoryMap.ulChanMainMemBase + ( f_usEchoMemIndex * pSharedInfo->MemoryMap.ulChanMainMemSize ) + f_pApiInstance->pSharedInfo->MemoryMap.ulChanMainIoMemOfst; - /* Configure the ALC bleed out time. */ - if ( pSharedInfo->ImageInfo.fAlcNoiseBleedOutTime == TRUE ) - { - ulFeatureBytesOffset = pSharedInfo->MemoryMap.AlcNoiseBleedOutTimeFieldOfst.usDwordOffset * 4; - ulFeatureBitOffset = pSharedInfo->MemoryMap.AlcNoiseBleedOutTimeFieldOfst.byBitOffset; - ulFeatureFieldLength = pSharedInfo->MemoryMap.AlcNoiseBleedOutTimeFieldOfst.byFieldSize; - - /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, - pChanEntry, - ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - - /* Clear previous value set in the feature field.*/ - mOCT6100_CREATE_FEATURE_MASK( ulFeatureFieldLength, ulFeatureBitOffset, &ulMask ); - - ulTempData &= (~ulMask); - - if ( f_pVqeConfig->ulAlcNoiseBleedOutTime != 0 ) - { - /* Set ALC noise bleed out time. */ - usTempData = (UINT16)( f_pVqeConfig->ulAlcNoiseBleedOutTime / 250 ); - ulTempData |= ( usTempData << ulFeatureBitOffset ); - } - else /* if ( f_pVqeConfig->ulAlcNoiseBleedOutTime == 0 ) */ - { - /* Disable ALC noise bleed out. */ - ulTempData |= ( 0x0 << ulFeatureBitOffset ); - } - - /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, - pChanEntry, - ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - } - /* Check which one is to be disabled first. */ if ( f_pVqeConfig->fRinAutomaticLevelControl == TRUE ) fDisableAlcFirst = FALSE; @@ -13004,88 +12917,6 @@ UINT32 Oct6100ApiSetChannelLevelControl( return ulResult; } - /* Set the reset Rin ALC on tones. */ - if ( pSharedInfo->ImageInfo.fResetRinAlcOnTones == TRUE ) - { - ulFeatureBytesOffset = pSharedInfo->MemoryMap.ResetRinAlcOnTonesFieldOfst.usDwordOffset * 4; - ulFeatureBitOffset = pSharedInfo->MemoryMap.ResetRinAlcOnTonesFieldOfst.byBitOffset; - ulFeatureFieldLength = pSharedInfo->MemoryMap.ResetRinAlcOnTonesFieldOfst.byFieldSize; - - /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, - pChanEntry, - ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - - /* Clear previous value set in the feature field.*/ - mOCT6100_CREATE_FEATURE_MASK( ulFeatureFieldLength, ulFeatureBitOffset, &ulMask ); - - ulTempData &= (~ulMask); - - if ( f_pVqeConfig->fResetRinAlcOnTones == TRUE ) - { - ulTempData |= ( 1 << ulFeatureBitOffset ); - } - else /* if ( f_pVqeConfig->fResetRinAlcOnTones == FALSE ) */ - { - /* Disable ALC reset on tone detection. */ - ulTempData |= ( 0 << ulFeatureBitOffset ); - } - - /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, - pChanEntry, - ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - } - - /* Set the reset Sout ALC on tones. */ - if ( pSharedInfo->ImageInfo.fResetSoutAlcOnTones == TRUE ) - { - ulFeatureBytesOffset = pSharedInfo->MemoryMap.ResetSoutAlcOnTonesFieldOfst.usDwordOffset * 4; - ulFeatureBitOffset = pSharedInfo->MemoryMap.ResetSoutAlcOnTonesFieldOfst.byBitOffset; - ulFeatureFieldLength = pSharedInfo->MemoryMap.ResetSoutAlcOnTonesFieldOfst.byFieldSize; - - /* First read the DWORD where the field is located.*/ - mOCT6100_RETRIEVE_NLP_CONF_DWORD( f_pApiInstance, - pChanEntry, - ulBaseAddress + ulFeatureBytesOffset, - &ulTempData, - ulResult ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - - /* Clear previous value set in the feature field.*/ - mOCT6100_CREATE_FEATURE_MASK( ulFeatureFieldLength, ulFeatureBitOffset, &ulMask ); - - ulTempData &= (~ulMask); - - if ( f_pVqeConfig->fResetSoutAlcOnTones == TRUE ) - { - ulTempData |= ( 1 << ulFeatureBitOffset ); - } - else /* if ( f_pVqeConfig->fResetSoutAlcOnTones == FALSE ) */ - { - /* Disable ALC reset on tone detection. */ - ulTempData |= ( 0 << ulFeatureBitOffset ); - } - - /* Save the DWORD where the field is located.*/ - mOCT6100_SAVE_NLP_CONF_DWORD( f_pApiInstance, - pChanEntry, - ulBaseAddress + ulFeatureBytesOffset, - ulTempData, - ulResult ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - } - /* Set the high level compensation threshold Db for the Sout port. */ if ( pSharedInfo->ImageInfo.fSoutHighLevelCompensation == TRUE ) { @@ -13960,11 +13791,11 @@ UINT32 Oct6100ApiMuteChannelPorts( if ( pChanEntry->usRoutTsstIndex != cOCT6100_INVALID_INDEX ) { - /* Deactivate the TSST entry.*/ - WriteParams.ulWriteAddress = cOCT6100_TSST_CONTROL_MEM_BASE + ( pChanEntry->usRoutTsstIndex * cOCT6100_TSST_CONTROL_MEM_ENTRY_SIZE ); - WriteParams.usWriteData = 0x0000; - - mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ); + ulResult = Oct6100ApiWriteOutputTsstControlMemory( f_pApiInstance, + pChanEntry->usRoutTsstIndex, + pChanEntry->CodecConfig.byAdpcmNibblePosition, + pChanEntry->TdmConfig.byRoutNumTssts, + 1534 ); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } @@ -14032,12 +13863,12 @@ UINT32 Oct6100ApiMuteChannelPorts( if ( pChanEntry->usSoutTsstIndex != cOCT6100_INVALID_INDEX ) { - /* Deactivate the TSST entry.*/ - WriteParams.ulWriteAddress = cOCT6100_TSST_CONTROL_MEM_BASE + ( pChanEntry->usSoutTsstIndex * cOCT6100_TSST_CONTROL_MEM_ENTRY_SIZE ); - WriteParams.usWriteData = 0x0000; - - mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ); - if ( ulResult != cOCT6100_ERR_OK ) + ulResult = Oct6100ApiWriteOutputTsstControlMemory( f_pApiInstance, + pChanEntry->usSoutTsstIndex, + pChanEntry->CodecConfig.byAdpcmNibblePosition, + pChanEntry->TdmConfig.bySoutNumTssts, + 1534 ); + if ( ulResult != cOCT6100_ERR_OK ) return ulResult; } diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c index ae2fe73..9818c33 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_open.c @@ -2,7 +2,7 @@ File: oct6100_chip_open.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 336 $ +$Octasic_Revision: 347 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -216,6 +216,7 @@ UINT32 Oct6100ChipOpenDef( /* Configure the soft tone event buffer. */ f_pChipOpen->ulSoftToneEventsBufSize = 2048; f_pChipOpen->fEnableExtToneDetection = FALSE; + f_pChipOpen->fEnable2100StopEvent = FALSE; /* Configure the soft playout event buffer. */ f_pChipOpen->ulSoftBufferPlayoutEventsBufSize = cOCT6100_INVALID_VALUE; @@ -283,7 +284,7 @@ UINT32 Oct6100ChipOpen( ulResult = Oct6100ApiCheckChipConfiguration( f_pChipOpen ); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; - + /* Check if the host system is multi-process or not and adjust instance accordingly. */ if ( f_pChipOpen->fMultiProcessSystem != TRUE ) { @@ -420,21 +421,11 @@ UINT32 Oct6100ChipOpen( /* Proceed with the rest only if the production BIST has not been requested. */ if ( f_pChipOpen->fEnableProductionBist == FALSE ) { - /* Configure the interrupt registers. */ - ulResult = Oct6100ApiIsrHwInit( f_pApiInstance, &f_pChipOpen->InterruptConfig ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - /* Initialize the errors counters. */ ulResult = Oct6100ApiChipStatsSwInit( f_pApiInstance ); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; - /* Configure all interrupts of the chip. */ - ulResult = Oct6100InterruptConfigureSer( f_pApiInstance, &f_pChipOpen->InterruptConfig, FALSE ); - if ( ulResult != cOCT6100_ERR_OK ) - return ulResult; - /* Get revision number of chip. */ ulResult = Oct6100ApiGetChipRevisionNum( f_pApiInstance ); if ( ulResult != cOCT6100_ERR_OK ) @@ -466,6 +457,16 @@ UINT32 Oct6100ChipOpen( + + /*Clear all interrupts that could have occured during startup*/ + ulResult = Oct6100ApiClearInterrupts( f_pApiInstance ); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + /* Configure the interrupt registers. */ + ulResult = Oct6100ApiIsrHwInit( f_pApiInstance, &f_pChipOpen->InterruptConfig ); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; } return cOCT6100_ERR_OK; @@ -962,8 +963,8 @@ f_pChipOpen Pointer to chip configuration structure. \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ #if !SKIP_OCT6100ApiReadCapacity -UINT32 Oct6100ApiReadCapacity( IN tPOCT6100_INSTANCE_API f_pApiInstance, - IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins) +UINT32 Oct6100ApiReadCapacity( IN tPOCT6100_INSTANCE_API f_pApiInstance, + IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins) { UINT32 ulResult; tOCT6100_READ_PARAMS ReadParams; @@ -1078,14 +1079,7 @@ UINT32 Oct6100ApiCheckChipConfiguration( if ( f_pChipOpen->ulUpclkFreq != cOCT6100_UPCLK_FREQ_33_33_MHZ ) return cOCT6100_ERR_OPEN_UP_CLK_FREQ; - if ( f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_133_MHZ && - f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_125_MHZ && - f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_117_MHZ && - f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_108_MHZ && - f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_100_MHZ && - f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_92_MHZ && - f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_83_MHZ && - f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_75_MHZ ) + if ( f_pChipOpen->ulMemClkFreq != cOCT6100_MCLK_FREQ_133_MHZ ) return cOCT6100_ERR_OPEN_MEM_CLK_FREQ; if ( f_pChipOpen->fEnableMemClkOut != TRUE && @@ -1100,6 +1094,10 @@ UINT32 Oct6100ApiCheckChipConfiguration( if ( f_pChipOpen->pbyImageFile == NULL ) return cOCT6100_ERR_OPEN_IMAGE_FILE; + ulTempVar = Oct6100ApiCheckImageFileHeader(f_pChipOpen); + if (ulTempVar != cOCT6100_ERR_OK) + return ulTempVar; + /* Check the acoustic echo activation flag. */ if ( f_pChipOpen->fEnableAcousticEcho != TRUE && f_pChipOpen->fEnableAcousticEcho != FALSE ) @@ -1185,6 +1183,10 @@ UINT32 Oct6100ApiCheckChipConfiguration( f_pChipOpen->fEnableExtToneDetection != FALSE ) return cOCT6100_ERR_OPEN_ENABLE_EXT_TONE_DETECTION; + if ( f_pChipOpen->fEnable2100StopEvent != TRUE && + f_pChipOpen->fEnable2100StopEvent != FALSE) + return cOCT6100_ERR_OPEN_ENABLE_2100_STOP_EVENT; + /* Check soft buffer for playout events size. */ if ( ( f_pChipOpen->ulSoftBufferPlayoutEventsBufSize != cOCT6100_INVALID_VALUE ) && ( f_pChipOpen->ulSoftBufferPlayoutEventsBufSize < cOCT6100_MIN_BUFFER_PLAYOUT_EVENT || @@ -1435,6 +1437,7 @@ UINT32 Oct6100ApiCopyChipConfiguration( /* Add 1 to the circular buffer such that all user requested events can fit in the circular queue. */ pSharedInfo->ChipConfig.ulSoftToneEventsBufSize = f_pChipOpen->ulSoftToneEventsBufSize + 1; pSharedInfo->ChipConfig.fEnableExtToneDetection = (UINT8)( f_pChipOpen->fEnableExtToneDetection & 0xFF ); + pSharedInfo->ChipConfig.fEnable2100StopEvent = (UINT8)( f_pChipOpen->fEnable2100StopEvent & 0xFF ); if ( f_pChipOpen->ulSoftBufferPlayoutEventsBufSize != cOCT6100_INVALID_VALUE ) pSharedInfo->ChipConfig.ulSoftBufPlayoutEventsBufSize = f_pChipOpen->ulSoftBufferPlayoutEventsBufSize + 1; @@ -1524,7 +1527,6 @@ UINT32 Oct6100ApiInitializeMiscellaneousVariables( pSharedInfo->ImageInfo.fNlpControl = FALSE; pSharedInfo->ImageInfo.fRinAutoLevelControl = FALSE; pSharedInfo->ImageInfo.fSoutAutoLevelControl = FALSE; - pSharedInfo->ImageInfo.fAlcNoiseBleedOutTime = FALSE; pSharedInfo->ImageInfo.fRinHighLevelCompensation = FALSE; pSharedInfo->ImageInfo.fSoutHighLevelCompensation = FALSE; pSharedInfo->ImageInfo.fAlcHlcStatus = FALSE; @@ -1571,8 +1573,6 @@ UINT32 Oct6100ApiInitializeMiscellaneousVariables( pSharedInfo->ImageInfo.fIdleCodeDetection = TRUE; pSharedInfo->ImageInfo.fIdleCodeDetectionConfiguration = FALSE; pSharedInfo->ImageInfo.fSinLevel = TRUE; - pSharedInfo->ImageInfo.fResetRinAlcOnTones = FALSE; - pSharedInfo->ImageInfo.fResetSoutAlcOnTones = FALSE; pSharedInfo->ImageInfo.usMaxNumberOfChannels = 0; pSharedInfo->ImageInfo.ulToneProfileNumber = cOCT6100_INVALID_VALUE; @@ -2057,6 +2057,36 @@ UINT32 Oct6100ApiGetChipRevisionNum( } #endif +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +Function: Oct6100ApiCheckImageFileHeader + +Description: This function check if the image loaded is valid + +------------------------------------------------------------------------------- +| Argument | Description +------------------------------------------------------------------------------- +f_pApiInstance Pointer to API instance. This memory is used to keep the + present state of the chip and all its resources. + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if !SKIP_Oct6100ApiCheckImageFileHeader +UINT32 Oct6100ApiCheckImageFileHeader( + IN tPOCT6100_CHIP_OPEN f_pChipOpen ) +{ + + PUINT8 pszImageInfoStart = NULL; + UINT32 ulStrLen; + + ulStrLen = Oct6100ApiStrLen( (PUINT8)cOCT6100_IMAGE_START_STRING ); + pszImageInfoStart = Oct6100ApiStrStr(f_pChipOpen->pbyImageFile,(PUINT8)cOCT6100_IMAGE_START_STRING, + f_pChipOpen->pbyImageFile + ulStrLen); + if (pszImageInfoStart == NULL) + return cOCT6100_ERR_OPEN_IMAGE_FILE; + + return cOCT6100_ERR_OK; +} +#endif /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ @@ -2247,7 +2277,7 @@ f_pApiInstance Pointer to API instance. This memory is used to keep the \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ UINT32 Oct6100ApiBootFc2PllReadCap( - IN tPOCT6100_INSTANCE_API f_pApiInstance, + IN tPOCT6100_INSTANCE_API f_pApiInstance, IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins) { tOCT6100_WRITE_PARAMS WriteParams; @@ -2838,7 +2868,7 @@ f_pApiInstance Pointer to API instance. This memory is used to keep the \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ UINT32 Oct6100ApiProgramFc1PllReadCap( - IN tPOCT6100_INSTANCE_API f_pApiInstance, + IN tPOCT6100_INSTANCE_API f_pApiInstance, IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins) { tOCT6100_WRITE_PARAMS WriteParams; @@ -3291,7 +3321,7 @@ f_pApiInstance Pointer to API instance. This memory is used to keep the \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ UINT32 Oct6100ApiCpuRegisterBistReadCap( - IN tPOCT6100_INSTANCE_API f_pApiInstance, + IN tPOCT6100_INSTANCE_API f_pApiInstance, IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins ) { @@ -4512,7 +4542,7 @@ UINT32 Oct6100ApiProgramNLP( { /* Verify if the bist succeeded. */ if ( ( usReadData & 0xFFFF ) != 0x0000 ) - return cOCT6100_ERR_OPEN_FUNCTIONAL_BIST_FAILED; /* Bad chip. */ + return cOCT6100_ERR_OPEN_FUNCTIONAL_BIST_FAILED; ulAfCpuUp = TRUE; } @@ -5360,14 +5390,14 @@ UINT32 Oct6100ApiInitChannels( for( i = 0; i < 6; i++ ) { WriteParams.ulWriteAddress = 0x20000 + ( i * 0x1000 ) + ( 1534 * 2 ); - WriteParams.usWriteData = 0xFF; + WriteParams.usWriteData = 0x3EFF; mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ); if ( ulResult != cOCT6100_ERR_OK ) return ulResult; WriteParams.ulWriteAddress = 0x20000 + ( i * 0x1000 ) + ( 1535 * 2 ); - WriteParams.usWriteData = 0xFF; + WriteParams.usWriteData = 0x3EFF; mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ); if ( ulResult != cOCT6100_ERR_OK ) @@ -6807,3 +6837,69 @@ UINT32 Oct6100ApiProductionCrc( return cOCT6100_ERR_OK; } #endif + +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +Function: Oct6100ApiClearInterrupts + +Description: Called only by the Oct6100OpenChip function, this function + writes to all register ROLs to clear them. This is necessary + because some ROLs are set during the startup. + +------------------------------------------------------------------------------- +| Argument | Description +------------------------------------------------------------------------------- +IN f_pApiInst Pointer to API instance. This memory is used to keep the + present state of the chip and all its resources. + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if !SKIP_Oct6100ApiClearInterrupts +UINT32 Oct6100ApiClearInterrupts( + IN tPOCT6100_INSTANCE_API f_pApiInstance ) +{ + tPOCT6100_SHARED_INFO pSharedInfo; + tOCT6100_WRITE_PARAMS WriteParams; + UINT32 ulResult; + + /* Get local pointer to shared portion of instance. */ + pSharedInfo = f_pApiInstance->pSharedInfo; + + /* Set the process context and user chip ID parameters once and for all. */ + WriteParams.pProcessContext = f_pApiInstance->pProcessContext; + + WriteParams.ulUserChipId = pSharedInfo->ChipConfig.ulUserChipId; + + WriteParams.ulWriteAddress = 0x102; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_102H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + WriteParams.ulWriteAddress = 0x202; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_202H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + WriteParams.ulWriteAddress = 0x302; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_302H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + WriteParams.ulWriteAddress = 0x502; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_502H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + WriteParams.ulWriteAddress = 0x702; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_702H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + return cOCT6100_ERR_OK; + +} +#endif diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c index ffbde43..346005a 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_chip_stats.c @@ -2,7 +2,7 @@ File: oct6100_chip_stats.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 88 $ +$Octasic_Revision: 89 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -217,8 +217,6 @@ UINT32 Oct6100ChipGetImageInfoDef( f_pChipImageInfo->fDoubleTalkBehavior = FALSE; f_pChipImageInfo->fIdleCodeDetection = TRUE; f_pChipImageInfo->fSinLevel = TRUE; - f_pChipImageInfo->fResetAlcOnTones = FALSE; - f_pChipImageInfo->fAlcNoiseBleedOutTime = FALSE; for ( i = 0; i < cOCT6100_MAX_TONE_EVENT; i++ ) { @@ -276,18 +274,12 @@ UINT32 Oct6100ChipGetImageInfo( f_pChipImageInfo->fSinLevel = pImageInfo->fSinLevel; f_pChipImageInfo->fDoubleTalkBehavior = pImageInfo->fDoubleTalkBehavior; f_pChipImageInfo->fHighLevelCompensation = pImageInfo->fRinHighLevelCompensation; - f_pChipImageInfo->fAlcNoiseBleedOutTime = pImageInfo->fAlcNoiseBleedOutTime; if ( ( pImageInfo->fRinAutoLevelControl == TRUE ) && ( pImageInfo->fSoutAutoLevelControl == TRUE ) ) f_pChipImageInfo->fAutoLevelControl = TRUE; else f_pChipImageInfo->fAutoLevelControl = FALSE; - if ( ( pImageInfo->fResetRinAlcOnTones == TRUE ) || ( pImageInfo->fResetSoutAlcOnTones == TRUE ) ) - f_pChipImageInfo->fResetAlcOnTones = TRUE; - else - f_pChipImageInfo->fResetAlcOnTones = FALSE; - f_pChipImageInfo->ulMaxChannels = pImageInfo->usMaxNumberOfChannels; f_pChipImageInfo->ulNumTonesAvailable = pImageInfo->byNumToneDetectors; f_pChipImageInfo->ulToneProfileNumber = pImageInfo->ulToneProfileNumber; diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c index 2ff3a5a..4a30671 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_conf_bridge.c @@ -2,7 +2,7 @@ File: oct6100_conf_bridge.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 145 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c index 6095108..ac25f81 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_debug.c @@ -2,7 +2,7 @@ File: oct6100_debug.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 63 $ +$Octasic_Revision: 64 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -233,12 +233,11 @@ UINT32 Oct6100DebugSelectChannelSer( tPOCT6100_API_CHANNEL pChanEntry = NULL; tPOCT6100_API_CHANNEL pTempChanEntry; tOCT6100_CHANNEL_OPEN TempChanOpen; + tOCT6100_WRITE_BURST_PARAMS BurstParams; UINT16 usChanIndex = 0; UINT32 ulEntryOpenCnt; - - tOCT6100_WRITE_BURST_PARAMS BurstParams; - UINT16 ausWriteData[ 2 ]; - UINT32 ulResult; + UINT16 ausWriteData[ 2 ]; + UINT32 ulResult; /* Get local pointer(s). */ pSharedInfo = f_pApiInstance->pSharedInfo; @@ -442,7 +441,7 @@ UINT32 Oct6100DebugSelectChannelSer( return ulResult; pSharedInfo->DebugInfo.usCurrentDebugChanIndex = usChanIndex; - + /* Cancel data dump request, if there was one. */ pSharedInfo->DebugInfo.fDebugDataBeingDumped = FALSE; pSharedInfo->DebugInfo.ulDebugDataTotalNumBytes = cOCT6100_INVALID_VALUE; @@ -491,6 +490,7 @@ UINT32 Oct6100DebugGetDataSer( UINT16 ausWriteData[ 2 ]; UINT16 usReadData; UINT16 usDebugEventReadPtr; + UINT16 usTempNumEvents; UINT32 ulResult; UINT32 ulToneEventIndex; @@ -649,7 +649,11 @@ UINT32 Oct6100DebugGetDataSer( ulTimestamp |= usReadData; - ulTimestamp >>= 12; + ulTimestamp >>= 12; /* TDM time for 1 event (512 ms) */ + + /* There is a probability here (once very 6.2 days) that the timestamp is close */ + /* to 0, because it has wrapped. But still, we need a way to workaround the highly */ + /* occuring case of the chip just being opened. This will fix this problem. */ if ( ulTimestamp < (UINT32)( pSharedInfo->DebugInfo.usMatrixCBMask + 1 ) ) { if ( pSharedInfo->DebugInfo.usChipDebugEventWritePtr >= 2 ) @@ -672,6 +676,7 @@ UINT32 Oct6100DebugGetDataSer( pSharedInfo->DebugInfo.usNumEvents--; } + /* If the user only requested the last 16 seconds, cap the number of events. */ if ( f_pGetData->ulGetDataMode == cOCT6100_DEBUG_GET_DATA_MODE_16S || f_pGetData->ulGetDataMode == cOCT6100_DEBUG_GET_DATA_MODE_16S_LITE ) @@ -681,6 +686,36 @@ UINT32 Oct6100DebugGetDataSer( pSharedInfo->DebugInfo.usNumEvents = (UINT16)( ( 16000 / ( pSharedInfo->DebugInfo.ulRecordedPcmEventByteSize / 8 ) ) & 0xFFFF ); } + /* Make sure that all the events are pertaining to the current hot channel. */ + /* Calculate the event read pointer. */ + ulReadPointer = ( ( pSharedInfo->DebugInfo.usChipDebugEventWritePtr - pSharedInfo->DebugInfo.usNumEvents ) & pSharedInfo->DebugInfo.usMatrixCBMask ) * pSharedInfo->DebugInfo.ulDebugChanStatsByteSize; + ulReadPointer %= ( ( pSharedInfo->DebugInfo.usMatrixCBMask + 1 ) * pSharedInfo->DebugInfo.ulDebugChanStatsByteSize ); + + /* Travel through the events and throw away the bad events. */ + usTempNumEvents = pSharedInfo->DebugInfo.usNumEvents; + pSharedInfo->DebugInfo.usNumEvents = 0; + for ( ulDebugEventIndex = 0; ulDebugEventIndex < usTempNumEvents; ulDebugEventIndex ++ ) + { + /* The HOT channel index for the event is stored at offset 0xF2 (word offset) */ + + ReadParams.ulReadAddress = pSharedInfo->DebugInfo.ulMatrixBaseAddress + ulReadPointer; + ReadParams.ulReadAddress += 0xF2 * sizeof(UINT16); + ReadParams.pusReadData = &usReadData; + + mOCT6100_DRIVER_READ_API( ReadParams, ulResult ); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + /* Check if the current debug index is the same as the one found in the event. */ + if ( usReadData != pSharedInfo->DebugInfo.usCurrentDebugChanIndex ) + pSharedInfo->DebugInfo.usNumEvents = 0; /* As soon as we hit another channel, we reset the number of valid events. */ + else + pSharedInfo->DebugInfo.usNumEvents++; + + /* Increment read pointer to get next event. */ + ulReadPointer = ( ulReadPointer + pSharedInfo->DebugInfo.ulDebugChanStatsByteSize ) % ( ( pSharedInfo->DebugInfo.usMatrixCBMask + 1 ) * pSharedInfo->DebugInfo.ulDebugChanStatsByteSize ); + } + /* In heavy mode, the AF log pointer is retrieved. */ if ( ( pSharedInfo->DebugInfo.usNumEvents >= 2 ) && ( ( f_pGetData->ulGetDataMode == cOCT6100_DEBUG_GET_DATA_MODE_16S ) diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c index f765732..ef7a36b 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_events.c @@ -2,7 +2,7 @@ File: oct6100_events.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 80 $ +$Octasic_Revision: 81 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -440,6 +440,7 @@ UINT32 Oct6100ApiTransferToneEvents( UINT32 ulBaseTimestamp; UINT32 ulToneCnt; UINT32 ulNumWordsToRead; + UINT32 ulEventCode; UINT32 ulResult; UINT32 i, j; @@ -587,38 +588,93 @@ UINT32 Oct6100ApiTransferToneEvents( /* Verify all the possible events that might have been detected. */ for ( j = 4; j < cOCT6100_NUM_WORDS_PER_TONE_EVENT; j++ ) { - if ( (( ausReadData[ j ] >> 8 ) & 0x7 ) != 0x0 ) + ulEventCode = ( ausReadData[ j ] >> 8 ) & 0x7; + + if ( ulEventCode != 0x0 ) { /* This tone generated an event, now check if event is masked for the channel. */ if ((( pEchoChannel->aulToneConf[ ulToneCnt / 32 ] >> ( 31 - ( ulToneCnt % 32 ))) & 0x1) == 1 ) { - /* If enough space. */ - if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && - ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) + BOOL f2100Tone; + + /* Check if it is a 2100 Tone STOP and if the user wants receive those events*/ + ulResult = Oct6100ApiIs2100Tone(f_pApiInstance, + pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID, + &f2100Tone); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + if ( (f2100Tone == FALSE) || + ( (f2100Tone == TRUE) && (ulEventCode != 2) ) || + ( (f2100Tone == TRUE) && pSharedInfo->ChipConfig.fEnable2100StopEvent == TRUE ) ) { - /* The tone event is not masked, The API can create a soft tone event. */ - mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) - pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; - - /* Decode the event type. */ - switch(( ausReadData[ j ] >> 8 ) & 0x7 ) + + /* If enough space. */ + if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && + ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) { - case 1: - pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; - break; - case 2: - pSoftEvent->ulEventType = cOCT6100_TONE_STOP; - break; - case 3: - /* This one is a little tricky. We first */ - /* generate the "PRESENT" event and then generate the "STOP" event. */ + /* The tone event is not masked, The API can create a soft tone event. */ + mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) + pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; + + /* Decode the event type. */ + switch( ulEventCode ) + { + case 1: + pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; + break; + case 2: + pSoftEvent->ulEventType = cOCT6100_TONE_STOP; + break; + case 3: + /* This one is a little tricky. We first */ + /* generate the "PRESENT" event and then generate the "STOP" event. */ + + pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; + pSoftEvent->ulChannelHandle = cOCT6100_HNDL_TAG_CHANNEL | (pEchoChannel->byEntryOpenCnt << cOCT6100_ENTRY_OPEN_CNT_SHIFT) | usChannelIndex; + pSoftEvent->ulUserChanId = pEchoChannel->ulUserChanId; + pSoftEvent->ulToneDetected = pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID; + /* We want the timestamp not to be equal to the "STOP" event, so we subtract one to the detector's value. */ + pSoftEvent->ulTimestamp = ( ulBaseTimestamp + ((( ausReadData[ j ] >> 13 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ) ) - 1; + pSoftEvent->ulExtToneDetectionPort = ulExtToneDetectionPort; + + /* Update the control variables of the buffer. */ + pSharedInfo->SoftBufs.ulToneEventBufferWritePtr++; + if ( pSharedInfo->SoftBufs.ulToneEventBufferWritePtr == pSharedInfo->SoftBufs.ulToneEventBufferSize ) + pSharedInfo->SoftBufs.ulToneEventBufferWritePtr = 0; + + /* If enough space for the "STOP" event. */ + if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && + ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) + { + mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) + pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; + + pSoftEvent->ulEventType = cOCT6100_TONE_STOP; + } + else + { + /* Set the overflow flag of the buffer. */ + pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; + + /* We continue in the loop in order to empty the hardware buffer. */ + continue; + } + + break; + case 4: + pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; + break; + default: + pSharedInfo->ErrorStats.ulToneDetectorErrorCnt++; + /* do not process this packet*/ + continue; + } - pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; pSoftEvent->ulChannelHandle = cOCT6100_HNDL_TAG_CHANNEL | (pEchoChannel->byEntryOpenCnt << cOCT6100_ENTRY_OPEN_CNT_SHIFT) | usChannelIndex; pSoftEvent->ulUserChanId = pEchoChannel->ulUserChanId; pSoftEvent->ulToneDetected = pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID; - /* We want the timestamp not to be equal to the "STOP" event, so we subtract one to the detector's value. */ - pSoftEvent->ulTimestamp = ( ulBaseTimestamp + ((( ausReadData[ j ] >> 13 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ) ) - 1; + pSoftEvent->ulTimestamp = ulBaseTimestamp + ((( ausReadData[ j ] >> 13 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ); pSoftEvent->ulExtToneDetectionPort = ulExtToneDetectionPort; /* Update the control variables of the buffer. */ @@ -626,55 +682,17 @@ UINT32 Oct6100ApiTransferToneEvents( if ( pSharedInfo->SoftBufs.ulToneEventBufferWritePtr == pSharedInfo->SoftBufs.ulToneEventBufferSize ) pSharedInfo->SoftBufs.ulToneEventBufferWritePtr = 0; - /* If enough space for the "STOP" event. */ - if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && - ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) - { - mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) - pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; - - pSoftEvent->ulEventType = cOCT6100_TONE_STOP; - } - else - { - /* Set the overflow flag of the buffer. */ - pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; - - /* We continue in the loop in order to empty the hardware buffer. */ - continue; - } - - break; - case 4: - pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; - break; - default: - pSharedInfo->ErrorStats.ulToneDetectorErrorCnt++; - /* do not process this packet*/ - continue; + /* Set the interrupt manager such that the user knows that some tone events */ + /* are pending in the software Q. */ + pSharedInfo->IntrptManage.fToneEventsPending = TRUE; } + else + { + /* Set the overflow flag of the buffer. */ + pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; - pSoftEvent->ulChannelHandle = cOCT6100_HNDL_TAG_CHANNEL | (pEchoChannel->byEntryOpenCnt << cOCT6100_ENTRY_OPEN_CNT_SHIFT) | usChannelIndex; - pSoftEvent->ulUserChanId = pEchoChannel->ulUserChanId; - pSoftEvent->ulToneDetected = pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID; - pSoftEvent->ulTimestamp = ulBaseTimestamp + ((( ausReadData[ j ] >> 13 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ); - pSoftEvent->ulExtToneDetectionPort = ulExtToneDetectionPort; - - /* Update the control variables of the buffer. */ - pSharedInfo->SoftBufs.ulToneEventBufferWritePtr++; - if ( pSharedInfo->SoftBufs.ulToneEventBufferWritePtr == pSharedInfo->SoftBufs.ulToneEventBufferSize ) - pSharedInfo->SoftBufs.ulToneEventBufferWritePtr = 0; - - /* Set the interrupt manager such that the user knows that some tone events */ - /* are pending in the software Q. */ - pSharedInfo->IntrptManage.fToneEventsPending = TRUE; - } - else - { - /* Set the overflow flag of the buffer. */ - pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; - - /* We continue in the loop in order to empty the hardware buffer. */ + /* We continue in the loop in order to empty the hardware buffer. */ + } } } else @@ -691,7 +709,7 @@ UINT32 Oct6100ApiTransferToneEvents( if ( fSSTone == TRUE ) { /* Check if this is a "PRESENT" or "STOP" event */ - switch( ( ( ausReadData[ j ] >> 8 ) & 0x7 ) ) + switch( ulEventCode ) { case 1: /* This is a signaling system present event. Keep this in the instance memory. */ @@ -710,39 +728,94 @@ UINT32 Oct6100ApiTransferToneEvents( } } ulToneCnt++; - + /* Check the other tone of this word. */ - if ( ( ausReadData[ j ] & 0x7 ) != 0x0 ) + ulEventCode = ausReadData[ j ] & 0x7; + + if ( ulEventCode != 0x0 ) { if ((( pEchoChannel->aulToneConf[ ulToneCnt / 32 ] >> ( 31 - ( ulToneCnt % 32 ))) & 0x1) == 1 ) { - /* If enough space. */ - if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && - ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) + BOOL f2100Tone; + + /* Check if it is a 2100 Tone STOP and if the user wants receive those events*/ + ulResult = Oct6100ApiIs2100Tone(f_pApiInstance, + pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID, + &f2100Tone); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + if ( (f2100Tone == FALSE) || + ( (f2100Tone == TRUE) && (ulEventCode != 2) ) || + ( (f2100Tone == TRUE) && pSharedInfo->ChipConfig.fEnable2100StopEvent == TRUE ) ) { - /* The tone event is not masked, The API can create a soft tone event. */ - mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) - pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; - - /* Decode the event type. */ - switch(( ausReadData[ j ] ) & 0x7 ) + + /* If enough space. */ + if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && + ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) { - case 1: - pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; - break; - case 2: - pSoftEvent->ulEventType = cOCT6100_TONE_STOP; - break; - case 3: - /* This one is a little tricky. We first */ - /* generate the "PRESENT" event and then generate the "STOP" event. */ + /* The tone event is not masked, The API can create a soft tone event. */ + mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) + pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; + + /* Decode the event type. */ + switch( ulEventCode ) + { + case 1: + pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; + break; + case 2: + pSoftEvent->ulEventType = cOCT6100_TONE_STOP; + break; + case 3: + /* This one is a little tricky. We first */ + /* generate the "PRESENT" event and then generate the "STOP" event. */ + + pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; + pSoftEvent->ulChannelHandle = cOCT6100_HNDL_TAG_CHANNEL | (pEchoChannel->byEntryOpenCnt << cOCT6100_ENTRY_OPEN_CNT_SHIFT) | usChannelIndex; + pSoftEvent->ulUserChanId = pEchoChannel->ulUserChanId; + pSoftEvent->ulToneDetected = pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID; + /* We want the timestamp not to be equal to the "STOP" event, so we subtract one to the detector's value. */ + pSoftEvent->ulTimestamp = ( ulBaseTimestamp + ((( ausReadData[ j ] >> 5 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ) ) - 1; + pSoftEvent->ulExtToneDetectionPort = ulExtToneDetectionPort; + + /* Update the control variables of the buffer. */ + pSharedInfo->SoftBufs.ulToneEventBufferWritePtr++; + if ( pSharedInfo->SoftBufs.ulToneEventBufferWritePtr == pSharedInfo->SoftBufs.ulToneEventBufferSize ) + pSharedInfo->SoftBufs.ulToneEventBufferWritePtr = 0; + + /* If enough space for the "STOP" event. */ + if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && + ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) + { + mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) + pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; + + pSoftEvent->ulEventType = cOCT6100_TONE_STOP; + } + else + { + /* Set the overflow flag of the buffer. */ + pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; + + /* We continue in the loop in order to empty the hardware buffer. */ + continue; + } + + break; + case 4: + pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; + break; + default: + pSharedInfo->ErrorStats.ulToneDetectorErrorCnt++; + /* Do not process this packet. */ + continue; + } - pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; pSoftEvent->ulChannelHandle = cOCT6100_HNDL_TAG_CHANNEL | (pEchoChannel->byEntryOpenCnt << cOCT6100_ENTRY_OPEN_CNT_SHIFT) | usChannelIndex; pSoftEvent->ulUserChanId = pEchoChannel->ulUserChanId; pSoftEvent->ulToneDetected = pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID; - /* We want the timestamp not to be equal to the "STOP" event, so we subtract one to the detector's value. */ - pSoftEvent->ulTimestamp = ( ulBaseTimestamp + ((( ausReadData[ j ] >> 5 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ) ) - 1; + pSoftEvent->ulTimestamp = ulBaseTimestamp + ((( ausReadData[ j ] >> 5 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ); pSoftEvent->ulExtToneDetectionPort = ulExtToneDetectionPort; /* Update the control variables of the buffer. */ @@ -750,56 +823,18 @@ UINT32 Oct6100ApiTransferToneEvents( if ( pSharedInfo->SoftBufs.ulToneEventBufferWritePtr == pSharedInfo->SoftBufs.ulToneEventBufferSize ) pSharedInfo->SoftBufs.ulToneEventBufferWritePtr = 0; - /* If enough space for the "STOP" event. */ - if ( ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferReadPtr) && - ((pSharedInfo->SoftBufs.ulToneEventBufferWritePtr + 1) != pSharedInfo->SoftBufs.ulToneEventBufferSize || pSharedInfo->SoftBufs.ulToneEventBufferReadPtr != 0) ) - { - mOCT6100_GET_TONE_EVENT_BUF_PNT( pSharedInfo, pSoftEvent ) - pSoftEvent += pSharedInfo->SoftBufs.ulToneEventBufferWritePtr; - - pSoftEvent->ulEventType = cOCT6100_TONE_STOP; - } - else - { - /* Set the overflow flag of the buffer. */ - pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; + /* Set the interrupt manager such that the user knows that some tone events */ + /* are pending in the software Q. */ + pSharedInfo->IntrptManage.fToneEventsPending = TRUE; - /* We continue in the loop in order to empty the hardware buffer. */ - continue; - } - - break; - case 4: - pSoftEvent->ulEventType = cOCT6100_TONE_PRESENT; - break; - default: - pSharedInfo->ErrorStats.ulToneDetectorErrorCnt++; - /* Do not process this packet. */ - continue; } + else + { + /* Set the overflow flag of the buffer. */ + pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; - pSoftEvent->ulChannelHandle = cOCT6100_HNDL_TAG_CHANNEL | (pEchoChannel->byEntryOpenCnt << cOCT6100_ENTRY_OPEN_CNT_SHIFT) | usChannelIndex; - pSoftEvent->ulUserChanId = pEchoChannel->ulUserChanId; - pSoftEvent->ulToneDetected = pSharedInfo->ImageInfo.aToneInfo[ ulToneCnt ].ulToneID; - pSoftEvent->ulTimestamp = ulBaseTimestamp + ((( ausReadData[ j ] >> 5 ) & 0x7) * cOCT6100_LOCAL_TIMESTAMP_INCREMENT ); - pSoftEvent->ulExtToneDetectionPort = ulExtToneDetectionPort; - - /* Update the control variables of the buffer. */ - pSharedInfo->SoftBufs.ulToneEventBufferWritePtr++; - if ( pSharedInfo->SoftBufs.ulToneEventBufferWritePtr == pSharedInfo->SoftBufs.ulToneEventBufferSize ) - pSharedInfo->SoftBufs.ulToneEventBufferWritePtr = 0; - - /* Set the interrupt manager such that the user knows that some tone events */ - /* are pending in the software Q. */ - pSharedInfo->IntrptManage.fToneEventsPending = TRUE; - - } - else - { - /* Set the overflow flag of the buffer. */ - pSharedInfo->SoftBufs.ulToneEventBufferOverflowCnt++; - - /* We continue in the loop in order to empty the hardware buffer. */ + /* We continue in the loop in order to empty the hardware buffer. */ + } } } else @@ -816,7 +851,7 @@ UINT32 Oct6100ApiTransferToneEvents( if ( fSSTone == TRUE ) { /* Check if this is a "PRESENT" event. */ - switch ( ( ausReadData[ j ] ) & 0x7 ) + switch ( ulEventCode ) { case 1: /* This is a signaling system present event. Keep this in the instance memory. */ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c index 6900dfd..4d0cf79 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_interrupts.c @@ -2,7 +2,7 @@ File: oct6100_interrupts.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 75 $ +$Octasic_Revision: 78 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -330,7 +330,7 @@ UINT32 Oct6100ApiIsrHwInit( return ulResult; WriteParams.ulWriteAddress = 0x504; - WriteParams.usWriteData = 0x0001; + WriteParams.usWriteData = 0x0002; mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) if ( ulResult != cOCT6100_ERR_OK ) return ulResult; @@ -441,6 +441,12 @@ UINT32 Oct6100InterruptConfigureSer( f_pIntrptConfig->ulErrorH100Timeout = ((f_pIntrptConfig->ulErrorH100Timeout + 9) / 10) * 10; pIntrptConfig->ulErrorH100TimeoutMclk = f_pIntrptConfig->ulErrorH100Timeout * pIntrptManage->ulNumMclkCyclesIn1Ms; + + /*Clear all interrupts that were already enabled*/ + ulResult = Oct6100ApiClearEnabledInterrupts( f_pApiInstance ); + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + /* Before writing the new configuration to the chip's registers, make sure that any */ /* interrupts which are either disabled or have no timeout period are not on the */ /* disabled interrupt list. */ @@ -495,6 +501,7 @@ UINT32 Oct6100InterruptConfigureSer( pIntrptManage->byErrorH100State = cOCT6100_INTRPT_ACTIVE; } + /* Write to the interrupt registers to update the state of each interrupt group. */ ulResult = Oct6100ApiWriteIeRegs( f_pApiInstance ); if ( ulResult != cOCT6100_ERR_OK ) @@ -504,6 +511,104 @@ UINT32 Oct6100InterruptConfigureSer( } #endif +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +Function: Oct6100ApiClearEnabledInterrupts + +Description: Disabled interruption are not reported but still available. This + function will clear the interrupts that were disabled and wish + to enable now. + +------------------------------------------------------------------------------- +| 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_pIntrptConfig Pointer to interrupt configuration structure. +f_pIntrptManage Pointer to interrupt manager structure. +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ + +#if !SKIP_Oct6100ApiClearEnabledInterrupts +UINT32 Oct6100ApiClearEnabledInterrupts( + IN tPOCT6100_INSTANCE_API f_pApiInstance ) +{ + + tPOCT6100_SHARED_INFO pSharedInfo; + tOCT6100_WRITE_PARAMS WriteParams; + tPOCT6100_API_INTRPT_CONFIG pIntrptConfig; + tPOCT6100_API_INTRPT_MANAGE pIntrptManage; + UINT32 ulResult; + + /* Get local pointer to shared portion of instance. */ + pSharedInfo = f_pApiInstance->pSharedInfo; + + /* Set the process context and user chip ID parameters once and for all. */ + WriteParams.pProcessContext = f_pApiInstance->pProcessContext; + + WriteParams.ulUserChipId = pSharedInfo->ChipConfig.ulUserChipId; + + /* Copy the configuration to the API instance. */ + pIntrptConfig = &f_pApiInstance->pSharedInfo->IntrptConfig; + pIntrptManage = &f_pApiInstance->pSharedInfo->IntrptManage; + + if ( pIntrptConfig->byFatalGeneralConfig != cOCT6100_INTERRUPT_DISABLE && + pIntrptManage->byFatalGeneralState != cOCT6100_INTRPT_DISABLED ) + { + WriteParams.ulWriteAddress = 0x102; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_102H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + WriteParams.ulWriteAddress = 0x202; + WriteParams.usWriteData = 0x1800; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + + WriteParams.ulWriteAddress = 0x502; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_502H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + } + + if ( pIntrptConfig->byErrorMemoryConfig != cOCT6100_INTERRUPT_DISABLE && + pIntrptManage->byErrorMemoryState != cOCT6100_INTRPT_DISABLED ) + { + WriteParams.ulWriteAddress = 0x202; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_202H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + } + + if ( pIntrptConfig->byErrorH100Config != cOCT6100_INTERRUPT_DISABLE && + pIntrptManage->byErrorH100State != cOCT6100_INTRPT_DISABLED ) + { + WriteParams.ulWriteAddress = 0x302; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_302H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + } + + if ( pIntrptConfig->byErrorOverflowToneEventsConfig != cOCT6100_INTERRUPT_DISABLE && + pIntrptManage->byErrorOverflowToneEventsState != cOCT6100_INTRPT_DISABLED ) + { + WriteParams.ulWriteAddress = 0x702; + WriteParams.usWriteData = cOCT6100_INTRPT_MASK_REG_702H; + mOCT6100_DRIVER_WRITE_API( WriteParams, ulResult ) + if ( ulResult != cOCT6100_ERR_OK ) + return ulResult; + } + + + return cOCT6100_ERR_OK; + +} +#endif /*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c index 93edd54..8580249 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_memory.c @@ -2,7 +2,7 @@ File: oct6100_memory.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 42 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c index 107ba76..0648d31 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_miscellaneous.c @@ -2,7 +2,7 @@ File: oct6100_miscellaneous.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 35 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c index c6edcba..d88e706 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_mixer.c @@ -2,7 +2,7 @@ File: oct6100_mixer.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $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 0165060..2f1ac92 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_phasing_tsst.c @@ -2,7 +2,7 @@ File: oct6100_phasing_tsst.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $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 9f87d83..5c3bdbf 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_playout_buf.c @@ -2,7 +2,7 @@ File: oct6100_playout_buf.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $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 0bed078..1c7e9f0 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_remote_debug.c @@ -2,7 +2,7 @@ File: oct6100_remote_debug.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 35 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c index 4ecc81e..3569865 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tlv.c @@ -2,7 +2,7 @@ File: oct6100_tlv.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 112 $ +$Octasic_Revision: 113 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -1916,54 +1916,6 @@ UINT32 Oct6100ApiInterpretTlvEntry( break; - case cOCT6100_TLV_TYPE_RESET_RIN_ALC_ON_TONES_BOFF: - - ulResult = Oct6100ApiTlvCheckLengthField( f_ulTlvFieldLength, - cOCT6100_TLV_MIN_LENGTH_RESET_RIN_ALC_ON_TONES_BOFF, - cOCT6100_TLV_MAX_LENGTH_RESET_RIN_ALC_ON_TONES_BOFF ); - if ( ulResult == cOCT6100_ERR_OK ) - { - ulResult = Oct6100ApiTlvReadBitOffsetStruct( f_pApiInstance, - f_ulTlvValueAddress, - &f_pApiInstance->pSharedInfo->MemoryMap.ResetRinAlcOnTonesFieldOfst ); - - f_pApiInstance->pSharedInfo->ImageInfo.fResetRinAlcOnTones = TRUE; - } - - break; - - case cOCT6100_TLV_TYPE_RESET_SOUT_ALC_ON_TONES_BOFF: - - ulResult = Oct6100ApiTlvCheckLengthField( f_ulTlvFieldLength, - cOCT6100_TLV_MIN_LENGTH_RESET_SOUT_ALC_ON_TONES_BOFF, - cOCT6100_TLV_MAX_LENGTH_RESET_SOUT_ALC_ON_TONES_BOFF ); - if ( ulResult == cOCT6100_ERR_OK ) - { - ulResult = Oct6100ApiTlvReadBitOffsetStruct( f_pApiInstance, - f_ulTlvValueAddress, - &f_pApiInstance->pSharedInfo->MemoryMap.ResetSoutAlcOnTonesFieldOfst ); - - f_pApiInstance->pSharedInfo->ImageInfo.fResetSoutAlcOnTones = TRUE; - } - - break; - - case cOCT6100_TLV_TYPE_ALC_NOISE_BLEED_OUT_TIME_BOFF: - - ulResult = Oct6100ApiTlvCheckLengthField( f_ulTlvFieldLength, - cOCT6100_TLV_MIN_LENGTH_ALC_NOISE_BLEED_OUT_TIME_BOFF, - cOCT6100_TLV_MAX_LENGTH_ALC_NOISE_BLEED_OUT_TIME_BOFF ); - if ( ulResult == cOCT6100_ERR_OK ) - { - ulResult = Oct6100ApiTlvReadBitOffsetStruct( f_pApiInstance, - f_ulTlvValueAddress, - &f_pApiInstance->pSharedInfo->MemoryMap.AlcNoiseBleedOutTimeFieldOfst ); - - f_pApiInstance->pSharedInfo->ImageInfo.fAlcNoiseBleedOutTime = TRUE; - } - - break; - default: /* Unknown TLV type field... check default length and nothing else. */ ulResult = Oct6100ApiTlvCheckLengthField( f_ulTlvFieldLength, diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c index 280f4e2..acefeae 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tone_detection.c @@ -2,7 +2,7 @@ File: oct6100_tone_detection.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 50 $ +$Octasic_Revision: 51 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -1041,3 +1041,48 @@ UINT32 Oct6100ApiIsSSTone( } #endif +/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\ + +Function: Oct6100ApiIsSSTone + +Description: Check if specified tone number is a 2100 special signaling + system tone. + +------------------------------------------------------------------------------- +| 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_ulToneEventNumber Tone event number to be checked against. + +\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ +#if !SKIP_Oct6100ApiIs2100Tone +UINT32 Oct6100ApiIs2100Tone( + IN OUT tPOCT6100_INSTANCE_API f_pApiInstance, + IN UINT32 f_ulToneEventNumber, + OUT PBOOL f_fIs2100Tone ) +{ + *f_fIs2100Tone = FALSE; + + switch( f_ulToneEventNumber ) + { + case cOCT6100_TONE_ROUT_G168_2100GB_ON : + case cOCT6100_TONE_ROUT_G168_2100GB_WSPR : + case cOCT6100_TONE_ROUT_G168_2100GB_ON_WIDE_A : + case cOCT6100_TONE_ROUT_G168_2100GB_ON_WIDE_B : + case cOCT6100_TONE_ROUT_G168_2100GB_WSPR_WIDE : + case cOCT6100_TONE_SOUT_G168_2100GB_ON : + case cOCT6100_TONE_SOUT_G168_2100GB_WSPR : + case cOCT6100_TONE_SOUT_G168_2100GB_ON_WIDE_A : + case cOCT6100_TONE_SOUT_G168_2100GB_ON_WIDE_B : + case cOCT6100_TONE_SOUT_G168_2100GB_WSPR_WIDE : + *f_fIs2100Tone = TRUE; + break; + default: + break; + } + + return cOCT6100_ERR_OK; +} +#endif diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c index 83738cc..6c4c540 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsi_cnct.c @@ -2,7 +2,7 @@ File: oct6100_tsi_cnct.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 38 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c index 1add50d..4468e35 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_tsst.c @@ -2,7 +2,7 @@ File: oct6100_tsst.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 39 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c index ee506f9..5d57695 100644 --- a/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c +++ b/software/octdeviceapi/oct6100api/oct6100_api/oct6100_user.c @@ -2,7 +2,7 @@ File: oct6100_user.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 28 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c b/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c index 7598d48..3dc4cc3 100644 --- a/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c +++ b/software/octdeviceapi/oct6100api/oct6100_apimi/oct6100_mask_interrupts.c @@ -2,7 +2,7 @@ File: oct6100_mask_interrupts.c - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 8 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_channel_priv.h b/software/octdeviceapi/oct6100api/oct6100_channel_priv.h index bc7c667..9616e8b 100644 --- a/software/octdeviceapi/oct6100api/oct6100_channel_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_channel_priv.h @@ -2,7 +2,7 @@ File: oct6100_channel_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 62 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h b/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h index 225cb8e..0ee2eee 100644 --- a/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_chip_open_priv.h @@ -2,7 +2,7 @@ File: oct6100_chip_open_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 59 $ +$Octasic_Revision: 63 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -109,6 +109,9 @@ typedef struct _OCT6100_API_INSTANCE_SIZES_ UINT32 Oct6100ApiCheckChipConfiguration( IN tPOCT6100_CHIP_OPEN f_pOpenChip ); +UINT32 Oct6100ApiCheckImageFileHeader( + IN tPOCT6100_CHIP_OPEN f_pChipOpen ); + UINT32 Oct6100ApiCopyChipConfiguration( IN OUT tPOCT6100_INSTANCE_API f_pApiInstance, IN tPOCT6100_CHIP_OPEN f_pOpenChip ); @@ -242,7 +245,7 @@ UINT32 Oct6100ApiReadCapacity( IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins ); UINT32 Oct6100ApiCpuRegisterBistReadCap( - IN tPOCT6100_INSTANCE_API f_pApiInstance, + IN tPOCT6100_INSTANCE_API f_pApiInstance, IN tPOCT6100_API_GET_CAPACITY_PINS f_pGetCapacityPins ); UINT32 Oct6100ApiBootFc2PllReadCap( @@ -255,4 +258,7 @@ UINT32 Oct6100ApiProgramFc1PllReadCap( UINT32 Oct6100ApiInitToneInfo( IN OUT tPOCT6100_INSTANCE_API f_pApiInstance ); + +UINT32 Oct6100ApiClearInterrupts( + IN tPOCT6100_INSTANCE_API f_pApiInstance ); #endif /* __OCT6100_CHIP_OPEN_PRIV_H__ */ diff --git a/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h b/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h index fe832ba..4fe9d38 100644 --- a/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_chip_stats_priv.h @@ -2,7 +2,7 @@ File: oct6100_chip_stats_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 8 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h b/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h index b9657cf..c1d9f40 100644 --- a/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_conf_bridge_priv.h @@ -2,7 +2,7 @@ File: oct6100_conf_bridge_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 30 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_debug_priv.h b/software/octdeviceapi/oct6100api/oct6100_debug_priv.h index ff48eea..a39c590 100644 --- a/software/octdeviceapi/oct6100api/oct6100_debug_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_debug_priv.h @@ -2,7 +2,7 @@ File: oct6100_debug_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 12 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_events_priv.h b/software/octdeviceapi/oct6100api/oct6100_events_priv.h index cf2ba24..808809c 100644 --- a/software/octdeviceapi/oct6100api/oct6100_events_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_events_priv.h @@ -2,7 +2,7 @@ File: oct6100_events_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 14 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h b/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h index 8095825..019d7d1 100644 --- a/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_interrupts_priv.h @@ -2,7 +2,7 @@ File: oct6100_interrupts_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 10 $ +$Octasic_Revision: 11 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -116,6 +116,9 @@ UINT32 Oct6100InterruptConfigureSer( IN tPOCT6100_INTERRUPT_CONFIGURE f_pIntrptConfig, IN BOOL f_fCheckParams ); +UINT32 Oct6100ApiClearEnabledInterrupts( + IN tPOCT6100_INSTANCE_API f_pApiInstance ); + UINT32 Oct6100InterruptServiceRoutineSer( IN tPOCT6100_INSTANCE_API f_pApiInstance, OUT tPOCT6100_INTERRUPT_FLAGS f_pIntFlags ); diff --git a/software/octdeviceapi/oct6100api/oct6100_memory_priv.h b/software/octdeviceapi/oct6100api/oct6100_memory_priv.h index fcb383d..59ed600 100644 --- a/software/octdeviceapi/oct6100api/oct6100_memory_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_memory_priv.h @@ -2,7 +2,7 @@ File: oct6100_memory_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 17 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h index 3241631..c4e24e3 100644 --- a/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_miscellaneous_priv.h @@ -2,7 +2,7 @@ File: oct6100_miscellaneous_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 20 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h b/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h index cdeb666..ad273c0 100644 --- a/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_mixer_priv.h @@ -2,7 +2,7 @@ File: oct6100_mixer_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 18 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h b/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h index a5aba53..a31cc07 100644 --- a/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_phasing_tsst_priv.h @@ -2,7 +2,7 @@ File: oct6100_phasing_tsst_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 12 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h b/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h index c91c861..d58a2c2 100644 --- a/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_playout_buf_priv.h @@ -2,7 +2,7 @@ File: oct6100_playout_buf_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 22 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h b/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h index c722fb7..18bfea6 100644 --- a/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_remote_debug_priv.h @@ -2,7 +2,7 @@ File: oct6100_remote_debug_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 13 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h b/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h index ddabf16..4e824c1 100644 --- a/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_tlv_priv.h @@ -2,7 +2,7 @@ File: oct6100_tlv_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 57 $ +$Octasic_Revision: 58 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -192,10 +192,6 @@ $Octasic_Revision: 57 $ #define cOCT6100_TLV_TYPE_NLP_STATISTICS 138 -#define cOCT6100_TLV_TYPE_ALC_NOISE_BLEED_OUT_TIME_BOFF 143 -#define cOCT6100_TLV_TYPE_RESET_RIN_ALC_ON_TONES_BOFF 144 -#define cOCT6100_TLV_TYPE_RESET_SOUT_ALC_ON_TONES_BOFF 145 - #define cOCT6100_TLV_TYPE_RIN_ANR_VALUE 147 #define cOCT6100_TLV_TYPE_ADPCM_ENABLE 150 @@ -422,14 +418,6 @@ $Octasic_Revision: 57 $ #define cOCT6100_TLV_MIN_LENGTH_IDLE_CODE_DETECTION_BOFF 8 #define cOCT6100_TLV_MAX_LENGTH_IDLE_CODE_DETECTION_BOFF 8 -#define cOCT6100_TLV_MIN_LENGTH_ALC_NOISE_BLEED_OUT_TIME_BOFF 8 -#define cOCT6100_TLV_MAX_LENGTH_ALC_NOISE_BLEED_OUT_TIME_BOFF 8 - -#define cOCT6100_TLV_MIN_LENGTH_RESET_RIN_ALC_ON_TONES_BOFF 8 -#define cOCT6100_TLV_MAX_LENGTH_RESET_RIN_ALC_ON_TONES_BOFF 8 -#define cOCT6100_TLV_MIN_LENGTH_RESET_SOUT_ALC_ON_TONES_BOFF 8 -#define cOCT6100_TLV_MAX_LENGTH_RESET_SOUT_ALC_ON_TONES_BOFF 8 - #define cOCT6100_TLV_MIN_LENGTH_DEBUG_CHAN_INDEX_VALUE 4 #define cOCT6100_TLV_MAX_LENGTH_DEBUG_CHAN_INDEX_VALUE 4 #define cOCT6100_TLV_MIN_LENGTH_ADPCM_ENABLE 4 diff --git a/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h b/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h index 9b9689a..8cd296d 100644 --- a/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_tone_detection_priv.h @@ -2,7 +2,7 @@ File: oct6100_tone_detection_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 13 $ +$Octasic_Revision: 14 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -103,4 +103,9 @@ UINT32 Oct6100ApiIsSSTone( IN UINT32 f_ulToneEventNumber, OUT PBOOL f_fSSTone ); +UINT32 Oct6100ApiIs2100Tone( + IN OUT tPOCT6100_INSTANCE_API f_pApiInstance, + IN UINT32 f_ulToneEventNumber, + OUT PBOOL f_fIs2100Tone ); + #endif /* __OCT6100_TONE_DETECTION_PRIV_H__ */ diff --git a/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h b/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h index 742d5af..8ccc542 100644 --- a/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_tsi_cnct_priv.h @@ -2,7 +2,7 @@ File: oct6100_tsi_cnct_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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.00-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 14 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h b/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h index 039a9d0..317df1b 100644 --- a/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h +++ b/software/octdeviceapi/oct6100api/oct6100_tsst_priv.h @@ -2,7 +2,7 @@ File: oct6100_tsst_priv.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ $Octasic_Revision: 14 $ diff --git a/software/octdeviceapi/oct6100api/oct6100_version.h b/software/octdeviceapi/oct6100api/oct6100_version.h index 8a2849a..74cf3c0 100644 --- a/software/octdeviceapi/oct6100api/oct6100_version.h +++ b/software/octdeviceapi/oct6100api/oct6100_version.h @@ -2,7 +2,7 @@ File: oct6100_version.h - Copyright (c) 2001-2006 Octasic Inc. + Copyright (c) 2001-2007 Octasic Inc. Description: @@ -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-PR47 $ +$Octasic_Release: OCT612xAPI-01.00-PR48 $ -$Octasic_Revision: 50 $ +$Octasic_Revision: 51 $ \*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/ @@ -34,6 +34,6 @@ $Octasic_Revision: 50 $ /* String version of the OCT6100 API.*/ -#define cOCT6100_API_VERSION "OCT6100API-01.00-PR47" +#define cOCT6100_API_VERSION "OCT6100API-01.00-PR48" #endif /* __OCT6100_VERSION_H__ */ -- cgit v1.2.3