コード例 #1
0
/*
 * load speaker parameters and verify readback
 *
 *   note: this function can be called from other tests it uses the global handle
 */
int tfa98xxDiagLoadSpeaker(int slave)
{
        int result = 1;         // 1 is failure
        int gbl=0;
        Tfa98xx_SpeakerParameters_t spkr;

        TRACEIN;

        if ( gHandle<0 ) {
            lastApiError = Tfa98xx_Open(slave << 1, &gHandle);
            if (lastApiError != Tfa98xx_Error_Ok)
                return 2;
        } else
            gbl = 1;

        coldStartup(gHandle);
        lastApiError =
            Tfa98xx_DspWriteSpeakerParameters(gHandle, TFA98XX_SPEAKERPARAMETER_LENGTH,
                                              settings_KS_13X18_DUMBO_speaker);
        assert(lastApiError == Tfa98xx_Error_Ok);

        lastApiError =
            Tfa98xx_DspGetParam(gHandle, 1 /*MODULE_SPEAKERBOOST */ , 0x86,
                                sizeof(spkr), spkr);
        assert(lastApiError == Tfa98xx_Error_Ok);

        result =
            0 != memcmp(settings_KS_13X18_DUMBO_speaker, spkr,
                        sizeof(Tfa98xx_SpeakerParameters_t));
        if (result)
                sprintf(lastErrorString, "DSP parameters mismatch");

 stop:
         if ( !gbl ) {
             Tfa98xx_Close(gHandle);
             lastError = result;
             gHandle=-1;
         }
        TRACEOUT;
        return result;

}
コード例 #2
0
/* load a speaker model from a file, as generated by the GUI, or saved from
   a previous execution */
static void setSpeaker(int handle_cnt, Tfa98xx_handle_t handles[],
	struct tfa98xx_param_data *speaker)
{
	enum Tfa98xx_Error err;

	if (speaker == NULL || speaker->data == NULL) {
		pr_info("%s: not use speaker data\n", __func__);
		return;
	}
	pr_debug("%s: start\n", __func__);

	if (handle_cnt >= 2)
		err = Tfa98xx_DspWriteSpeakerParametersMultiple(handle_cnt,
			handles, speaker->size, speaker->data);
	else
		err = Tfa98xx_DspWriteSpeakerParameters(handles[0],
			speaker->size, speaker->data);

	if (err != Tfa98xx_Error_Ok)
		pr_err("%s: Tfa98xx_DspWriteSpeakerParameters failed\n",
			__func__);

}