HID services: Difference between revisions

No edit summary
(9 intermediate revisions by the same user not shown)
Line 717: Line 717:
Takes a [[#PalmaConnectionHandle]], a type-0x6 output buffer, returns an output u64.
Takes a [[#PalmaConnectionHandle]], a type-0x6 output buffer, returns an output u64.


sdknso passes [[#PalmaOperationInfo]]+0x8 size 0x140 for the output buffer. After using the cmd successfully, [[#GetPalmaOperationResult]] is used.
sdknso passes [[#PalmaOperationInfo]]+0x8 size 0x140 for the output buffer. [5.1.0+] After using the cmd successfully, [[#GetPalmaOperationResult]] is used.


== PlayPalmaActivity ==
== PlayPalmaActivity ==
Takes an input [[#PalmaConnectionHandle]], an u64, no output.
Takes an input [[#PalmaConnectionHandle]], an u64 (exposed by sdknso as an u16), no output.


== SetPalmaFrModeType ==
== SetPalmaFrModeType ==
Takes an input [[#PalmaConnectionHandle]], an u64, no output.
Takes an input [[#PalmaConnectionHandle]], an u64 [[#PalmaFrModeType]], no output.


== ReadPalmaStep ==
== ReadPalmaStep ==
Line 736: Line 736:
== ReadPalmaApplicationSection ==
== ReadPalmaApplicationSection ==
Takes an input [[#PalmaConnectionHandle]], an u64, an u64, no output.
Takes an input [[#PalmaConnectionHandle]], an u64, an u64, no output.
sdknso exposes the first u64 as a s32. sdknso will Abort if the input value for the second u64 is >0x100.


== WritePalmaApplicationSection ==
== WritePalmaApplicationSection ==
Takes an input [[#PalmaConnectionHandle]], an u64, an u64, a type-0x19 input buffer containing a [[#PalmaApplicationSectionAccessBuffer]], no output.
Takes an input [[#PalmaConnectionHandle]], an u64, an u64 size, a type-0x19 input buffer containing a [[#PalmaApplicationSectionAccessBuffer]], no output.
 
sdknso exposes the first u64 as a s32. Data is copied from the input [[#PalmaApplicationSectionAccessBuffer]] with the specified size.


== ReadPalmaUniqueCode ==
== ReadPalmaUniqueCode ==
Line 748: Line 752:
== WritePalmaActivityEntry ==
== WritePalmaActivityEntry ==
Takes an input [[#PalmaConnectionHandle]], an u64, an u64, an u64, an u64, no output.
Takes an input [[#PalmaConnectionHandle]], an u64, an u64, an u64, an u64, no output.
sdknso exposes the first u64 as an u16, while the rest are exposed as [[#PalmaActivityEntry]].


== WritePalmaRgbLedPatternEntry ==
== WritePalmaRgbLedPatternEntry ==
Takes an input [[#PalmaConnectionHandle]], an u64, a type-0x5 input buffer, no output.
Takes an input [[#PalmaConnectionHandle]], an u64, a type-0x5 input buffer, no output.
sdknso exposes the u64 as an u16.


== WritePalmaWaveEntry ==
== WritePalmaWaveEntry ==
Takes an input [[#PalmaConnectionHandle]], an u64, an u64, a handle, an u64, an u64, no output.
Takes an input [[#PalmaConnectionHandle]], an u64 [[#PalmaWaveSet]], an u64 (exposed by sdknso as an u16), a TransferMemory handle, an u64 tmem_size, an u64 size, no output.
 
The TransferMemory is created from an user-specified buffer with permissions=R--.


== SetPalmaDataBaseIdentificationVersion ==
== SetPalmaDataBaseIdentificationVersion ==
Line 786: Line 796:
== SetPalmaBoostMode ==
== SetPalmaBoostMode ==
Takes an input bool, no output.
Takes an input bool, no output.
Stubbed, just returns 0. This was replaced by [[#EnablePalmaBoostMode]].


== CancelWritePalmaWaveEntry ==
== CancelWritePalmaWaveEntry ==
Line 6,964: Line 6,976:
! Offset || Size || Description
! Offset || Size || Description
|-
|-
| 0x0 || 0x4 || sdknso sets this to the output value from [[#GetPalmaOperationInfo]], sdknso will Abort if it's larger than 0x10.
| 0x0 || 0x4 || sdknso sets this to the output value from [[#GetPalmaOperationInfo]], sdknso will Abort if it's larger than 0x10 ([5.0.0-5.0.2] 0xE).
|-
|-
| 0x4 || 0x4 || Result
| 0x4 || 0x4 || Result
Line 6,970: Line 6,982:
| 0x8 || 0x140 || Buffer for [[#GetPalmaOperationInfo]].
| 0x8 || 0x140 || Buffer for [[#GetPalmaOperationInfo]].
|}
|}
= PalmaFrModeType =
This is "nn::hid::PalmaFrModeType".


= PalmaApplicationSectionAccessBuffer =
= PalmaApplicationSectionAccessBuffer =
This is "nn::hid::PalmaApplicationSectionAccessBuffer". This is a 0x100-byte struct.
This is "nn::hid::PalmaApplicationSectionAccessBuffer". This is a 0x100-byte struct.
= PalmaActivityEntry =
This is "nn::hid::PalmaActivityEntry".
{| class="wikitable" border="1"
|-
! Offset || Size || Description
|-
| 0x0 || 0x2 || Passed for the second u64 for [[#WritePalmaActivityEntry]].
|-
| 0x2 || 0x2 || Padding
|-
| 0x4 || 0x4 || Passed for the third u64 for [[#WritePalmaActivityEntry]].
|-
| 0x8 || 0x2 || Passed for the fourth u64 for [[#WritePalmaActivityEntry]].
|}
= PalmaWaveSet =
This is "nn::hid::PalmaWaveSet".


= PalmaFeature =
= PalmaFeature =