view src/cs/services/audio/audio_messages_i.h @ 51:04aaa5622fa7

disable deep sleep when Iota LEDB is on TI's Iota chip docs say that CLK13M must be running in order for LEDB to work, and practical experience on Mot C139 which uses Iota LEDB for its keypad backlight concurs: if Calypso enters deep sleep while the keypad backlight is turned on, the light flickers visibly as the chipset goes into and out of deep sleep. TI's original L1 sleep manager code had logic to disable deep sleep when LT_Status() returns nonzero, but that function only works for B-Sample and C-Sample LT, always returns 0 on BOARD 41 - no check of Iota LEDB status anywhere. Change this code for our current hardware: disable deep sleep when Iota LEDB has been turned on through LLS.
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 19 Oct 2020 05:11:29 +0000
parents 4e78acac3d88
children
line wrap: on
line source

/****************************************************************************/
/*                                                                          */
/*  File Name:  audio_messages_i.h                                          */
/*                                                                          */
/*  Purpose:  Internal messages used by AUDIO instance                      */
/*                                                                          */
/*                                                                          */
/*  Version   0.1                                                           */
/*                                                                          */
/*  Date        Modification                                                */
/*  ------------------------------------                                    */
/*  18/05/2001  Create                                                      */
/*                                                                          */
/*  Author      Francois Mazard - Stephanie Gerthoux                        */
/*                                                                          */
/*                                                                          */
/* (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved*/
/****************************************************************************/

