Difference between revisions of "PTM services"

From Nintendo Switch Brew
Jump to navigation Jump to search
(16 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 ||
+
| 0 || OpenController
 +
|-
 +
|}
 +
 
 +
== IController ==
 +
This is "nn::fan::detail::IController".
 +
 
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || SetRotationSpeedLevel
 
|-
 
|-
| 1 ||
+
| 1 || SetRotationSpeedLevelByDiff
 
|-
 
|-
| 2 ||
+
| 2 || GetRotationSpeedLevel
 
|-
 
|-
| 3 ||
+
| 3 || SetRotationRate
 
|-
 
|-
| 4 ||
+
| 4 || GetRotationRate
 
|-
 
|-
| 5 ||
+
| [1.0.0-6.2.0] 5 || EnableFan
 
|-
 
|-
| 6 ||
+
| [1.0.0-6.2.0] 6 || DisableFan
 
|-
 
|-
| 7 ||
+
| [1.0.0-6.2.0] 7 || GetActualRotationSpeedLevel
 
|-
 
|-
 
|}
 
|}
 +
 +
[7.0.0+] SetRotationSpeedLevelByDiff/SetRotationRate no longer takes any input. GetRotationRate no longer returns output. These were presumably replaced with new cmds?
  
 
= psm =
 
