view src/cs/drivers/drv_app/kpd/kpd_power_api.h @ 275:79cfefc1e2b4

audio mode load: gracefully handle mode files of wrong AEC version Unfortunately our change of enabling L1_NEW_AEC (which is necessary in order to bring our Calypso ARM fw into match with the underlying DSP reality) brings along a change in the audio mode file binary format and file size - all those new tunable AEC parameters do need to be stored somewhere, after all. But we already have existing mode files in the old format, and setting AEC config to garbage when loading old audio modes (which is what would happen without the present change) is not an appealing proposition. The solution implemented in the present change is as follows: the audio mode loading code checks the file size, and if it differs from the active version of T_AUDIO_MODE, the T_AUDIO_AEC_CFG structure is cleared - set to the default (disabled AEC) for the compiled type of AEC. We got lucky in that this varying T_AUDIO_AEC_CFG structure sits at the end of T_AUDIO_MODE!
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 30 Jul 2021 02:55:48 +0000 (2021-07-30)
parents 4e78acac3d88
children
line wrap: on
line source
/**
 * @file   kpd_power_api.h
 *
 * API Definition for keypad driver, used bi PWR SWE.
 *
 *
 * @author   Laurent Sollier (l-sollier@ti.com)
 * @version 0.1
 */

/*
 * History:
 *
 *   Date          Author       Modification
 *  ----------------------------------------
 *  11/02/2001     L Sollier    Create
 *
 *
 * (C) Copyright 2001 by Texas Instruments Incorporated, All Rights Reserved
 */

#ifndef _KPD_POWER_API_H_
#define _KPD_POWER_API_H_

#include "kpd/kpd_cfg.h"
#include "kpd/kpd_api.h"

#include "rv/rv_general.h"
#include "rvf/rvf_api.h"


/* This structure defines the two functions to call when PWR key is pressed */
typedef struct {  void (*pressed)(T_KPD_VIRTUAL_KEY_ID);
                  void (*released)(void);
               } T_KPD_KEYPAD;



#ifdef __cplusplus
extern "C"
{
#endif

/**
 * @name API functions
 *
 * API functions declarations.
 */
/*@{*/

/**
 * function: kpd_power_key_pressed
 *
 * This function is called by the PWR SWE when the PWR key is pressed.
 *
 * @return
 *    - RV_OK if operation is successfull,
 *    - RV_MEMORY_ERR if message could not be sent to the keypad task.
 *    - RV_INTERNAL_ERR if keypad driver is not yet initialized.
 *
 */
T_RV_RET kpd_power_key_pressed(void);

#ifdef __cplusplus
}
#endif


#endif /* #ifndef _KPD_POWER_API_H_ */