MIC Services

From 3dbrew
Revision as of 16:45, 17 March 2018 by MarcusD (talk | contribs) (→‎SampleRate)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Microphone service "mic:u"

Command Header Description
0x00010042 MapSharedMem
0x00020000 UnmapSharedMem
0x00030140 StartSampling
0x00040040 AdjustSampling
0x00050000 StopSampling
0x00060000 IsSampling
0x00070000 GetEventHandle
0x00080040 SetGain
0x00090000 GetGain
0x000A0040 SetPower
0x000B0000 GetPower
0x000C0042 SetIirFilterMic
0x000D0040 SetClamp
0x000E0000 GetClamp
0x000F0040 SetAllowShellClosed
0x00100040 When the input value is 0, value 1 is written to an u8 MIC module state field. Otherwise, value 0 is written there. Normally the input value is non-zero.

This is an interface for using the MIC hardware via the "cdc:MIC" service and the MIC IO registers.

Only one session can be open for this service total(that is, only one process can use this service at a time).

Encoding

Enum Value
ENCODING_PCM8 0
ENCODING_PCM16 1
ENCODING_PCM8_SIGNED 2
ENCODING_PCM16_SIGNED 3

SampleRate

Enum Value
SAMPLE_RATE_32730 0
SAMPLE_RATE_16360 1
SAMPLE_RATE_10910 2
SAMPLE_RATE_8180 3


The actual accurate sampling rate can be calculated using (16756991 / 512) / (SampleRate + 1) where SampleRate is one of the above values.

See Also

MIC Shared Memory