= psm =
Line 31: Line 44:
 
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || GetBatteryChargePercentage
+
| 0 || [[#GetBatteryChargePercentage]]
 +
|-
 +
| 1 || [[#GetChargerType]]
 
|-
 
|-
| 1 || GetChargerType
+
| 2 || [[#EnableBatteryCharging]]
 
|-
 
|-
| 2 || EnableBatteryCharging
+
| 3 || [[#DisableBatteryCharging]]
 
|-
 
|-
| 3 || DisableBatteryCharging
+
| 4 || [[#IsBatteryChargingEnabled]]
 
|-
 
|-
| 4 || IsBatteryChargingEnabled
+
| 5 || [[#AcquireControllerPowerSupply]]
 
|-
 
|-
| 5 || AcquireControllerPowerSupply
+
| 6 || [[#ReleaseControllerPowerSupply]]
 
|-
 
|-
| 6 || ReleaseControllerPowerSupply
+
| 7 || [[#OpenSession]]
 
|-
 
|-
| 7 || OpenSession
+
| 8 || [[#EnableEnoughPowerChargeEmulation]]
 
|-
 
|-
| 8 || EnableEnoughPowerChargeEmulation
+
| 9 || [[#DisableEnoughPowerChargeEmulation]]
 
|-
 
|-
| 9 || DisableEnoughPowerChargeEmulation
+
| 10 || [[#EnableFastBatteryCharging]]
 
|-
 
|-
| 10 || EnableFastBatteryCharging
+
| 11 || [[#DisableFastBatteryCharging]]
 
|-
 
|-
| 11 || DisableFastBatteryCharging
+
| 12 || [[#GetBatteryVoltageState]]
 
|-
 
|-
| 12 || GetBatteryVoltageState
+
| 13 || [[#GetRawBatteryChargePercentage]]
 
|-
 
|-
| 13 || GetRawBatteryChargePercentage
+
| 14 || [[#IsEnoughPowerSupplied]]
 
|-
 
|-
| 14 || IsEnoughPowerSupplied
+
| 15 || [[#GetBatteryAgePercentage]]
 
|-
 
|-
| 15 || GetBatteryAgePercentage
+
| 16 || [[#GetBatteryChargeInfoEvent]]
 
|-
 
|-
| 16 || GetBatteryChargeInfoEvent
+
| 17 || [[#GetBatteryChargeInfoFields]]
 
|-
 
|-
| 17 || GetBatteryChargeInfoFields
+
| 18 || [3.0.0+]
 
|-
 
|-
 
|}
 
|}
 +
 +
== GetBatteryChargePercentage ==
 +
No input, returns an output u32.
 +
 +
== GetChargerType ==
 +
No input, returns an output u32.
 +
 +
== EnableBatteryCharging ==
 +
No input/output.
 +
 +
== DisableBatteryCharging ==
 +
No input/output.
 +
 +
== IsBatteryChargingEnabled ==
 +
No input, returns an output u8.
 +
 +
== AcquireControllerPowerSupply ==
 +
No input/output.
 +
 +
== ReleaseControllerPowerSupply ==
 +
No input/output.
 +
 +
== OpenSession ==
 +
No input, returns an output [[#IPsmSession]].
 +
 +
== EnableEnoughPowerChargeEmulation ==
 +
No input/output.
 +
 +
== DisableEnoughPowerChargeEmulation ==
 +
No input/output.
 +
 +
== EnableFastBatteryCharging ==
 +
No input/output.
 +
 +
== DisableFastBatteryCharging ==
 +
No input/output.
 +
 +
== GetBatteryVoltageState ==
 +
No input, returns an output u32.
 +
 +
== GetRawBatteryChargePercentage ==
 +
No input, returns an output u64.
 +
 +
== IsEnoughPowerSupplied ==
 +
No input, returns an output u8.
 +
 +
== GetBatteryAgePercentage ==
 +
No input, returns an output u64.
 +
 +
== GetBatteryChargeInfoEvent ==
 +
No input, returns an output event.
 +
 +
== GetBatteryChargeInfoFields ==
 +
No input, returns an output 0x40-byte struct.
  
 
== IPsmSession ==
 
== IPsmSession ==
Line 76: Line 145:
 
! Cmd || Name
 
! Cmd || Name
 
|-
 
|-
| 0 || BindStateChangeEvent
+
| 0 || [[#BindStateChangeEvent]]
 
|-
 
|-
| 1 || UnbindStateChangeEvent
+
| 1 || [[#UnbindStateChangeEvent]]
 
|-
 
|-
| 2 || SetChargerTypeChangeEventEnabled
+
| 2 || [[#SetChargerTypeChangeEventEnabled]]
 
|-
 
|-
| 3 || SetPowerSupplyChangeEventEnabled
+
| 3 || [[#SetPowerSupplyChangeEventEnabled]]
 
|-
 
|-
| 4 || SetBatteryVoltageStateChangeEventEnabled
+
| 4 || [[#SetBatteryVoltageStateChangeEventEnabled]]
 
|}
 
|}
 +
 +
=== BindStateChangeEvent ===
 +
No input, returns an output event with autoclear disabled.
 +
 +
=== UnbindStateChangeEvent ===
 +
No input/output.
 +
 +
=== SetChargerTypeChangeEventEnabled ===
 +
Takes an input u8 bool, no output.
 +
 +
=== SetPowerSupplyChangeEventEnabled ===
 +
Takes an input u8 bool, no output.
 +
 +
=== SetBatteryVoltageStateChangeEventEnabled ===
 +
Takes an input u8 bool, no output.
  
 
= tc =
 
= tc =
Line 111: Line 195:
 
|-
 
|-
 
| 8 ||
 
| 8 ||
 +
|-
 +
| 9 || [5.0.0+]
 
|-
 
|-
 
|}
 
|}
Line 116: Line 202:
 
= ts =
 
= ts =
 
This is "nn::ts::server::IMeasurementServer".
 
This is "nn::ts::server::IMeasurementServer".
 +
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 127: Line 214:
 
|-
 
|-
 
| 3 ||
 
| 3 ||
 +
|-
 +
| 4 || [8.0.0+] ? (Takes a total of 4-bytes of input, returns an [[#IUnknown0]])
 
|-
 
|-
 
|}
 
|}
 +
 +
== IUnknown0 ==
 +
Added with [8.0.0+].
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 ||
 +
|-
 +
| 1 ||
 +
|-
 +
| 2 ||
 +
|-
 +
| 3 ||
 +
|}
 +
 +
= pcm =
 +
This is "nn::pcm::IManager".
 +
 +
{| class="wikitable" border="1"
 +
|-
 +
! Cmd || Name
 +
|-
 +
| 0 || IsSupported
 +
|-
 +
| 1 || ReadCurrentPower
 +
|}
 +
 +
[[Category:Services]]

Revision as of 23:50, 13 May 2019

fan

This is "nn::fan::detail::IManager".

Cmd Name
0 OpenController

IController

This is "nn::fan::detail::IController".

Cmd Name
0 SetRotationSpeedLevel
1 SetRotationSpeedLevelByDiff
2 GetRotationSpeedLevel
3 SetRotationRate
4 GetRotationRate
[1.0.0-6.2.0] 5 EnableFan
[1.0.0-6.2.0] 6 DisableFan
[1.0.0-6.2.0] 7 GetActualRotationSpeedLevel

[7.0.0+] SetRotationSpeedLevelByDiff/SetRotationRate no longer takes any input. GetRotationRate no longer returns output. These were presumably replaced with new cmds?

psm

This is "nn::psm::IPsmServer".

Cmd Name
0 #GetBatteryChargePercentage
1 #GetChargerType
2 #EnableBatteryCharging
3 #DisableBatteryCharging
4 #IsBatteryChargingEnabled
5 #AcquireControllerPowerSupply
6 #ReleaseControllerPowerSupply
7 #OpenSession
8 #EnableEnoughPowerChargeEmulation
9 #DisableEnoughPowerChargeEmulation
10 #EnableFastBatteryCharging
11 #DisableFastBatteryCharging
12 #GetBatteryVoltageState
13 #GetRawBatteryChargePercentage
14 #IsEnoughPowerSupplied
15 #GetBatteryAgePercentage
16 #GetBatteryChargeInfoEvent
17 #GetBatteryChargeInfoFields
18 [3.0.0+]

GetBatteryChargePercentage

No input, returns an output u32.

GetChargerType

No input, returns an output u32.

EnableBatteryCharging

No input/output.

DisableBatteryCharging

No input/output.

IsBatteryChargingEnabled

No input, returns an output u8.

AcquireControllerPowerSupply

No input/output.

ReleaseControllerPowerSupply

No input/output.

OpenSession

No input, returns an output #IPsmSession.

EnableEnoughPowerChargeEmulation

No input/output.

DisableEnoughPowerChargeEmulation

No input/output.

EnableFastBatteryCharging

No input/output.

DisableFastBatteryCharging

No input/output.

GetBatteryVoltageState

No input, returns an output u32.

GetRawBatteryChargePercentage

No input, returns an output u64.

IsEnoughPowerSupplied

No input, returns an output u8.

GetBatteryAgePercentage

No input, returns an output u64.

GetBatteryChargeInfoEvent

No input, returns an output event.

GetBatteryChargeInfoFields

No input, returns an output 0x40-byte struct.

IPsmSession

This is "nn::psm::IPsmSession".

Cmd Name
0 #BindStateChangeEvent
1 #UnbindStateChangeEvent
2 #SetChargerTypeChangeEventEnabled
3 #SetPowerSupplyChangeEventEnabled
4 #SetBatteryVoltageStateChangeEventEnabled

BindStateChangeEvent

No input, returns an output event with autoclear disabled.

UnbindStateChangeEvent

No input/output.

SetChargerTypeChangeEventEnabled

Takes an input u8 bool, no output.

SetPowerSupplyChangeEventEnabled

Takes an input u8 bool, no output.

SetBatteryVoltageStateChangeEventEnabled

Takes an input u8 bool, no output.

tc

This is "nn::tc::IManager".

Cmd Name
0 SetOperatingMode
1 GetThermalEvent
2
3
4
5
6
7
8
9 [5.0.0+]

ts

This is "nn::ts::server::IMeasurementServer".

Cmd Name
0
1
2
3
4 [8.0.0+] ? (Takes a total of 4-bytes of input, returns an #IUnknown0)

IUnknown0

Added with [8.0.0+].

Cmd Name
0
1
2
3

pcm

This is "nn::pcm::IManager".

Cmd Name
0 IsSupported
1 ReadCurrentPower