Difference between revisions of "MIC Services"

From 3dbrew
Jump to navigation Jump to search
m (Add more links.)
 
(6 intermediate revisions by one other user not shown)
Line 34: Line 34:
 
|-
 
|-
 
| 0x000A0040
 
| 0x000A0040
| [[MICU:SetBias|SetBias]]
+
| [[MICU:SetPower|SetPower]]
 
|-
 
|-
 
| 0x000B0000
 
| 0x000B0000
| [[MICU:GetBias|GetBias]]
+
| [[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
| SetClamp(u8 input) This writes the input value to a MIC-module state field.
+
| [[MICU:SetClamp|SetClamp]]
 
|-
 
|-
 
| 0x000E0000
 
| 0x000E0000
| GetClamp. 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).
  
'''enum Encoding'''
+
==Encoding==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 78: Line 78:
 
|}
 
|}
  
'''enum SampleRate'''
+
==SampleRate==
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 96: Line 96:
 
| 3
 
| 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 17: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.

See Also[edit]

MIC Shared Memory