diff include/condat/audio.h @ 0:75a11d740a02

initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:02:41 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/include/condat/audio.h	Thu Jun 09 00:02:41 2016 +0000
@@ -0,0 +1,273 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  GSM (6301)
+|  Modul   :  
++----------------------------------------------------------------------------- 
+|  Copyright 2002 Texas Instruments Berlin, AG 
+|                 All rights reserved. 
+| 
+|                 This file is confidential and a trade secret of Texas 
+|                 Instruments Berlin, AG 
+|                 The receipt of or possession of this file does not convey 
+|                 any rights to reproduce or disclose its contents or to 
+|                 manufacture, use, or sell anything it may describe, in 
+|                 whole, or in part, without the specific written consent of 
+|                 Texas Instruments Berlin, AG. 
++----------------------------------------------------------------------------- 
+|  Purpose :  Types definitions for the audio driver
+|             .
++----------------------------------------------------------------------------- 
+
+********************************************************************************
+ 	$History: audio.h
+
+ 	xpradipg - LOCOST-SPR-33914: 25 Aug 2005
+ 	Description: MO to the Agilent resets the target
+ 	Solution: The enum value was assigned in one of the array which was not
+ 			propogated to another, due to buzzer removal there was a mismatch
+ 			the enum value assignment is guarded by a compiler flag
+
+ 	xpradipg - GSM-ENH-32494 : 23 June 2005
+ 	Description:	Support for various audio profiles
+ 	Solution:	The support for audio device's carkit/headset/loudspeaker/handheld.
+ 			The audio device is enabled as per the user actions.
+ 			
+********************************************************************************
+ 
+ 
+|		  Apr 04, 2005    REF: ENH 30063 xdeepadh
+|		  Description: Buzzer removal activity for Locosto MMI
+|		  Fix:All the Buzzer related calls are under the  compilation flag FF_BUZZER.
+|			The GSM tones which were playing in the buzzer are now routed to the speaker(Audio).     
++-----------------------------------------------------------------------------
+*/
+#ifdef FF_MMI_AUDIO_PROFILE
+#include "rv/rv_general.h"
+#include "audio/audio_api.h"
+#endif
+#ifndef AUDIO_H
+#define AUDIO_H
+
+/*
+ * Signal Types
+ */
+#define AUDIO_SIGTYPE_SOUNDDEND    0
+
+/*
+ * Return Values
+ */
+#define AUDIO_FCT_NOTSUPPORTED     20
+
+/*
+ * Audio Devices
+ */
+#define AUDIO_SPEAKER              1
+#define AUDIO_MICROPHONE           2
+#define AUDIO_BUZZER               3
+
+/*
+ * Audio Status
+ */
+#define NO_TONE_STATE    0
+#define BUZZER_ON        1
+#define BUZZER_SILENT    2
+#define TONE_ON          3
+#define TONE_SILENT      4
+
+/*
+ * Mute Status
+ */
+#define AUDIO_MUTING_ON  0
+#define AUDIO_MUTING_OFF 1
+
+/*
+ * Minimum and Maximum Volumes
+ */
+#define AUDIO_MIN_VOLUME      0
+#define AUDIO_MAX_VOLUME      255
+#define AUDIO_MIN_BUZ_VOLUME  0
+#define AUDIO_MAX_BUZ_VOLUME  255
+#define AUDIO_MIN_MIC_VOLUME  75
+#define AUDIO_MAX_MIC_VOLUME  75
+
+//xpradipg - 32494
+#ifdef FF_MMI_AUDIO_PROFILE
+#define CALLBACK_HEADSET 0
+#define CALLBACK_CARKIT 1
+#define MAX_EXT_AUD_DEVICE 2
+#endif
+
+enum AUDIO_SOUND_IDS
+{
+    AUDIO_MEL_LOW_BAT,
+    AUDIO_MEL_SMS_ALRT,
+    AUDIO_MEL_SWITCH_OFF,
+    AUDIO_MEL_AUTO_REDIAL,
+    AUDIO_MEL_KEY_BEEP,
+    AUDIO_MEL_ERROR_TONE,
+    AUDIO_MEL_USSD_TONE,
+    AUDIO_MEL_DIARY_TONE,
+    AUDIO_MEL_CB_TONE,
+    AUDIO_MEL_SVC_TONE,
+    AUDIO_MEL_MAN_PLMN_TONE,
+    AUDIO_MEL_CONNECT_CHARGER,
+    AUDIO_MEL_LOW_CREDIT,
+    AUDIO_MEL_ALARM_TONE,
+
+    AUDIO_MEL_TUNES,
+    AUDIO_PLAY_SINGLE_NOTE = 0xFF
+};
+
+//Apr 04, 2005    REF: ENH 30063 xdeepadh
+//Tone ids for Buzzer
+//When the buzzer is not available, the ringing tones will be played with midiringer.
+enum AUDIO_TONES_IDS
+{
+#ifndef FF_MMI_NO_BUZZER
+    TONES_RING_0,
+    TONES_RING_1,
+    TONES_RING_2,
+    TONES_RING_3,
+    TONES_RING_4,
+    TONES_RING_5,
+    TONES_RING_6,
+    TONES_RING_7,
+    TONES_RING_8,
+    TONES_RING_9,
+    TONES_RING_10,
+    TONES_RING_11,
+    TONES_RING_12,
+    TONES_RING_13,
+    TONES_RING_14,
+    TONES_RING_15,
+#endif
+    TONES_ERROR,
+    TONES_BUSY,
+    TONES_CONGEST,
+    TONES_DROPPED,
+    TONES_ACK,
+    TONES_CW,
+    TONES_DTMF_0,
+    TONES_DTMF_1,
+    TONES_DTMF_2,
+    TONES_DTMF_3,
+    TONES_DTMF_4,
+    TONES_DTMF_5,
+    TONES_DTMF_6,
+    TONES_DTMF_7,
+    TONES_DTMF_8,
+    TONES_DTMF_9,
+    TONES_DTMF_A,
+    TONES_DTMF_B,
+    TONES_DTMF_C,
+    TONES_DTMF_D,
+    TONES_DTMF_STAR,
+    TONES_DTMF_HASH,
+//xpradipg - LOCOST-SPR-33914: 25 Aug 2005    
+#ifndef FF_MMI_NO_BUZZER
+    TONES_KEYBEEP = 0x26,
+#else
+    TONES_KEYBEEP,
+#endif    
+    TONES_RINGING_TONE, /* SPR#2340 - DS - Added */
+    TONES_LAST_TONE_ID
+};
+
+/*
+ * internal data structures
+ */
+typedef struct
+{
+  USHORT      command_1;
+  USHORT      command_2;
+  USHORT      length;
+} T_DESCR;
+
+typedef struct
+{
+  UBYTE       status;
+  UBYTE       call_tone;
+  UBYTE       type;
+  T_DESCR   * descr;
+  UBYTE       volume;
+  UBYTE       style;
+  USHORT      descr_index;
+} T_ACT_TONE;
+
+/*
+ * Status Type
+ */
+typedef struct audio_Status_Type
+{
+  UBYTE min_volume;
+  UBYTE max_volume;
+} audio_Status_Type;
+
+enum AUDIO_PLAY_STYLES
+{
+    AUDIO_PLAY_CRESCENDO    = 0xff,
+    AUDIO_PLAY_INFINITE     =  0,
+    AUDIO_PLAY_ONCE         =  1
+};
+
+/*
+ * TTY definitions
+ */
+typedef enum
+{
+  TTY_OFF = 0,
+  TTY_VCO,
+  TTY_HCO,
+  TTY_ALL
+} T_TTY_CMD;
+
+#if defined (NEW_FRAME)
+/*
+ * to achieve backward compatibility with older definitions
+ */
+#define drv_SignalCB_Type           T_DRV_CB_FUNC
+#define drv_SignalID_Type           T_DRV_SIGNAL
+#define T_VSI_THANDLE               USHORT
+#endif
+/*
+ * Prototypes
+ */
+
+//  	xpradipg - GSM-ENH-32494 : 23 June 2005
+#ifdef FF_MMI_AUDIO_PROFILE
+EXTERN UBYTE audio_Init(T_ACCESSORY_CALLBACK *audioConfig);
+EXTERN void audio_set_path(int audioDevice,int stereo);
+#else
+EXTERN UBYTE audio_Init             (drv_SignalCB_Type   in_SignalCBPtr);
+#endif
+EXTERN void  audio_Exit             (void);
+EXTERN UBYTE audio_SetMute          (UBYTE               in_DeviceID,
+                                     UBYTE               in_Mode);
+EXTERN UBYTE audio_GetMute          (UBYTE               in_DeviceID,
+                                     UBYTE             * out_Mode);
+EXTERN UBYTE audio_GetSoundImage    (UBYTE               in_SoundID,
+                                     void              * out_SoundImagePtr);
+EXTERN UBYTE audio_SetAmplf         (UBYTE               in_DeviceID,
+                                     UBYTE               in_Amplf);
+EXTERN UBYTE audio_GetAmplf         (UBYTE               in_DeviceID,
+                                     UBYTE             * out_Amplf);
+EXTERN UBYTE audio_GetStatus        (UBYTE               in_DeviceID,
+                                     audio_Status_Type * out_StatusPtr);
+EXTERN UBYTE audio_PlaySoundID      (UBYTE               in_DeviceID,
+                                     UBYTE               in_SoundID,
+                                     BYTE                in_RelVolume,
+                                     UBYTE               in_Repeats);
+EXTERN UBYTE audio_PlaySoundbyImage (UBYTE               in_DeviceID,
+                                     void              * in_SoundImagePtr,
+                                     BYTE                in_RelVolume,
+                                     UBYTE               in_Repeats);
+EXTERN UBYTE audio_StopSoundbyID    (UBYTE               in_DeviceID,
+                                     UBYTE               in_SoundID);
+EXTERN UBYTE audio_StopSoundbyImage (UBYTE               in_DeviceID,
+                                     void              * in_SoundImagePtr);
+EXTERN UBYTE audio_SetSignal        (drv_SignalID_Type * in_SignalIDPtr);
+EXTERN UBYTE audio_ResetSignal      (drv_SignalID_Type * in_SignalIDPtr);
+GLOBAL void  audio_timeout          (T_VSI_THANDLE       handle);
+EXTERN void  audio_set_tty          (T_TTY_CMD           tty);
+EXTERN void  audio_dyn_set_tty          (T_TTY_CMD           tty);
+#endif