SNDEX_SetI2SFrequency

Syntax

#include <twl/snd.h>
SNDEXResult SNDEX_SetI2SFrequency( SNDEXFrequency freq );

Arguments

freq I2S operating frequency as an SNDEXFrequency enumerated type.

Return Values

SNDEX_RESULT_SUCCESS The whole series of operations completed successfully.
SNDEX_RESULT_ILLEGAL_STATE This function has been called on the NITRO platform or from an exception handler; when the codec is running in CODEC-DS mode; when forced audio output has been configured for the speaker; or when frequency-limited microphone auto-sampling is running.
SNDEX_RESULT_INVALID_PARAM The value specified for freq is not included in the standard values.
SNDEX_RESULT_BEFORE_INIT Extended sound features have not been initialized by the SNDEX_Init function.
SNDEX_RESULT_EXCLUSIVE Processing for other extended sound features is running. Note that mutexes are used for each of the extended sound features, so they cannot be used simultaneously. This is also returned when a mutex error occurred in the ARM7. When this is the case, the situation may improve on a retry because the error is dependent on the progress of processing in ARM7.
As mentioned in the SNDEX Library Overview, the error also returns during processing of shutter sound playback.
SNDEX_RESULT_PXI_SEND_ERROR A PXI command failed to be sent to the ARM7. This error occurs when the PXI send queue for the ARM7 has filled up or when the hardware has detected an error. As a result, the state may improve when a retry is made.
SNDEX_RESULT_FATAL_ERROR This error should not ordinarily occur. This may occur when an illegal PXI command was sent directly, ignoring library state management; when the ARM7 component and the extended sound feature library have different versions; when library state management has fallen into an abnormal state due to memory corruption; or when other such conditions arise. There is no way to recover from this at run time.

Description

Synchronously changes the I2S operating frequency. The I2S operating frequency is set to SNDEX_FREQUENCY_32730 by default.

This function calls the SNDEX_SetI2SFrequencyAsync function internally and stops its own calling thread until asynchronous processing has completed. This function expects to be called from a thread, so it fails if it is called from an exception handler. Note that this function continues to block internally if PXI receive interrupts are prohibited, because PXI receive interrupts are used to detect the processing's completion.

Notes

Changing to the I2S operating frequency also entails change synchronization of the communications clock with respect to CPU-external devices. Sound output features and CODEC-related features are all affected as a result.Switch the frequency only after stopping all of the following: audio output from the CPU and DSP, touch panel input sampling, microphone input sampling, and microphone input sampling from the DSP.

See Also

SNDEX_SetI2SFrequencyAsync
SNDEX_GetI2SFrequency
MIC_StopLimitedSampling
MIC_StopAutoSampling
TP_RequestAutoSamplingStop

Revision History

2008/11/07 Added mention that SNDEX_RESULT_EXCLUSIVE is returned during processing of shutter sound playback.
2008/02/15 Initial version.


CONFIDENTIAL