FreeCalypso > hg > fc-magnetite
annotate src/aci2/aci/psa_dcmp.c @ 598:717ed17d82c6
aci3 vocoder control revamped, AT@VSEL now works as it should
The vocoder control code (hl_audio_drv.c) that came with the TCS3 version
of ACI was totally broken in the Calypso config (VOCODER_FUNC_INTERFACE)
and worked in the standard analog voice environment only by luck.
This code has now been rewritten to work correctly with our Calypso
platform and TCS211 L1, and our new AT@VSEL mechanism (automatic enabling
and disabling of MCSI voice path as the modem enters and exits the voice
call state) now also works as designed.
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Wed, 27 Mar 2019 23:44:35 +0000 |
| parents | 93999a60b835 |
| children |
| rev | line source |
|---|---|
|
3
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 +----------------------------------------------------------------------------- |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Project : GSM-F&D (8411) |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 | Modul : ACI |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 +----------------------------------------------------------------------------- |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | Copyright 2002 Texas Instruments Berlin, AG |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 | All rights reserved. |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | This file is confidential and a trade secret of Texas |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | Instruments Berlin, AG |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | The receipt of or possession of this file does not convey |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | any rights to reproduce or disclose its contents or to |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | manufacture, use, or sell anything it may describe, in |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | whole, or in part, without the specific written consent of |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 | Texas Instruments Berlin, AG. |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 +----------------------------------------------------------------------------- |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | Description : defines the signalling functions of the protocol stack adapter for dcm control. |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 +----------------------------------------------------------------------------- |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 /*********************************** INCLUDES ********************************************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #include "aci_all.h" |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "dcm_utils.h" |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "dcm_state.h" |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "dcm_env.h" |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 /**************************** LOCAL VARIABLE DEFINITION **********************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 /**************************** EXTERN VARIABLE DEFINITION *********************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 EXTERN T_DCM_RET dcm_handle_message(T_DCM_HDR *msg_p); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 /**************************** LOCAL FUCNTION DEFINITION **********************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 /************************** EXTERN FUCNTION DEFINITION ***********************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 /******************************************************************************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 GLOBAL const void psa_dcm_open_conn_req(T_DCM_OPEN_CONN_REQ* dcm_open_conn_req) |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 { |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 T_DCM_OPEN_CONN_REQ_MSG dcm_open_conn_req_msg; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 TRACE_FUNCTION("psa_dcm_open_conn_req()"); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 memset(&dcm_open_conn_req_msg,0x00,sizeof(T_DCM_OPEN_CONN_REQ_MSG)); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 dcm_open_conn_req_msg.hdr.msg_id = DCM_OPEN_CONN_REQ_MSG; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 dcm_open_conn_req_msg.conn_req.api_instance = dcm_open_conn_req->api_instance; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 dcm_open_conn_req_msg.conn_req.bearer_select= dcm_open_conn_req->bearer_select; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 dcm_open_conn_req_msg.conn_req.profile_number = dcm_open_conn_req->profile_number; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 dcm_open_conn_req_msg.conn_req.dcm_info_conn = dcm_open_conn_req->dcm_info_conn; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 dcm_handle_message((T_DCM_HDR*)&dcm_open_conn_req_msg); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 PFREE(dcm_open_conn_req); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 } |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 /******************************************************************************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 GLOBAL const void psa_dcm_close_conn_req(T_DCM_CLOSE_CONN_REQ* dcm_close_conn_req) |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 { |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 T_DCM_CLOSE_CONN_REQ_MSG dcm_close_conn_req_msg; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 TRACE_FUNCTION("psa_dcm_close_conn_req()"); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 memset(&dcm_close_conn_req_msg, 0x00, sizeof(T_DCM_CLOSE_CONN_REQ_MSG)); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 dcm_close_conn_req_msg.hdr.msg_id = DCM_CLOSE_CONN_REQ_MSG; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 dcm_close_conn_req_msg.close_req.api_instance = dcm_close_conn_req->api_instance; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 dcm_close_conn_req_msg.close_req.bearer_handle = dcm_close_conn_req->bearer_handle; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 dcm_handle_message((T_DCM_HDR*)&dcm_close_conn_req_msg); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 PFREE(dcm_close_conn_req); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 } |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 /******************************************************************************/ |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 GLOBAL const void psa_dcm_get_current_conn_req(T_DCM_GET_CURRENT_CONN_REQ *dcm_get_current_conn_req) |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 { |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 T_DCM_GET_CURRENT_CONN_REQ_MSG dcm_get_current_conn_req_msg; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 TRACE_FUNCTION("psa_dcm_get_current_conn_req()"); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 memset(&dcm_get_current_conn_req_msg, 0x00, sizeof(T_DCM_GET_CURRENT_CONN_REQ_MSG)); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 dcm_get_current_conn_req_msg.hdr.msg_id = DCM_GET_CURRENT_CONN_REQ_MSG; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 dcm_get_current_conn_req_msg.current_conn_req.api_instance = dcm_get_current_conn_req->api_instance; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 dcm_get_current_conn_req_msg.current_conn_req.bearer_handle = dcm_get_current_conn_req->bearer_handle; |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 dcm_handle_message((T_DCM_HDR*)&dcm_get_current_conn_req_msg); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 PFREE(dcm_get_current_conn_req); |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 } |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 |
|
93999a60b835
src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 |