#include "rv/rv_defined_swe.h"
#ifdef RVM_AUDIO_MAIN_SWE
  #ifndef __AUDIO_MESSAGES_I_H_
    #define __AUDIO_MESSAGES_I_H_

    #include "l1_confg.h"

    #include "ffs/ffs_api.h"

    #ifdef __cplusplus
    extern "C"
    {
    #endif

    /******************************* KEY BEEP *****************************************/
    #if (KEYBEEP)
      /* Entity->Audio event */
      #define AUDIO_KEYBEEP_START_REQ                       (0x0001 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        T_AUDIO_KEYBEEP_PARAMETER keybeep_parameter;
        T_RV_RETURN               return_path;
      } T_AUDIO_KEYBEEP_START;

      /* Entity->Audio event */
      #define AUDIO_KEYBEEP_STOP_REQ                        (0x0002 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        T_RV_RETURN               return_path;
      } T_AUDIO_KEYBEEP_STOP;
    #endif /* #if (KEYBEEP) */

    /******************************* TONES *****************************************/
    #if (TONE)
      /* Entity->Audio event */
      #define AUDIO_TONES_START_REQ                       (0x0003 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        T_AUDIO_TONES_PARAMETER   tones_parameter;
        T_RV_RETURN               return_path;
      } T_AUDIO_TONES_START;

      /* Entity->Audio event */
      #define AUDIO_TONES_STOP_REQ                        (0x0004 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        T_RV_RETURN               return_path;
      } T_AUDIO_TONES_STOP;
    #endif

    /******************************* DRIVER ****************************************/
    #define AUDIO_DRIVER_START_SESSION                    (0x0005 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
    typedef struct
    {
      T_RV_HDR                      os_hdr;
      UINT8                         channel_id;
      T_RV_RETURN                   return_path;
    } T_AUDIO_DRIVER_HANDLE_SESSION;

    #define AUDIO_DRIVER_STOP_SESSION                     (0x0006 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)

    #define AUDIO_DRIVER_FREE_SESSION                     (0x0007 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)

    /******************************* MELODY_E1 *****************************************/
    #if (MELODY_E1)
      /* Entity->Audio event */
      #define AUDIO_MELODY_E1_START_REQ                       (0x0008 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_AUDIO_MELODY_E1_PARAMETER   melody_E1_parameter;
        T_FFS_FD                    audio_ffs_fd;
        T_RV_RETURN                   return_path;
      } T_AUDIO_MELODY_E1_START;

      /* Entity->Audio event */
      #define AUDIO_MELODY_E1_STOP_REQ                        (0x0009 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        char         melody_name[AUDIO_PATH_NAME_MAX_SIZE];       /* File name of the melody */
        T_RV_RETURN               return_path;
      } T_AUDIO_MELODY_E1_STOP;

    #endif

    /******************************* MELODY_E2 *****************************************/
    #if (MELODY_E2)
      /* Entity->Audio event */
      #define AUDIO_MELODY_E2_START_REQ                       (0x000A | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_AUDIO_MELODY_E2_PARAMETER   melody_E2_parameter;
        T_FFS_FD                      audio_E2_ffs_fd;
        T_RV_RETURN                   return_path;
      } T_AUDIO_MELODY_E2_START;

      /* Entity->Audio event */
      #define AUDIO_MELODY_E2_STOP_REQ                        (0x000B | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        char                      melody_E2_name[AUDIO_PATH_NAME_MAX_SIZE];
                                  /* File name of the melody */
        T_RV_RETURN               return_path;
      } T_AUDIO_MELODY_E2_STOP;

    #endif


    /******************************* FFS interface ************************************/
    #if (MELODY_E1) || (MELODY_E2) || (VOICE_MEMO)
      /* FFS FLASH to RAM interface */
      /* start message */
      #define AUDIO_FFS_FLASH_2_RAM_START_REQ                 (0x000C | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR  os_hdr;
        BOOLEAN   loop;
        UINT16    initial_size;
        UINT8     session_id;
        T_FFS_FD  audio_ffs_fd;
      } T_AUDIO_FFS_FLASH_2_RAM_START;

      /* start confirmation message */
      #define AUDIO_FFS_INIT_DONE                             (0x000D | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)

      typedef struct
      {
        T_RV_HDR  os_hdr;
        UINT8  session_id;
        UINT8  channel_id;
      } T_AUDIO_FFS_INIT;

      /* stop message */
      #define AUDIO_FFS_STOP_REQ                              (0x000E | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR  os_hdr;
        UINT8     session_id;
      } T_AUDIO_FFS_STOP_REQ;

      /* stop confirmation message */
      #define AUDIO_FFS_STOP_CON                              (0x000F | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR  os_hdr;
        UINT8     session_id;
      } T_AUDIO_FFS_STOP_CON;

      /* FFS RAM to FLASH interface */
      /* start message */
      #define AUDIO_FFS_RAM_2_FLASH_START_REQ                 (0x0010 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR  os_hdr;
        UINT16    initial_size;
        UINT8     session_id;
        T_FFS_FD  audio_ffs_fd;
      } T_AUDIO_FFS_RAM_2_FLASH_START;
    #endif

   /******************************* VOICE MEMO *****************************************/
    #if (VOICE_MEMO)

      /* ------------------------------- */
      /*      Voice Memo PLAY            */
      /* ------------------------------- */
      /* Entity->Audio event */
      #define AUDIO_VM_PLAY_START_REQ                       (0x0011 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_FFS_FD                    audio_ffs_fd;
        T_RV_RETURN                   return_path;
      } T_AUDIO_VM_PLAY_START;

      /* Entity->Audio event */
      #define AUDIO_VM_PLAY_STOP_REQ                        (0x0012 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        T_RV_RETURN               return_path;
      } T_AUDIO_VM_PLAY_STOP;

      /* ------------------------------- */
      /*      Voice Memo RECORD          */
      /* ------------------------------- */
      /* Entity->Audio event */
      #define AUDIO_VM_RECORD_START_REQ                     (0x0013 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT32                        memo_duration;
        BOOL                          compression_mode;
        UINT16                        microphone_gain;
        UINT16                        network_gain;
        T_FFS_FD                    audio_ffs_fd;
        T_AUDIO_TONES_PARAMETER       tones_parameter;
        T_RV_RETURN                   return_path;
      } T_AUDIO_VM_RECORD_START;

      /* Entity->Audio event */
      #define AUDIO_VM_RECORD_STOP_REQ                      (0x0014 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        T_RV_RETURN               return_path;
      } T_AUDIO_VM_RECORD_STOP;
    #endif

    #if (L1_VOICE_MEMO_AMR)
      #define AUDIO_DRIVER_INIT_VM_AMR_RECORD_SESSION       (0x0015 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                  os_hdr;
        UINT32                    memo_duration;
        BOOL                      compression_mode;
        UINT16                    microphone_gain;
        UINT8                     amr_vocoder;
        T_AUDIO_DRIVER_PARAMETER  driver_parameter;
        T_RV_RETURN               return_path;
      } T_AUDIO_DRIVER_INIT_VM_AMR_RECORD_SESSION;

      #define AUDIO_DRIVER_INIT_VM_AMR_PLAY_SESSION       (0x0016 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_AUDIO_DRIVER_PARAMETER      driver_parameter;
        T_RV_RETURN                   return_path;
      } T_AUDIO_DRIVER_INIT_VM_AMR_PLAY_SESSION;

      #define AUDIO_VM_AMR_RECORD_TO_FFS_START_REQ         (0x0017 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT32                        memo_duration;
        BOOL                          compression_mode;
        UINT16                        microphone_gain;
        UINT8                         amr_vocoder;
        T_FFS_FD                      audio_ffs_fd;
        T_RV_RETURN                   return_path;
      } T_AUDIO_VM_AMR_RECORD_TO_FFS_START;

      #define AUDIO_VM_AMR_RECORD_TO_RAM_START_REQ         (0x0018 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT32                        memo_duration;
        BOOL                          compression_mode;
        UINT16                        microphone_gain;
        UINT8                         amr_vocoder;
        UINT8*                        p_buffer;
        T_RV_RETURN                   return_path;
      } T_AUDIO_VM_AMR_RECORD_TO_RAM_START;

      #define AUDIO_VM_AMR_PLAY_FROM_FFS_START_REQ           (0x0019 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_FFS_FD                      audio_ffs_fd;
        T_RV_RETURN                   return_path;
      } T_AUDIO_VM_AMR_PLAY_FROM_FFS_START;

      #define AUDIO_VM_AMR_PLAY_FROM_RAM_START_REQ           (0x001A | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT8                         *p_buffer;
		UINT16                        buffer_size;
        T_RV_RETURN                   return_path;
      } T_AUDIO_VM_AMR_PLAY_FROM_RAM_START;

      #define AUDIO_VM_AMR_RECORD_TO_FFS_STOP_REQ           (0x001B | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      #define AUDIO_VM_AMR_RECORD_TO_RAM_STOP_REQ           (0x001C | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
      } T_AUDIO_VM_AMR_RECORD_STOP;

      #define AUDIO_VM_AMR_PLAY_FROM_FFS_STOP_REQ             (0x001D | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      #define AUDIO_VM_AMR_PLAY_FROM_RAM_STOP_REQ             (0x001E | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
      } T_AUDIO_VM_AMR_PLAY_STOP;


      #define AUDIO_MEM_START_REQ                       (0x001F | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT8                         channel_id;
        UINT8                         session_id;
      #if (AUDIO_NEW_FFS_MANAGER)
        T_FFS_FD                      audio_ffs_fd;
      #endif
      #if (AUDIO_RAM_MANAGER)
        UINT8                         *audio_ram_fd;
        UINT16                        audio_ram_size;
      #endif
        UINT16                        size;
      } T_AUDIO_MEM_START;

      #define AUDIO_MEM_STOP_REQ                         (0x0020 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT8                         channel_id;
        T_RV_RETURN                   return_path;
      } T_AUDIO_MEM_STOP;

      #define AUDIO_MEM_STATUS_MSG                       (0x0021 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        INT8                          status;
        UINT8                         status_type;
        UINT8                         channel_id;
        UINT32                        recorded_size;
      } T_AUDIO_MEM_STATUS;

    #endif

   /******************************* SPEECH RECO *****************************************/
    #if (SPEECH_RECO)
      /* ------------------------------- */
      /*      Speech Reco enrollment     */
      /* ------------------------------- */
      /* Entity->Audio event */
      #define AUDIO_SR_ENROLL_START_REQ                     (0x0022 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_FFS_FD                    voice_ffs_fd;
        T_FFS_FD                    sr_ffs_fd;
        T_RV_RETURN                   return_path;
      } T_AUDIO_SR_ENROLL_START;

      /* Entity->Audio event */
      #define AUDIO_SR_ENROLL_STOP_REQ                      (0x0023 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_RV_RETURN                   return_path;
      } T_AUDIO_SR_ENROLL_STOP;

      /* ------------------------------- */
      /*      Speech Reco update         */
      /* ------------------------------- */
      /* Entity->Audio event */
      #define AUDIO_SR_UPDATE_START_REQ                     (0x0024 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT8                         vocabulary_size;
        UINT8                         model_index;
        void                          *p_database;
        BOOL                          record_speech;
        T_RV_RETURN                   return_path;
      } T_AUDIO_SR_UPDATE_START;

      /* Entity->Audio event */
      #define AUDIO_SR_UPDATE_STOP_REQ                      (0x0025 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_RV_RETURN                   return_path;
      } T_AUDIO_SR_UPDATE_STOP;

      /* ------------------------------- */
      /*      Speech Reco reco           */
      /* ------------------------------- */
      /* Entity->Audio event */
      #define AUDIO_SR_RECO_START_REQ                       (0x0026 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        UINT8                         vocabulary_size;
        void                          *p_database;
        T_RV_RETURN                   return_path;
      } T_AUDIO_SR_RECO_START;

      /* Entity->Audio event */
      #define AUDIO_SR_RECO_STOP_REQ                        (0x0027 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
      typedef struct
      {
        T_RV_HDR                      os_hdr;
        T_RV_RETURN                   return_path;
      } T_AUDIO_SR_RECO_STOP;
    #endif /* SPEECH_RECO */

    /******************************* AUDIO_MODE *****************************************/
    /* ------------------------------- */
    /*      Full access write          */
    /* ------------------------------- */
    /* Entity->Audio event */
    #define AUDIO_MODE_WRITE_REQ                       (0x0028 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
    typedef struct
    {
      T_RV_HDR                      os_hdr;
      T_AUDIO_FULL_ACCESS_WRITE     audio_parameter;
      T_RV_RETURN                   return_path;
    } T_AUDIO_MODE_FULL_ACCESS_WRITE_REQ;

    /* ------------------------------- */
    /*      save audio mode            */
    /* ------------------------------- */
    /* Entity->Audio event */
    #define AUDIO_MODE_SAVE_REQ                         (0x0029 | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
    typedef struct
    {
      T_RV_HDR                      os_hdr;
      T_FFS_FD                      audio_ffs_fd;
      T_FFS_FD                      audio_volume_ffs_fd;
      T_RV_RETURN                   return_path;
    } T_AUDIO_MODE_SAVE_REQ;

    /* ------------------------------- */
    /*      load audio mode            */
    /* ------------------------------- */
    /* Entity->Audio event */
    #define AUDIO_MODE_LOAD_REQ                         (0x002A | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
    typedef struct
    {
      T_RV_HDR                      os_hdr;
      T_FFS_FD                      audio_ffs_fd;
      T_FFS_FD                      audio_volume_ffs_fd;
      char                          audio_volume_path_name[AUDIO_PATH_NAME_MAX_SIZE];
      T_RV_RETURN                   return_path;
    } T_AUDIO_MODE_LOAD_REQ;

    /* ------------------------------- */
    /*      audio speaker volume       */
    /* ------------------------------- */
    /* Entity->Audio event */
    #define AUDIO_SPEAKER_VOLUME_REQ                    (0x002B | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
    typedef struct
    {
      T_RV_HDR                      os_hdr;
      T_AUDIO_SPEAKER_VOLUME        volume;
      T_RV_RETURN                   return_path;
    } T_AUDIO_SPEAKER_VOLUME_REQ;


    /* -------------------------------------------------------- */
    /* WARNING: TTY Messages ID are defined as Audio messages.  */
    /* To avoid any conflict have a look in tty_i.h & tty_api.h */
    /* -------------------------------------------------------- */


   /******************************* MIDI *****************************************/
   /* ------------------- */
   /*      MIDI           */
   /* ------------------- */
   /* Entity->Audio event */
   #define AUDIO_DRIVER_INIT_MIDI_SESSION            (0x002C | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
   typedef struct
   {
     T_RV_HDR                      os_hdr;
     T_AUDIO_DRIVER_PARAMETER      driver_parameter;
     T_RV_RETURN                   return_path;
   } T_AUDIO_DRIVER_INIT_MIDI_SESSION;

   #define AUDIO_MIDI_START_REQ                      (0x002D | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
   typedef struct
   {
     T_RV_HDR                      os_hdr;
     T_FFS_FD                      audio_ffs_fd;
     T_RV_RETURN                   return_path;
   } T_AUDIO_MIDI_START;

   #define AUDIO_MIDI_STOP_REQ                       (0x002E | AUDIO_EVENT_INTERN | AUDIO_EVENTS_MASK)
   typedef struct
   {
     T_RV_HDR                      os_hdr;
     T_RV_RETURN                   return_path;
   } T_AUDIO_MIDI_STOP;

  #ifdef __cplusplus
  }
  #endif

  #endif /* __AUDIO_MESSAGES_I_ */

#endif /* #ifdef RVM_AUDIO_MAIN_SWE */