MIC Services: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				|||
| (28 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  | | 0x00040040  | ||
|   | | [[MICU:AdjustSampling|AdjustSampling]]  | ||
|-  | |-  | ||
| 0x00050000  | | 0x00050000  | ||
|   | | [[MICU:StopSampling|StopSampling]]  | ||
|-  | |-  | ||
| 0x00060000  | | 0x00060000  | ||
|   | | [[MICU:IsSampling|IsSampling]]  | ||
|-  | |-  | ||
| 0x00070000  | | 0x00070000  | ||
|   | | [[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 58: | 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"
| 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.