Difference between revisions of "MIC Services"
Jump to navigation
Jump to search
(36 intermediate revisions by 5 users not shown) | |||
Line 7: | Line 7: | ||
|- | |- | ||
| 0x00010042 | | 0x00010042 | ||
− | | | + | | [[MIC:MapSharedMem|MapSharedMem]] |
|- | |- | ||
| 0x00020000 | | 0x00020000 | ||
− | | | + | | [[MIC:UnmapSharedMem|UnmapSharedMem]] |
|- | |- | ||
| 0x00030140 | | 0x00030140 | ||
− | | | + | | [[MICU:StartSampling|StartSampling]] |
+ | |- | ||
+ | | 0x00040040 | ||
+ | | [[MICU:AdjustSampling|AdjustSampling]] | ||
|- | |- | ||
| 0x00050000 | | 0x00050000 | ||
− | | | + | | [[MICU:StopSampling|StopSampling]] |
|- | |- | ||
| 0x00060000 | | 0x00060000 | ||
− | | | + | | [[MICU:IsSampling|IsSampling]] |
+ | |- | ||
+ | | 0x00070000 | ||
+ | | [[MICU:GetEventHandle|GetEventHandle]] | ||
|- | |- | ||
| 0x00080040 | | 0x00080040 | ||
− | | | + | | [[MICU:SetGain|SetGain]] |
|- | |- | ||
| 0x00090000 | | 0x00090000 | ||
− | | | + | | [[MICU:GetGain|GetGain]] |
|- | |- | ||
| 0x000A0040 | | 0x000A0040 | ||
− | | | + | | [[MICU:SetPower|SetPower]] |
+ | |- | ||
+ | | 0x000B0000 | ||
+ | | [[MICU:GetPower|GetPower]] | ||
|- | |- | ||
| 0x000C0042 | | 0x000C0042 | ||
− | | | + | | [[MICU:SetIirFilterMic|SetIirFilterMic]] |
+ | |- | ||
+ | | 0x000D0040 | ||
+ | | [[MICU:SetClamp|SetClamp]] | ||
+ | |- | ||
+ | | 0x000E0000 | ||
+ | | [[MICU:GetClamp|GetClamp]] | ||
+ | |- | ||
+ | | 0x000F0040 | ||
+ | | [[MICU:SetAllowShellClosed|SetAllowShellClosed]] | ||
|- | |- | ||
| 0x00100040 | | 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. |
|} | |} | ||
Line 40: | Line 58: | ||
Only one session can be open for this service total(that is, only one process can use this service at a time). | Only one session can be open for this service total(that is, only one process can use this service at a time). | ||
+ | |||
+ | ==Encoding== | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Enum | ||
+ | ! Value | ||
+ | |- | ||
+ | | ENCODING_PCM8 | ||
+ | | 0 | ||
+ | |- | ||
+ | | ENCODING_PCM16 | ||
+ | | 1 | ||
+ | |- | ||
+ | | ENCODING_PCM8_SIGNED | ||
+ | | 2 | ||
+ | |- | ||
+ | | ENCODING_PCM16_SIGNED | ||
+ | | 3 | ||
+ | |} | ||
+ | |||
+ | ==SampleRate== | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! 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 <code>(16756991 / 512) / (SampleRate + 1)</code> where <code>SampleRate</code> is one of the above values. | ||
=See Also= | =See Also= | ||
[[MIC Shared Memory]] | [[MIC Shared Memory]] |
Latest revision as of 16:45, 17 March 2018
Microphone service "mic:u"[edit]
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[edit]
Enum | Value |
---|---|
ENCODING_PCM8 | 0 |
ENCODING_PCM16 | 1 |
ENCODING_PCM8_SIGNED | 2 |
ENCODING_PCM16_SIGNED | 3 |
SampleRate[edit]
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.