MIC Services: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
| (18 intermediate revisions by 4 users not shown) | |||
| Line 13: | Line 13: | ||
| |- | |- | ||
| | 0x00030140 | | 0x00030140 | ||
| |  | | [[MICU:StartSampling|StartSampling]] | ||
| |- | |- | ||
| | 0x00040040 | | 0x00040040 | ||
| |  | | [[MICU:AdjustSampling|AdjustSampling]] | ||
| |- | |- | ||
| | 0x00050000 | | 0x00050000 | ||
| |  | | [[MICU:StopSampling|StopSampling]] | ||
| |- | |- | ||
| | 0x00060000 | | 0x00060000 | ||
| |  | | [[MICU:IsSampling|IsSampling]] | ||
| |- | |- | ||
| | 0x00070000 | | 0x00070000 | ||
| | GetEventHandle | | [[MICU:GetEventHandle|GetEventHandle]] | ||
| |- | |- | ||
| | 0x00080040 | | 0x00080040 | ||
| |  | | [[MICU:SetGain|SetGain]] | ||
| |- | |- | ||
| | 0x00090000 | | 0x00090000 | ||
| |  | | [[MICU:GetGain|GetGain]] | ||
| |- | |- | ||
| | 0x000A0040 | | 0x000A0040 | ||
| |  | | [[MICU:SetPower|SetPower]] | ||
| |- | |- | ||
| | 0x000B0000 | | 0x000B0000 | ||
| |  | | [[MICU:GetPower|GetPower]] | ||
| |- | |- | ||
| | 0x000C0042 | | 0x000C0042 | ||
| |  | | [[MICU:SetIirFilterMic|SetIirFilterMic]] | ||
| |- | |- | ||
| | 0x000D0040 | | 0x000D0040 | ||
| |  | | [[MICU:SetClamp|SetClamp]] | ||
| |- | |- | ||
| | 0x000E0000 | | 0x000E0000 | ||
| |  | | [[MICU:GetClamp|GetClamp]] | ||
| |- | |- | ||
| | 0x000F0040 | | 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 59: | Line 59: | ||
| 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" | {| 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"
| 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.