MIC Services: Difference between revisions

MarcusD (talk | contribs)
 
(11 intermediate revisions by 2 users not shown)
Line 13: Line 13:
|-
|-
| 0x00030140
| 0x00030140
| [[MICU:Initialize|Initialize]]
| [[MICU:StartSampling|StartSampling]]
|-
|-
| 0x00040040
| 0x00040040
| AdjustSampling(u8 input)
| [[MICU:AdjustSampling|AdjustSampling]]
|-
|-
| 0x00050000
| 0x00050000
| StopSampling
| [[MICU:StopSampling|StopSampling]]
|-
|-
| 0x00060000
| 0x00060000
| IsSampling
| [[MICU:IsSampling|IsSampling]]
|-
|-
| 0x00070000
| 0x00070000
| GetEventHandle. This event is signaled by MIC-module when more audio-data is available in shared-mem.
| [[MICU:GetEventHandle|GetEventHandle]]
|-
|-
| 0x00080040
| 0x00080040
| SetControl(u8 input). This is a wrapper for CDCMIC command 0x00010040.
| [[MICU:SetGain|SetGain]]
|-
|-
| 0x00090000
| 0x00090000
| GetControl. This is a wrapper for CDCMIC command 0x00020000.
| [[MICU:GetGain|GetGain]]
|-
|-
| 0x000A0040
| 0x000A0040
| SetRecording(u8 input). This is a wrapper for CDCMIC command 0x00030040. 0 = disable recording, 1 = enable recording. When recording is disabled with this, MIC-module writes value 0xFFFF to the output audio sample data in shared-mem, since that's what the [[MIC]] hardware returns here.
| [[MICU:SetPower|SetPower]]
|-
|-
| 0x000B0000
| 0x000B0000
| IsRecording. This is a wrapper for CDCMIC command 0x00040000.
| [[MICU:GetPower|GetPower]]
|-
|-
| 0x000C0042
| 0x000C0042
| (size, [[IPC Command Structure|<translate-header>]], bufptr) This is a wrapper for CDCMIC command 0x00050042.
| [[MICU:SetIirFilterMic|SetIirFilterMic]]
|-
|-
| 0x000D0040
| 0x000D0040
| (u8 input) This writes the input value to a MIC-module state field.
| [[MICU:SetClamp|SetClamp]]
|-
|-
| 0x000E0000
| 0x000E0000
| This writes the u8 value of the MIC-module field also used by command 0x000D0040, to cmdreply indexword[2].
| [[MICU:GetClamp|GetClamp]]
|-
|-
| 0x000F0040
| 0x000F0040
| (u8 input) This writes the input u8 value to a MIC-module state field.
| [[MICU:SetAllowShellClosed|SetAllowShellClosed]]
|-
|-
| 0x00100040
| 0x00100040
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).


=Control value=
==Encoding==
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Bit
Enum
Description
Value
|-
|-
| 6-0
| ENCODING_PCM8
| Amplification, 0=none.
| 0
|-
|-
| 7
| ENCODING_PCM16
| Doesn't affect output audio data in shared-mem?
| 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]]