Difference between revisions of "PTM services"
(→ts) |
(→ts: cmd docs) |
||
Line 203: | Line 203: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || GetTemperatureRange | + | | 0 || [[#GetTemperatureRange]] |
|- | |- | ||
− | | 1 || GetTemperature | + | | 1 || [[#GetTemperature]] |
|- | |- | ||
− | | 2 || SetMeasurementMode | + | | 2 || [[#SetMeasurementMode]] |
|- | |- | ||
− | | 3 || GetTemperatureMilliC | + | | 3 || [[#GetTemperatureMilliC]] |
|- | |- | ||
| 4 || [8.0.0+] ? (Takes a total of 4-bytes of input, returns an [[#IUnknown0]]) | | 4 || [8.0.0+] ? (Takes a total of 4-bytes of input, returns an [[#IUnknown0]]) | ||
Line 228: | Line 228: | ||
|- | |- | ||
| 3 || | | 3 || | ||
+ | |} | ||
+ | |||
+ | == GetTemperatureRange == | ||
+ | Takes an u8 [[#Location]] and returns an s32 minimum temperature + s32 maximum temperature. | ||
+ | |||
+ | == GetTemperature == | ||
+ | Takes an u8 [[#Location]] and returns an output s32. | ||
+ | |||
+ | == SetMeasurementMode == | ||
+ | Takes an u8 [[#Location]] and an u8 MeasurementMode. | ||
+ | |||
+ | == GetTemperatureMilliC == | ||
+ | Takes an u8 [[#Location]] and returns an output s32. | ||
+ | |||
+ | == Location == | ||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Value || Name | ||
+ | |- | ||
+ | | 0 || Internal | ||
+ | |- | ||
+ | | 1 || External | ||
|} | |} | ||
Revision as of 17:48, 11 September 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 |
5 | [1.0.0-6.2.0] EnableFan |
6 | [1.0.0-6.2.0] DisableFan |
7 | [1.0.0-6.2.0] 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+] GetBatteryChargeCalibratedEvent |
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 | IsActionAllowed |
3 | EnableVirtualTemperature |
4 | DisableVirtualTemperature |
5 | SetVirtualTemperature |
6 | EnableFanControl |
7 | DisableFanControl |
8 | IsFanControlEnabled |
9 | [5.0.0+] GetSkinTemperatureMilliC |
ts
This is "nn::ts::server::IMeasurementServer".
Cmd | Name |
---|---|
0 | #GetTemperatureRange |
1 | #GetTemperature |
2 | #SetMeasurementMode |
3 | #GetTemperatureMilliC |
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 |
GetTemperatureRange
Takes an u8 #Location and returns an s32 minimum temperature + s32 maximum temperature.
GetTemperature
Takes an u8 #Location and returns an output s32.
SetMeasurementMode
Takes an u8 #Location and an u8 MeasurementMode.
GetTemperatureMilliC
Takes an u8 #Location and returns an output s32.
Location
Value | Name |
---|---|
0 | Internal |
1 | External |
pcm
This is "nn::pcm::IManager".
Cmd | Name |
---|---|
0 | IsSupported |
1 | ReadCurrentPower |
apm:am
This is "nn::apm::IManager".
This was added with [8.0.0+] and replaces the old apm service.
Cmd | Name |
---|---|
0 | #OpenSession |
1 | GetPerformanceMode |
6 | [7.0.0+] #IsCpuOverclockEnabled |
OpenSession
Returns an #ISession.
IsCpuOverclockEnabled
No input, returns an output u8 bool.
apm:sys
This is "nn::apm::ISystemManager".
Cmd | Name |
---|---|
0 | RequestPerformanceMode |
1 | GetPerformanceEvent |
2 | GetThrottlingState |
3 | GetLastThrottlingState |
4 | ClearLastThrottlingState |
5 | [5.0.0+] LoadAndApplySettings |
6 | [7.0.0+] #SetCpuBoostMode |
7 | [7.0.0+] #GetCurrentPerformanceConfiguration |
GetPerformanceEvent
Returns an #ISession.
SetCpuBoostMode
Takes an u32 #CpuBoostMode.
CpuBoostMode
Mode | Description |
---|---|
0 | Disabled. |
1 | Use performance configurations 0x92220009 and 0x9222000A, or 0x9222000B and 0x9222000C. |
2 | Use performance configurations 0x9222000B and 0x9222000C. |
GetCurrentPerformanceConfiguration
Returns the currently active #PerformanceConfiguration (default value is 0x00020003).
ISession
This is "nn::apm::ISession".
Cmd | Name |
---|---|
0 | SetPerformanceConfiguration |
1 | GetPerformanceConfiguration |
2 | [8.0.0+] #SetCpuOverclockEnabled |
SetPerformanceConfiguration
Takes an u32 #PerformanceMode and an u32 #PerformanceConfiguration.
GetPerformanceConfiguration
Takes an u32 #PerformanceMode and returns an output u32 #PerformanceConfiguration.
SetCpuOverclockEnabled
Takes an input u8 bool, no output.
PerformanceMode
Value | Name |
---|---|
0 | Handheld |
1 | Docked |
PerformanceConfiguration
Value | CPU clock | GPU clock | Memory clock |
---|---|---|---|
0x00010000 | 1020 | 384 | 1600 |
0x00010001 | 1020 | 768 | 1600 |
0x00010002 | 1224 | 691.2 | 1600 |
0x00020000 | 1020 | 230.4 | 1600 |
0x00020001 | 1020 | 307.2 | 1600 |
0x00020002 | 1224 | 230.4 | 1600 |
0x00020003 | 1020 | 307 | 1331.2 |
0x00020004 | 1020 | 384 | 1331.2 |
0x00020005 | 1020 | 307.2 | 1065.6 |
0x00020006 | 1020 | 384 | 1065.6 |
0x92220007 | 1020 | 460.8 | 1600 |
0x92220008 | 1020 | 460.8 | 1331.2 |
[7.0.0+] 0x92220009 | 1785 | 768 | 1600 |
[7.0.0+] 0x9222000A | 1785 | 768 | 1331.2 |
[7.0.0+] 0x9222000B | 1020 | 768 | 1600 |
[7.0.0+] 0x9222000C | 1020 | 768 | 1331.2 |
Clocks are all in MHz.
Configurations 0x10001 and 0x20000 are only available while docked. Configurations 0x10002 and 0x20002 are only available for SDEV units.
fgm, fgm:0, fgm:9
This is "nn::fgm::sf::ISession".
Cmd | Name |
---|---|
0 | Initialize |
IRequest
This is "nn::fgm::sf::IRequest".
Cmd | Name |
---|---|
0 | Initialize |
1 | Set |
2 | Get |
3 | Cancel |
fgm:dbg
This is "nn::fgm::sf::IDebugger".
Cmd | Name |
---|---|
0 | Initialize |
1 | Read |
2 | Cancel |
Settings
Key | Size | Notes |
---|---|---|
background_download_stress_testing_storage | strlen | "sdcard", "builtin", "system". |
battery_draining_enabled | 1 | ? |
fs_access_log_mode | strlen | "log", "sdcard", "log+sdcard", "off". |
fs_speed_emulation_mode | strlen | "faster", "slower", "random", "off". |
host_romfs_redirection_target | strlen | "builtin", "off". |
idle_time_detect_mode | strlen | "on", "off". |
initial_tick_value | strlen | "7days", "14days", "30days", "90days", "hex": ?. |
memory_mode | strlen | "auto", "4GB", "6GB". |
needs_update_vulnerability_policy | strlen | "default": ?, "force_true": ?, "force_false": ?. |
operation_mode_policy | strlen | "auto": ?, "handheld", "console". |
performance_mode_policy | strlen | "auto": use boost mode when docked. "normal": never use boost mode. "boost": always use boost mode (SDEV only). |
screenshot_target | strlen | "screenshot": ?, "physical": ?. |
sdev_cpu_overclock_enabled | 1 | SDEV only. Used to allow access to 1224MHz CPU mode. |
sdev_throttling_additional_delay_us | 4 | SDEV only. |
sdev_throttling_additional_delay_enabled | 1 | SDEV only. |
sleep_mode | strlen | "default": ?, "pseudo": ?. |
throttling_for_smpd_enabled | 1 | Not used as of 3.0. |
throttling_for_undock_enabled | 1 | Not used as of 3.0. |