FreeCalypso > hg > fc-tourmaline
view src/cs/riviera/tests/rv/rv_test_cfg.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 |
parents | 4e78acac3d88 |
children |
line wrap: on
line source
/** * @file rv_test_cfg.h * * This file allows to set parameters used to perform tests. * * Parameters to set are: * - TEST_INIT (to set parameters statically or dynamically) * - TEST_TYPE * - TEST_LEVEL * - TEST_NUMBER * - TEST_CFG (non regression) * - TEST_TABLE (non regression) * - NB_OF_TEST_TO_PASS (non regression) * - TEST_OCC (non regression) * * It is also possible to set bd_addr used for the tests by * setting BD_ADDR_LOC and BD_ADDR_REM values at the end of this file. * * IMPORTANT: Copy contents of rv_test_cfg_template.h * file into this file before building. * * @author Cedric Baudelet * @author Vincent Oberle */ #ifndef _RV_TEST_CFG_H_ #define _RV_TEST_CFG_H_ #include "rv_test_regr.h" /** * * Define TEST_INIT parameter. * * TEST_INIT parameter's available values are: * * -> COMP: Set testing parameters statically during compilation using * rv_test_cfg file. * -> EXEC: Set testing parameters dynamically during execution using LCD * and keypad. * */ #define TEST_INIT (EXEC) /* * Only with TEST_INIT = COMP * -------------------------- */ /** * * Define TEST_TYPE parameter. * * TEST_TYPE parameter's available values are: * * -> REGR: Execute NON REGRESSION tests. * -> CERTIF: Execute CERTIFICATION tests. * -> DEMO: Execute DEMONSTRATION events. * -> MISC: Execute MISCELLANEOUS tests. * -> UPF4: Execute UPF4 tests. * */ #define TEST_TYPE (MISC) /** * * Define TEST_LEVEL parameter. * * TEST_LEVEL parameter is TEST_XXX_SWE, where XXX can take one of the * following values: * * REGR: * | L2CAP RFCOMM SPP SDP SDAP ATP * | HS OBX OPP EXPL FFS SYN * | DAR PWR TUT * |______________________________________________________________ * * CERTIF: * | L2CAP SDP SPP * |______________________________________________________________ * * DEMO: * | HS EXPL RNET TUT R2D * |______________________________________________________________ * * MISC: * | BTE SDP HCI SPP BTCTRL DUN_GW * | ATP TCS FFS BMI SCM * | RTC AUDIO R2D KPD TUT MKS * | RGUI RNET UVM MSME * |______________________________________________________________ * * UPF4: * | L2CAP RFCOMM SDP SPP BTCTRL DUN_GW * | OPP FAX_GW * |______________________________________________________________ * */ #define TEST_LEVEL (TEST_MSME_SWE) /** * * Define TEST_NUMBER parameter. * * This parameter should not be used with REGR TEST_TYPE (except if * TEST_TABLE[] = {TEST_NUMBER, CONFIG_X, EOL}. * */ #define TEST_NUMBER (5) /* * Only with TEST_MISC = REGR * -------------------------- */ /** * * Define TEST_CFG parameter. * * TEST_CFG parameter's available values are: * * -> TEST_LIST: Execute all scenarios from TEST_TABLE[] sequentially. * -> TEST_LIST_RAND: Execute NB_OF_TEST_TO_PASS scenarios from TEST_TABLE[] randomly. * -> TEST_ALL: Execute all the scenarios sequentially using the two * regression configurations (CONFIG_A and CONFIG_B). * -> TEST_ALL_RAND: Execute NB_OF_TEST_TO_PASS scenarios randomly using the * two regression configurations (CONFIG_A and CONFIG_B). * * Note: * If TEST_INIT = EXEC, test_cfg parameter (defined in rv_test.c file) is * automatically set to TEST_ALL_RAND value. * */ #define TEST_CFG (TEST_ALL_RAND) /** * * Define TEST_TABLE parameter. * * T_RV_REGR_TEST_LIST type is: * -> T_RV_REGR_TEST_LIST_NBR: Scenario number. * -> T_RV_REGR_TEST_LIST_CFG: Test configuration (CONFIG_A or CONFIG_B) * * Note: * TEST_TABLE MUST contain EOL flag as its last element. * */ static const T_RV_REGR_TEST_LIST TEST_TABLE[] = {TEST_NUMBER, CONFIG_A, TEST_NUMBER, CONFIG_B, EOL}; /** * * Define NB_OF_TEST_TO_PASS parameter. * * This parameter is only used with REGR TEST_TYPE when TEST_CFG parameter is * set to TEST_LIST_RAND or TEST_ALL RAND. Else not used. * */ #define NB_OF_TEST_TO_PASS (1) /** * * Define TEST_OCC parameter. * * This parameter defines the number of occurence for each test. * * Note: * This parameter can't be set dynamically. * */ #define TEST_OCC (1) /* * Only with TEST LEVEL = AUDIO * ---------------------------- */ /** * * Define TEST_AUDIO parameter. * * TEST_AUDIO parameter's available values are: * -> LIST: to test all the Keybeep or Tones or Melody or Voice memo Tests * -> ONESHOT: to test just one audio test */ #define TEST_AUDIO (ONESHOT) /* * Only with BT devices * -------------------- */ /** * * bd_addr of BT devices used to execute tests. * * Note that in case where two separated devices are used, BD_ADDR_LOC and * BD_ADDR_REM values shouldn't depend on DEVICE_A or DEVICE_B. * */ #ifdef DEVICE_A #define BD_ADDR_LOC {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x26} #define BD_ADDR_REM {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x48} #endif #ifdef DEVICE_B #define BD_ADDR_LOC {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x48} #define BD_ADDR_REM {0x00, 0xD0, 0xB7, 0x03, 0x17, 0x26} #endif #endif /* _RV_TEST_CFG_H_ */