MICAutoParam

Definitions

#include <nitro/spi.h>
typedef struct
{ 
MICSamplingType     type;
void*               buffer;
u32                 size;
u32                 rate;
BOOL                loop_enable;
MICCallback         full_callback;
void*               full_arg;

} MICAutoParam;

Elements

type Sampling type of the MICSamplingType enumerator type
buffer Specifies a pointer to the buffer that stores the sampling result. Because ARM7 writes the sampling result directly to this buffer, this buffer needs to be 32-byte cache-aligned.
size Size of the buffer storing the sampling result
rate The sampling rate. Directly specifies the CPU timer rate of the ARM7.
You can also select a rate from MICSamplingRate enumerator type.
loop_enable Flag for looping buffer during continuous sampling
full_callback Pointer to callback function called when buffer is full
full_arg Argument to pass to callback function called when buffer is full

Description

This structure shows the settings for microphone auto-sampling. When TRUE is specified for the loop_enable flag, continuous sampling continues when the buffer becomes full by returning the sampling-data storage-position to the start of the buffer. Continuous sampling will proceed until the function that stops auto-sampling is called. When FALSE is set for the loop_enable flag, microphone sampling will stop automatically when the buffer becomes full. Regardless of the setting of the loop_enable flag, the function specified by full_callback will be called when the buffer becomes full.

Caution

The buffer that will store the sampling results should have an address with 32-byte alignment and be a size that is a multiple of 32. This is because when the sampling results are read, the cache of the target area gets destroyed.

See Also

MIC_StartAutoSampling, MIC_StartAutoSamplingAsync, MIC_StopAutoSampling, MIC_StopAutoSamplingAsync

Revision History

09/17/2004 Added description about the buffer member alignment
06/01/2004 Initial version