view src/g23m-aci/aci/cmh_phb.h @ 273:5caa86ee2cfa

enable L1_NEW_AEC in l1_confg.h (bold change) The AEC function implemented in DSP ROM 3606 on the Calypso silicon we work with is the one that corresponds to L1_NEW_AEC; the same holds for DSP 34 and even for DSP 33 with more recent patch versions. However, TI shipped their TCS211 reference fw with L1_NEW_AEC set to 0, thus driving AEC the old way if anyone tried to enable it, either via AT%Nxxxx or via the audio mode facility. As a result, the fw would try to control features which no longer exist in the DSP (long vs short echo and the old echo suppression level bits), while providing no way to tune the 8 new parameter words added to the DSP's NDB page. The only sensible solution is to bite the bullet and enable L1_NEW_AEC in L1 config, with fallout propagating into RiViera Audio Service T_AUDIO_AEC_CFG structure and into /aud/*.cfg binary file format. The latter fallout will be addressed in further code changes.
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 29 Jul 2021 18:32:40 +0000
parents fa8dc04885d8
children
line wrap: on
line source

/* 
+----------------------------------------------------------------------------- 
|  Project :  GSM-PS (6147)
|  Modul   :  CMH_PHB
+----------------------------------------------------------------------------- 
|  Copyright 2002 Texas Instruments Berlin, AG 
|                 All rights reserved. 
| 
|                 This file is confidential and a trade secret of Texas 
|                 Instruments Berlin, AG 
|                 The receipt of or possession of this file does not convey 
|                 any rights to reproduce or disclose its contents or to 
|                 manufacture, use, or sell anything it may describe, in 
|                 whole, or in part, without the specific written consent of 
|                 Texas Instruments Berlin, AG. 
+----------------------------------------------------------------------------- 
|  Purpose :  Definitions for the command handler of the 
|             phonebook management.
+----------------------------------------------------------------------------- 
*/ 

#ifndef CMH_PHB_H
#define CMH_PHB_H

/*==== CONSTANTS ==================================================*/
  
#define PHB_CMH_IDX_MAX     (255) /* index maximum value          */
#define PHB_CMH_IDX_MIN     (1)   /* index minimum value          */

#define PHB_TONPI_NO_DIAL   0xFF  /* SSC String contains no       */
                                  /* dialling number              */
#define PHB_DIAL_WAIT       ('W') /* Dial str. wait for confirm   */
#define PHB_DIAL_PAUSE      ('P') /* DTMF 3 sec pause character   */
#define PHB_DTMF_SEP        ('P') /* DTMF separator character     */
#define PHB_WILD_CRD        ('?') /* PHB wild card character      */
#define PHB_EXP_DIGIT       ('E') /* 11.11 Expansion digit (n.a.) */

/*==== TYPES ======================================================*/

/*==== PROTOTYPES =================================================*/

GLOBAL BOOL  cmhPHB_rplcIntnl  ( CHAR*          inNumber, 
                                 CHAR*          outNumber,
                                 UBYTE          inCnt      );
GLOBAL BOOL  cmhPHB_cvtPhbType ( T_ACI_PB_STOR  inMem,
                                 T_PHB_TYPE*    outMem     );

GLOBAL void  cmhPHB_toaMrg     ( T_ACI_TOA*     type,
                                 UBYTE*         octet      );
GLOBAL void  cmhPHB_toaDmrg    ( UBYTE          octet,
                                 T_ACI_TOA*     type       );
GLOBAL void  cmhPHB_getAdrBcd  ( UBYTE*         pBcd,
                                 UBYTE*         pNumDigits,
                                 UBYTE          maxDigits,
                                 CHAR*          pStr       );
GLOBAL UBYTE cmhPHB_getAdrStr  ( CHAR*          pStr,
                                 UBYTE          maxIdx,
                           const UBYTE*         pBcd,
                                 UBYTE          numDigits  );
