NFC services: Difference between revisions

No edit summary
No edit summary
Line 46: Line 46:
| 2 || [[#ListDevices]]
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || [[#StartDetection_2|StartDetection]]
|-
|-
| 4 || StopDetection
| 4 || [[#StopDetection]]
|-
|-
| 5 || [[#ReadMifare|Read]]
| 5 || [[#ReadMifare|Read]]
Line 110: Line 110:
| 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]]
| 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]]
|-
|-
| 408 || [4.0.0+] StartDetection
| 408 || [4.0.0+] [[#StartDetection]]
|-
|-
| 409 || [4.0.0+] StopDetection
| 409 || [4.0.0+] [[#StopDetection]]
|-
|-
| 410 || [4.0.0+] [[#GetTagInfo]]
| 410 || [4.0.0+] [[#GetTagInfo]]
Line 131: Line 131:
|}
|}


== GetStateOld ==
=== GetStateOld ===
No input, returns an output u32.
No input, returns an output u32.


== IsNfcEnabledOld ==
=== IsNfcEnabledOld ===
No input, returns an output bool.
No input, returns an output bool.


This runs the same code as [[#IsNfcEnabled]].
This runs the same code as [[#IsNfcEnabled]].


== GetState ==
=== GetState ===
No input, returns an output u32.
No input, returns an output u32.


This replaces [[#GetStateOld]].
This replaces [[#GetStateOld]].


== IsNfcEnabled ==
=== IsNfcEnabled ===
No input, returns an output bool.
No input, returns an output bool.


This replaces [[#IsNfcEnabledOld]].
This replaces [[#IsNfcEnabledOld]].
=== StartDetection ===
Takes an input [[#DeviceHandle]] and a [[#NfcProtocol]], no output.
=== StopDetection ===
Takes an input [[#DeviceHandle]], no output.
=== ReadMifare ===
Takes an input [[#DeviceHandle]], a type-0x6 output buffer containing an array of [[#MifareReadBlockData]], a type-0x5 input buffer containing an array of [[#MifareReadBlockParameter]], no output.
sdknso passes the same user-specified array-count for both buffers.
=== WriteMifare ===
Takes an input [[#DeviceHandle]], a type-0x5 input buffer containing an array of [[#MifareWriteBlockParameter]], no output.
=== SendCommandByPassThrough ===
Takes an input [[#DeviceHandle]], a nn::TimeSpan timeout, a type-0x6 output buffer, a type-0x5 input buffer, returns an output u32 out_size.
sdknso copies the output u32 into an u64. This is the actual size which was copied into the output buffer.
This allows using a raw NFC command. The input buffer contains the command data (id + params), and the output buffer contains the response.
=== KeepPassThroughSession ===
Takes an input [[#DeviceHandle]], no output.
=== ReleasePassThroughSession ===
Takes an input [[#DeviceHandle]], no output.


= nfc:sys =
= nfc:sys =
Line 192: Line 219:
| 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]]
| 407 || [4.0.0+] [[#AttachAvailabilityChangeEvent]]
|-
|-
| 408 || [4.0.0+] StartDetection
| 408 || [4.0.0+] [[#StartDetection]]
|-
|-
| 409 || [4.0.0+] StopDetection
| 409 || [4.0.0+] [[#StopDetection]]
|-
|-
| 410 || [4.0.0+] [[#GetTagInfo]]
| 410 || [4.0.0+] [[#GetTagInfo]]
Line 229: Line 256:
=== OutputTestWave ===
=== OutputTestWave ===
Takes an input bool and a [[#TestWaveType]], no output.
Takes an input bool and a [[#TestWaveType]], no output.
=== ReadMifare ===
Takes an input [[#DeviceHandle]], a type-0x6 output buffer containing an array of [[#MifareReadBlockData]], a type-0x5 input buffer containing an array of [[#MifareReadBlockParameter]], no output.
sdknso passes the same user-specified array-count for both buffers.
=== WriteMifare ===
Takes an input [[#DeviceHandle]], a type-0x5 input buffer containing an array of [[#MifareWriteBlockParameter]], no output.
=== SendCommandByPassThrough ===
Takes an input [[#DeviceHandle]], a nn::TimeSpan timeout, a type-0x6 output buffer, a type-0x5 input buffer, returns an output u32 out_size.
sdknso copies the output u32 into an u64. This is the actual size which was copied into the output buffer.
This allows using a raw NFC command. The input buffer contains the command data (id + params), and the output buffer contains the response.
=== KeepPassThroughSession ===
Takes an input [[#DeviceHandle]], no output.
=== ReleasePassThroughSession ===
Takes an input [[#DeviceHandle]], no output.


= nfp:user =
= nfp:user =
Line 274: Line 280:
| 2 || [[#ListDevices]]
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || [[#StartDetection_2|StartDetection]]
|-
|-
| 4 || StopDetection
| 4 || [[#StopDetection]]
|-
|-
| 5 || Mount
| 5 || Mount
Line 335: Line 341:


This can return a maximum of 0xA entries.
This can return a maximum of 0xA entries.
=== StartDetection ===
Takes an input [[#DeviceHandle]], no output.
This runs the same code as nfc [[#StartDetection]] with [[#NfcProtocol]] = -1.


=== GetTagInfo ===
=== GetTagInfo ===
Line 385: Line 396:
| 2 || [[#ListDevices]]
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || [[#StartDetection_2|StartDetection]]
|-
|-
| 4 || StopDetection
| 4 || [[#StopDetection]]
|-
|-
| 5 || Mount
| 5 || Mount
Line 518: Line 529:
| 2 || [[#ListDevices]]
| 2 || [[#ListDevices]]
|-
|-
| 3 || StartDetection
| 3 || [[#StartDetection_2|StartDetection]]
|-
|-
| 4 || StopDetection
| 4 || [[#StopDetection]]
|-
|-
| 5 || Mount
| 5 || Mount
Line 570: Line 581:
= DeviceHandle =
= DeviceHandle =
This is "nn::nfc::DeviceHandle". This is a 8-byte struct with 4-byte alignment.
This is "nn::nfc::DeviceHandle". This is a 8-byte struct with 4-byte alignment.
= NfcProtocol =
This is s32 enum "nn::nfc::NfcProtocol". Value -1 can be used as a default.


= TagInfo =
= TagInfo =