FreeCalypso > hg > fc-magnetite
view src/condat3/com/include/audio.h @ 636:57e67ca2e1cb
pcmdata.c: default +CGMI to "FreeCalypso" and +CGMM to model
The present change has no effect whatsoever on Falconia-made and Openmoko-made
devices on which /pcm/CGMI and /pcm/CGMM files have been programmed in FFS
with sensible ID strings by the respective factories, but what should AT+CGMI
and AT+CGMM queries return when the device is a Huawei GTM900 or Tango modem
that has been converted to FreeCalypso with a firmware change? Before the
present change they would return compiled-in defaults of "<manufacturer>" and
"<model>", respectively; with the present change the firmware will self-identify
as "FreeCalypso GTM900-FC" or "FreeCalypso Tango" on the two respective targets.
This firmware identification will become important if someone incorporates an
FC-converted GTM900 or Tango modem into a ZeroPhone-style smartphone where some
high-level software like ofono will be talking to the modem and will need to
properly identify this modem as FreeCalypso, as opposed to some other AT command
modem flavor with different quirks.
In technical terms, the compiled-in default for the AT+CGMI query (which will
always be overridden by the /pcm/CGMI file in FFS if one is present) is now
"FreeCalypso" in all configs on all targets; the compiled-in default for the
AT+CGMM query (likewise always overridden by /pcm/CGMM if present) is
"GTM900-FC" if CONFIG_TARGET_GTM900 or "Tango" if CONFIG_TARGET_TANGO or the
original default of "<model>" otherwise.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 19 Jan 2020 20:14:58 +0000 |
parents | c8bd5a927942 |
children |
line wrap: on
line source
/* +----------------------------------------------------------------------------- | 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 0 already defined in audio.h in L1 */ #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