/* * ************************************ TODO keep these demos? */ int tfa98xxDiagLoadPresetsDouble(int slave) { Tfa98xx_handle_t hL, hR ; int result = 0; // 1 is failure Tfa98xx_Config_t cfg; unsigned char tstbuf[0x87 + sizeof(cfg)]; TRACEIN; lastApiError = Tfa98xx_Open(slave << 1, &hL); if (lastApiError != Tfa98xx_Error_Ok) return 2; lastApiError = Tfa98xx_Open(slave+1 << 1, &hR); if (lastApiError != Tfa98xx_Error_Ok) return 3; lastApiError = Tfa98xx_DspWritePreset(hL, TFA98XX_PRESET_LENGTH, settings_HQ_KS_13X18_DUMBO_preset); assert(lastApiError == Tfa98xx_Error_Ok); lastApiError = Tfa98xx_DspWritePreset(hR, TFA98XX_PRESET_LENGTH, settings_HQ_KS_13X18_DUMBO_preset); assert(lastApiError == Tfa98xx_Error_Ok); stop: Tfa98xx_Close(hL); Tfa98xx_Close(hR); lastError = result; TRACEOUT; return result; }
int tfa98xxDiagLoadPreset(int slave) { Tfa98xx_handle_t handle; int result = 1; // 1 is failure Tfa98xx_Config_t cfg; unsigned char tstbuf[0x87 + sizeof(cfg)]; TRACEIN; lastApiError = Tfa98xx_Open(slave << 1, &handle); if (lastApiError != Tfa98xx_Error_Ok) return 2; coldStartup(handle); lastApiError = Tfa98xx_DspWritePreset(handle, TFA98XX_PRESET_LENGTH, settings_HQ_KS_13X18_DUMBO_preset); assert(lastApiError == Tfa98xx_Error_Ok); lastApiError = Tfa98xx_DspGetParam(handle, 1 /*MODULE_SPEAKERBOOST */ , 0x80, sizeof(tstbuf), tstbuf); assert(lastApiError == Tfa98xx_Error_Ok); result = 0 != memcmp(settings_HQ_KS_13X18_DUMBO_preset, &tstbuf[sizeof(cfg)], sizeof(Tfa98xx_Preset_t)); if (result) sprintf(lastErrorString, "DSP parameters mismatch"); stop: Tfa98xx_Close(handle); lastError = result; TRACEOUT; return result; }
/* load a preset from a file, as generated by the GUI, can be done at runtime */ static void setPreset(int handle_cnt, Tfa98xx_handle_t handles[], struct tfa98xx_param_data *preset) { enum Tfa98xx_Error err; if (preset == NULL || preset->data == NULL) { pr_info("%s: not use preset data\n", __func__); return; } pr_debug("%s: start\n", __func__); if (handle_cnt >= 2) err = Tfa98xx_DspWritePresetMultiple(handle_cnt, handles, TFA98XX_PRESET_LENGTH, preset->data); else err = Tfa98xx_DspWritePreset(handles[0], TFA98XX_PRESET_LENGTH, preset->data); if (err != Tfa98xx_Error_Ok) pr_err("%s: Tfa98xx_DspWritePreset failed\n", __func__); }