view src/condat2/com/include/audio_obsolete.h @ 695:530f71d65c20

uartfax.c: pull from Tourmaline (GTM900 RI output) In addition to the primary intent of bringing in GTM900 RI output support, pulling uartfax.c wholesale from Tourmaline also changes the initial_time argument in the two NU_Create_Timer() calls from 0 to 1. This change is required for the new version of Nucleus used in Tourmaline and Selenite (and apparently also used by TI in LoCosto), and it is harmless (no effect) for the original TCS211 version of Nucleus used in Magnetite. The new philosophical model being adopted is that Tourmaline is our new development head firmware, whereas Magnetite will now be maintained similarly to how Linux maintainers treat stable kernels: changes will be backported from Tourmaline if they are deemed appropriate for stable modem firmware.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 24 Oct 2020 17:33:10 +0000
parents 93999a60b835
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
|             .
+----------------------------------------------------------------------------- 
*/ 

#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

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
};

enum AUDIO_TONES_IDS
{
    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,
    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,
    TONES_KEYBEEP = 0x26,
    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
 */
EXTERN UBYTE audio_Init             (drv_SignalCB_Type   in_SignalCBPtr);
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