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.