0
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /****************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 /* File Name: tty.c */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 /* Purpose: This file contains all the functions used to manage the */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 /* TTY feature. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 /* Version 0.1 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 /* Date Modification */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 /* ------------------------------------ */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 /* 18 Jan 2003 Create */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 /* Author */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 /* Frederic Turgis */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 /* (C) Copyright 2003 by Texas Instruments Incorporated, All Rights Reserved*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 /****************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 #ifndef _WINDOWS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #include "config/l1sw.cfg"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #if (L1_GTT == 1)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 #include "tty/tty_api.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 #include "tty/tty_i.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "rv/rv_general.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "rvf/rvf_target.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #include "l1gtt_signa.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "audio/audio_structs_i.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #include "audio/audio_const_i.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 /* extern variables & prototypes */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 extern T_TTY_ENV_CTRL_BLK *tty_env_ctrl_blk_p;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 extern T_AUDIO_ENV_CTRL_BLK *p_audio_gbl_var;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 extern void *audio_allocate_l1_message (UINT16 size);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 extern T_RV_RET audio_send_l1_message (INT16 message_id, void *message);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 /* Function Name: tty_send_status */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 /* Purpose: This function sends the TTY status to the entity. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 /* Input Parameters: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 /* status, */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 /* return path */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 /* Output Parameters: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 /* None. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 /* Note: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 /* None. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 /* Revision History: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 /* None. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 void tty_send_status (T_AUDIO_RET status, T_RV_RETURN return_path)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 T_AUDIO_TTY_STATUS *p_send_message = NULL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 T_RVF_MB_STATUS mb_status = RVF_RED;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 while (mb_status == RVF_RED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 /* allocate the message buffer */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 mb_status = rvf_get_buf (p_audio_gbl_var->mb_external,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 sizeof (T_AUDIO_TTY_STATUS),
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 (T_RVF_BUFFER **) (&p_send_message));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 /* If insufficient resources, then report a memory error and abort. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 /* and wait until more ressource is given */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 if (mb_status == RVF_RED)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 TTY_SEND_TRACE("TTY: Not Enough Memory (Red!) ",RV_TRACE_LEVEL_ERROR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 rvf_delay(RVF_MS_TO_TICKS(1000));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 /* fill the header of the message */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 ((T_AUDIO_TTY_STATUS *)p_send_message)->os_hdr.msg_id = AUDIO_TTY_STATUS_MSG;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 /* fill the status parameters */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 ((T_AUDIO_TTY_STATUS *)p_send_message)->status = status;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 if (return_path.callback_func == NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 /* send the message to the entity */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 rvf_send_msg (return_path.addr_id, p_send_message);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 else
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 /* call the callback function */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 (*return_path.callback_func)((void *)(p_send_message));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 rvf_free_buf((T_RVF_BUFFER *)p_send_message);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 /* Function Name: tty_manager */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 /* Purpose: This function is called to manage TTY */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 /* Input Parameters: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 /* message */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 /* Output Parameters: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 /* None. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 /* Note: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 /* None. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 /* Revision History: */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 /* None. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 /* */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 /********************************************************************************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 void tty_manager (T_RV_HDR *p_message)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 /* Declare local variables. */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 void *p_send_message;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 /**************** tty_manager function begins *********************/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 switch(tty_env_ctrl_blk_p->state)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 case TTY_IDLE:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 switch(p_message->msg_id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 case TTY_START_REQ:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 /* save the return path */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 tty_env_ctrl_blk_p->return_path.callback_func = ((T_TTY_START *)p_message)->return_path.callback_func;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 tty_env_ctrl_blk_p->return_path.addr_id = ((T_TTY_START *)p_message)->return_path.addr_id;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 /* allocate the buffer for the message to the L1 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 p_send_message = audio_allocate_l1_message(0);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 if (p_send_message != NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 /* send the start command to the audio L1 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 audio_send_l1_message(MMI_GTT_START_REQ, p_send_message);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 /* change state */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 tty_env_ctrl_blk_p->state = TTY_WAIT_START_CON;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 case TTY_STOP_REQ:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 TTY_SEND_TRACE("TTY: STOP ERROR EVENT ",RV_TRACE_LEVEL_ERROR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 } /* case TTY_IDLE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 case TTY_WAIT_START_CON:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 switch(p_message->msg_id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 case MMI_GTT_START_CON:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 /* change state */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 tty_env_ctrl_blk_p->state = TTY_WAIT_STOP_COMMAND;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 case TTY_STOP_REQ:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 /* change state */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 tty_env_ctrl_blk_p->state = TTY_WAIT_START_CON_TO_STOP;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 } /* case TTY_WAIT_START_CON */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 case TTY_WAIT_START_CON_TO_STOP:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 switch(p_message->msg_id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 case MMI_GTT_START_CON:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 /* send the stop command to the audio L1 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 p_send_message = audio_allocate_l1_message(0);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 if (p_send_message != NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 audio_send_l1_message(MMI_GTT_STOP_REQ, p_send_message);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 /* change state */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 tty_env_ctrl_blk_p->state = TTY_WAIT_STOP_CON;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 case TTY_STOP_REQ:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 TTY_SEND_TRACE("TTY: STOP ERROR EVENT ",RV_TRACE_LEVEL_ERROR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 case TTY_WAIT_STOP_COMMAND:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 switch(p_message->msg_id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 case TTY_STOP_REQ:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 /* send the stop command to the audio L1 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 p_send_message = audio_allocate_l1_message(0);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 if (p_send_message != NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 audio_send_l1_message(MMI_GTT_STOP_REQ, p_send_message);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 /* change state */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 tty_env_ctrl_blk_p->state = TTY_WAIT_STOP_CON;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 case MMI_GTT_STOP_CON:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 tty_send_status (AUDIO_OK, tty_env_ctrl_blk_p->return_path);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 /* change state */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 tty_env_ctrl_blk_p->state = TTY_IDLE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 } /* case TTY_WAIT_STOP_COMMAND */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 case TTY_WAIT_STOP_CON:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 switch(p_message->msg_id)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 case MMI_GTT_STOP_CON:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 tty_send_status (AUDIO_OK, tty_env_ctrl_blk_p->return_path);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 /* change state */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 tty_env_ctrl_blk_p->state = TTY_IDLE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 case TTY_STOP_REQ:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 TTY_SEND_TRACE("TTY: STOP ERROR EVENT ",RV_TRACE_LEVEL_ERROR);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 } /* case TTY_WAIT_STOP_CON */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 break;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 } /* switch(tty_env_ctrl_blk_p->state) */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 #endif /* L1_GTT */
|