PTM services: Difference between revisions

No edit summary
(11 intermediate revisions by the same user not shown)
Line 8: Line 8:
| 0 || [[#OpenController]]
| 0 || [[#OpenController]]
|-
|-
| 1 || [16.0.0+]
| 1 || [16.0.0+] GetRpm
|}
|}


== OpenController ==
== OpenController ==
Takes an input [[#FanName]]. Returns an output [[#IController]].
Takes an input [[#FanName]]. Returns an output [[#IController]].
[7.0.0+] Now takes an input [[Bus_services#GpioPadName|DeviceCode]] instead of an input [[#FanName]].


== IController ==
== IController ==
Line 83: Line 85:
| 6 || [[#ReleaseControllerPowerSupply|ReleaseControllerPowerSupply]]
| 6 || [[#ReleaseControllerPowerSupply|ReleaseControllerPowerSupply]]
|-
|-
| 7 || [[#OpenSession_1|OpenSession]]
| 7 || [[#OpenSession|OpenSession]]
|-
|-
| 8 || [[#EnableEnoughPowerChargeEmulation|EnableEnoughPowerChargeEmulation]]
| 8 || [[#EnableEnoughPowerChargeEmulation|EnableEnoughPowerChargeEmulation]]
Line 106: Line 108:
|-
|-
| 18 || [3.0.0+] [[#GetBatteryChargeCalibratedEvent|GetBatteryChargeCalibratedEvent]]
| 18 || [3.0.0+] [[#GetBatteryChargeCalibratedEvent|GetBatteryChargeCalibratedEvent]]
|-
| 19 || [18.0.0+]
|-
| 20 || [18.0.0+]
|}
|}


Line 154: Line 160:


== GetBatteryAgePercentage ==
== GetBatteryAgePercentage ==
No input. returns an output double.
No input. Returns an output double.


== GetBatteryChargeInfoEvent ==
== GetBatteryChargeInfoEvent ==
No input. returns an output Event handle.
No input. Returns an output Event handle.


== GetBatteryChargeInfoFields ==
== GetBatteryChargeInfoFields ==
Line 163: Line 169:


== GetBatteryChargeCalibratedEvent ==
== GetBatteryChargeCalibratedEvent ==
No input. returns an output Event handle.
No input. Returns an output Event handle.


== IPsmSession ==
== IPsmSession ==
Line 228: Line 234:


Takes an input [[#Vdd50State]]. No output.
Takes an input [[#Vdd50State]]. No output.
= powctl =
This is "nn::powctl::IPowctlManager".
This service is not present in retail units.
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || [[#OpenSession_3|OpenSession]]
|}
== OpenSession ==
Takes a '''DeviceCode''' and an input [[#AccessMode]]. Returns an [[#IPowctlSession]].
== IPowctlSession ==
This is "nn::powctl::IPowctlSession".
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|-
| 4 ||
|-
| 5 ||
|-
| 6 ||
|-
| 7 ||
|-
| 8 ||
|-
| 9 ||
|-
| 10 ||
|-
| 11 ||
|-
| 12 ||
|-
| 13 ||
|-
| 14 ||
|-
| 15 ||
|-
| 16 ||
|-
| 17 || GetHiZ
|-
| 18 || SetHiZ
|-
| 19 || GetAverageChargeCurrentInMilliAmpere
|-
| 20 ||
|-
| 21 ||
|-
| 22 ||
|-
| 23 ||
|-
| 24 ||
|-
| 25 ||
|-
| 26 ||
|-
| 27 ||
|-
| 28 ||
|-
| 29 ||
|-
| 30 ||
|-
| 31 ||
|-
| 32 ||
|-
| 33 ||
|-
| 34 ||
|-
| 35 ||
|-
| 36 ||
|-
| 37 ||
|-
| 38 ||
|-
| 39 ||
|-
| 40 || GetAverageBatteryVoltageInMilliVolt
|-
| 41 ||
|-
| 42 ||
|-
| 43 ||
|-
| 44 ||
|-
| 45 ||
|-
| 46 ||
|-
| 47 ||
|-
| 48 ||
|-
| 49 ||
|-
| 50 ||
|-
| 51 ||
|-
| 52 ||
|-
| 53 ||
|-
| 54 ||
|-
| 55 ||
|-
| 56 ||
|}


= tc =
= tc =
Line 236: Line 379:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || SetOperatingMode
| 0 || SetOperationMode
|-
|-
| 1 || [1.0.0-10.2.0] GetThermalEvent
| 1 || [1.0.0-10.2.0] GetThermalEvent
Line 266: Line 409:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#GetTemperatureRange|GetTemperatureRange]]
| 0 || [1.0.0-16.1.0] [[#GetTemperatureRange|GetTemperatureRange]]
|-
|-
| 1 || [[#GetTemperature|GetTemperature]]
| 1 || [1.0.0-16.1.0] [[#GetTemperature|GetTemperature]]
|-
|-
| 2 || [1.0.0-13.2.1] [[#SetMeasurementMode|SetMeasurementMode]]
| 2 || [1.0.0-13.2.1] [[#SetMeasurementMode|SetMeasurementMode]]
Line 278: Line 421:


== GetTemperatureRange ==
== GetTemperatureRange ==
Takes an u8 [[#Location]] and returns an s32 minimum temperature + s32 maximum temperature.
Takes an input u8 [[#Location]]. Returns two s32s '''MinimumTemperature''' and '''MaximumTemperature'''.


The returned temperature values are in Celsius.
The returned temperature values are in Celsius.


== GetTemperature ==
== GetTemperature ==
Takes an u8 [[#Location]] and returns an output s32.
Takes an input u8 [[#Location]]. Returns an output s32.


The output is the temperature in Celsius.
The output is the temperature in Celsius.


== SetMeasurementMode ==
== SetMeasurementMode ==
Takes an u8 [[#Location]] and an u8 MeasurementMode, no output.
Takes two input u8s [[#Location]] and '''MeasurementMode'''. No output.


== GetTemperatureMilliC ==
== GetTemperatureMilliC ==
Takes an u8 [[#Location]] and returns an output s32.
Takes an input u8 [[#Location]]. Returns an output s32.


The output is the temperature in MilliC.
The output is the temperature in MilliC.


== OpenSession ==
== OpenSession ==
Takes a total of 4-bytes of input. Returns an [[#ISession]].
Takes an input [[#Location|DeviceCode]]. Returns an [[#ISession]].


== ISession ==
== ISession ==
Line 307: Line 450:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 ||  
| 0 || GetTemperatureRange
|-
|-
| 1 || [8.0.0-13.2.1]
| 1 || [8.0.0-13.2.1]
|-
|-
| 2 ||  
| 2 || SetMeasurementMode
|-
|-
| 3 || [8.0.0-13.2.1]
| 3 || [8.0.0-13.2.1]
|-
|-
| 4 || [10.0.0+]
| 4 || [10.0.0+] GetTemperature
|-
| 5 || [17.0.0+] SetAlertThreshold
|-
| 6 || [17.0.0+] SetThermThreshold
|-
| 7 || [17.0.0+] GetTemperatureWithError
|}
|}


Line 345: Line 494:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#OpenSession]]
| 0 || [[#OpenSession_4|OpenSession]]
|-
|-
| 1 || [[#GetPerformanceMode]]
| 1 || [[#GetPerformanceMode]]
Line 383: Line 532:
|-
|-
| 7 || [7.0.0+] [[#GetCurrentPerformanceConfiguration]]
| 7 || [7.0.0+] [[#GetCurrentPerformanceConfiguration]]
|-
| 8 || [17.0.0+] GetCurrentPerformanceMode
|}
|}


Line 479: Line 630:
= fgm:dbg =
= fgm:dbg =
This is "nn::fgm::sf::IDebugger".
This is "nn::fgm::sf::IDebugger".
This was removed with [17.0.0].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 633: Line 786:


= BatteryChargeInfoFields =  
= BatteryChargeInfoFields =  
This is a 0x40-byte struct.
This is "nn::psm::BatteryChargeInfoFields". This is a 0x40-byte struct.
 
[17.0.0+] This is a 0x54-byte struct.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 670: Line 825:
|-
|-
| 0x3C || 0x4 || Bit field (bit0: potentially no hub, bit8: Joy-con charging, bit12: OTG)
| 0x3C || 0x4 || Bit field (bit0: potentially no hub, bit8: Joy-con charging, bit12: OTG)
|-
| 0x40 || 0x14 ||
|}
|}


Line 701: Line 858:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Value || Name
! Value || Name || DeviceCode
|-
|-
| 0 || Internal
| 0 || Internal || 0x41000001
|-
|-
| 1 || External
| 1 || External || 0x41000002
|}
|}


Line 916: Line 1,073:
|}
|}


= Settings =
= AccessMode =
This is "nn::ddsf::AccessMode".
 
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Key || Size || Notes
! Name || Block
|-
| 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": ?.
| 0 || None
|-
|-
| sdev_cpu_overclock_enabled || 1 || SDEV only. Used to allow access to 1224MHz CPU mode.
| 1 || Read
|-
|-
| sdev_throttling_additional_delay_us || 4 || SDEV only.
| 2 || Write
|-
|-
| sdev_throttling_additional_delay_enabled || 1 || SDEV only.
| 3 || ReadWrite
|-
|-
| sleep_mode || strlen || "default": ?, "pseudo": ?.
| 4 || Shared
|-
|-
| throttling_for_smpd_enabled || 1 || Not used as of 3.0.
| 5 || WriteShared
|-
|-
| throttling_for_undock_enabled || 1 || Not used as of 3.0.
| 6 || ReadWriteShared
|}
|}


[[Category:Services]]
[[Category:Services]]