GLOBAL void cmhPHB_cpyRecEntr  ( T_ACI_PB_ENTR* entry, 
#ifdef TI_PS_FFS_PHB
                                 T_PHB_TYPE     book,
#endif
                           const T_PHB_RECORD*  record     );
GLOBAL void cmhPHB_invldEntr   ( T_ACI_PB_ENTR* entry      );

GLOBAL T_ACI_RETURN cmhPHB_PlusCPBF  ( T_ACI_CMD_SRC  srcId,
                                       T_ACI_PB_TEXT  *findtext,
                                       T_ACI_SR_TYP   type,
                                       T_ACI_CPBF_MOD mode,
                                       SHORT*         firstIdx,
                                       SHORT*         found,
                                       T_ACI_PB_ENTR* pbLst     );
GLOBAL T_ACI_RETURN cmhPHB_PlusCPBR  ( T_ACI_CMD_SRC  srcId,
                                       T_ACI_SR_TYP   type,
                                       SHORT          startIdx,
                                       SHORT          stopIdx,
                                       SHORT*         lastIdx,
                                       T_ACI_PB_ENTR* pbLst     );
GLOBAL void         cmhPHB_getTagNt  ( UBYTE*         inTag,
                                       UBYTE          maxInLen,
                                       CHAR*          outTag, 
                                       UBYTE          maxOutLen );
GLOBAL void         cmhPHB_getTagSim ( T_ACI_PB_TEXT  *inTag,
                                       UBYTE*         outTag, 
                                       UBYTE          maxOutLen );
GLOBAL void         cmhPHB_invldPhbDateTime
                                     ( T_PHB_RECORD*  record    );
GLOBAL void         cmhPHB_invldCmhDateTime
                                     ( T_ACI_VP_ABS*  dateTime  );
GLOBAL void         cmhPHB_cpyCmhDateTime
                                     ( const T_ACI_VP_ABS*  dateTime,
                                       T_PHB_RECORD*  record    );
GLOBAL void         cmhPHB_cpyPhbDateTime 
                                     ( const T_PHB_RECORD*  record,
                                       T_ACI_VP_ABS*  dateTime  );
GLOBAL void         cmhPHB_StatIndication 
                                     ( T_PHB_STAT     psaStatus,
                                       SHORT          cmeError, 
                                       BOOL           indicate  );

GLOBAL void cmhPHB_getMfwTagSim      ( T_ACI_PB_TEXT*  inTag,
                                       UBYTE*          outTag, 
                                       UBYTE*          outTagLen, 
                                       UBYTE           maxOutLen );
GLOBAL void cmhPHB_getMfwTagNt       ( const UBYTE*    inTag,
                                       UBYTE           maxInLen,
                                       UBYTE*          outTag, 
                                       UBYTE*          maxOutLen );

GLOBAL CHAR cmhPHB_convertBCD2char   ( UBYTE bcd );

GLOBAL void cmhPHB_ksdDecodeToa      (CHAR*         number, 
                                      CHAR**        pNumber, 
                                      T_PHB_RECORD* entry);

/*==== EXPORT =====================================================*/

#ifdef CMH_PHBF_C

GLOBAL T_ENT_STAT phbEntStat;
GLOBAL T_ACI_PBCF_LDN PBCFldn = PBCF_LDN_Enable;
GLOBAL T_ACI_PBCF_LRN PBCFlrn = PBCF_LRN_Enable;
GLOBAL T_ACI_PBCF_LMN PBCFlmn = PBCF_LMN_Enable;

#else

EXTERN T_ENT_STAT phbEntStat;
EXTERN T_ACI_PBCF_LDN PBCFldn;
EXTERN T_ACI_PBCF_LRN PBCFlrn;
EXTERN T_ACI_PBCF_LMN PBCFlmn;

#endif /* CMH_PHBF_C */

#endif /* CMH_PHB_H */

/*==== EOF =======================================================*/