OMM services: Difference between revisions
Removed redirect to AM services Tag: Removed redirect |
|||
(10 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
= omm = | = omm = | ||
This is "nn::omm::detail::IOperationModeManager" | This is "nn::omm::detail::IOperationModeManager". | ||
Besides [[PTM_services|PTM]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]]. | Besides [[PTM_services|PTM]], this is the only service that interacts with the [[Dock]] through [[USB_services|usb:pd*]]. | ||
Line 18: | Line 18: | ||
| 3 || DisableAudioVisual | | 3 || DisableAudioVisual | ||
|- | |- | ||
| 4 || EnterSleepAndWait | | 4 || [[#EnterSleepAndWait]] | ||
|- | |- | ||
| 5 || GetCradleStatus | | 5 || GetCradleStatus | ||
Line 67: | Line 67: | ||
|- | |- | ||
| 28 || [12.0.0+] [[#CreateCradleFirmwareUpdater]] | | 28 || [12.0.0+] [[#CreateCradleFirmwareUpdater]] | ||
|- | |||
| 29 || [19.0.0+] GetCradleStatusChangeEvent | |||
|- | |- | ||
| 500 || [14.0.0+] LblSwitchBacklightOnForAm | | 500 || [14.0.0+] LblSwitchBacklightOnForAm | ||
Line 74: | Line 76: | ||
| 900 || [14.0.0+] HideStartupLogo | | 900 || [14.0.0+] HideStartupLogo | ||
|} | |} | ||
== EnterSleepAndWait == | |||
Takes an input Event handle, no output. | |||
== GetOperationModeSystemInfo == | == GetOperationModeSystemInfo == | ||
Line 106: | Line 111: | ||
= ommdisp = | = ommdisp = | ||
This is "nn::omm::srv::IDisplayLayerControl". | |||
This was added with [14.0.0+]. | This was added with [14.0.0+]. | ||
Line 190: | Line 197: | ||
| 410 || | | 410 || | ||
|- | |- | ||
| 500 || | | 500 || [[#InitializeApplicationCopyrightSharedBuffer]] | ||
|- | |- | ||
| 501 || | | 501 || FinalizeApplicationCopyrightSharedBuffer | ||
|- | |- | ||
| 510 || | | 510 || | ||
Line 200: | Line 207: | ||
| 540 || | | 540 || | ||
|- | |- | ||
| 600 || | | 600 || [14.0.0-16.1.0] | ||
|- | |||
| 610 || [17.0.0+] | |||
|- | |||
| 611 || [17.0.0+] | |||
|- | |||
| 612 || [17.0.0+] | |||
|- | |- | ||
| 700 || | | 700 || | ||
Line 210: | Line 223: | ||
| 711 || | | 711 || | ||
|- | |- | ||
| 720 || | | 720 || CopyImageFromCaptureBuffer | ||
|- | |- | ||
| 721 || | | 721 || | ||
Line 219: | Line 232: | ||
|- | |- | ||
| 810 || | | 810 || | ||
|- | |||
| 900 || [17.0.0+] | |||
|} | |} | ||
== InitializeApplicationCopyrightSharedBuffer == | |||
Takes a total of 0x10-bytes of input and a handle, no output. | |||
This is used by [[Applet_Manager_services#InitializeApplicationCopyrightFrameBuffer|InitializeApplicationCopyrightFrameBuffer]]. | |||
== Cmd610 == | |||
Takes a type-0x15 input buffer containing a 0x4C8-byte struct. No output. | |||
[19.0.0+] The struct size is now 0x4D0-bytes. | |||
== Cmd611 == | |||
Takes a type-0x15 input buffer containing a 0x4C8-byte struct. No output. | |||
[19.0.0+] The struct size is now 0x4D0-bytes. | |||
== Cmd612 == | |||
Takes a type-0x15 input buffer containing a 0x4C8-byte struct. No output. | |||
[19.0.0+] The struct size is now 0x4D0-bytes. | |||
= idle:sys = | = idle:sys = | ||
Line 230: | Line 265: | ||
| 0 || GetAutoPowerDownEvent | | 0 || GetAutoPowerDownEvent | ||
|- | |- | ||
| 1 || [7.0.0+] IsAutoPowerDownRequested ([1.0.0-3.0.2] ) | | 1 || [7.0.0+] IsAutoPowerDownRequested ([1.0.0-3.0.2]) | ||
|- | |- | ||
| 2 || [1.0.0-3.0.2] | | 2 || [1.0.0-3.0.2] | ||
Line 276: | Line 311: | ||
|- | |- | ||
| 11 || [1.0.0-3.0.2] InvalidateCurrentHomeButtonPressing | | 11 || [1.0.0-3.0.2] InvalidateCurrentHomeButtonPressing | ||
|- | |||
| 12 || [17.0.0+] EmulatePowerButtonPressedBriefly | |||
|- | |||
| 13 || [17.0.0+] EmulatePowerButtonPressedFor7Sec | |||
|- | |||
| 14 || [17.0.0+] SetAlwaysRebootFlag | |||
|- | |||
| 15 || [18.0.0+] | |||
|- | |||
| 16 || [18.0.0+] | |||
|} | |} | ||
[3.0.0+] Cmd11 now takes a total of 8-bytes of input. | [3.0.0+] Cmd11 now takes a total of 8-bytes of input. | ||
= Notes = | |||
A [[System_Settings|system-setting]] (<code>"systemstartup!skip_psc_wait"</code>) and the output from [[Process_Manager_services|pm:bm]] GetBootMode is used to determine a value passed to a func. When the setting is set to non-zero, the passed value is 2, otherwise the passed value is <code>BootMode == Maintenance</code>. This value is eventually written into global state. | |||
The funcs which create threads "nn.notification.PresenterStateManagement" and "nn.notification.PresenterMain" will only create the threads when [[Process_Manager_services|pm:bm]] GetBootMode output is Normal, otherwise these funcs just return. | |||
[[BCAT_services|prepro]] SetOperationMode is only used when [[Process_Manager_services|pm:bm]] GetBootMode output is not Maintenance. |