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. | ||
= 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 = |