FreeCalypso > hg > fc-tourmaline
annotate src/cs/services/etm/etm_audio.c @ 206:dc9ce599f7e7
wake up display to full brightness on all info dialogs
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Tue, 06 Apr 2021 01:38:29 +0000 | 
| parents | 4e78acac3d88 | 
| children | d9e3f3e293ac | 
| rev | line source | 
|---|---|
| 
0
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /******************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 * Enhanced TestMode (ETM) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 * @file etm_audio.c (Support for AUDIO commands) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 * | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 * @author Kim T. Peteren (ktp@ti.com) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 * @version 0.8 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 * | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 * | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 * History: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 * | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 * Date Modification | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 * ------------------------------------ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 * 16/06/2003 Creation | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 * 30/06/2003 Small cleanup in func. etm_audio_write, etm_audio_saveload and | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 * etm_aud_wait_for_aud_event is updated and renamed | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 * 12/08/2003 The func. etm_audio_write has been updated regarding the AEC struct. | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 * 14/08/2003 The func. etm_audio_read has been updated regarding the AEC struct. | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 * 17/03/2004 Modified the event handling, events revceived from the Audio SWE. | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 * Integrated event callback function, etm_audio_callback(). | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 * | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 * (C) Copyright 2003 by Texas Instruments Incorporated, All Rights Reserved | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 *********************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 #include "etm/etm.h" | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 #include "etm/etm_api.h" | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 #include "etm/etm_trace.h" | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include "etm/etm_env.h" // Need because use of T_ETM_ENV_CTRL_BLK | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "etm/etm_audio_err.h" // Privat Audio error codes for PC and Target | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "etm/etm_trace.h" | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "audio/audio_api.h" | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "rv/rv_general.h" | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "spi/spi_drv.h" // used for codec read/write | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "memif/mem.h" | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include <string.h> | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 * Globals | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 // Version of the ETM AUDIO module | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 //const uint16 etm_audio_revision = (1<<12) | (0x1); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 extern T_ETM_ENV_CTRL_BLK *etm_env_ctrl_blk; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 static int etm_audio_event_status = 0; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 * Internal prototypes | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 int etm_audio(uint8 *indata, int insize); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 T_RV_HDR *etm_audio_wait_for_event(UINT16 msg_id_expected); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 T_ETM_PKT *etm_audio_setup(uint8 fid, uint8 cfg_data); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 void etm_audio_callback(void *event_from_audio); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 * Register the Audio Module to the ETM database | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 int etm_audio_init(void) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 int result; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 result = etm_register("AUDIO", ETM_AUDIO, 0, 0, etm_audio); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 return result; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 * Audio Full Access Read Function | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 int etm_audio_read(T_ETM_PKT *pkt, uint8 *buf) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 int result, size = 0, size_tmp, i; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 uint8 param; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 T_AUDIO_FULL_ACCESS_READ audio; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 T_AUDIO_AEC_CFG *aec_parameter = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 void *parameter = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 param = *buf; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 if ((result = etm_pkt_put8(pkt, param)) < 0) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 return result; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 tr_etm(TgTrAudio, "ETM AUDIO: _audio_read: param(%d)", param); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 audio.variable_indentifier = param; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 audio.data = (T_AUDIO_FULL_ACCESS_READ *) &pkt->data[2]; //data[0] = fid | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 //data[1] = parameter/identifier | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 if ((result = audio_full_access_read(&audio)) != AUDIO_OK){ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 tr_etm(TgTrAudio, "ETM AUDIO: _audio_read: ERROR(%d)", result); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 if (result == AUDIO_ERROR) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 return ETM_INVAL; // Invalid audio parameter | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 else | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 return ETM_AUDIO_FATAL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 switch (param) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 case AUDIO_PATH_USED: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 size = sizeof(T_AUDIO_VOICE_PATH_SETTING); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 case AUDIO_MICROPHONE_MODE: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 case AUDIO_MICROPHONE_GAIN: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 case AUDIO_MICROPHONE_EXTRA_GAIN: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 case AUDIO_MICROPHONE_OUTPUT_BIAS: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 case AUDIO_MICROPHONE_SPEAKER_LOOP_SIDETONE: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 size = sizeof(INT8); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 case AUDIO_MICROPHONE_SPEAKER_LOOP_AEC: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 size = sizeof(T_AUDIO_AEC_CFG); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 aec_parameter = (T_AUDIO_AEC_CFG *) &pkt->data[2]; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 etm_pkt_put16(pkt, aec_parameter->aec_enable); // 1 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 #if (L1_NEW_AEC) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 etm_pkt_put16(pkt, aec_parameter->continuous_filtering); // 2 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 etm_pkt_put16(pkt, aec_parameter->granularity_attenuation); // 3 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 etm_pkt_put16(pkt, aec_parameter->smoothing_coefficient); // 4 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 etm_pkt_put16(pkt, aec_parameter->max_echo_suppression_level); // 5 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 etm_pkt_put16(pkt, aec_parameter->vad_factor); // 6 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 etm_pkt_put16(pkt, aec_parameter->absolute_threshold); // 7 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 etm_pkt_put16(pkt, aec_parameter->factor_asd_filtering); // 8 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 etm_pkt_put16(pkt, aec_parameter->factor_asd_muting); // 9 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 etm_pkt_put16(pkt, aec_parameter->aec_visibility); //10 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 #else | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 etm_pkt_put16(pkt, aec_parameter->aec_mode); // 2 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 etm_pkt_put16(pkt, aec_parameter->echo_suppression_level); // 3 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 #endif // end of (L1_NEW_AEC) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 etm_pkt_put16(pkt, aec_parameter->noise_suppression_enable); // 4 or 11 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 etm_pkt_put16(pkt, aec_parameter->noise_suppression_level); // 5 or 12 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 case AUDIO_MICROPHONE_FIR: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 case AUDIO_SPEAKER_FIR: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 size = sizeof(T_AUDIO_FIR_COEF); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 case AUDIO_SPEAKER_MODE: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 case AUDIO_SPEAKER_GAIN: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 case AUDIO_SPEAKER_FILTER: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 case AUDIO_SPEAKER_BUZZER_STATE: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 size = sizeof(INT8); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 case AUDIO_SPEAKER_VOLUME_LEVEL: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 size = sizeof(T_AUDIO_SPEAKER_LEVEL); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 default: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 size = ETM_INVAL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 pkt->size += size; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 return ETM_OK; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 * Audio Full Access Write Function | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 int etm_audio_write(T_ETM_PKT *pkt, uint8 *buf) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 T_RV_HDR *msg = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 T_RV_RETURN return_path; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 T_AUDIO_FULL_ACCESS_WRITE audio; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 T_AUDIO_AEC_CFG *aec_parameter = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 void *parameter = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 int result = ETM_OK, i; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 uint8 param; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 param = *buf++; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 if ((result = etm_pkt_put8(pkt, param)) < ETM_OK) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 return result; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 tr_etm(TgTrAudio, "ETM AUDIO: _audio_write: param(%d)", param); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 return_path.addr_id = NULL; //etm_env_ctrl_blk->addr_id; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 return_path.callback_func = etm_audio_callback; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 audio.variable_indentifier = param; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 audio.data = buf; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 switch (param) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 case AUDIO_MICROPHONE_SPEAKER_LOOP_AEC: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 tr_etm(TgTrAudio, "ETM AUDIO: _audio_write: AUDIO_MICROPHONE_SPEAKER_LOOP_AEC"); // RemoveMe | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 aec_parameter = etm_malloc (sizeof(T_AUDIO_AEC_CFG)); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 aec_parameter->aec_enable = etm_get16(buf); buf += 2;// 1 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 #if (L1_NEW_AEC) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 if (etm_get16(buf)) // 2 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 aec_parameter->continuous_filtering = TRUE; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 else | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 aec_parameter->continuous_filtering = FALSE; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 buf += 2; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 aec_parameter->granularity_attenuation = etm_get16(buf); buf += 2;// 3 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 aec_parameter->smoothing_coefficient = etm_get16(buf); buf += 2;// 4 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 aec_parameter->max_echo_suppression_level = etm_get16(buf); buf += 2;// 5 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 aec_parameter->vad_factor = etm_get16(buf); buf += 2;// 6 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 aec_parameter->absolute_threshold = etm_get16(buf); buf += 2;// 7 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 aec_parameter->factor_asd_filtering = etm_get16(buf); buf += 2;// 8 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 aec_parameter->factor_asd_muting = etm_get16(buf); buf += 2;// 9 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 aec_parameter->aec_visibility = etm_get16(buf); buf += 2;// 10 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 #else | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 aec_parameter->aec_mode = etm_get16(buf); buf += 2;// 2 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 aec_parameter->echo_suppression_level = etm_get16(buf); buf += 2;// 3 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 #endif // end of (L1_NEW_AEC) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 #if (L1_ANR == 0) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 aec_parameter->noise_suppression_enable = etm_get16(buf); buf += 2;// 4 or 11 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 aec_parameter->noise_suppression_level = etm_get16(buf); // 5 or 12 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 #endif // end of (L1_ANR) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 audio.data = aec_parameter; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 case AUDIO_MICROPHONE_FIR: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 case AUDIO_SPEAKER_FIR: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 tr_etm(TgTrAudio, "ETM AUDIO: _audio_write: AUDIO_MICROPHONE/SPEAKER_FIR [%d]", | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 sizeof(T_AUDIO_FIR_COEF)/2); // RemoveMe | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 parameter = etm_malloc (sizeof(T_AUDIO_FIR_COEF)); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 // Write coeffient values | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 for (i=0; i <= (sizeof(T_AUDIO_FIR_COEF)/2); i++) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 ((T_AUDIO_FIR_COEF *) parameter)->coefficient[i] = etm_get16(buf); buf += 2; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 audio.data = parameter; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 if ((result = audio_full_access_write(&audio, return_path)) != AUDIO_OK) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 tr_etm(TgTrAudio, "ETM AUDIO: _audio_write: ERROR(%d)", result); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 if (result == AUDIO_ERROR) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 result = ETM_INVAL; // Invalid audio parameter | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 else | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 result = ETM_AUDIO_FATAL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 // Wait for recv. of event: AUDIO_FULL_ACCESS_WRITE_DONE | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 rvf_wait(0xffff, 100); // Timeout 100 ticks | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 tr_etm(TgTrAudio, "ETM AUDIO: _audio_write: STATUS(%d)", etm_audio_event_status); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 if (parameter != NULL) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 etm_free(parameter); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 parameter = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 if (aec_parameter != NULL) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 etm_free(aec_parameter); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 aec_parameter = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 if (etm_audio_event_status != 0) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 etm_audio_event_status = 0; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 result = ETM_AUDIO_FATAL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 return result; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 * Audio Save and Load cfg file Function | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 int etm_audio_saveload(T_ETM_PKT *pkt, uint8 saveload, void *buf, int size) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 T_RV_HDR *msg; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 T_AUDIO_MODE_SAVE audio_s; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 T_AUDIO_MODE_LOAD audio_l; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 T_RV_RETURN return_path; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 int result = ETM_OK; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 int error, event; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 return_path.addr_id = etm_env_ctrl_blk->addr_id; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 return_path.callback_func = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 switch(saveload) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 case 'S': | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 memcpy(audio_s.audio_mode_filename, buf, size); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 result = audio_mode_save(&audio_s, return_path); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 case 'L': | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 memcpy(audio_l.audio_mode_filename, buf, size); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 result = audio_mode_load(&audio_l, return_path); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 default: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 tr_etm(TgTrAudio, "ETM AUDIO: _audio_saveload: FAILED"); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 rvf_wait(0xffff, 100); // Timeout 100 ticks | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 tr_etm(TgTrAudio, "ETM AUDIO: _audio_saveload: STATUS(%d)", etm_audio_event_status); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 if (etm_audio_event_status != 0) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 etm_audio_event_status = 0; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 return ETM_AUDIO_FATAL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 if (result != AUDIO_OK) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 return ETM_AUDIO_FATAL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 return result; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 * ETM AUDIO callback functio | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 void etm_audio_callback(void *event_from_audio) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 tr_etm(TgTrEtmLow,"ETM: AUDIO: _audio_callback: recv. event (0x%x)", | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 ((T_RV_HDR *) event_from_audio)->msg_id); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 switch (((T_RV_HDR *) event_from_audio)->msg_id) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 case AUDIO_FULL_ACCESS_WRITE_DONE: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 tr_etm(TgTrAudio, "ETM AUDIO: _audio_callback: recv. event AUDIO_FULL_ACCESS_WRITE_DONE"); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 etm_audio_event_status = ((T_AUDIO_FULL_ACCESS_WRITE_DONE *) event_from_audio)->status; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 case AUDIO_MODE_SAVE_DONE: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 tr_etm(TgTrAudio, "ETM AUDIO: _audio_callback: recv. event AUDIO_MODE_SAVE_DONE"); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 etm_audio_event_status = ((T_AUDIO_SAVE_DONE *) event_from_audio)->status; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 case AUDIO_MODE_LOAD_DONE: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 tr_etm(TgTrAudio, "ETM AUDIO: _audio_callback: recv. event AUDIO_MODE_LOAD_DONE"); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 etm_audio_event_status = ((T_AUDIO_LOAD_DONE *) event_from_audio)->status; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 if (event_from_audio != NULL) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 // etm_free(event_from_audio); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 event_from_audio = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 /****************************************************************************** | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 * ETM AUDIO Moudle - Main Task | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 *****************************************************************************/ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 // AUDIO packet structure for audio read/write and codec read/write: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 // |fid(8)|param(8)|--data(W)--| and for audio save/load |fid|--data(W)--| | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 int etm_audio(uint8 *indata, int insize) | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 int error = ETM_OK; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 uint8 fid; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 T_ETM_PKT *pkt = NULL; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 fid = *indata++; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 tr_etm(TgTrAudio, "ETM AUDIO: _audio: fid(%c) param(%d) recv. size(%d)", | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 fid, *indata, insize); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 /* Create TestMode return Packet */ | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 if ((pkt = (T_ETM_PKT *) etm_malloc(sizeof(T_ETM_PKT))) == NULL) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 return ETM_NOMEM; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 // Init. of return packet | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 pkt->mid = ETM_AUDIO; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 pkt->status = ETM_OK; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 pkt->size = 0; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 pkt->index = 0; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 etm_pkt_put8(pkt, fid); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 if (error == ETM_OK) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 switch (fid) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 case 'R': | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 error = etm_audio_read(pkt, indata); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 case 'W': | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 error = etm_audio_write(pkt, indata); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 case 'S': | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 case 'L': | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 error = etm_audio_saveload(pkt, fid, indata, insize); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 default: | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 tr_etm(TgTrAudio, "ETM AUDIO: _audio: fid(%c) - ERROR ", fid); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 error = ETM_NOSYS; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 break; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 if (error < 0) { | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 tr_etm(TgTrAudio,"ETM AUDIO: _audio: ERROR(%d)", error); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 pkt->status = -error; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 etm_pkt_send(pkt); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 etm_free(pkt); | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 return ETM_OK; | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 } | 
| 
 
4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 | 
