diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/_m5_unit_unified_n_f_c_8hpp.html b/_m5_unit_unified_n_f_c_8hpp.html new file mode 100644 index 0000000..b4e54dd --- /dev/null +++ b/_m5_unit_unified_n_f_c_8hpp.html @@ -0,0 +1,156 @@ + + +
+ + + + +|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Main header of M5Unit-NFC. +More...
+#include "nfc/nfc.hpp"#include "nfc/ndef/ndef.hpp"#include "nfc/ndef/ndef_tlv.hpp"#include "nfc/ndef/ndef_record.hpp"#include "unit/unit_ST25R3916.hpp"#include "nfc/layer/a/nfc_layer_a.hpp"#include "nfc/layer/a/emulation_layer_a.hpp"#include "nfc/layer/b/nfc_layer_b.hpp"#include "nfc/layer/f/nfc_layer_f.hpp"#include "nfc/layer/f/emulation_layer_f.hpp"#include "nfc/layer/v/nfc_layer_v.hpp"#include "nfc/isoDEP/nfc_b_file_system.hpp"#include "nfc/isoDEP/desfire_file_system.hpp"Go to the source code of this file.
++Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
| namespace | unit |
| Unit-related namespace. | |
+Typedefs | |
| +using | m5::unit::UnitNFC = m5::unit::UnitST25R3916 |
| Alias for UnitST25R3916 (Unit NFC, I2C connection) | |
| +using | m5::unit::CapCC1101NFC = m5::unit::CapST25R3916 |
| Alias for CapST25R3916 (CapCC1101 NFC, SPI connection) | |
Main header of M5Unit-NFC.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Definitions for ST25R3916. +More...
+#include <cstdint>Go to the source code of this file.
++Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
| namespace | st25r3916 |
| For ST25R3916. | |
| namespace | regval |
| Register setting value. | |
+Enumerations | |
| enum class | m5::unit::st25r3916::InitiatorOperationMode : uint8_t { + NFCIP1 = 0x00 << 3 +, ISO14443A = 0x01 << 3 +, ISO14443B = 0x02 << 3 +, FeliCa = 0x03 << 3 +, + NFCForumType1 = 0x04 << 3 +, SubCarrierStream = 0x0E << 3 +, BPSKStream = 0x0F << 3 + + } |
| Initiator operation modes. More... | |
| enum class | m5::unit::st25r3916::TargetOperationMode : uint8_t { + ISO14443A = 0x01 << 3 +, Felica = 0x04 << 3 +, NFCIP1 = 0x07 << 3 +, FelicaBitrate = 0x0C << 3 +, + ISO14443ABitrate = 0x09 << 3 + + } |
| Target operation modes. More... | |
+Variables | |
| +constexpr uint8_t | m5::unit::st25r3916::VALID_IDENTIFY_TYPE {0x05} |
| +constexpr uint16_t | m5::unit::st25r3916::MAX_FIFO_DEPTH {512} |
| Maximum FIFO depth. | |
| +constexpr uint16_t | m5::unit::st25r3916::PREFIX_SPACE_B {(uint16_t)command::CMD_REGISTER_SPACEB_ACCESS << 8} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_TRAILER_MASK {0x3F} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_WRITE_REGISTER {0x00} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_READ_REGISTER {0x40} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_LOAD_FIFO {0x80} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_LOAD_PT_MEMORY_A_CONFIG {0xA0} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_LOAD_PT_MEMORY_F_CONFIG {0xA8} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_LOAD_PT_MEMORY_TSN_DATA {0xAC} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_READ_PT_MEMORY {0xBF} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_READ_FIFO {0x9F} |
| +constexpr uint8_t | m5::unit::st25r3916::OP_DIRECT_COMMAND {0xC0} |
PT_MEMORY | |
| +constexpr uint32_t | m5::unit::st25r3916::PT_MEMORY_A_LENGTH {15} |
| A-config length. | |
| +constexpr uint32_t | m5::unit::st25r3916::PT_MEMORY_F_LENGTH {21} |
| F-config length. | |
| +constexpr uint32_t | m5::unit::st25r3916::PT_MEMORY_TSN_LENGTH {12} |
| TSN data length. | |
| +constexpr uint32_t | m5::unit::st25r3916::PT_MEMORY_LENGTH {PT_MEMORY_A_LENGTH + PT_MEMORY_F_LENGTH + PT_MEMORY_TSN_LENGTH} |
| all length | |
Definitions for ST25R3916.
+
+
|
+ +strong | +
+
|
+ +strong | +
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
AES/CMAC helpers. +More...
+#include "nfc/crypto/aes.hpp"#include <M5Utility.hpp>#include <cstring>#include <mbedtls/aes.h>+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
+Functions | |
| bool | m5::nfc::crypto::aes_ecb_encrypt (uint8_t out[16], const uint8_t key[16], const uint8_t in[16]) |
| AES-128 ECB encryption of a single 16-byte block. | |
| bool | m5::nfc::crypto::aes_cbc_crypt (uint8_t *out, const uint8_t key[16], const uint8_t iv_in[16], const uint8_t *in, size_t len, bool encrypt) |
| AES-128 CBC encrypt or decrypt. | |
| bool | m5::nfc::crypto::cmac_subkeys (uint8_t k1[16], uint8_t k2[16], const uint8_t key[16]) |
| Generate AES-CMAC subkeys K1 and K2. | |
| bool | m5::nfc::crypto::cmac_aes_128 (uint8_t out[16], const uint8_t key[16], const uint8_t *msg, size_t msg_len) |
| Calculate AES-CMAC (RFC 4493) | |
AES/CMAC helpers.
+| bool m5::nfc::crypto::aes_cbc_crypt | +( | +uint8_t * | out, | +
| + | + | const uint8_t | key[16], | +
| + | + | const uint8_t | iv_in[16], | +
| + | + | const uint8_t * | in, | +
| + | + | size_t | len, | +
| + | + | bool | encrypt ) | +
AES-128 CBC encrypt or decrypt.
+| [out] | out | Output buffer (same size as in) |
| key | AES-128 key (16 bytes) | |
| iv_in | Initialization vector (16 bytes) | |
| in | Input buffer | |
| len | Input buffer length (must be multiple of 16) | |
| encrypt | True for encrypt, false for decrypt |
| bool m5::nfc::crypto::aes_ecb_encrypt | +( | +uint8_t | out[16], | +
| + | + | const uint8_t | key[16], | +
| + | + | const uint8_t | in[16] ) | +
AES-128 ECB encryption of a single 16-byte block.
+| [out] | out | Encrypted output (16 bytes) |
| key | AES-128 key (16 bytes) | |
| in | Plaintext input (16 bytes) |
| bool m5::nfc::crypto::cmac_aes_128 | +( | +uint8_t | out[16], | +
| + | + | const uint8_t | key[16], | +
| + | + | const uint8_t * | msg, | +
| + | + | size_t | msg_len ) | +
Calculate AES-CMAC (RFC 4493)
+| [out] | out | CMAC output (16 bytes) |
| key | AES-128 key (16 bytes) | |
| msg | Message buffer | |
| msg_len | Message length |
| bool m5::nfc::crypto::cmac_subkeys | +( | +uint8_t | k1[16], | +
| + | + | uint8_t | k2[16], | +
| + | + | const uint8_t | key[16] ) | +
Generate AES-CMAC subkeys K1 and K2.
+| [out] | k1 | Subkey K1 (16 bytes) |
| [out] | k2 | Subkey K2 (16 bytes) |
| key | AES-128 key (16 bytes) |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
AES/CMAC helpers. +More...
+#include <cstddef>#include <cstdint>Go to the source code of this file.
++Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
+Functions | |
| bool | m5::nfc::crypto::aes_ecb_encrypt (uint8_t out[16], const uint8_t key[16], const uint8_t in[16]) |
| AES-128 ECB encryption of a single 16-byte block. | |
| bool | m5::nfc::crypto::aes_cbc_crypt (uint8_t *out, const uint8_t key[16], const uint8_t iv_in[16], const uint8_t *in, size_t len, bool encrypt) |
| AES-128 CBC encrypt or decrypt. | |
| bool | m5::nfc::crypto::cmac_subkeys (uint8_t k1[16], uint8_t k2[16], const uint8_t key[16]) |
| Generate AES-CMAC subkeys K1 and K2. | |
| bool | m5::nfc::crypto::cmac_aes_128 (uint8_t out[16], const uint8_t key[16], const uint8_t *msg, size_t msg_len) |
| Calculate AES-CMAC (RFC 4493) | |
AES/CMAC helpers.
+| bool m5::nfc::crypto::aes_cbc_crypt | +( | +uint8_t * | out, | +
| + | + | const uint8_t | key[16], | +
| + | + | const uint8_t | iv_in[16], | +
| + | + | const uint8_t * | in, | +
| + | + | size_t | len, | +
| + | + | bool | encrypt ) | +
AES-128 CBC encrypt or decrypt.
+| [out] | out | Output buffer (same size as in) |
| key | AES-128 key (16 bytes) | |
| iv_in | Initialization vector (16 bytes) | |
| in | Input buffer | |
| len | Input buffer length (must be multiple of 16) | |
| encrypt | True for encrypt, false for decrypt |
| bool m5::nfc::crypto::aes_ecb_encrypt | +( | +uint8_t | out[16], | +
| + | + | const uint8_t | key[16], | +
| + | + | const uint8_t | in[16] ) | +
AES-128 ECB encryption of a single 16-byte block.
+| [out] | out | Encrypted output (16 bytes) |
| key | AES-128 key (16 bytes) | |
| in | Plaintext input (16 bytes) |
| bool m5::nfc::crypto::cmac_aes_128 | +( | +uint8_t | out[16], | +
| + | + | const uint8_t | key[16], | +
| + | + | const uint8_t * | msg, | +
| + | + | size_t | msg_len ) | +
Calculate AES-CMAC (RFC 4493)
+| [out] | out | CMAC output (16 bytes) |
| key | AES-128 key (16 bytes) | |
| msg | Message buffer | |
| msg_len | Message length |
| bool m5::nfc::crypto::cmac_subkeys | +( | +uint8_t | k1[16], | +
| + | + | uint8_t | k2[16], | +
| + | + | const uint8_t | key[16] ) | +
Generate AES-CMAC subkeys K1 and K2.
+| [out] | k1 | Subkey K1 (16 bytes) |
| [out] | k2 | Subkey K2 (16 bytes) |
| key | AES-128 key (16 bytes) |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
| ▼Nm5 | Top level namespace of M5stack |
| ▼Nnfc | |
| ▼Na | |
| ▼Nmifare | |
| ▼Nclassic | |
| CCrypto1 | Crypto1 for MIFARE Classic |
| ▼Ndesfire | |
| Cdesfire_aid_t | 24bit Application ID |
| CDESFireFileSystem | File system for MIFARE DESFire |
| CEv2Context | Session context for EV2 secure messaging |
| CFileRename | File renaming parameters for DESFire Light SetConfiguration |
| CFileSettings | DESFire file settings (minimal fields for StdDataFile) |
| CNdefFormatOptions | Options for formatting DESFire as Type4 NDEF |
| ▼Nst25ta | |
| CSystemFile | ST25TA series system file |
| CATS | Answer to request |
| CPICC | PICC for NFC-A |
| ▼Napdu | |
| CTLV | TLV element |
| ▼Nb | |
| CPICC | PICC for NFC-B |
| ▼Nf | |
| Cblock_t | Block list element |
| CPICC | PICC information for NFC-F |
| CREG | Subtract Register Block Data |
| ▼Nisodep | |
| Cconfig_t | ISO-DEP configuration |
| CIsoDEP | ISO Data Exchange Protocol |
| CRxInfo | RX information |
| ▼Nndef | |
| ▼Ntype2 | |
| CCapabilityContainer | Capability container for Type2 |
| ▼Ntype3 | |
| CAttributeBlock | For Type 3 tag (T3T) |
| ▼Ntype4 | |
| CCapabilityContainer | Capability container for Type4 |
| CFileControlTLV | File control TLV |
| ▼Ntype5 | |
| CCapabilityContainer | Capability container for Type5 |
| CAttribute | NDEF Record attribute (1st byte) |
| CNDEFLayer | NDEF operations layer |
| CRecord | NDEF Record |
| CTLV | NDEF TLV container |
| ▼Nv | |
| CPICC | PICC for NFC-V |
| CAdapterST25R3916ForB | |
| CAdapterST25R3916ForF | |
| CAdapterST25R3916ForV | |
| CEmulationLayerA | Common interface layer for each chip of the NFC-A emulation |
| CEmulationLayerF | Common interface layer for each chip of the NFC-F emulation |
| CFCP | File Control Parameters |
| CFileSystem | ISO/IEC 7816-4 file system |
| CListenerST25R3916ForA | |
| CListenerST25R3916ForF | |
| CNFCBFileSystem | File system base using isoDEP for NFC-B |
| CNFCLayerA | Common interface layer for each chip of the NFC-A reader |
| CNFCLayerB | Common interface layer for each chip of the NFC-B reader |
| CNFCLayerF | Common interface layer for each chip of the NFC-F reader |
| CNFCLayerInterface | Common interface for NFC layer |
| CNFCLayerV | Common interface layer for each chip of the NFC-V reader |
| CPollerST25R3916ForA | |
| ▼Nunit | |
| CCapST25R3916 | ST25R3916 unit in CapCC1101 (SPI) |
| ▼CUnitST25R3916 | ST25R3916 Unit |
| Cconfig_t | Settings for begin |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Application Protocol Data Unit (ISO/IEC 7816-4) +More...
++Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
+Functions | |
| std::vector< uint8_t > | m5::nfc::apdu::make_apdu_command (const uint8_t cla, const uint8_t ins, const uint8_t param1=0x00, const uint8_t param2=0x00, const uint8_t *data=nullptr, const uint16_t data_len=0, const uint16_t rx_len=0) |
| Make APDU command. | |
| +std::vector< TLV > | m5::nfc::apdu::parse_tlv (const uint8_t *ptr, const uint32_t len) |
| Parse TLV. | |
| +void | m5::nfc::apdu::dump_tlv (const std::vector< TLV > &tlvs, const uint8_t depth=0) |
| Dump TLV. | |
Application Protocol Data Unit (ISO/IEC 7816-4)
+| std::vector< uint8_t > m5::nfc::apdu::make_apdu_command | +( | +const uint8_t | cla, | +
| + | + | const uint8_t | ins, | +
| + | + | const uint8_t | param1 = 0x00, | +
| + | + | const uint8_t | param2 = 0x00, | +
| + | + | const uint8_t * | data = nullptr, | +
| + | + | const uint16_t | data_len = 0, | +
| + | + | const uint16_t | rx_len = 0 ) | +
Make APDU command.
+| cla | CLA |
| ins | INS |
| param1 | PARAM1 |
| param2 | PARAM2 |
| data | Payload data |
| data_len | Payload data length |
| rx_len | Expected bytes to receive |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Application Protocol Data Unit (ISO/IEC 7816-4) +More...
+#include <cstdint>#include <string>#include <vector>Go to the source code of this file.
++Classes | |
| struct | m5::nfc::apdu::TLV |
| TLV element. More... | |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
| namespace | apdu |
| For APDU. | |
+Enumerations | |
| enum class | m5::nfc::apdu::INS : uint8_t { + SELECT_FILE = 0xA4 +, CREATE_FILE = 0xE0 +, READ_BINARY = 0xB0 +, WRITE_BINARY = 0xD0 +, + UPDATE_BINARY = 0xD6 +, ERASE_BINARY = 0x0E +, READ_RECORD = 0xB2 +, WRITE_RECORD = 0xD2 +, + APPEND_RECORD = 0xE2 +, UPDATE_RECORRD = 0xDC +, GET_RESPONSE = 0xC0 +, GET_DATA = 0xCA +, + PUT_DATA = 0xDA +, VERIFY = 0x20 +, INTERNAL_AUTHENTICATE = 0x88 +, EXTERNAL_AUTHENTICATE = 0x82 +, + GET_CHALLEMGE = 0x84 +, LOCK_DF = 0x50 +, UNLOCK_DF = 0x52 +, UNLOCK_KEY = 0x54 +, + CHANGE_KEY = 0x32 +, ERASE_ALL_RECORDS = 0x06 +, GET_VERSION = 0x60 +, DF_CREATE_APPLICATION = 0xCA +, + DF_DELETE_APPLICATION = 0xDA +, DF_SELECT_APPLICATION = 0x5A +, DF_GET_APPLICATION_IDS = 0x6A +, DF_CREATE_STD_DATA_FILE = 0xCD +, + DF_GET_FREE_MEMORY = 0x6E +, DF_GET_FILE_IDS = 0x6F +, DF_GET_ISO_FILE_IDS = 0x61 +, DF_GET_KEY_SETTINGS = 0x45 +, + DF_SET_CONFIGURATION = 0x5C +, DF_CHANGE_FILE_SETTINGS = 0x5F +, DF_AUTHENTICATE = 0x0A +, DF_AUTHENTICATE_ISO = 0x1A +, + DF_AUTHENTICATE_AES = 0xAA +, DF_AUTHENTICATE_EV2 = 0x71 +, DF_FORMAT_PICC = 0xFC +, DF_READ_DATA = 0xBD +, + DF_WRITE_DATA = 0x3D +, DF_GET_FILE_SETTINGS = 0xF5 +, DF_DELETE_TRANSACTION_MAC_FILE = 0xDF +, DF_CREATE_TRANSACTION_MAC_FILE = 0xCE + + } |
| APDU instruction code. | |
| enum class | m5::nfc::apdu::SelectBy : uint8_t { + FileId = 0x00 +, ChildDf = 0x01 +, EfUnderCurrentDf = 0x02 +, ParentDf = 0x03 +, + DfName = 0x04 +, PathFromMf = 0x08 +, PathFromCurrentDf = 0x09 + + } |
| Select control for SELECT_FILE. More... | |
| enum class | m5::nfc::apdu::SelectOccurrence : uint8_t { FirstOrOnly = 0x00 +, Last = 0x01 +, Next = 0x02 +, Previous = 0x03 + } |
| Select occurrence for SELECT_FILE. More... | |
| enum class | m5::nfc::apdu::SelectResponse : uint8_t { FCI = 0x00 +, FCP = 0x04 +, FMD = 0x08 +, None = 0x0C + } |
| Response for SELECT_FILE. More... | |
+Functions | |
| +bool | m5::nfc::apdu::is_response_OK (const uint16_t sw12) |
| Is response successfully? | |
| +bool | m5::nfc::apdu::is_response_OK (const uint8_t sw[2]) |
| Is response successfully? | |
| +bool | m5::nfc::apdu::is_response_OK (const uint8_t sw1, const uint8_t sw2) |
| Is response successfully? | |
| +bool | m5::nfc::apdu::need_select_file_le (const uint8_t param2) |
| +std::vector< TLV > | m5::nfc::apdu::parse_tlv (const uint8_t *ptr, const uint32_t len) |
| Parse TLV. | |
| +void | m5::nfc::apdu::dump_tlv (const std::vector< TLV > &tlvs, const uint8_t depth=0) |
| Dump TLV. | |
| std::vector< uint8_t > | m5::nfc::apdu::make_apdu_command (const uint8_t cla, const uint8_t ins, const uint8_t param1=0x00, const uint8_t param2=0x00, const uint8_t *data=nullptr, const uint16_t data_len=0, const uint16_t rx_len=0) |
| Make APDU command. | |
| +std::vector< uint8_t > | m5::nfc::apdu::make_apdu_case1 (const uint8_t cla, const uint8_t ins, const uint8_t p1, const uint8_t p2) |
| Make APDU case1 command [CLA | INS | P1 | P2]. | |
| +std::vector< uint8_t > | m5::nfc::apdu::make_apdu_case2 (const uint8_t cla, const uint8_t ins, const uint8_t p1, const uint8_t p2, const uint16_t le) |
| Make APDU case2 command [CLA | INS | P1 | P2 | Le]. | |
| +std::vector< uint8_t > | m5::nfc::apdu::make_apdu_case3 (const uint8_t cla, const uint8_t ins, const uint8_t p1, const uint8_t p2, const uint8_t *data, const uint16_t data_len) |
| Make APDU case3 command [CLA | INS | P1 | P2 | Lc | C-Data]. | |
| +std::vector< uint8_t > | m5::nfc::apdu::make_apdu_case4 (const uint8_t cla, const uint8_t ins, const uint8_t p1, const uint8_t p2, const uint8_t *data, const uint16_t data_len, const uint16_t le) |
| Make APDU case4 command [CLA | INS | P1 | P2 | Lc | C-Data | Le]. | |
Application Protocol Data Unit (ISO/IEC 7816-4)
+
+
|
+ +strong | +
Select control for SELECT_FILE.
+
+
|
+ +strong | +
+
|
+ +strong | +
Response for SELECT_FILE.
+| Enumerator | |
|---|---|
| FCI | FCI template. + |
| FCP | FCP template. + |
| FMD | FMD template. + |
| None | / No response + |
| std::vector< uint8_t > m5::nfc::apdu::make_apdu_command | +( | +const uint8_t | cla, | +
| + | + | const uint8_t | ins, | +
| + | + | const uint8_t | param1 = 0x00, | +
| + | + | const uint8_t | param2 = 0x00, | +
| + | + | const uint8_t * | data = nullptr, | +
| + | + | const uint16_t | data_len = 0, | +
| + | + | const uint16_t | rx_len = 0 ) | +
Make APDU command.
+| cla | CLA |
| ins | INS |
| param1 | PARAM1 |
| param2 | PARAM2 |
| data | Payload data |
| data_len | Payload data length |
| rx_len | Expected bytes to receive |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::EmulationLayerA, including all inherited members.
+| _memory (defined in m5::nfc::EmulationLayerA) | m5::nfc::EmulationLayerA | protected |
| _memory_size (defined in m5::nfc::EmulationLayerA) | m5::nfc::EmulationLayerA | protected |
| begin(const m5::nfc::a::PICC &picc, uint8_t *ptr, const uint32_t size) | m5::nfc::EmulationLayerA | |
| emulatePICC() const | m5::nfc::EmulationLayerA | inline |
| EmulationLayerA(m5::unit::UnitST25R3916 &u) | m5::nfc::EmulationLayerA | explicit |
| EmulationLayerA(m5::unit::CapST25R3916 &u) | m5::nfc::EmulationLayerA | explicit |
| end() | m5::nfc::EmulationLayerA | |
| expiredTime() const | m5::nfc::EmulationLayerA | inline |
| receive_callback(const uint8_t *rx, const uint32_t rx_len) (defined in m5::nfc::EmulationLayerA) | m5::nfc::EmulationLayerA | virtual |
| setExpiredTime(const uint32_t ms) | m5::nfc::EmulationLayerA | inline |
| State enum name | m5::nfc::EmulationLayerA | |
| state() const | m5::nfc::EmulationLayerA | inline |
| update() | m5::nfc::EmulationLayerA | |
| update_expired() (defined in m5::nfc::EmulationLayerA) | m5::nfc::EmulationLayerA | protected |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Common interface layer for each chip of the NFC-A emulation. + More...
+ +#include <emulation_layer_a.hpp>
+Public Types | |
| enum class | State { + None +, Off +, Idle +, Ready +, + Active +, Halt + + } |
| Emulation state for NFC-A. | |
+Public Member Functions | |
| + | EmulationLayerA (m5::unit::UnitST25R3916 &u) |
| Construct with UnitST25R3916 (I2C) | |
| + | EmulationLayerA (m5::unit::CapST25R3916 &u) |
| Construct with CapST25R3916 (SPI) | |
| +State | state () const |
| Gets the current emulation state. | |
| +const m5::nfc::a::PICC & | emulatePICC () const |
| Gets the emulated PICC information. | |
| +uint32_t | expiredTime () const |
| Gets the expiration time (ms) | |
| +void | setExpiredTime (const uint32_t ms) |
| Sets the expiration time (ms) | |
| +bool | begin (const m5::nfc::a::PICC &picc, uint8_t *ptr, const uint32_t size) |
| Begin NFC-A emulation. | |
| +bool | end () |
| End NFC-A emulation. | |
| +void | update () |
| Update emulation state machine. | |
| +virtual State | receive_callback (const uint8_t *rx, const uint32_t rx_len) |
+Protected Member Functions | |
| +void | update_expired () |
+Protected Attributes | |
| +uint8_t * | _memory {} |
| +uint32_t | _memory_size {} |
Common interface layer for each chip of the NFC-A emulation.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::EmulationLayerF, including all inherited members.
+| _memory (defined in m5::nfc::EmulationLayerF) | m5::nfc::EmulationLayerF | protected |
| _memory_size (defined in m5::nfc::EmulationLayerF) | m5::nfc::EmulationLayerF | protected |
| begin(const m5::nfc::f::PICC &picc, uint8_t *ptr, const uint32_t size) | m5::nfc::EmulationLayerF | |
| emulatePICC() const | m5::nfc::EmulationLayerF | inline |
| EmulationLayerF(m5::unit::UnitST25R3916 &u) | m5::nfc::EmulationLayerF | explicit |
| EmulationLayerF(m5::unit::CapST25R3916 &u) | m5::nfc::EmulationLayerF | explicit |
| end() | m5::nfc::EmulationLayerF | |
| expiredTime() const | m5::nfc::EmulationLayerF | inline |
| receive_callback(const State s, const uint8_t *rx, const uint32_t rx_len) (defined in m5::nfc::EmulationLayerF) | m5::nfc::EmulationLayerF | virtual |
| setExpiredTime(const uint32_t ms) | m5::nfc::EmulationLayerF | inline |
| State enum name | m5::nfc::EmulationLayerF | |
| state() const | m5::nfc::EmulationLayerF | inline |
| update() | m5::nfc::EmulationLayerF | |
| update_expired() (defined in m5::nfc::EmulationLayerF) | m5::nfc::EmulationLayerF | protected |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Common interface layer for each chip of the NFC-F emulation. + More...
+ +#include <emulation_layer_f.hpp>
+Public Types | |
| enum class | State { None +, Off +, Communicated +, Selected + } |
| Emulation state for NFC-F. | |
+Public Member Functions | |
| + | EmulationLayerF (m5::unit::UnitST25R3916 &u) |
| Construct with UnitST25R3916 (I2C) | |
| + | EmulationLayerF (m5::unit::CapST25R3916 &u) |
| Construct with CapST25R3916 (SPI) | |
| +State | state () const |
| Gets the current emulation state. | |
| +const m5::nfc::f::PICC & | emulatePICC () const |
| Gets the emulated PICC information. | |
| +uint32_t | expiredTime () const |
| Gets the expiration time (ms) | |
| +void | setExpiredTime (const uint32_t ms) |
| Sets the expiration time (ms) | |
| +bool | begin (const m5::nfc::f::PICC &picc, uint8_t *ptr, const uint32_t size) |
| Begin NFC-F emulation. | |
| +bool | end () |
| End NFC-F emulation. | |
| +void | update () |
| Update emulation state machine. | |
| +virtual State | receive_callback (const State s, const uint8_t *rx, const uint32_t rx_len) |
+Protected Member Functions | |
| +void | update_expired () |
+Protected Attributes | |
| +uint8_t * | _memory {} |
| +uint32_t | _memory_size {} |
Common interface layer for each chip of the NFC-F emulation.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::FileSystem, including all inherited members.
+| _isoDEP (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | protected |
| _last_select_fci (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | protected |
| createFile(const uint8_t *fcp, const uint16_t fcp_len) | m5::nfc::FileSystem | |
| createFile(const FCP &fcp) | m5::nfc::FileSystem | |
| createFile(const uint16_t fid, const uint16_t file_size) | m5::nfc::FileSystem | |
| FileSystem(m5::nfc::isodep::IsoDEP &isoDEP) (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | inlineexplicit |
| lastSelectData() const | m5::nfc::FileSystem | inline |
| readBinary(std::vector< uint8_t > &out, const uint16_t offset, const uint16_t le) | m5::nfc::FileSystem | |
| selectByDfName(const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectByFileId(const uint16_t fid, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectByPath(const uint8_t *path, const uint8_t path_len, const bool from_mf=true, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectDfNameAuto(const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectFile(const m5::nfc::apdu::SelectBy by, const m5::nfc::apdu::SelectOccurrence occ, const m5::nfc::apdu::SelectResponse res, const uint8_t *param, const uint8_t param_len) | m5::nfc::FileSystem | |
| selectFileIdAuto(const uint16_t fid, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectMasterFile() | m5::nfc::FileSystem | inline |
| selectParent(const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| updateBinary(const uint16_t offset, const uint8_t *data, const uint16_t data_len) | m5::nfc::FileSystem | |
| verify(const uint8_t *password, const uint16_t pass_len, const uint8_t param2) | m5::nfc::FileSystem | |
| verifyGlobal(const uint8_t *password, const uint16_t pass_len) | m5::nfc::FileSystem | inline |
| verifySpecific(const uint8_t *password, const uint16_t pass_len) | m5::nfc::FileSystem | inline |
| ~FileSystem()=default (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | virtual |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ISO/IEC 7816-4 file system. + More...
+ +#include <file_system.hpp>
+
++Public Member Functions | |
| + | FileSystem (m5::nfc::isodep::IsoDEP &isoDEP) |
| const std::vector< uint8_t > & | lastSelectData () const |
| Last SELECT response data (SW excluded) | |
ISO/IEC 7816-4 Standard commands | |
| bool | createFile (const uint8_t *fcp, const uint16_t fcp_len) |
| CREATE FILE. | |
| bool | createFile (const FCP &fcp) |
| CREATE FILE. | |
| bool | createFile (const uint16_t fid, const uint16_t file_size) |
| CREATE FILE. | |
| bool | selectFile (const m5::nfc::apdu::SelectBy by, const m5::nfc::apdu::SelectOccurrence occ, const m5::nfc::apdu::SelectResponse res, const uint8_t *param, const uint8_t param_len) |
| SELECT FILE (generic) | |
| bool | selectByFileId (const uint16_t fid, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by File ID with explicit response type. | |
| bool | selectFileIdAuto (const uint16_t fid, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by File ID with auto response fallback (None->FCI->FCP) | |
| bool | selectByDfName (const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by DF Name with explicit response type. | |
| bool | selectDfNameAuto (const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by DF Name with auto response fallback (FCI->None->FCP) | |
| bool | selectByPath (const uint8_t *path, const uint8_t path_len, const bool from_mf=true, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by path (MF or current DF) | |
| bool | selectParent (const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT parent DF. | |
| bool | selectMasterFile () |
| SELECT MF (Master File) | |
| bool | verify (const uint8_t *password, const uint16_t pass_len, const uint8_t param2) |
| VERIFY (generic) | |
| bool | verifyGlobal (const uint8_t *password, const uint16_t pass_len) |
| VERIFY global reference data. | |
| bool | verifySpecific (const uint8_t *password, const uint16_t pass_len) |
| VERIFY specific reference data. | |
| bool | readBinary (std::vector< uint8_t > &out, const uint16_t offset, const uint16_t le) |
| READ BINARY. | |
| bool | updateBinary (const uint16_t offset, const uint8_t *data, const uint16_t data_len) |
| UPDATE BINARY. | |
+Protected Attributes | |
| +m5::nfc::isodep::IsoDEP & | _isoDEP |
| +std::vector< uint8_t > | _last_select_fci {} |
ISO/IEC 7816-4 file system.
+| bool m5::nfc::FileSystem::createFile | +( | +const FCP & | fcp | ) | ++ |
CREATE FILE.
+| fcp | File control parameters |
| bool m5::nfc::FileSystem::createFile | +( | +const uint16_t | fid, | +
| + | + | const uint16_t | file_size ) | +
CREATE FILE.
+| fid | FileID |
| file_size | File size |
| bool m5::nfc::FileSystem::createFile | +( | +const uint8_t * | fcp, | +
| + | + | const uint16_t | fcp_len ) | +
CREATE FILE.
+| fcp | File control parameters |
| fcp_len | fcp length |
+
|
+ +inline | +
Last SELECT response data (SW excluded)
+| bool m5::nfc::FileSystem::readBinary | +( | +std::vector< uint8_t > & | out, | +
| + | + | const uint16_t | offset, | +
| + | + | const uint16_t | le ) | +
READ BINARY.
+| [out] | out | Output buffer |
| offset | File offset | |
| le | Expected length (1..256 recommended) |
| bool m5::nfc::FileSystem::selectByDfName | +( | +const uint8_t * | aid, | +
| + | + | const uint8_t | aid_len, | +
| + | + | const m5::nfc::apdu::SelectResponse | res = m5::nfc::apdu::SelectResponse::FCI, | +
| + | + | const m5::nfc::apdu::SelectOccurrence | occ = m5::nfc::apdu::SelectOccurrence::FirstOrOnly ) | +
SELECT by DF Name with explicit response type.
+| aid | DF name (AID) |
| aid_len | AID length |
| res | Response format |
| occ | Selection occurrence |
| bool m5::nfc::FileSystem::selectByFileId | +( | +const uint16_t | fid, | +
| + | + | const m5::nfc::apdu::SelectResponse | res = m5::nfc::apdu::SelectResponse::FCI, | +
| + | + | const m5::nfc::apdu::SelectOccurrence | occ = m5::nfc::apdu::SelectOccurrence::FirstOrOnly ) | +
SELECT by File ID with explicit response type.
+| fid | File ID |
| res | Response format |
| occ | Selection occurrence |
| bool m5::nfc::FileSystem::selectByPath | +( | +const uint8_t * | path, | +
| + | + | const uint8_t | path_len, | +
| + | + | const bool | from_mf = true, | +
| + | + | const m5::nfc::apdu::SelectResponse | res = m5::nfc::apdu::SelectResponse::FCI, | +
| + | + | const m5::nfc::apdu::SelectOccurrence | occ = m5::nfc::apdu::SelectOccurrence::FirstOrOnly ) | +
SELECT by path (MF or current DF)
+| path | Path data |
| path_len | Path length |
| from_mf | Use MF as origin if true |
| res | Response format |
| occ | Selection occurrence |
| bool m5::nfc::FileSystem::selectDfNameAuto | +( | +const uint8_t * | aid, | +
| + | + | const uint8_t | aid_len, | +
| + | + | const m5::nfc::apdu::SelectOccurrence | occ = m5::nfc::apdu::SelectOccurrence::FirstOrOnly ) | +
SELECT by DF Name with auto response fallback (FCI->None->FCP)
+| aid | DF name (AID) |
| aid_len | AID length |
| occ | Selection occurrence |
| bool m5::nfc::FileSystem::selectFile | +( | +const m5::nfc::apdu::SelectBy | by, | +
| + | + | const m5::nfc::apdu::SelectOccurrence | occ, | +
| + | + | const m5::nfc::apdu::SelectResponse | res, | +
| + | + | const uint8_t * | param, | +
| + | + | const uint8_t | param_len ) | +
SELECT FILE (generic)
+| by | Selection method |
| occ | Selection occurrence |
| res | Response format |
| param | Identifier data |
| param_len | Identifier length |
| bool m5::nfc::FileSystem::selectFileIdAuto | +( | +const uint16_t | fid, | +
| + | + | const m5::nfc::apdu::SelectOccurrence | occ = m5::nfc::apdu::SelectOccurrence::FirstOrOnly ) | +
SELECT by File ID with auto response fallback (None->FCI->FCP)
+| fid | File ID |
| occ | Selection occurrence |
+
|
+ +inline | +
SELECT MF (Master File)
+| bool m5::nfc::FileSystem::selectParent | +( | +const m5::nfc::apdu::SelectResponse | res = m5::nfc::apdu::SelectResponse::FCI, | +
| + | + | const m5::nfc::apdu::SelectOccurrence | occ = m5::nfc::apdu::SelectOccurrence::FirstOrOnly ) | +
SELECT parent DF.
+| res | Response format |
| occ | Selection occurrence |
| bool m5::nfc::FileSystem::updateBinary | +( | +const uint16_t | offset, | +
| + | + | const uint8_t * | data, | +
| + | + | const uint16_t | data_len ) | +
UPDATE BINARY.
+| offset | File offset |
| data | Data to write |
| data_len | Length to write |
| bool m5::nfc::FileSystem::verify | +( | +const uint8_t * | password, | +
| + | + | const uint16_t | pass_len, | +
| + | + | const uint8_t | param2 ) | +
VERIFY (generic)
+| password | Password data |
| pass_len | Password length |
| param2 | P2 (reference data type) |
+
|
+ +inline | +
VERIFY global reference data.
+| password | Password data |
| pass_len | Password length |
+
|
+ +inline | +
VERIFY specific reference data.
+| password | Password data |
| pass_len | Password length |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::NFCBFileSystem, including all inherited members.
+| _isoDEP (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | protected |
| _last_select_fci (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | protected |
| createFile(const uint8_t *fcp, const uint16_t fcp_len) | m5::nfc::FileSystem | |
| createFile(const FCP &fcp) | m5::nfc::FileSystem | |
| createFile(const uint16_t fid, const uint16_t file_size) | m5::nfc::FileSystem | |
| FileSystem(m5::nfc::isodep::IsoDEP &isoDEP) (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | inlineexplicit |
| lastSelectData() const | m5::nfc::FileSystem | inline |
| NFCBFileSystem(m5::nfc::NFCLayerB &layer) (defined in m5::nfc::NFCBFileSystem) | m5::nfc::NFCBFileSystem | explicit |
| readBinary(std::vector< uint8_t > &out, const uint16_t offset, const uint16_t le) | m5::nfc::FileSystem | |
| selectByDfName(const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectByFileId(const uint16_t fid, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectByPath(const uint8_t *path, const uint8_t path_len, const bool from_mf=true, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectDfNameAuto(const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectFile(const m5::nfc::apdu::SelectBy by, const m5::nfc::apdu::SelectOccurrence occ, const m5::nfc::apdu::SelectResponse res, const uint8_t *param, const uint8_t param_len) | m5::nfc::FileSystem | |
| selectFileIdAuto(const uint16_t fid, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectMasterFile() | m5::nfc::FileSystem | inline |
| selectParent(const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| updateBinary(const uint16_t offset, const uint8_t *data, const uint16_t data_len) | m5::nfc::FileSystem | |
| verify(const uint8_t *password, const uint16_t pass_len, const uint8_t param2) | m5::nfc::FileSystem | |
| verifyGlobal(const uint8_t *password, const uint16_t pass_len) | m5::nfc::FileSystem | inline |
| verifySpecific(const uint8_t *password, const uint16_t pass_len) | m5::nfc::FileSystem | inline |
| ~FileSystem()=default (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | virtual |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
File system base using isoDEP for NFC-B. + More...
+ +#include <nfc_b_file_system.hpp>
+
++Public Member Functions | |
| + | NFCBFileSystem (m5::nfc::NFCLayerB &layer) |
Public Member Functions inherited from m5::nfc::FileSystem | |
| + | FileSystem (m5::nfc::isodep::IsoDEP &isoDEP) |
| const std::vector< uint8_t > & | lastSelectData () const |
| Last SELECT response data (SW excluded) | |
| bool | createFile (const uint8_t *fcp, const uint16_t fcp_len) |
| CREATE FILE. | |
| bool | createFile (const FCP &fcp) |
| CREATE FILE. | |
| bool | createFile (const uint16_t fid, const uint16_t file_size) |
| CREATE FILE. | |
| bool | selectFile (const m5::nfc::apdu::SelectBy by, const m5::nfc::apdu::SelectOccurrence occ, const m5::nfc::apdu::SelectResponse res, const uint8_t *param, const uint8_t param_len) |
| SELECT FILE (generic) | |
| bool | selectByFileId (const uint16_t fid, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by File ID with explicit response type. | |
| bool | selectFileIdAuto (const uint16_t fid, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by File ID with auto response fallback (None->FCI->FCP) | |
| bool | selectByDfName (const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by DF Name with explicit response type. | |
| bool | selectDfNameAuto (const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by DF Name with auto response fallback (FCI->None->FCP) | |
| bool | selectByPath (const uint8_t *path, const uint8_t path_len, const bool from_mf=true, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by path (MF or current DF) | |
| bool | selectParent (const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT parent DF. | |
| bool | selectMasterFile () |
| SELECT MF (Master File) | |
| bool | verify (const uint8_t *password, const uint16_t pass_len, const uint8_t param2) |
| VERIFY (generic) | |
| bool | verifyGlobal (const uint8_t *password, const uint16_t pass_len) |
| VERIFY global reference data. | |
| bool | verifySpecific (const uint8_t *password, const uint16_t pass_len) |
| VERIFY specific reference data. | |
| bool | readBinary (std::vector< uint8_t > &out, const uint16_t offset, const uint16_t le) |
| READ BINARY. | |
| bool | updateBinary (const uint16_t offset, const uint8_t *data, const uint16_t data_len) |
| UPDATE BINARY. | |
+Additional Inherited Members | |
Protected Attributes inherited from m5::nfc::FileSystem | |
| +m5::nfc::isodep::IsoDEP & | _isoDEP |
| +std::vector< uint8_t > | _last_select_fci {} |
File system base using isoDEP for NFC-B.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::NFCLayerA, including all inherited members.
+| _activePICC (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| _isoDEP (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| _ndef (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| activate(const m5::nfc::a::PICC &picc, const bool force_rats=false) | m5::nfc::NFCLayerA | |
| activatedPICC() const | m5::nfc::NFCLayerA | inline |
| deactivate() | m5::nfc::NFCLayerA | |
| detect(m5::nfc::a::PICC &picc, const uint32_t timeout_ms=100U) | m5::nfc::NFCLayerA | |
| detect(std::vector< m5::nfc::a::PICC > &piccs, const uint32_t timeout_ms=1000U) | m5::nfc::NFCLayerA | |
| dump(const m5::nfc::a::mifare::classic::Key &mkey=m5::nfc::a::mifare::classic::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| dump(const uint8_t block) | m5::nfc::NFCLayerA | |
| dump_desfire() (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_desfire_light() (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_mifare_plus_sl3(const m5::nfc::a::mifare::plus::AESKey &key) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_page(const uint8_t page, const uint16_t maxPage) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_page_structure(const uint16_t maxPage) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_sector(const uint8_t sector) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_sector_mifare_plus_sl3(const uint8_t sector) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_sector_structure(const m5::nfc::a::PICC &picc, const m5::nfc::a::mifare::classic::Key &key) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| dump_st25ta() (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| first_user_block() const override | m5::nfc::NFCLayerA | inlineprotectedvirtual |
| identify(m5::nfc::a::PICC &picc) | m5::nfc::NFCLayerA | |
| identify_picc(m5::nfc::a::PICC &picc) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| identify_picc_st25ta() (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| identify_plus_sl03() (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| isActive(const m5::nfc::a::PICC &picc) const | m5::nfc::NFCLayerA | inline |
| isoDEP() override | m5::nfc::NFCLayerA | inlinevirtual |
| last_user_block() const override | m5::nfc::NFCLayerA | inlineprotectedvirtual |
| maximum_fifo_depth() const override | m5::nfc::NFCLayerA | virtual |
| maximum_read_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| maximum_write_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| mifare_classic_value_block(const m5::nfc::a::Command cmd, const uint8_t block, const uint32_t arg=0) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_get_version_L3(uint8_t ver[8]) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_get_version_L4_raw(uint8_t *ver, uint16_t &ver_len) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_get_version_L4_wrapped(uint8_t *ver, uint16_t &ver_len) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_plus_authenticateAES(const uint16_t key_no, const m5::nfc::a::mifare::plus::AESKey &key) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_plus_authenticateAES_L3(const uint16_t key_no, const m5::nfc::a::mifare::plus::AESKey &key) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_plus_read_mac_l4(const uint16_t block, const uint8_t count, std::vector< uint8_t > &out, const bool plain) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_plus_read_plain_mac(const uint16_t block, const uint8_t count, std::vector< uint8_t > &out) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_plus_read_plain_nomac(const uint16_t block, const uint8_t count, std::vector< uint8_t > &out) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_plus_write_mac_l4(const uint16_t block, const uint8_t *data, const uint16_t data_len, const bool plain) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_ultralightC_authenticate1(uint8_t ek[8]) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifare_ultralightC_authenticate2(uint8_t rx_ek[8], const uint8_t tx_ek[16]) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| mifareClassicAuthenticateA(const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| mifareClassicAuthenticateB(const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| mifareClassicDecrementValueBlock(const uint8_t block, const uint32_t delta, const bool transfer=true) | m5::nfc::NFCLayerA | |
| mifareClassicIncrementValueBlock(const uint8_t block, const uint32_t delta, const bool transfer=true) | m5::nfc::NFCLayerA | |
| mifareClassicIsValueBlock(bool &is_value_block, const uint8_t block) | m5::nfc::NFCLayerA | |
| mifareClassicReadAccessCondition(uint8_t &c123, const uint8_t block) | m5::nfc::NFCLayerA | |
| mifareClassicReadValueBlock(int32_t &value, const uint8_t block) | m5::nfc::NFCLayerA | |
| mifareClassicRestoreValueBlock(const uint8_t block) | m5::nfc::NFCLayerA | |
| mifareClassicTransferValueBlock(const uint8_t block) | m5::nfc::NFCLayerA | |
| mifareClassicWriteAccessCondition(const uint8_t block, const uint8_t c123, const m5::nfc::a::mifare::classic::Key &akey, const m5::nfc::a::mifare::classic::Key &bkey) | m5::nfc::NFCLayerA | |
| mifareClassicWriteValueBlock(const uint8_t block, const int32_t value) | m5::nfc::NFCLayerA | |
| mifarePlusUpgradeSecurityLevel1(const m5::nfc::a::mifare::plus::AESKey &card_config_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &card_master_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &l2_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &l3_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &aes_sector_key=m5::nfc::a::mifare::plus::DEFAULT_FF_KEY, const m5::nfc::a::mifare::classic::Key &key_a=m5::nfc::a::mifare::classic::DEFAULT_KEY, const m5::nfc::a::mifare::classic::Key &key_b=m5::nfc::a::mifare::classic::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| mifarePlusUpgradeSecurityLevel2(const m5::nfc::a::mifare::plus::AESKey &sl2_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| mifarePlusUpgradeSecurityLevel3(const m5::nfc::a::mifare::plus::AESKey &l3_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| mifareUltralightCAuthenticate(const uint8_t key[16]) | m5::nfc::NFCLayerA | |
| mifareUltralightChangeFormatToNDEF() | m5::nfc::NFCLayerA | |
| ndefIsValidFormat(bool &valid) | m5::nfc::NFCLayerA | |
| ndefPrepareDesfire(const uint32_t max_ndef_size) | m5::nfc::NFCLayerA | |
| ndefPrepareDesfireLight() | m5::nfc::NFCLayerA | |
| ndefRead(m5::nfc::ndef::TLV &msg) | m5::nfc::NFCLayerA | |
| ndefRead(std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits=m5::nfc::ndef::tagBitsAll) | m5::nfc::NFCLayerA | |
| ndefWrite(const m5::nfc::ndef::TLV &msg) | m5::nfc::NFCLayerA | |
| ndefWrite(const std::vector< m5::nfc::ndef::TLV > &tlvs) | m5::nfc::NFCLayerA | |
| nfca_deselect() (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| nfca_request_ats(m5::nfc::a::ATS &ats, const uint8_t fsdi=5, const uint8_t cid=0) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| NFCLayerA(m5::unit::UnitMFRC522 &u) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | explicit |
| NFCLayerA(m5::unit::UnitWS1850S &u) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | explicit |
| NFCLayerA(m5::unit::UnitST25R3916 &u) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | explicit |
| NFCLayerA(m5::unit::CapST25R3916 &u) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | explicit |
| ntag_read_page(uint8_t *rx, uint16_t &rx_len, const uint8_t spage, const uint8_t epage) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| ntag_write_page(const uint8_t page, const uint8_t tx[4]) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| push_back_picc(std::vector< m5::nfc::a::PICC > &v, const m5::nfc::a::PICC &picc) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protectedstatic |
| reactivate(const m5::nfc::a::PICC &picc, const bool force_rats=false) | m5::nfc::NFCLayerA | |
| reactivate() | m5::nfc::NFCLayerA | inline |
| read(uint8_t *rx, uint16_t &rx_len, const uint8_t saddr, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| read(uint8_t *rx, uint16_t &rx_len, const uint8_t saddr, const m5::nfc::a::mifare::plus::AESKey &key) | m5::nfc::NFCLayerA | |
| read(uint8_t *rx, uint16_t &rx_len, const uint16_t saddr) override | m5::nfc::NFCLayerA | protectedvirtual |
| read16(uint8_t rx[16], const uint8_t addr) | m5::nfc::NFCLayerA | |
| read4(uint8_t rx[4], const uint8_t addr) | m5::nfc::NFCLayerA | |
| read_using_fast(uint8_t *rx, uint16_t &rx_len, const uint8_t saddr) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| read_using_read16(uint8_t *rx, uint16_t &rx_len, const uint8_t saddr, const m5::nfc::a::mifare::classic::Key &key) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| receive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| request(uint16_t &atqa) | m5::nfc::NFCLayerA | |
| select(m5::nfc::a::PICC &picc) | m5::nfc::NFCLayerA | |
| supportsFilesystem() const override | m5::nfc::NFCLayerA | virtual |
| supportsNFCTag() const override | m5::nfc::NFCLayerA | virtual |
| transceive(uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) override | m5::nfc::NFCLayerA | virtual |
| transmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| unit_size_read() const override | m5::nfc::NFCLayerA | inlineprotectedvirtual |
| unit_size_write() const override | m5::nfc::NFCLayerA | inlineprotectedvirtual |
| user_area_size() const | m5::nfc::NFCLayerA | inlineprotectedvirtual |
| wakeup(uint16_t &atqa) | m5::nfc::NFCLayerA | |
| write(const uint8_t saddr, const uint8_t *tx, const uint16_t tx_len, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) | m5::nfc::NFCLayerA | |
| write(const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const m5::nfc::a::mifare::plus::AESKey &key) | m5::nfc::NFCLayerA | |
| write(const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len) override | m5::nfc::NFCLayerA | protectedvirtual |
| write16(const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const bool safety=true) | m5::nfc::NFCLayerA | |
| write4(const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const bool safety=true) | m5::nfc::NFCLayerA | |
| write_using_write16(const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const m5::nfc::a::mifare::classic::Key &key) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
| write_using_write4(const uint8_t addr, const uint8_t *tx, const uint16_t tx_len) (defined in m5::nfc::NFCLayerA) | m5::nfc::NFCLayerA | protected |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Common interface layer for each chip of the NFC-A reader. + More...
+ +#include <nfc_layer_a.hpp>
+
++Public Member Functions | |
| + | NFCLayerA (m5::unit::UnitMFRC522 &u) |
| + | NFCLayerA (m5::unit::UnitWS1850S &u) |
| + | NFCLayerA (m5::unit::UnitST25R3916 &u) |
| + | NFCLayerA (m5::unit::CapST25R3916 &u) |
| bool | isActive (const m5::nfc::a::PICC &picc) const |
| Is the specified PICC currently active? | |
| const m5::nfc::a::PICC & | activatedPICC () const |
| Retrieve the currently activated PICC. | |
override | |
| virtual bool | transceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) override |
| Transceive (RF command) | |
| virtual m5::nfc::NFCForumTag | supportsNFCTag () const override |
| activePICC's NDEF type | |
| virtual file_system_feature_t | supportsFilesystem () const override |
| activePICC's File system | |
| virtual m5::nfc::isodep::IsoDEP * | isoDEP () override |
| ISO-DEP interface (nullptr if not supported) | |
| virtual uint16_t | maximum_fifo_depth () const override |
| Maximum FIFO depth. | |
Detection and activation | |
| bool | request (uint16_t &atqa) |
| Send REQA to discover a PICC in IDLE. | |
| bool | wakeup (uint16_t &atqa) |
| Send WUPA to wake a PICC from IDLE or HALT. | |
| bool | detect (m5::nfc::a::PICC &picc, const uint32_t timeout_ms=100U) |
| Detect single idle PICC. | |
| bool | detect (std::vector< m5::nfc::a::PICC > &piccs, const uint32_t timeout_ms=1000U) |
| Detect idle PICCs. | |
| bool | select (m5::nfc::a::PICC &picc) |
| Select a PICC (anti-collision + SELECT cascade to ACTIVE) | |
| bool | activate (const m5::nfc::a::PICC &picc, const bool force_rats=false) |
| Activate a specific PICC (anti-collision against the given PICC) | |
| bool | reactivate (const m5::nfc::a::PICC &picc, const bool force_rats=false) |
| Wake and activate a specific PICC by PICC. | |
| bool | reactivate () |
| Reactivate the previously selected PICC. | |
For activated PICC | |
| bool | deactivate () |
| Send HLTA to the currently selected PICC (deactivate) | |
| bool | identify (m5::nfc::a::PICC &picc) |
| Identify the specified PICC type. | |
| bool | read4 (uint8_t rx[4], const uint8_t addr) |
| Read the 1 page. | |
| bool | read16 (uint8_t rx[16], const uint8_t addr) |
| Read the 1 block / 4 page (16 bytes) | |
| bool | read (uint8_t *rx, uint16_t &rx_len, const uint8_t saddr, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Read any bytes from user area. | |
| bool | read (uint8_t *rx, uint16_t &rx_len, const uint8_t saddr, const m5::nfc::a::mifare::plus::AESKey &key) |
| Read any bytes from user area (MIFARE Plus SL3) | |
| bool | write4 (const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const bool safety=true) |
| Write the 1 page (4 bytes) | |
| bool | write16 (const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const bool safety=true) |
| Write the 1 block / 4 page (16 bytes) | |
| bool | write (const uint8_t saddr, const uint8_t *tx, const uint16_t tx_len, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Write any bytes to user area. | |
| bool | write (const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const m5::nfc::a::mifare::plus::AESKey &key) |
| Write any bytes to user area (MIFARE Plus SL3) | |
| bool | dump (const m5::nfc::a::mifare::classic::Key &mkey=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Dump all blocks/files. | |
| bool | dump (const uint8_t block) |
| Dump 1 block. | |
For MIFARE classic | |
| |
| bool | mifareClassicAuthenticateA (const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Authentication by KeyA for MIFARE classic. | |
| bool | mifareClassicAuthenticateB (const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Authentication by KeyB for MIFARE classic. | |
| bool | mifareClassicReadAccessCondition (uint8_t &c123, const uint8_t block) |
| Read the specific block access conditions. | |
| bool | mifareClassicWriteAccessCondition (const uint8_t block, const uint8_t c123, const m5::nfc::a::mifare::classic::Key &akey, const m5::nfc::a::mifare::classic::Key &bkey) |
| Write the specific block access conditions. | |
| bool | mifareClassicIsValueBlock (bool &is_value_block, const uint8_t block) |
| Is specific block the value block? | |
| bool | mifareClassicReadValueBlock (int32_t &value, const uint8_t block) |
| Read the specific block as the value block. | |
| bool | mifareClassicWriteValueBlock (const uint8_t block, const int32_t value) |
| Write the specific block as the value block. | |
| bool | mifareClassicDecrementValueBlock (const uint8_t block, const uint32_t delta, const bool transfer=true) |
| Decrement value of the value block. | |
| bool | mifareClassicIncrementValueBlock (const uint8_t block, const uint32_t delta, const bool transfer=true) |
| Increment value of the value block. | |
| bool | mifareClassicTransferValueBlock (const uint8_t block) |
| Transfer inner buffer value to block. | |
| bool | mifareClassicRestoreValueBlock (const uint8_t block) |
| Restore block value to inner buffer. | |
For MIFARE ultralight | |
| |
| bool | mifareUltralightChangeFormatToNDEF () |
| Write change to NFC Type-2 (NDEF) format for MIFARE Ultralight/C. | |
For MIFARE ultralightC | |
| |
| +bool | mifareUltralightCAuthenticate (const uint8_t key[16]) |
| Authentication for MIFARE UltralightC. | |
For MIFARE Plus | |
| |
| bool | mifarePlusUpgradeSecurityLevel1 (const m5::nfc::a::mifare::plus::AESKey &card_config_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &card_master_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &l2_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &l3_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY, const m5::nfc::a::mifare::plus::AESKey &aes_sector_key=m5::nfc::a::mifare::plus::DEFAULT_FF_KEY, const m5::nfc::a::mifare::classic::Key &key_a=m5::nfc::a::mifare::classic::DEFAULT_KEY, const m5::nfc::a::mifare::classic::Key &key_b=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Upgrade security level to SL1 (Classic compatibility mode) | |
| bool | mifarePlusUpgradeSecurityLevel2 (const m5::nfc::a::mifare::plus::AESKey &sl2_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY) |
| Upgrade security level to SL2 (AES over CRYPTO1) | |
| bool | mifarePlusUpgradeSecurityLevel3 (const m5::nfc::a::mifare::plus::AESKey &l3_switch_key=m5::nfc::a::mifare::plus::DEFAULT_KEY) |
| Upgrade security level to SL3 (AES) | |
For NDEF | |
| |
| bool | ndefIsValidFormat (bool &valid) |
| Is the PICC data in NDEF format? | |
| bool | ndefPrepareDesfireLight () |
| Prepare NDEF files on MIFARE DESFire Light. | |
| bool | ndefPrepareDesfire (const uint32_t max_ndef_size) |
| Prepare NDEF files on MIFARE DESFire (EV1/EV2/EV3) | |
| bool | ndefRead (m5::nfc::ndef::TLV &msg) |
| Read NDEF Message TLV. | |
| bool | ndefRead (std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits=m5::nfc::ndef::tagBitsAll) |
| Read any NDEF TLV. | |
| bool | ndefWrite (const m5::nfc::ndef::TLV &msg) |
| Write NDEF message. | |
| bool | ndefWrite (const std::vector< m5::nfc::ndef::TLV > &tlvs) |
| Write any NDEF Messages TLV. | |
Public Member Functions inherited from m5::nfc::NFCLayerInterface | |
| virtual bool | transmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transmit only. | |
| virtual bool | receive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive only. | |
| virtual uint8_t | maximum_read_blocks () const |
| Maximum read blocks for NFC-F. | |
| virtual uint8_t | maximum_write_blocks () const |
| Maximum write blocks for NFC-F. | |
+Protected Member Functions | |
| virtual bool | read (uint8_t *rx, uint16_t &rx_len, const uint16_t saddr) override |
| Read NDEF (block) | |
| virtual bool | write (const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len) override |
| Write NDEF (block) | |
| virtual uint16_t | first_user_block () const override |
| First user block. | |
| virtual uint16_t | last_user_block () const override |
| Last user block. | |
| virtual uint16_t | user_area_size () const |
| User area size (bytes) | |
| virtual uint16_t | unit_size_read () const override |
| Unit size for read. | |
| virtual uint16_t | unit_size_write () const override |
| Unit size for write. | |
| +bool | identify_picc (m5::nfc::a::PICC &picc) |
| +m5::nfc::a::Type | identify_picc_st25ta () |
| +uint8_t | identify_plus_sl03 () |
| +bool | read_using_fast (uint8_t *rx, uint16_t &rx_len, const uint8_t saddr) |
| +bool | read_using_read16 (uint8_t *rx, uint16_t &rx_len, const uint8_t saddr, const m5::nfc::a::mifare::classic::Key &key) |
| +bool | write_using_write4 (const uint8_t addr, const uint8_t *tx, const uint16_t tx_len) |
| +bool | write_using_write16 (const uint8_t addr, const uint8_t *tx, const uint16_t tx_len, const m5::nfc::a::mifare::classic::Key &key) |
| +bool | nfca_request_ats (m5::nfc::a::ATS &ats, const uint8_t fsdi=5, const uint8_t cid=0) |
| +bool | nfca_deselect () |
| +bool | mifare_get_version_L3 (uint8_t ver[8]) |
| +bool | mifare_get_version_L4_raw (uint8_t *ver, uint16_t &ver_len) |
| +bool | mifare_get_version_L4_wrapped (uint8_t *ver, uint16_t &ver_len) |
| +bool | mifare_plus_authenticateAES (const uint16_t key_no, const m5::nfc::a::mifare::plus::AESKey &key) |
| +bool | mifare_plus_authenticateAES_L3 (const uint16_t key_no, const m5::nfc::a::mifare::plus::AESKey &key) |
| +bool | mifare_plus_read_plain_nomac (const uint16_t block, const uint8_t count, std::vector< uint8_t > &out) |
| +bool | mifare_plus_read_plain_mac (const uint16_t block, const uint8_t count, std::vector< uint8_t > &out) |
| +bool | mifare_plus_read_mac_l4 (const uint16_t block, const uint8_t count, std::vector< uint8_t > &out, const bool plain) |
| +bool | mifare_plus_write_mac_l4 (const uint16_t block, const uint8_t *data, const uint16_t data_len, const bool plain) |
| +bool | mifare_classic_value_block (const m5::nfc::a::Command cmd, const uint8_t block, const uint32_t arg=0) |
| +bool | mifare_ultralightC_authenticate1 (uint8_t ek[8]) |
| +bool | mifare_ultralightC_authenticate2 (uint8_t rx_ek[8], const uint8_t tx_ek[16]) |
| +bool | ntag_read_page (uint8_t *rx, uint16_t &rx_len, const uint8_t spage, const uint8_t epage) |
| +bool | ntag_write_page (const uint8_t page, const uint8_t tx[4]) |
| +bool | dump_sector_structure (const m5::nfc::a::PICC &picc, const m5::nfc::a::mifare::classic::Key &key) |
| +bool | dump_sector (const uint8_t sector) |
| +bool | dump_sector_mifare_plus_sl3 (const uint8_t sector) |
| +bool | dump_page_structure (const uint16_t maxPage) |
| +bool | dump_page (const uint8_t page, const uint16_t maxPage) |
| +bool | dump_mifare_plus_sl3 (const m5::nfc::a::mifare::plus::AESKey &key) |
| +bool | dump_desfire () |
| +bool | dump_desfire_light () |
| +bool | dump_st25ta () |
+Static Protected Member Functions | |
| +static bool | push_back_picc (std::vector< m5::nfc::a::PICC > &v, const m5::nfc::a::PICC &picc) |
+Protected Attributes | |
| +m5::nfc::a::PICC | _activePICC {} |
| +m5::nfc::ndef::NDEFLayer | _ndef |
| +m5::nfc::isodep::IsoDEP | _isoDEP |
Common interface layer for each chip of the NFC-A reader.
+| bool m5::nfc::NFCLayerA::activate | +( | +const m5::nfc::a::PICC & | picc, | +
| + | + | const bool | force_rats = false ) | +
Activate a specific PICC (anti-collision against the given PICC)
+| picc | PICC |
| force_rats | Force Request_rats (For Plus SL1/2) |
+
|
+ +inline | +
Retrieve the currently activated PICC.
+| bool m5::nfc::NFCLayerA::deactivate | +( | +) | ++ |
Send HLTA to the currently selected PICC (deactivate)
+| bool m5::nfc::NFCLayerA::detect | +( | +m5::nfc::a::PICC & | picc, | +
| + | + | const uint32_t | timeout_ms = 100U ) | +
Detect single idle PICC.
+| [out] | picc | Detected PICC |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerA::detect | +( | +std::vector< m5::nfc::a::PICC > & | piccs, | +
| + | + | const uint32_t | timeout_ms = 1000U ) | +
Detect idle PICCs.
+| [out] | piccs | Detected PICC PICCs (one per activated PICC candidate) |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerA::dump | +( | +const m5::nfc::a::mifare::classic::Key & | mkey = m5::nfc::a::mifare::classic::DEFAULT_KEY | ) | ++ |
Dump all blocks/files.
+| key | MIFARE classic key for Classic |
| bool m5::nfc::NFCLayerA::dump | +( | +const uint8_t | block | ) | ++ |
Dump 1 block.
+| addr | Block address |
+
|
+ +inlineoverrideprotectedvirtual | +
First user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerA::identify | +( | +m5::nfc::a::PICC & | picc | ) | ++ |
Identify the specified PICC type.
+Classification Based on AN10883
| [in/out] | picc PICC |
+
|
+ +inline | +
Is the specified PICC currently active?
+| picc | PICC to check |
+
|
+ +inlineoverridevirtual | +
ISO-DEP interface (nullptr if not supported)
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Last user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Maximum FIFO depth.
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerA::mifareClassicAuthenticateA | +( | +const uint8_t | block, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | key = m5::nfc::a::mifare::classic::DEFAULT_KEY ) | +
Authentication by KeyA for MIFARE classic.
+| block | Authentication block |
| key | MIFARE classic key |
| bool m5::nfc::NFCLayerA::mifareClassicAuthenticateB | +( | +const uint8_t | block, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | key = m5::nfc::a::mifare::classic::DEFAULT_KEY ) | +
Authentication by KeyB for MIFARE classic.
+| block | Authentication block |
| key | MIFARE classic key |
| bool m5::nfc::NFCLayerA::mifareClassicDecrementValueBlock | +( | +const uint8_t | block, | +
| + | + | const uint32_t | delta, | +
| + | + | const bool | transfer = true ) | +
Decrement value of the value block.
+| block | Block |
| delta | Delta |
| transfer | Transfer immediately if true |
| bool m5::nfc::NFCLayerA::mifareClassicIncrementValueBlock | +( | +const uint8_t | block, | +
| + | + | const uint32_t | delta, | +
| + | + | const bool | transfer = true ) | +
Increment value of the value block.
+| block | Block |
| delta | Delta |
| transfer | Transfer immediately if true |
| bool m5::nfc::NFCLayerA::mifareClassicIsValueBlock | +( | +bool & | is_value_block, | +
| + | + | const uint8_t | block ) | +
Is specific block the value block?
+| [out] | is_value_block | true if block is the value block |
| block | Block | |
| key | MIFARE classic key |
| bool m5::nfc::NFCLayerA::mifareClassicReadAccessCondition | +( | +uint8_t & | c123, | +
| + | + | const uint8_t | block ) | +
Read the specific block access conditions.
+| [out] | c123 | Access bits Bit2:C1 Bit1:C2 Bit0:C3 |
| block | Block |
Access conditions for the sector trailer
| C1 | C2 | C3 | KeyA read | KeyA write | Access bits read | Access bits write | KeyB read | KeyB write |
|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | never | keyA | keyA | never | keyA | keyA |
| 0 | 1 | 0 | never | never | keyA | never | keyA | never |
| 1 | 0 | 0 | never | keyB | keyA/B | never | never | keyB |
| 1 | 1 | 0 | never | never | keyA/B | never | never | never |
| 0 | 0 | 1 | never | keyA | keyA | keyA | keyA | keyA |
| 0 | 1 | 1 | never | keyB | keyA/B | keyB | never | keyB |
| 1 | 0 | 1 | never | never | keyA/B | keyB | never | never |
| 1 | 1 | 1 | never | never | keyA/B | never | never | never |
Access conditions for data blocks
| C1 | C2 | C3 | read | write | increment | decrement,transfer, restore | Application |
|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | keyA/B | keyA/B | keyA/B | keyA/B | transport configuration |
| 0 | 1 | 0 | keyA/B | never | neve | never | read/write block |
| 1 | 0 | 0 | keyA/B | keyB | never | never | read/write block |
| 1 | 1 | 0 | keyA/B | keyB | keyB | keyA/B | value block |
| 0 | 0 | 1 | keyA/B | never | never | keyA/B | value block |
| 0 | 1 | 1 | keyB | keyB | never | never | read/write block |
| 1 | 0 | 1 | keyB | never | never | never | read/write block |
| 1 | 1 | 1 | never | never | never | never | read/write block |
| bool m5::nfc::NFCLayerA::mifareClassicReadValueBlock | +( | +int32_t & | value, | +
| + | + | const uint8_t | block ) | +
Read the specific block as the value block.
+| [out] | value | Value |
| block | Block |
| bool m5::nfc::NFCLayerA::mifareClassicRestoreValueBlock | +( | +const uint8_t | block | ) | ++ |
Restore block value to inner buffer.
+| block | Block |
| bool m5::nfc::NFCLayerA::mifareClassicTransferValueBlock | +( | +const uint8_t | block | ) | ++ |
Transfer inner buffer value to block.
+| block | Block |
| bool m5::nfc::NFCLayerA::mifareClassicWriteAccessCondition | +( | +const uint8_t | block, | +
| + | + | const uint8_t | c123, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | akey, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | bkey ) | +
Write the specific block access conditions.
+| block | Block |
| c123 | Access bits Bit2:C1 Bit1:C2 Bit0:C3 |
| akey | KeyA |
| bkey | KeyB |
| bool m5::nfc::NFCLayerA::mifareClassicWriteValueBlock | +( | +const uint8_t | block, | +
| + | + | const int32_t | value ) | +
Write the specific block as the value block.
+| block | Block |
| value | Value |
| bool m5::nfc::NFCLayerA::mifarePlusUpgradeSecurityLevel1 | +( | +const m5::nfc::a::mifare::plus::AESKey & | card_config_key = m5::nfc::a::mifare::plus::DEFAULT_KEY, | +
| + | + | const m5::nfc::a::mifare::plus::AESKey & | card_master_key = m5::nfc::a::mifare::plus::DEFAULT_KEY, | +
| + | + | const m5::nfc::a::mifare::plus::AESKey & | l2_switch_key = m5::nfc::a::mifare::plus::DEFAULT_KEY, | +
| + | + | const m5::nfc::a::mifare::plus::AESKey & | l3_switch_key = m5::nfc::a::mifare::plus::DEFAULT_KEY, | +
| + | + | const m5::nfc::a::mifare::plus::AESKey & | aes_sector_key = m5::nfc::a::mifare::plus::DEFAULT_FF_KEY, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | key_a = m5::nfc::a::mifare::classic::DEFAULT_KEY, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | key_b = m5::nfc::a::mifare::classic::DEFAULT_KEY ) | +
Upgrade security level to SL1 (Classic compatibility mode)
+| card_config_key | Card Configuration Key (AES) |
| card_master_key | Card Master Key (AES) |
| l2_switch_key | Level 2 Switch Key (AES, for MIFARE Plus X/EV2 SL2 only) |
| l3_switch_key | Level 3 Switch Key (AES, for SL3) |
| aes_sector_key | AES sector key (for SL2/SL3, written to 0x4000+) |
| key_a | Crypto1 Key A (applies to all sectors) |
| key_b | Crypto1 Key B (applies to all sectors) |
| bool m5::nfc::NFCLayerA::mifarePlusUpgradeSecurityLevel2 | +( | +const m5::nfc::a::mifare::plus::AESKey & | sl2_switch_key = m5::nfc::a::mifare::plus::DEFAULT_KEY | ) | ++ |
Upgrade security level to SL2 (AES over CRYPTO1)
+| sl2_switch_key | SL2 Switch Key (AES) |
| bool m5::nfc::NFCLayerA::mifarePlusUpgradeSecurityLevel3 | +( | +const m5::nfc::a::mifare::plus::AESKey & | l3_switch_key = m5::nfc::a::mifare::plus::DEFAULT_KEY | ) | ++ |
Upgrade security level to SL3 (AES)
+| l3_switch_key | Level 3 Switch Key (AES) |
| bool m5::nfc::NFCLayerA::mifareUltralightChangeFormatToNDEF | +( | +) | ++ |
Write change to NFC Type-2 (NDEF) format for MIFARE Ultralight/C.
+| bool m5::nfc::NFCLayerA::ndefIsValidFormat | +( | +bool & | valid | ) | ++ |
Is the PICC data in NDEF format?
+| [out] | valid | True if NDEF format |
| bool m5::nfc::NFCLayerA::ndefPrepareDesfire | +( | +const uint32_t | max_ndef_size | ) | ++ |
Prepare NDEF files on MIFARE DESFire (EV1/EV2/EV3)
+| max_ndef_size | Max size for NDEF file |
| bool m5::nfc::NFCLayerA::ndefPrepareDesfireLight | +( | +) | ++ |
Prepare NDEF files on MIFARE DESFire Light.
+| bool m5::nfc::NFCLayerA::ndefRead | +( | +m5::nfc::ndef::TLV & | msg | ) | ++ |
Read NDEF Message TLV.
+| [out] | msg | Message If it does not exist, a Null TLV is returned |
| bool m5::nfc::NFCLayerA::ndefRead | +( | +std::vector< m5::nfc::ndef::TLV > & | tlvs, | +
| + | + | const m5::nfc::ndef::TagBits | tagBits = m5::nfc::ndef::tagBitsAll ) | +
Read any NDEF TLV.
+| [out] | tlvs | Message vector |
| tagBits | Bit indicating the group of NDEF tags to be read |
| bool m5::nfc::NFCLayerA::ndefWrite | +( | +const m5::nfc::ndef::TLV & | msg | ) | ++ |
Write NDEF message.
+| msg | Message (NDEF Message) |
| bool m5::nfc::NFCLayerA::ndefWrite | +( | +const std::vector< m5::nfc::ndef::TLV > & | tlvs | ) | ++ |
Write any NDEF Messages TLV.
+| tlvs | Message vector |
+
|
+ +inline | +
Reactivate the previously selected PICC.
+This function attempts to recover communication with the currently stored _activePICC when the PICC has entered the HALT state, for example due to a protocol error, timeout, or loss of RF field synchronization. Internally performs a WUPA (Wake-Up) followed by anti-collision and SELECT sequence using the last known PICC
| bool m5::nfc::NFCLayerA::reactivate | +( | +const m5::nfc::a::PICC & | picc, | +
| + | + | const bool | force_rats = false ) | +
Wake and activate a specific PICC by PICC.
+| picc | Target PICC |
| force_rats | Force Request_rats (For Plus SL1/2) |
+
|
+ +overrideprotectedvirtual | +
Read NDEF (block)
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerA::read | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint8_t | saddr, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | key = m5::nfc::a::mifare::classic::DEFAULT_KEY ) | +
Read any bytes from user area.
+Continue reading only the user area from the first block of the user area until rx_len is satisfied
| rx | Buffer |
| [in/out] | rx_len in:buffer size, out:actual read size |
| saddr | Reading start block/page address |
| bool m5::nfc::NFCLayerA::read | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint8_t | saddr, | +
| + | + | const m5::nfc::a::mifare::plus::AESKey & | key ) | +
Read any bytes from user area (MIFARE Plus SL3)
+| rx | Buffer |
| [in/out] | rx_len in:buffer size, out:actual read size |
| saddr | Reading start block address |
| key | AES sector key (for MIFARE Plus SL3) |
| bool m5::nfc::NFCLayerA::read16 | +( | +uint8_t | rx[16], | +
| + | + | const uint8_t | addr ) | +
Read the 1 block / 4 page (16 bytes)
+| rx | Buffer (at least 16 bytes) |
| addr | Block/Page address |
| bool m5::nfc::NFCLayerA::read4 | +( | +uint8_t | rx[4], | +
| + | + | const uint8_t | addr ) | +
Read the 1 page.
+| rx | Buffer (at least 4 bytes) |
| addr | Block/Page address |
| bool m5::nfc::NFCLayerA::request | +( | +uint16_t & | atqa | ) | ++ |
Send REQA to discover a PICC in IDLE.
+| [out] | atqa | ATQA received from PICC |
| bool m5::nfc::NFCLayerA::select | +( | +m5::nfc::a::PICC & | picc | ) | ++ |
Select a PICC (anti-collision + SELECT cascade to ACTIVE)
+| [out] | picc | The fully activated PICC (single- or multi-cascade) |
+
|
+ +overridevirtual | +
activePICC's File system
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
activePICC's NDEF type
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Transceive (RF command)
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for read.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for write.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineprotectedvirtual | +
User area size (bytes)
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerA::wakeup | +( | +uint16_t & | atqa | ) | ++ |
Send WUPA to wake a PICC from IDLE or HALT.
+| [out] | atqa | ATQA received from PICC |
+
|
+ +overrideprotectedvirtual | +
Write NDEF (block)
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerA::write | +( | +const uint8_t | addr, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const m5::nfc::a::mifare::plus::AESKey & | key ) | +
Write any bytes to user area (MIFARE Plus SL3)
+| addr | Writing start block address |
| tx | Buffer |
| tx_len | Buffer size |
| key | AES sector key (for MIFARE Plus SL3) |
| bool m5::nfc::NFCLayerA::write | +( | +const uint8_t | saddr, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const m5::nfc::a::mifare::classic::Key & | key = m5::nfc::a::mifare::classic::DEFAULT_KEY ) | +
Write any bytes to user area.
+Continue writing only the user area from the first block of the user area until tx_len is satisfied
| saddr | Writing start block/page address |
| tx | Buffer |
| tx_len | buffer size |
| bool m5::nfc::NFCLayerA::write16 | +( | +const uint8_t | addr, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const bool | safety = true ) | +
Write the 1 block / 4 page (16 bytes)
+| addr | Block/Page address |
| tx | Buffef |
| tx_len | Buffer size |
| safety | Fail to write to out of the user memory area if true (safety measure) |
| bool m5::nfc::NFCLayerA::write4 | +( | +const uint8_t | addr, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const bool | safety = true ) | +
Write the 1 page (4 bytes)
+| addr | Block/Page address |
| tx | Buffer |
| tx_len | Buffer size |
| safety | Fail to write to out of the user memory area if true (safety measure) |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::NFCLayerB, including all inherited members.
+| _activePICC (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | protected |
| _isoDEP (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | protected |
| _ndef (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | protected |
| activatedPICC() const | m5::nfc::NFCLayerB | inline |
| deactivate() (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | |
| deselect(const uint8_t pupi[4], const uint8_t cid=0xFF) (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | |
| detect(m5::nfc::b::PICC &picc, const uint8_t afi=0x00, const uint32_t timeout_ms=100U) | m5::nfc::NFCLayerB | |
| detect(std::vector< m5::nfc::b::PICC > &piccs, const uint8_t afi=0x00, const uint8_t max_piccs=4, const uint32_t timeout_ms=1000U) | m5::nfc::NFCLayerB | |
| first_user_block() const override | m5::nfc::NFCLayerB | inlineprotectedvirtual |
| hlt(const uint8_t pupi[4]) (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | |
| isActive(const m5::nfc::b::PICC &picc) const | m5::nfc::NFCLayerB | inline |
| isoDEP() override | m5::nfc::NFCLayerB | inlinevirtual |
| last_user_block() const override | m5::nfc::NFCLayerB | inlineprotectedvirtual |
| maximum_fifo_depth() const override | m5::nfc::NFCLayerB | virtual |
| maximum_read_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| maximum_write_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| NFCLayerB(m5::unit::UnitST25R3916 &u) (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | explicit |
| NFCLayerB(m5::unit::CapST25R3916 &u) (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | explicit |
| read(uint8_t *rx, uint16_t &rx_len, const uint16_t saddr) override | m5::nfc::NFCLayerB | inlineprotectedvirtual |
| receive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) override | m5::nfc::NFCLayerB | virtual |
| request(uint8_t *atqb, uint16_t &atqb_len, const uint8_t afi=0x00, const m5::nfc::b::Require slots=m5::nfc::b::Require::Slot1) | m5::nfc::NFCLayerB | inline |
| request_wakeup(uint8_t *atqb, uint16_t &atqb_len, const uint8_t afi, const m5::nfc::b::Require slots, const bool wakeup) (defined in m5::nfc::NFCLayerB) | m5::nfc::NFCLayerB | protected |
| select(m5::nfc::b::PICC &picc) | m5::nfc::NFCLayerB | |
| supportsFilesystem() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| supportsNFCTag() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| transceive(uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) override | m5::nfc::NFCLayerB | virtual |
| transmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) override | m5::nfc::NFCLayerB | virtual |
| unit_size_read() const override | m5::nfc::NFCLayerB | inlineprotectedvirtual |
| unit_size_write() const override | m5::nfc::NFCLayerB | inlineprotectedvirtual |
| user_area_size() const | m5::nfc::NFCLayerB | inlineprotectedvirtual |
| wakeup(uint8_t *atqb, uint16_t &atqb_len, const uint8_t afi=0x00, const m5::nfc::b::Require slots=m5::nfc::b::Require::Slot1) | m5::nfc::NFCLayerB | inline |
| write(const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len) override | m5::nfc::NFCLayerB | inlineprotectedvirtual |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Common interface layer for each chip of the NFC-B reader. + More...
+ +#include <nfc_layer_b.hpp>
+
++Public Member Functions | |
| + | NFCLayerB (m5::unit::UnitST25R3916 &u) |
| + | NFCLayerB (m5::unit::CapST25R3916 &u) |
| virtual bool | transceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) override |
| Transceive (RF command) | |
| virtual bool | transmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) override |
| Transmit only. | |
| virtual bool | receive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) override |
| Receive only. | |
| virtual m5::nfc::isodep::IsoDEP * | isoDEP () override |
| ISO-DEP interface (nullptr if not supported) | |
| virtual uint16_t | maximum_fifo_depth () const override |
| Maximum FIFO depth. | |
| bool | isActive (const m5::nfc::b::PICC &picc) const |
| Is the specified PICC currently active? | |
| const m5::nfc::b::PICC & | activatedPICC () const |
| Retrieve the currently activated PICC. | |
Detection and activation | |
| bool | request (uint8_t *atqb, uint16_t &atqb_len, const uint8_t afi=0x00, const m5::nfc::b::Require slots=m5::nfc::b::Require::Slot1) |
| Send REQB to discover a PICC in IDLE. | |
| bool | wakeup (uint8_t *atqb, uint16_t &atqb_len, const uint8_t afi=0x00, const m5::nfc::b::Require slots=m5::nfc::b::Require::Slot1) |
| Send WUPB to wake a PICC from IDLE or HALT. | |
| bool | detect (m5::nfc::b::PICC &picc, const uint8_t afi=0x00, const uint32_t timeout_ms=100U) |
| Detect single idle PICC. | |
| bool | detect (std::vector< m5::nfc::b::PICC > &piccs, const uint8_t afi=0x00, const uint8_t max_piccs=4, const uint32_t timeout_ms=1000U) |
| Detect idle PICCs. | |
| bool | select (m5::nfc::b::PICC &picc) |
| Send REQB to discover a PICC in IDLE. | |
For activated PICC | |
| +bool | hlt (const uint8_t pupi[4]) |
| +bool | deselect (const uint8_t pupi[4], const uint8_t cid=0xFF) |
| +bool | deactivate () |
Public Member Functions inherited from m5::nfc::NFCLayerInterface | |
| virtual m5::nfc::NFCForumTag | supportsNFCTag () const |
| activePICC's NDEF type | |
| virtual file_system_feature_t | supportsFilesystem () const |
| activePICC's File system | |
| virtual uint8_t | maximum_read_blocks () const |
| Maximum read blocks for NFC-F. | |
| virtual uint8_t | maximum_write_blocks () const |
| Maximum write blocks for NFC-F. | |
+Protected Member Functions | |
| +bool | request_wakeup (uint8_t *atqb, uint16_t &atqb_len, const uint8_t afi, const m5::nfc::b::Require slots, const bool wakeup) |
| virtual bool | read (uint8_t *rx, uint16_t &rx_len, const uint16_t saddr) override |
| Read NDEF (block) | |
| virtual bool | write (const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len) override |
| Write NDEF (block) | |
| virtual uint16_t | first_user_block () const override |
| First user block. | |
| virtual uint16_t | last_user_block () const override |
| Last user block. | |
| virtual uint16_t | user_area_size () const |
| User area size (bytes) | |
| virtual uint16_t | unit_size_read () const override |
| Unit size for read. | |
| virtual uint16_t | unit_size_write () const override |
| Unit size for write. | |
+Protected Attributes | |
| +m5::nfc::b::PICC | _activePICC {} |
| +m5::nfc::ndef::NDEFLayer | _ndef |
| +m5::nfc::isodep::IsoDEP | _isoDEP |
Common interface layer for each chip of the NFC-B reader.
+
+
|
+ +inline | +
Retrieve the currently activated PICC.
+| bool m5::nfc::NFCLayerB::detect | +( | +m5::nfc::b::PICC & | picc, | +
| + | + | const uint8_t | afi = 0x00, | +
| + | + | const uint32_t | timeout_ms = 100U ) | +
Detect single idle PICC.
+| [out] | picc | Detected PICC |
| afi | Application Family Identifier (0x00 all) | |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerB::detect | +( | +std::vector< m5::nfc::b::PICC > & | piccs, | +
| + | + | const uint8_t | afi = 0x00, | +
| + | + | const uint8_t | max_piccs = 4, | +
| + | + | const uint32_t | timeout_ms = 1000U ) | +
Detect idle PICCs.
+| [out] | piccs | Detected PICC PICCs (one per activated PICC candidate) |
| afi | Application Family Identifier (0x00 all) | |
| max_picc | How many to detect | |
| timeout_ms | Polling time budget in milliseconds |
+
|
+ +inlineoverrideprotectedvirtual | +
First user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inline | +
Is the specified PICC currently active?
+| picc | PICC to check |
+
|
+ +inlineoverridevirtual | +
ISO-DEP interface (nullptr if not supported)
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Last user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Maximum FIFO depth.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Read NDEF (block)
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Receive only.
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inline | +
Send REQB to discover a PICC in IDLE.
+| [out] | atqb | ATQB received from PICC (at atqb_len) |
| [in/out] | in:atqb length out:actual received length | |
| afi | Application Family Identifier (0x00 all) | |
| slots | Number of slots required |
| bool m5::nfc::NFCLayerB::select | +( | +m5::nfc::b::PICC & | picc | ) | ++ |
Send REQB to discover a PICC in IDLE.
+| [out] | atqb | ATQB received from PICC (at atqb_len) |
| [in/out] | in:atqb length out:actual received length | |
| afi | Application Family Identifier (0x00 all) | |
| slots | Number of slots required |
+
|
+ +overridevirtual | +
Transceive (RF command)
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Transmit only.
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for read.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for write.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineprotectedvirtual | +
User area size (bytes)
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inline | +
Send WUPB to wake a PICC from IDLE or HALT.
+| [out] | atqb | ATQB received from PICC (at least atqb_len) |
| [in/out] | in:atqb length out:actual received length | |
| afi | Application Family Identifier (0x00 all) | |
| slots | Number of slots required |
+
|
+ +inlineoverrideprotectedvirtual | +
Write NDEF (block)
+ +Implements m5::nfc::NFCLayerInterface.
+ +|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::NFCLayerF, including all inherited members.
+| _activePICC (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| _sk (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | |
| _sk1 (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | |
| _sk2 (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | |
| activate(const m5::nfc::f::PICC &picc) | m5::nfc::NFCLayerF | |
| activatedPICC() const | m5::nfc::NFCLayerF | inline |
| clearAuthenticate() | m5::nfc::NFCLayerF | inline |
| clearSPAD() | m5::nfc::NFCLayerF | |
| deactivate() | m5::nfc::NFCLayerF | |
| detect(m5::nfc::f::PICC &picc, const uint32_t timeout_ms=100U) | m5::nfc::NFCLayerF | |
| detect(std::vector< m5::nfc::f::PICC > &piccs, m5::nfc::f::TimeSlot time_slot=m5::nfc::f::TimeSlot::Slot16, const uint32_t timeout_ms=500U) | m5::nfc::NFCLayerF | inline |
| detect(std::vector< m5::nfc::f::PICC > &piccs, const uint16_t private_code, m5::nfc::f::TimeSlot time_slot=m5::nfc::f::TimeSlot::Slot16, const uint32_t timeout_ms=500U) | m5::nfc::NFCLayerF | inline |
| detect(std::vector< m5::nfc::f::PICC > &piccs, const uint16_t *private_code, const uint8_t pc_size, m5::nfc::f::TimeSlot time_slot=m5::nfc::f::TimeSlot::Slot16, const uint32_t timeout_ms=500U) | m5::nfc::NFCLayerF | |
| dump() | m5::nfc::NFCLayerF | |
| dump(const m5::nfc::f::block_t block) | m5::nfc::NFCLayerF | |
| dump_block(m5::nfc::f::block_t block) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| dump_felica_lite() (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| dump_felica_lite_s() (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| external_authenticate_lite_s(const uint8_t ck[16], const uint16_t ckv) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| externalAuthenticate(const uint8_t ck[16], const uint16_t ckv) | m5::nfc::NFCLayerF | |
| first_user_block() const override | m5::nfc::NFCLayerF | inlineprotectedvirtual |
| internal_authenticate_lite_s(const uint8_t ck[16], const uint16_t ckv, const uint8_t rc[16], const bool include_wcnt=false) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| internalAuthenticate(const uint8_t ck[16], const uint16_t ckv, const uint8_t rc[16]) | m5::nfc::NFCLayerF | |
| isActive(const m5::nfc::f::PICC &picc) const | m5::nfc::NFCLayerF | inline |
| isoDEP() | m5::nfc::NFCLayerInterface | inlinevirtual |
| last_user_block() const override | m5::nfc::NFCLayerF | inlineprotectedvirtual |
| maximum_fifo_depth() const override | m5::nfc::NFCLayerF | virtual |
| maximum_read_blocks() const override | m5::nfc::NFCLayerF | inlineprotectedvirtual |
| maximum_write_blocks() const override | m5::nfc::NFCLayerF | inlineprotectedvirtual |
| ndefIsValidFormat(bool &valid) | m5::nfc::NFCLayerF | |
| ndefRead(m5::nfc::ndef::TLV &msg) | m5::nfc::NFCLayerF | |
| ndefWrite(const m5::nfc::ndef::TLV &msg) | m5::nfc::NFCLayerF | |
| NFCLayerF(m5::unit::UnitST25R3916 &u) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | explicit |
| NFCLayerF(m5::unit::CapST25R3916 &u) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | explicit |
| polling(m5::nfc::f::PICC &picc, const uint16_t system_code, const m5::nfc::f::RequestCode request_code, const m5::nfc::f::TimeSlot time_slot) | m5::nfc::NFCLayerF | |
| reactivate(const m5::nfc::f::PICC &picc) | m5::nfc::NFCLayerF | inline |
| read(uint8_t *rx, uint16_t &rx_len, const m5::nfc::f::block_t sblock) | m5::nfc::NFCLayerF | |
| read(uint8_t *rx, uint16_t &rx_len, const m5::nfc::f::block_t *block_list, const uint8_t block_num, const uint16_t *service_code, const uint8_t service_num) | m5::nfc::NFCLayerF | inline |
| read(uint8_t *rx, uint16_t &rx_len, const uint16_t saddr) override | m5::nfc::NFCLayerF | protectedvirtual |
| read16(uint8_t rx[16], const m5::nfc::f::block_t block, const uint16_t service_code=m5::nfc::f::service_random_read) | m5::nfc::NFCLayerF | inline |
| read16(uint8_t rx[16], const m5::nfc::f::block_t *block, const uint8_t block_num, const uint16_t service_code=m5::nfc::f::service_random_read) | m5::nfc::NFCLayerF | |
| read_without_encryption_impl(uint8_t *rx, uint16_t &rx_len, const m5::nfc::f::block_t *block_list, const uint8_t block_num, const uint16_t *service_code, const uint8_t service_num, const m5::nfc::f::PICC &picc) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| readWithMAC16(uint8_t rx[16], const m5::nfc::f::block_t block) | m5::nfc::NFCLayerF | |
| receive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| request_response_impl(const m5::nfc::f::PICC &picc, m5::nfc::f::standard::Mode &mode) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| requestResponse(m5::nfc::f::standard::Mode &mode) | m5::nfc::NFCLayerF | inline |
| requestService(uint16_t &key_version, const uint16_t node_code) | m5::nfc::NFCLayerF | |
| requestService(uint16_t key_version[], const uint16_t *node_code, const uint8_t node_num) | m5::nfc::NFCLayerF | |
| requestSystemCode(uint16_t code_list[255], uint8_t &code_num) | m5::nfc::NFCLayerF | |
| supportsFilesystem() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| supportsNFCTag() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| transceive(uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| transmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| unit_size_read() const override | m5::nfc::NFCLayerF | inlineprotectedvirtual |
| unit_size_write() const override | m5::nfc::NFCLayerF | inlineprotectedvirtual |
| user_area_size() const | m5::nfc::NFCLayerF | inlineprotectedvirtual |
| write(const m5::nfc::f::block_t sblock, const uint8_t *tx, const uint16_t tx_len) | m5::nfc::NFCLayerF | |
| write(const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len) override | m5::nfc::NFCLayerF | protectedvirtual |
| write16(const m5::nfc::f::block_t block, const uint8_t tx[16], const uint16_t tx_len) | m5::nfc::NFCLayerF | |
| write_without_encryption_impl(const m5::nfc::f::PICC &picc, const m5::nfc::f::block_t *block_list, const uint8_t block_num, const uint16_t *service_code, const uint8_t service_num, const uint8_t *tx, const uint16_t tx_len) (defined in m5::nfc::NFCLayerF) | m5::nfc::NFCLayerF | protected |
| writeSupportNDEF(const bool enabled) | m5::nfc::NFCLayerF | |
| writeWithMAC16(const m5::nfc::f::block_t block, const uint8_t tx[16], const uint16_t tx_len) | m5::nfc::NFCLayerF |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Common interface layer for each chip of the NFC-F reader. + More...
+ +#include <nfc_layer_f.hpp>
+
++Public Member Functions | |
| + | NFCLayerF (m5::unit::UnitST25R3916 &u) |
| + | NFCLayerF (m5::unit::CapST25R3916 &u) |
| virtual uint16_t | maximum_fifo_depth () const override |
| Maximum FIFO depth. | |
| bool | isActive (const m5::nfc::f::PICC &picc) const |
| Is the specified PICC currently active? | |
| const m5::nfc::f::PICC & | activatedPICC () const |
| Retrieve the currently activated PICC. | |
Detection and activation | |
| bool | polling (m5::nfc::f::PICC &picc, const uint16_t system_code, const m5::nfc::f::RequestCode request_code, const m5::nfc::f::TimeSlot time_slot) |
| Polling. | |
| bool | detect (m5::nfc::f::PICC &picc, const uint32_t timeout_ms=100U) |
| Detect single PICC. | |
| bool | detect (std::vector< m5::nfc::f::PICC > &piccs, m5::nfc::f::TimeSlot time_slot=m5::nfc::f::TimeSlot::Slot16, const uint32_t timeout_ms=500U) |
| Detect PICCs. | |
| bool | detect (std::vector< m5::nfc::f::PICC > &piccs, const uint16_t private_code, m5::nfc::f::TimeSlot time_slot=m5::nfc::f::TimeSlot::Slot16, const uint32_t timeout_ms=500U) |
| Detect PICCs matching the specified system code. | |
| bool | detect (std::vector< m5::nfc::f::PICC > &piccs, const uint16_t *private_code, const uint8_t pc_size, m5::nfc::f::TimeSlot time_slot=m5::nfc::f::TimeSlot::Slot16, const uint32_t timeout_ms=500U) |
| Detect PICCs matching the specified system code. | |
| bool | activate (const m5::nfc::f::PICC &picc) |
| Activate a specific PICC. | |
| bool | reactivate (const m5::nfc::f::PICC &picc) |
| Activate a specific PICC. | |
For activated PICC | |
| bool | deactivate () |
| Deactivate PICC. | |
| bool | requestService (uint16_t &key_version, const uint16_t node_code) |
| Request service. | |
| bool | requestService (uint16_t key_version[], const uint16_t *node_code, const uint8_t node_num) |
| Request service. | |
| bool | requestResponse (m5::nfc::f::standard::Mode &mode) |
| Request response. | |
| bool | requestSystemCode (uint16_t code_list[255], uint8_t &code_num) |
| Request system code. | |
| bool | dump () |
| Dump all blocks. | |
| bool | dump (const m5::nfc::f::block_t block) |
| Dump 1 block. | |
Read/Write without encryption | |
| |
| bool | read16 (uint8_t rx[16], const m5::nfc::f::block_t block, const uint16_t service_code=m5::nfc::f::service_random_read) |
| Read the 1 block with service code. | |
| bool | read16 (uint8_t rx[16], const m5::nfc::f::block_t *block, const uint8_t block_num, const uint16_t service_code=m5::nfc::f::service_random_read) |
| Read the 1 block with service codes. | |
| bool | read (uint8_t *rx, uint16_t &rx_len, const m5::nfc::f::block_t sblock) |
| Read any bytes from user area. | |
| bool | read (uint8_t *rx, uint16_t &rx_len, const m5::nfc::f::block_t *block_list, const uint8_t block_num, const uint16_t *service_code, const uint8_t service_num) |
| Read the specified block list and service codes. | |
| bool | write16 (const m5::nfc::f::block_t block, const uint8_t tx[16], const uint16_t tx_len) |
| Write the 1 block. | |
| bool | write (const m5::nfc::f::block_t sblock, const uint8_t *tx, const uint16_t tx_len) |
| Write any bytes to user area. | |
| bool | clearSPAD () |
| Clear SPAD_0 - 13. | |
Read/Write with MAC | |
| |
| bool | internalAuthenticate (const uint8_t ck[16], const uint16_t ckv, const uint8_t rc[16]) |
| Internal authentication. | |
| bool | externalAuthenticate (const uint8_t ck[16], const uint16_t ckv) |
| External authentication. | |
| void | clearAuthenticate () |
| Internal authentication. | |
| bool | readWithMAC16 (uint8_t rx[16], const m5::nfc::f::block_t block) |
| Read the 1 block. | |
| bool | writeWithMAC16 (const m5::nfc::f::block_t block, const uint8_t tx[16], const uint16_t tx_len) |
| Write the 1 block. | |
NDEF | |
| |
| bool | ndefIsValidFormat (bool &valid) |
| Is the PICC data in NDEF format? | |
| bool | ndefRead (m5::nfc::ndef::TLV &msg) |
| Read NDEF Message TLV. | |
| bool | ndefWrite (const m5::nfc::ndef::TLV &msg) |
| Write NDEF message TLV. | |
| bool | writeSupportNDEF (const bool enabled) |
| Write changes for NDEF Support. | |
Public Member Functions inherited from m5::nfc::NFCLayerInterface | |
| virtual m5::nfc::NFCForumTag | supportsNFCTag () const |
| activePICC's NDEF type | |
| virtual file_system_feature_t | supportsFilesystem () const |
| activePICC's File system | |
| virtual m5::nfc::isodep::IsoDEP * | isoDEP () |
| ISO-DEP interface (nullptr if not supported) | |
| virtual bool | transceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive (RF command) | |
| virtual bool | transmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transmit only. | |
| virtual bool | receive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive only. | |
+Protected Member Functions | |
| virtual bool | read (uint8_t *rx, uint16_t &rx_len, const uint16_t saddr) override |
| Read NDEF (block) | |
| virtual bool | write (const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len) override |
| Write NDEF (block) | |
| virtual uint16_t | first_user_block () const override |
| First user block. | |
| virtual uint16_t | last_user_block () const override |
| Last user block. | |
| virtual uint16_t | user_area_size () const |
| User area size (bytes) | |
| virtual uint16_t | unit_size_read () const override |
| Unit size for read. | |
| virtual uint16_t | unit_size_write () const override |
| Unit size for write. | |
| virtual uint8_t | maximum_read_blocks () const override |
| Maximum read blocks for NFC-F. | |
| virtual uint8_t | maximum_write_blocks () const override |
| Maximum write blocks for NFC-F. | |
| +bool | request_response_impl (const m5::nfc::f::PICC &picc, m5::nfc::f::standard::Mode &mode) |
| +bool | read_without_encryption_impl (uint8_t *rx, uint16_t &rx_len, const m5::nfc::f::block_t *block_list, const uint8_t block_num, const uint16_t *service_code, const uint8_t service_num, const m5::nfc::f::PICC &picc) |
| +bool | write_without_encryption_impl (const m5::nfc::f::PICC &picc, const m5::nfc::f::block_t *block_list, const uint8_t block_num, const uint16_t *service_code, const uint8_t service_num, const uint8_t *tx, const uint16_t tx_len) |
| +bool | dump_felica_lite () |
| +bool | dump_felica_lite_s () |
| +bool | dump_block (m5::nfc::f::block_t block) |
| +bool | internal_authenticate_lite_s (const uint8_t ck[16], const uint16_t ckv, const uint8_t rc[16], const bool include_wcnt=false) |
| +bool | external_authenticate_lite_s (const uint8_t ck[16], const uint16_t ckv) |
+Protected Attributes | |
| +m5::nfc::f::PICC | _activePICC {} |
Common interface layer for each chip of the NFC-F reader.
+| bool m5::nfc::NFCLayerF::activate | +( | +const m5::nfc::f::PICC & | picc | ) | ++ |
Activate a specific PICC.
+| picc | PICC |
+
|
+ +inline | +
Retrieve the currently activated PICC.
+
+
|
+ +inline | +
Internal authentication.
+| ck | Card key |
| ckv | Card key version |
| rc | Random challenge |
| bool m5::nfc::NFCLayerF::clearSPAD | +( | +) | ++ |
Clear SPAD_0 - 13.
+| bool m5::nfc::NFCLayerF::deactivate | +( | +) | ++ |
Deactivate PICC.
+| bool m5::nfc::NFCLayerF::detect | +( | +m5::nfc::f::PICC & | picc, | +
| + | + | const uint32_t | timeout_ms = 100U ) | +
Detect single PICC.
+| [out] | picc | Detected PICC |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerF::detect | +( | +std::vector< m5::nfc::f::PICC > & | piccs, | +
| + | + | const uint16_t * | private_code, | +
| + | + | const uint8_t | pc_size, | +
| + | + | m5::nfc::f::TimeSlot | time_slot = m5::nfc::f::TimeSlot::Slot16, | +
| + | + | const uint32_t | timeout_ms = 500U ) | +
Detect PICCs matching the specified system code.
+| [out] | piccs | Detected PICCs |
| private_code | Private system code array | |
| pc_size | private_code size | |
| time_slot | Maximum number of slots that can be responded | |
| timeout_ms | Polling time budget in milliseconds |
+
|
+ +inline | +
Detect PICCs matching the specified system code.
+| [out] | piccs | Detected PICCs |
| private_code | Private system code | |
| time_slot | Maximum number of slots that can be responded | |
| timeout_ms | Polling time budget in milliseconds |
+
|
+ +inline | +
Detect PICCs.
+| [out] | piccs | Detected PICCs |
| time_slot | Maximum number of slots that can be responded | |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerF::dump | +( | +) | ++ |
Dump all blocks.
+| bool m5::nfc::NFCLayerF::dump | +( | +const m5::nfc::f::block_t | block | ) | ++ |
Dump 1 block.
+| block | block list element |
| bool m5::nfc::NFCLayerF::externalAuthenticate | +( | +const uint8_t | ck[16], | +
| + | + | const uint16_t | ckv ) | +
External authentication.
+| wcnt | WCNT value |
+
|
+ +inlineoverrideprotectedvirtual | +
First user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerF::internalAuthenticate | +( | +const uint8_t | ck[16], | +
| + | + | const uint16_t | ckv, | +
| + | + | const uint8_t | rc[16] ) | +
Internal authentication.
+| ck | Card key |
| ckv | Card key version |
| rc | Random challenge |
+
|
+ +inline | +
Is the specified PICC currently active?
+| picc | PICC to check |
+
|
+ +inlineoverrideprotectedvirtual | +
Last user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Maximum FIFO depth.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Maximum read blocks for NFC-F.
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Maximum write blocks for NFC-F.
+ +Reimplemented from m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerF::ndefIsValidFormat | +( | +bool & | valid | ) | ++ |
Is the PICC data in NDEF format?
+| [out] | valid | True if NDEF format |
| bool m5::nfc::NFCLayerF::ndefRead | +( | +m5::nfc::ndef::TLV & | msg | ) | ++ |
Read NDEF Message TLV.
+| [out] | msg | Message If it does not exist, a Null TLV is returned |
| bool m5::nfc::NFCLayerF::ndefWrite | +( | +const m5::nfc::ndef::TLV & | msg | ) | ++ |
Write NDEF message TLV.
+| msg | Message TLV |
| bool m5::nfc::NFCLayerF::polling | +( | +m5::nfc::f::PICC & | picc, | +
| + | + | const uint16_t | system_code, | +
| + | + | const m5::nfc::f::RequestCode | request_code, | +
| + | + | const m5::nfc::f::TimeSlot | time_slot ) | +
Polling.
+| [out] | PICC | detected PICC |
| system_code | System code | |
| request_code | Request code | |
| time_slot | Maximum number of slots that can be responded |
+
|
+ +inline | +
Activate a specific PICC.
+| picc | PICC |
+
|
+ +inline | +
Read the specified block list and service codes.
+| [out] | rx | Buffer (At least 16 * block_num) |
| [in/out] | rx_len in:buffer size, out:actual read size | |
| block | Target block array | |
| block_num | Number of block | |
| service_code | Service code array | |
| service_num | Number of service code |
| bool m5::nfc::NFCLayerF::read | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const m5::nfc::f::block_t | sblock ) | +
Read any bytes from user area.
+Continue reading only the user area from the first block of the user area until rx_len is satisfied
| [out] | rx | Buffer |
| [in/out] | rx_len in:buffer size, out:actual read size | |
| sblock | Block to start reading |
+
|
+ +overrideprotectedvirtual | +
Read NDEF (block)
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerF::read16 | +( | +uint8_t | rx[16], | +
| + | + | const m5::nfc::f::block_t * | block, | +
| + | + | const uint8_t | block_num, | +
| + | + | const uint16_t | service_code = m5::nfc::f::service_random_read ) | +
Read the 1 block with service codes.
+| [out] | rx | Output buffer |
| block | Target block array | |
| block_num | Number of block | |
| service_code | Service code |
| service_code | Service code |
+
|
+ +inline | +
Read the 1 block with service code.
+| [out] | rx | Output buffer |
| block | Target block | |
| service_code | Service code |
| bool m5::nfc::NFCLayerF::readWithMAC16 | +( | +uint8_t | rx[16], | +
| + | + | const m5::nfc::f::block_t | block ) | +
Read the 1 block.
+| [out] | rx | Output buffer |
| block | Target block |
+
|
+ +inline | +
Request response.
+| [out] | mode | Mode if detected |
| bool m5::nfc::NFCLayerF::requestService | +( | +uint16_t & | key_version, | +
| + | + | const uint16_t | node_code ) | +
Request service.
+| [out] | key_version | Key version |
| node_code | Node code |
| bool m5::nfc::NFCLayerF::requestService | +( | +uint16_t | key_version[], | +
| + | + | const uint16_t * | node_code, | +
| + | + | const uint8_t | node_num ) | +
Request service.
+| [out] | key_version | Key version array (at least node_num) |
| node_code | Node code array | |
| node_num | Number of node_code |
| bool m5::nfc::NFCLayerF::requestSystemCode | +( | +uint16_t | code_list[255], | +
| + | + | uint8_t & | code_num ) | +
Request system code.
+| [out] | code_list | Code list array (at least 255) |
| [out] | code_num | Number of code_list |
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for read.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for write.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineprotectedvirtual | +
User area size (bytes)
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerF::write | +( | +const m5::nfc::f::block_t | sblock, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len ) | +
Write any bytes to user area.
+Continue writing only the user area from the first block of the user area until tx_len is satisfied
| sblock | Block to start writing |
| tx | Buffer |
| tx_len | Buffer size |
+
|
+ +overrideprotectedvirtual | +
Write NDEF (block)
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerF::write16 | +( | +const m5::nfc::f::block_t | block, | +
| + | + | const uint8_t | tx[16], | +
| + | + | const uint16_t | tx_len ) | +
Write the 1 block.
+| block | Target block |
| tx | Buffer |
| tx_len | Buffer size |
| bool m5::nfc::NFCLayerF::writeSupportNDEF | +( | +const bool | enabled | ) | ++ |
Write changes for NDEF Support.
+| enabled | Support NDEF if true, NOT support NDEF if false |
| bool m5::nfc::NFCLayerF::writeWithMAC16 | +( | +const m5::nfc::f::block_t | block, | +
| + | + | const uint8_t | tx[16], | +
| + | + | const uint16_t | tx_len ) | +
Write the 1 block.
+| block | Target block |
| tx | Buffer |
| tx_len | Buffer size |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::NFCLayerInterface, including all inherited members.
+| first_user_block() const =0 | m5::nfc::NFCLayerInterface | pure virtual |
| isoDEP() | m5::nfc::NFCLayerInterface | inlinevirtual |
| last_user_block() const =0 | m5::nfc::NFCLayerInterface | pure virtual |
| maximum_fifo_depth() const =0 | m5::nfc::NFCLayerInterface | pure virtual |
| maximum_read_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| maximum_write_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| read(uint8_t *rx, uint16_t &rx_len, const uint16_t saddr)=0 | m5::nfc::NFCLayerInterface | pure virtual |
| receive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| supportsFilesystem() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| supportsNFCTag() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| transceive(uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| transmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| unit_size_read() const =0 | m5::nfc::NFCLayerInterface | pure virtual |
| unit_size_write() const =0 | m5::nfc::NFCLayerInterface | pure virtual |
| user_area_size() const =0 | m5::nfc::NFCLayerInterface | pure virtual |
| write(const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len)=0 | m5::nfc::NFCLayerInterface | pure virtual |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Common interface for NFC layer. + More...
+ +#include <nfc_layer.hpp>
+
++Public Member Functions | |
| virtual m5::nfc::NFCForumTag | supportsNFCTag () const |
| activePICC's NDEF type | |
| virtual file_system_feature_t | supportsFilesystem () const |
| activePICC's File system | |
| virtual m5::nfc::isodep::IsoDEP * | isoDEP () |
| ISO-DEP interface (nullptr if not supported) | |
| virtual uint16_t | maximum_fifo_depth () const =0 |
| Maximum FIFO depth. | |
| virtual bool | transceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive (RF command) | |
| virtual bool | transmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transmit only. | |
| virtual bool | receive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive only. | |
| virtual bool | read (uint8_t *rx, uint16_t &rx_len, const uint16_t saddr)=0 |
| Read NDEF (block) | |
| virtual bool | write (const uint16_t saddr, const uint8_t *tx, const uint16_t tx_len)=0 |
| Write NDEF (block) | |
| virtual uint16_t | first_user_block () const =0 |
| First user block. | |
| virtual uint16_t | last_user_block () const =0 |
| Last user block. | |
| virtual uint16_t | user_area_size () const =0 |
| User area size (bytes) | |
| virtual uint16_t | unit_size_read () const =0 |
| Unit size for read. | |
| virtual uint16_t | unit_size_write () const =0 |
| Unit size for write. | |
| virtual uint8_t | maximum_read_blocks () const |
| Maximum read blocks for NFC-F. | |
| virtual uint8_t | maximum_write_blocks () const |
| Maximum write blocks for NFC-F. | |
Common interface for NFC layer.
+
+
|
+ +pure virtual | +
First user block.
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +
+
|
+ +inlinevirtual | +
ISO-DEP interface (nullptr if not supported)
+ +Reimplemented in m5::nfc::NFCLayerA, and m5::nfc::NFCLayerB.
+ +
+
|
+ +pure virtual | +
Last user block.
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +
+
|
+ +pure virtual | +
Maximum FIFO depth.
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +
+
|
+ +inlinevirtual | +
Maximum read blocks for NFC-F.
+ +Reimplemented in m5::nfc::NFCLayerF.
+ +
+
|
+ +inlinevirtual | +
Maximum write blocks for NFC-F.
+ +Reimplemented in m5::nfc::NFCLayerF.
+ +
+
|
+ +pure virtual | +
Read NDEF (block)
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +
+
|
+ +inlinevirtual | +
Receive only.
+ +Reimplemented in m5::nfc::NFCLayerB.
+ +
+
|
+ +inlinevirtual | +
activePICC's File system
+ +Reimplemented in m5::nfc::NFCLayerA.
+ +
+
|
+ +inlinevirtual | +
activePICC's NDEF type
+ +Reimplemented in m5::nfc::NFCLayerA.
+ +
+
|
+ +inlinevirtual | +
Transceive (RF command)
+ +Reimplemented in m5::nfc::NFCLayerA, and m5::nfc::NFCLayerB.
+ +
+
|
+ +inlinevirtual | +
Transmit only.
+ +Reimplemented in m5::nfc::NFCLayerB.
+ +
+
|
+ +pure virtual | +
Unit size for read.
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +
+
|
+ +pure virtual | +
Unit size for write.
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +
+
|
+ +pure virtual | +
User area size (bytes)
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +
+
|
+ +pure virtual | +
Write NDEF (block)
+ +Implemented in m5::nfc::NFCLayerA, m5::nfc::NFCLayerB, m5::nfc::NFCLayerF, and m5::nfc::NFCLayerV.
+ +|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::NFCLayerV, including all inherited members.
+| _activePICC (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| activate(const m5::nfc::v::PICC &picc) | m5::nfc::NFCLayerV | |
| activatedPICC() const | m5::nfc::NFCLayerV | inline |
| deactivate() | m5::nfc::NFCLayerV | |
| detect(m5::nfc::v::PICC &picc, const uint32_t timeout_ms=50U) | m5::nfc::NFCLayerV | |
| detect(std::vector< m5::nfc::v::PICC > &piccs, const uint32_t timeout_ms=1000U) | m5::nfc::NFCLayerV | |
| detect_single(m5::nfc::v::PICC &picc) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| dump() | m5::nfc::NFCLayerV | |
| dump(const uint16_t block) | m5::nfc::NFCLayerV | |
| dump_all() (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| dump_block(const uint16_t block) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| first_user_block() const override | m5::nfc::NFCLayerV | inlineprotectedvirtual |
| get_system_information(m5::nfc::v::PICC &picc) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| get_system_information_ext(m5::nfc::v::PICC &picc) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| isActive(const m5::nfc::v::PICC &picc) const | m5::nfc::NFCLayerV | inline |
| isoDEP() | m5::nfc::NFCLayerInterface | inlinevirtual |
| last_user_block() const override | m5::nfc::NFCLayerV | inlineprotectedvirtual |
| maximum_fifo_depth() const override | m5::nfc::NFCLayerV | virtual |
| maximum_read_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| maximum_write_blocks() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| modulationMode() const (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | inline |
| ndefIsValidFormat(bool &valid) | m5::nfc::NFCLayerV | |
| ndefRead(m5::nfc::ndef::TLV &msg) | m5::nfc::NFCLayerV | |
| ndefReadCapabilityContainer(m5::nfc::ndef::type5::CapabilityContainer &cc) | m5::nfc::NFCLayerV | |
| ndefWrite(const m5::nfc::ndef::TLV &msg) | m5::nfc::NFCLayerV | |
| ndefWriteCapabilityContainer(const m5::nfc::ndef::type5::CapabilityContainer &cc) | m5::nfc::NFCLayerV | |
| NFCLayerV(m5::unit::UnitST25R3916 &u) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | explicit |
| NFCLayerV(m5::unit::CapST25R3916 &u) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | explicit |
| reactivate(const m5::nfc::v::PICC &picc) | m5::nfc::NFCLayerV | |
| reactivate() | m5::nfc::NFCLayerV | inline |
| read(uint8_t *rx, uint16_t &rx_len, const uint16_t sblock) override | m5::nfc::NFCLayerV | virtual |
| read_block_ext(uint8_t rx[32], const m5::nfc::v::PICC &picc, const uint16_t block) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| readBlock(uint8_t rx[32], const uint16_t block) | m5::nfc::NFCLayerV | |
| receive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| reset_to_ready(const m5::nfc::v::PICC *picc) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| setModulationMode(const m5::nfc::v::ModulationMode mode) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | inline |
| stay_quiet(const m5::nfc::v::PICC &picc) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| supportsFilesystem() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| supportsNFCTag() const | m5::nfc::NFCLayerInterface | inlinevirtual |
| transceive(uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| transmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::NFCLayerInterface | inlinevirtual |
| unit_size_read() const override | m5::nfc::NFCLayerV | inlineprotectedvirtual |
| unit_size_write() const override | m5::nfc::NFCLayerV | inlineprotectedvirtual |
| user_area_size() const | m5::nfc::NFCLayerV | inlineprotectedvirtual |
| write(const uint16_t sblock, const uint8_t *tx, const uint16_t tx_len) override | m5::nfc::NFCLayerV | virtual |
| write_block_ext(const m5::nfc::v::PICC &picc, const uint16_t block, const uint8_t *tx, const uint8_t tx_len) (defined in m5::nfc::NFCLayerV) | m5::nfc::NFCLayerV | protected |
| writeBlock(const uint16_t block, const uint8_t *tx, const uint8_t tx_len) | m5::nfc::NFCLayerV |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Common interface layer for each chip of the NFC-V reader. + More...
+ +#include <nfc_layer_v.hpp>
+
++Public Member Functions | |
| + | NFCLayerV (m5::unit::UnitST25R3916 &u) |
| + | NFCLayerV (m5::unit::CapST25R3916 &u) |
| virtual uint16_t | maximum_fifo_depth () const override |
| Maximum FIFO depth. | |
| bool | isActive (const m5::nfc::v::PICC &picc) const |
| Is the specified PICC currently active? | |
| const m5::nfc::v::PICC & | activatedPICC () const |
| Retrieve the currently activated PICC. | |
| +m5::nfc::v::ModulationMode | modulationMode () const |
| +void | setModulationMode (const m5::nfc::v::ModulationMode mode) |
Detection and activation | |
| bool | detect (m5::nfc::v::PICC &picc, const uint32_t timeout_ms=50U) |
| Detect single ready PICC. | |
| bool | detect (std::vector< m5::nfc::v::PICC > &piccs, const uint32_t timeout_ms=1000U) |
| Detect ready PICCs. | |
| bool | activate (const m5::nfc::v::PICC &picc) |
| Activate a specific PICC. | |
| bool | reactivate (const m5::nfc::v::PICC &picc) |
| Detect single ready PICC. | |
| bool | reactivate () |
| Detect single ready PICC. | |
For activated PICC | |
| bool | deactivate () |
| Send Reset to ready to the currently selected PICC (deactivate) | |
| bool | readBlock (uint8_t rx[32], const uint16_t block) |
| Read single block. | |
| bool | writeBlock (const uint16_t block, const uint8_t *tx, const uint8_t tx_len) |
| Write single block. | |
| virtual bool | read (uint8_t *rx, uint16_t &rx_len, const uint16_t sblock) override |
| Read any bytes from user area. | |
| virtual bool | write (const uint16_t sblock, const uint8_t *tx, const uint16_t tx_len) override |
| Write any bytes to user area. | |
| bool | dump () |
| Dump all blocks. | |
| bool | dump (const uint16_t block) |
| Dump 1 block. | |
For NDEF | |
| |
| bool | ndefIsValidFormat (bool &valid) |
| Is the PICC data in NDEF format? | |
| bool | ndefReadCapabilityContainer (m5::nfc::ndef::type5::CapabilityContainer &cc) |
| Read Type5 Capability Container. | |
| bool | ndefWriteCapabilityContainer (const m5::nfc::ndef::type5::CapabilityContainer &cc) |
| Write Type5 Capability Container. | |
| bool | ndefRead (m5::nfc::ndef::TLV &msg) |
| Read NDEF Message TLV. | |
| bool | ndefWrite (const m5::nfc::ndef::TLV &msg) |
| Write NDEF message. | |
Public Member Functions inherited from m5::nfc::NFCLayerInterface | |
| virtual m5::nfc::NFCForumTag | supportsNFCTag () const |
| activePICC's NDEF type | |
| virtual file_system_feature_t | supportsFilesystem () const |
| activePICC's File system | |
| virtual m5::nfc::isodep::IsoDEP * | isoDEP () |
| ISO-DEP interface (nullptr if not supported) | |
| virtual bool | transceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive (RF command) | |
| virtual bool | transmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transmit only. | |
| virtual bool | receive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive only. | |
| virtual uint8_t | maximum_read_blocks () const |
| Maximum read blocks for NFC-F. | |
| virtual uint8_t | maximum_write_blocks () const |
| Maximum write blocks for NFC-F. | |
+Protected Member Functions | |
| +bool | dump_all () |
| +bool | dump_block (const uint16_t block) |
| +bool | detect_single (m5::nfc::v::PICC &picc) |
| +bool | get_system_information (m5::nfc::v::PICC &picc) |
| +bool | get_system_information_ext (m5::nfc::v::PICC &picc) |
| +bool | read_block_ext (uint8_t rx[32], const m5::nfc::v::PICC &picc, const uint16_t block) |
| +bool | write_block_ext (const m5::nfc::v::PICC &picc, const uint16_t block, const uint8_t *tx, const uint8_t tx_len) |
| +bool | reset_to_ready (const m5::nfc::v::PICC *picc) |
| +bool | stay_quiet (const m5::nfc::v::PICC &picc) |
| virtual uint16_t | first_user_block () const override |
| First user block. | |
| virtual uint16_t | last_user_block () const override |
| Last user block. | |
| virtual uint16_t | user_area_size () const |
| User area size (bytes) | |
| virtual uint16_t | unit_size_read () const override |
| Unit size for read. | |
| virtual uint16_t | unit_size_write () const override |
| Unit size for write. | |
+Protected Attributes | |
| +m5::nfc::v::PICC | _activePICC {} |
Common interface layer for each chip of the NFC-V reader.
+| bool m5::nfc::NFCLayerV::activate | +( | +const m5::nfc::v::PICC & | picc | ) | ++ |
Activate a specific PICC.
+| picc | PICC |
+
|
+ +inline | +
Retrieve the currently activated PICC.
+| bool m5::nfc::NFCLayerV::deactivate | +( | +) | ++ |
Send Reset to ready to the currently selected PICC (deactivate)
+| bool m5::nfc::NFCLayerV::detect | +( | +m5::nfc::v::PICC & | picc, | +
| + | + | const uint32_t | timeout_ms = 50U ) | +
Detect single ready PICC.
+| [out] | picc | Detected PICC |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerV::detect | +( | +std::vector< m5::nfc::v::PICC > & | piccs, | +
| + | + | const uint32_t | timeout_ms = 1000U ) | +
Detect ready PICCs.
+| [out] | piccs | Detected PICC PICCs |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerV::dump | +( | +) | ++ |
Dump all blocks.
+| bool m5::nfc::NFCLayerV::dump | +( | +const uint16_t | block | ) | ++ |
Dump 1 block.
+| block | Block address |
+
|
+ +inlineoverrideprotectedvirtual | +
First user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inline | +
Is the specified PICC currently active?
+| picc | PICC to check |
+
|
+ +inlineoverrideprotectedvirtual | +
Last user block.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Maximum FIFO depth.
+ +Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerV::ndefIsValidFormat | +( | +bool & | valid | ) | ++ |
Is the PICC data in NDEF format?
+| [out] | valid | True if NDEF format |
| bool m5::nfc::NFCLayerV::ndefRead | +( | +m5::nfc::ndef::TLV & | msg | ) | ++ |
Read NDEF Message TLV.
+| [out] | msg | Message If it does not exist, a Null TLV is returned |
| bool m5::nfc::NFCLayerV::ndefReadCapabilityContainer | +( | +m5::nfc::ndef::type5::CapabilityContainer & | cc | ) | ++ |
Read Type5 Capability Container.
+| [out] | cc | Capability container |
| bool m5::nfc::NFCLayerV::ndefWrite | +( | +const m5::nfc::ndef::TLV & | msg | ) | ++ |
Write NDEF message.
+| msg | Message (NDEF Message) |
| bool m5::nfc::NFCLayerV::ndefWriteCapabilityContainer | +( | +const m5::nfc::ndef::type5::CapabilityContainer & | cc | ) | ++ |
Write Type5 Capability Container.
+| [in] | cc | Capability container |
+
|
+ +inline | +
Detect single ready PICC.
+| [out] | picc | Detected PICC |
| timeout_ms | Polling time budget in milliseconds |
| bool m5::nfc::NFCLayerV::reactivate | +( | +const m5::nfc::v::PICC & | picc | ) | ++ |
Detect single ready PICC.
+| [out] | picc | Detected PICC |
| timeout_ms | Polling time budget in milliseconds |
+
|
+ +overridevirtual | +
Read any bytes from user area.
+Continue reading only the user area from the first block of the user area until rx_len is satisfied
| rx | Buffer |
| [in/out] | rx_len in:buffer size, out:actual read size |
| sblock | Reading start block |
Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerV::readBlock | +( | +uint8_t | rx[32], | +
| + | + | const uint16_t | block ) | +
Read single block.
+| [out] | rx | Output buffer (At least the size of one PICC block) |
| block | Block address |
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for read.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineoverrideprotectedvirtual | +
Unit size for write.
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +inlineprotectedvirtual | +
User area size (bytes)
+ +Implements m5::nfc::NFCLayerInterface.
+ +
+
|
+ +overridevirtual | +
Write any bytes to user area.
+Continue writing only the user area from the first block of the user area until tx_len is satisfied
| sblock | Writing start block |
| tx | Buffer |
| tx_len | buffer size |
Implements m5::nfc::NFCLayerInterface.
+ +| bool m5::nfc::NFCLayerV::writeBlock | +( | +const uint16_t | block, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint8_t | tx_len ) | +
Write single block.
+| block | Block address |
| tx | buffer |
| tx_len | buffer size |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::a::mifare::classic::Crypto1, including all inherited members.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Crypto1 for MIFARE Classic. + More...
+ +#include <mifare_classic_crypto1.hpp>
+ +Public Attributes | |
| +uint32_t | _count {} |
Crypto1 for MIFARE Classic.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::a::mifare::desfire::DESFireFileSystem, including all inherited members.
+| _isoDEP (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | protected |
| _last_select_fci (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | protected |
| authenticateAES(const uint8_t key_no, const uint8_t key[16]) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| authenticateDES(const uint8_t key_no, const uint8_t key[16]) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| authenticateEV2First(const uint8_t key_no, const uint8_t key[16], Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| authenticateISO(const uint8_t key_no, const uint8_t key[16]) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| changeFileSettings(const uint8_t file_no, const uint8_t file_option, const uint16_t access_rights) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| changeFileSettingsEV2(const uint8_t file_no, const uint8_t file_option, const uint16_t access_rights, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| changeFileSettingsEV2Full(const uint8_t file_no, const uint8_t file_option, const uint16_t access_rights, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| createApplication(const uint8_t aid[3], const uint8_t key_settings1, const uint8_t key_settings2, const uint16_t iso_fid=0, const uint8_t *df_name=nullptr, const uint8_t df_name_len=0) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| createFile(const uint8_t *fcp, const uint16_t fcp_len) | m5::nfc::FileSystem | |
| createFile(const FCP &fcp) | m5::nfc::FileSystem | |
| createFile(const uint16_t fid, const uint16_t file_size) | m5::nfc::FileSystem | |
| createStdDataFile(const uint8_t file_no, const uint16_t iso_fid, const uint8_t comm_mode, const uint16_t access_rights, const uint32_t file_size) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| createTransactionMACFileEV2Full(const uint8_t file_no, const uint8_t comm_mode, const uint16_t access_rights, const uint8_t tmac_key[16], const uint8_t tmac_key_ver, Ev2Context &ctx) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| deleteApplication(const uint8_t aid[3]) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| deleteTransactionMACFileEV2Full(const uint8_t file_no, Ev2Context &ctx) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| DESFireFileSystem(m5::nfc::NFCLayerA &layer) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | explicit |
| DESFireFileSystem(m5::nfc::isodep::IsoDEP &isoDEP) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | inlineexplicit |
| FileSystem(m5::nfc::isodep::IsoDEP &isoDEP) (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | inlineexplicit |
| formatPICC(const uint8_t *picc_master_key, const AuthMode mode=AuthMode::Auto) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getApplicationIDs(std::vector< desfire_aid_t > &out) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getFileIDs(std::vector< uint8_t > &out) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getFileSettings(FileSettings &out, const uint8_t file_no) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getFileSettingsEV2(FileSettings &out, const uint8_t file_no, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getFileSettingsEV2Full(FileSettings &out, const uint8_t file_no, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getFreeMemory(uint32_t &out) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getISOFileIDs(std::vector< uint8_t > &out) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| getKeySettings(uint8_t &key_settings, uint8_t &key_count) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| lastSelectData() const | m5::nfc::FileSystem | inline |
| readBinary(std::vector< uint8_t > &out, const uint16_t offset, const uint16_t le) | m5::nfc::FileSystem | |
| readData(std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| readDataLight(std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| readDataLightEV2(std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| readDataLightEV2Full(std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| selectApplication(const desfire_aid_t &aid) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | inline |
| selectApplication(const uint8_t aid[3]) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| selectApplication(const uint32_t aid24=0u) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| selectByDfName(const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectByFileId(const uint16_t fid, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectByPath(const uint8_t *path, const uint8_t path_len, const bool from_mf=true, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectDfNameAuto(const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectFile(const m5::nfc::apdu::SelectBy by, const m5::nfc::apdu::SelectOccurrence occ, const m5::nfc::apdu::SelectResponse res, const uint8_t *param, const uint8_t param_len) | m5::nfc::FileSystem | |
| selectFileIdAuto(const uint16_t fid, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| selectMasterFile() | m5::nfc::FileSystem | inline |
| selectParent(const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) | m5::nfc::FileSystem | |
| setConfigurationAppNameEV2Full(const uint8_t *df_name, uint8_t df_name_len, uint16_t iso_fid, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| setConfigurationFileRenaming(const FileRename &first, const FileRename *second=nullptr) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| setConfigurationFileRenamingEV2Full(const FileRename &first, const FileRename *second, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| transceive(uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | protected |
| updateBinary(const uint16_t offset, const uint8_t *data, const uint16_t data_len) | m5::nfc::FileSystem | |
| verify(const uint8_t *password, const uint16_t pass_len, const uint8_t param2) | m5::nfc::FileSystem | |
| verifyGlobal(const uint8_t *password, const uint16_t pass_len) | m5::nfc::FileSystem | inline |
| verifySpecific(const uint8_t *password, const uint16_t pass_len) | m5::nfc::FileSystem | inline |
| writeData(const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| writeDataLight(const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| writeDataLightEV2(const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| writeDataLightEV2Full(const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len, Ev2Context &ctx) (defined in m5::nfc::a::mifare::desfire::DESFireFileSystem) | m5::nfc::a::mifare::desfire::DESFireFileSystem | |
| ~FileSystem()=default (defined in m5::nfc::FileSystem) | m5::nfc::FileSystem | virtual |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
File system for MIFARE DESFire. + More...
+ +#include <desfire_file_system.hpp>
+
++Public Member Functions | |
| + | DESFireFileSystem (m5::nfc::NFCLayerA &layer) |
| + | DESFireFileSystem (m5::nfc::isodep::IsoDEP &isoDEP) |
| +m5::stl::expected< void, uint8_t > | createApplication (const uint8_t aid[3], const uint8_t key_settings1, const uint8_t key_settings2, const uint16_t iso_fid=0, const uint8_t *df_name=nullptr, const uint8_t df_name_len=0) |
| +bool | selectApplication (const desfire_aid_t &aid) |
| +bool | selectApplication (const uint8_t aid[3]) |
| +bool | selectApplication (const uint32_t aid24=0u) |
| +bool | deleteApplication (const uint8_t aid[3]) |
| +bool | getApplicationIDs (std::vector< desfire_aid_t > &out) |
| +bool | getFreeMemory (uint32_t &out) |
| +bool | getKeySettings (uint8_t &key_settings, uint8_t &key_count) |
| +bool | getFileIDs (std::vector< uint8_t > &out) |
| +bool | getISOFileIDs (std::vector< uint8_t > &out) |
| +bool | getFileSettings (FileSettings &out, const uint8_t file_no) |
| +bool | getFileSettingsEV2 (FileSettings &out, const uint8_t file_no, Ev2Context &ctx) |
| +bool | getFileSettingsEV2Full (FileSettings &out, const uint8_t file_no, Ev2Context &ctx) |
| +bool | changeFileSettings (const uint8_t file_no, const uint8_t file_option, const uint16_t access_rights) |
| +bool | changeFileSettingsEV2 (const uint8_t file_no, const uint8_t file_option, const uint16_t access_rights, Ev2Context &ctx) |
| +bool | changeFileSettingsEV2Full (const uint8_t file_no, const uint8_t file_option, const uint16_t access_rights, Ev2Context &ctx) |
| +bool | formatPICC (const uint8_t *picc_master_key, const AuthMode mode=AuthMode::Auto) |
| +bool | createStdDataFile (const uint8_t file_no, const uint16_t iso_fid, const uint8_t comm_mode, const uint16_t access_rights, const uint32_t file_size) |
| +bool | setConfigurationFileRenaming (const FileRename &first, const FileRename *second=nullptr) |
| +bool | setConfigurationFileRenamingEV2Full (const FileRename &first, const FileRename *second, Ev2Context &ctx) |
| bool | deleteTransactionMACFileEV2Full (const uint8_t file_no, Ev2Context &ctx) |
| Delete TransactionMAC file (required for ISOReadBinary to work) | |
| bool | createTransactionMACFileEV2Full (const uint8_t file_no, const uint8_t comm_mode, const uint16_t access_rights, const uint8_t tmac_key[16], const uint8_t tmac_key_ver, Ev2Context &ctx) |
| Create TransactionMAC file. | |
| +bool | setConfigurationAppNameEV2Full (const uint8_t *df_name, uint8_t df_name_len, uint16_t iso_fid, Ev2Context &ctx) |
| bool | readData (std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length) |
| Read data from DESFire file. | |
| +bool | readDataLight (std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length) |
| +bool | readDataLightEV2Full (std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length, Ev2Context &ctx) |
| +bool | readDataLightEV2 (std::vector< uint8_t > &out, const uint8_t file_no, const uint32_t offset, const uint32_t length, Ev2Context &ctx) |
| +bool | writeData (const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len) |
| +bool | writeDataLight (const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len) |
| +bool | writeDataLightEV2 (const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len, Ev2Context &ctx) |
| +bool | writeDataLightEV2Full (const uint8_t file_no, const uint32_t offset, const uint8_t *data, const uint32_t data_len, Ev2Context &ctx) |
| +bool | authenticateDES (const uint8_t key_no, const uint8_t key[16]) |
| +bool | authenticateISO (const uint8_t key_no, const uint8_t key[16]) |
| +bool | authenticateAES (const uint8_t key_no, const uint8_t key[16]) |
| +bool | authenticateEV2First (const uint8_t key_no, const uint8_t key[16], Ev2Context &ctx) |
Public Member Functions inherited from m5::nfc::FileSystem | |
| + | FileSystem (m5::nfc::isodep::IsoDEP &isoDEP) |
| const std::vector< uint8_t > & | lastSelectData () const |
| Last SELECT response data (SW excluded) | |
| bool | createFile (const uint8_t *fcp, const uint16_t fcp_len) |
| CREATE FILE. | |
| bool | createFile (const FCP &fcp) |
| CREATE FILE. | |
| bool | createFile (const uint16_t fid, const uint16_t file_size) |
| CREATE FILE. | |
| bool | selectFile (const m5::nfc::apdu::SelectBy by, const m5::nfc::apdu::SelectOccurrence occ, const m5::nfc::apdu::SelectResponse res, const uint8_t *param, const uint8_t param_len) |
| SELECT FILE (generic) | |
| bool | selectByFileId (const uint16_t fid, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by File ID with explicit response type. | |
| bool | selectFileIdAuto (const uint16_t fid, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by File ID with auto response fallback (None->FCI->FCP) | |
| bool | selectByDfName (const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by DF Name with explicit response type. | |
| bool | selectDfNameAuto (const uint8_t *aid, const uint8_t aid_len, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by DF Name with auto response fallback (FCI->None->FCP) | |
| bool | selectByPath (const uint8_t *path, const uint8_t path_len, const bool from_mf=true, const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT by path (MF or current DF) | |
| bool | selectParent (const m5::nfc::apdu::SelectResponse res=m5::nfc::apdu::SelectResponse::FCI, const m5::nfc::apdu::SelectOccurrence occ=m5::nfc::apdu::SelectOccurrence::FirstOrOnly) |
| SELECT parent DF. | |
| bool | selectMasterFile () |
| SELECT MF (Master File) | |
| bool | verify (const uint8_t *password, const uint16_t pass_len, const uint8_t param2) |
| VERIFY (generic) | |
| bool | verifyGlobal (const uint8_t *password, const uint16_t pass_len) |
| VERIFY global reference data. | |
| bool | verifySpecific (const uint8_t *password, const uint16_t pass_len) |
| VERIFY specific reference data. | |
| bool | readBinary (std::vector< uint8_t > &out, const uint16_t offset, const uint16_t le) |
| READ BINARY. | |
| bool | updateBinary (const uint16_t offset, const uint8_t *data, const uint16_t data_len) |
| UPDATE BINARY. | |
+Protected Member Functions | |
| +bool | transceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len) |
+Additional Inherited Members | |
Protected Attributes inherited from m5::nfc::FileSystem | |
| +m5::nfc::isodep::IsoDEP & | _isoDEP |
| +std::vector< uint8_t > | _last_select_fci {} |
File system for MIFARE DESFire.
+| bool m5::nfc::a::mifare::desfire::DESFireFileSystem::createTransactionMACFileEV2Full | +( | +const uint8_t | file_no, | +
| + | + | const uint8_t | comm_mode, | +
| + | + | const uint16_t | access_rights, | +
| + | + | const uint8_t | tmac_key[16], | +
| + | + | const uint8_t | tmac_key_ver, | +
| + | + | Ev2Context & | ctx ) | +
Create TransactionMAC file.
+| file_no | File number for TMAC file |
| comm_mode | Communication mode (0=Plain, 1=MAC, 3=Full) |
| access_rights | Access rights |
| tmac_key | 16-byte TMAC key |
| tmac_key_ver | Key version |
| ctx | EV2 context (must be authenticated with AppMasterKey) |
| bool m5::nfc::a::mifare::desfire::DESFireFileSystem::deleteTransactionMACFileEV2Full | +( | +const uint8_t | file_no, | +
| + | + | Ev2Context & | ctx ) | +
Delete TransactionMAC file (required for ISOReadBinary to work)
+| file_no | File number of TMAC file (default 0) |
| ctx | EV2 context (must be authenticated with AppMasterKey) |
| bool m5::nfc::a::mifare::desfire::DESFireFileSystem::readData | +( | +std::vector< uint8_t > & | out, | +
| + | + | const uint8_t | file_no, | +
| + | + | const uint32_t | offset, | +
| + | + | const uint32_t | length ) | +
Read data from DESFire file.
+| [out] | out | Output buffer |
| file_no | File number | |
| offset | Offset in file | |
| length | Length to read |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::isodep::IsoDEP, including all inherited members.
+| config() const (defined in m5::nfc::isodep::IsoDEP) | m5::nfc::isodep::IsoDEP | inline |
| config(const config_t &cfg) (defined in m5::nfc::isodep::IsoDEP) | m5::nfc::isodep::IsoDEP | inline |
| IsoDEP(NFCLayerInterface &layer) (defined in m5::nfc::isodep::IsoDEP) | m5::nfc::isodep::IsoDEP | inlineexplicit |
| IsoDEP(NFCLayerInterface &layer, const config_t &c) (defined in m5::nfc::isodep::IsoDEP) | m5::nfc::isodep::IsoDEP | inline |
| transceive(uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) | m5::nfc::isodep::IsoDEP | |
| transceiveAPDU(uint8_t *rx, uint16_t &rx_len, const uint8_t *cmd, const uint16_t cmd_len) | m5::nfc::isodep::IsoDEP | |
| transceiveINF(uint8_t *rx_inf, uint16_t &rx_inf_len, const uint8_t *tx_inf, const uint16_t tx_inf_len, RxInfo *info=nullptr) | m5::nfc::isodep::IsoDEP |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ISO Data Exchange Protocol. + More...
+ +#include <isoDEP.hpp>
+Public Member Functions | |
| + | IsoDEP (NFCLayerInterface &layer) |
| + | IsoDEP (NFCLayerInterface &layer, const config_t &c) |
| +config_t | config () const |
| +void | config (const config_t &cfg) |
| +bool | transceiveINF (uint8_t *rx_inf, uint16_t &rx_inf_len, const uint8_t *tx_inf, const uint16_t tx_inf_len, RxInfo *info=nullptr) |
| Transceive INF. | |
| +bool | transceiveAPDU (uint8_t *rx, uint16_t &rx_len, const uint8_t *cmd, const uint16_t cmd_len) |
| Transceive APDU. | |
| +bool | transceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive normal. | |
ISO Data Exchange Protocol.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::ndef::NDEFLayer, including all inherited members.
+| isValidFormat(bool &valid, const m5::nfc::NFCForumTag ftag) | m5::nfc::ndef::NDEFLayer | |
| merge_tlv(std::vector< m5::nfc::ndef::TLV > &old_tlvs, const std::vector< m5::nfc::ndef::TLV > &tlvs) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| NDEFLayer(NFCLayerInterface &layer) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | inlineexplicit |
| prepare_desfire(const uint32_t max_ndef_size) | m5::nfc::ndef::NDEFLayer | |
| prepare_desfire_light() | m5::nfc::ndef::NDEFLayer | |
| read(const m5::nfc::NFCForumTag ftag, std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits=m5::nfc::ndef::tagBitsMessage) | m5::nfc::ndef::NDEFLayer | |
| read_capability_container_type4_desfire(m5::nfc::ndef::type4::CapabilityContainer &cc) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| read_capability_container_type4_iso7816(m5::nfc::ndef::type4::CapabilityContainer &cc) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| read_nfcv(uint8_t *rx, const uint16_t offset, const uint16_t len) | m5::nfc::ndef::NDEFLayer | protected |
| read_type2(std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| read_type3(m5::nfc::ndef::TLV &tlv) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| read_type4(std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::type4::FileControlTagBits fcBits) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| read_type4_desfire(std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::type4::FileControlTagBits fcBits) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| read_type4_iso7816(std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::type4::FileControlTagBits fcBits) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| read_type5(std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| readAttributeBlock(m5::nfc::ndef::type3::AttributeBlock &ab) | m5::nfc::ndef::NDEFLayer | |
| readCapabilityContainer(m5::nfc::ndef::type2::CapabilityContainer &cc) | m5::nfc::ndef::NDEFLayer | |
| readCapabilityContainer(m5::nfc::ndef::type4::CapabilityContainer &cc) | m5::nfc::ndef::NDEFLayer | |
| readCapabilityContainer(m5::nfc::ndef::type5::CapabilityContainer &cc) | m5::nfc::ndef::NDEFLayer | |
| write(const m5::nfc::NFCForumTag ftag, const std::vector< m5::nfc::ndef::TLV > &tlvs, const bool keep=true) | m5::nfc::ndef::NDEFLayer | |
| write_nfcv(const uint16_t offset, const uint8_t *tx, const uint16_t len) | m5::nfc::ndef::NDEFLayer | protected |
| write_type2(const std::vector< m5::nfc::ndef::TLV > &tlvs, const bool keep) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| write_type3(const m5::nfc::ndef::TLV &tlv) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| write_type4(const std::vector< m5::nfc::ndef::TLV > &tlvs) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| write_type4_desfire(const std::vector< m5::nfc::ndef::TLV > &tlvs, const type4::CapabilityContainer &cc, isodep::IsoDEP &dep) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| write_type4_iso7816(const std::vector< m5::nfc::ndef::TLV > &tlvs, const type4::CapabilityContainer &cc, isodep::IsoDEP &dep) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| write_type5(const std::vector< m5::nfc::ndef::TLV > &tlvs, const bool keep) (defined in m5::nfc::ndef::NDEFLayer) | m5::nfc::ndef::NDEFLayer | protected |
| writeCapabilityContainer(const m5::nfc::ndef::type5::CapabilityContainer &cc) | m5::nfc::ndef::NDEFLayer |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
NDEF operations layer. + More...
+ +#include <ndef_layer.hpp>
+Public Member Functions | |
| + | NDEFLayer (NFCLayerInterface &layer) |
| bool | isValidFormat (bool &valid, const m5::nfc::NFCForumTag ftag) |
| Check whether the tag is in NDEF format. | |
| bool | read (const m5::nfc::NFCForumTag ftag, std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits=m5::nfc::ndef::tagBitsMessage) |
| Read NDEF data. | |
| bool | write (const m5::nfc::NFCForumTag ftag, const std::vector< m5::nfc::ndef::TLV > &tlvs, const bool keep=true) |
| Write NDEF data. | |
| bool | prepare_desfire_light () |
| Prepare NDEF files on MIFARE DESFire Light. | |
| bool | prepare_desfire (const uint32_t max_ndef_size) |
| Prepare NDEF files on MIFARE DESFire (EV1/EV2/EV3) | |
| bool | readCapabilityContainer (m5::nfc::ndef::type2::CapabilityContainer &cc) |
| Read Type2 Capability Container. | |
| bool | readAttributeBlock (m5::nfc::ndef::type3::AttributeBlock &ab) |
| Read Type3 Attribute Block. | |
| bool | readCapabilityContainer (m5::nfc::ndef::type4::CapabilityContainer &cc) |
| Read Type4 Capability Container. | |
| bool | readCapabilityContainer (m5::nfc::ndef::type5::CapabilityContainer &cc) |
| Read Type5 Capability Container. | |
| bool | writeCapabilityContainer (const m5::nfc::ndef::type5::CapabilityContainer &cc) |
| Write Type5 Capability Container. | |
+Protected Member Functions | |
| +bool | read_capability_container_type4_iso7816 (m5::nfc::ndef::type4::CapabilityContainer &cc) |
| +bool | read_capability_container_type4_desfire (m5::nfc::ndef::type4::CapabilityContainer &cc) |
| +bool | read_type2 (std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits) |
| +bool | read_type3 (m5::nfc::ndef::TLV &tlv) |
| +bool | read_type4 (std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::type4::FileControlTagBits fcBits) |
| +bool | read_type4_iso7816 (std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::type4::FileControlTagBits fcBits) |
| +bool | read_type4_desfire (std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::type4::FileControlTagBits fcBits) |
| +bool | read_type5 (std::vector< m5::nfc::ndef::TLV > &tlvs, const m5::nfc::ndef::TagBits tagBits) |
| +bool | write_type2 (const std::vector< m5::nfc::ndef::TLV > &tlvs, const bool keep) |
| +bool | write_type3 (const m5::nfc::ndef::TLV &tlv) |
| +bool | write_type4 (const std::vector< m5::nfc::ndef::TLV > &tlvs) |
| +bool | write_type4_iso7816 (const std::vector< m5::nfc::ndef::TLV > &tlvs, const type4::CapabilityContainer &cc, isodep::IsoDEP &dep) |
| +bool | write_type4_desfire (const std::vector< m5::nfc::ndef::TLV > &tlvs, const type4::CapabilityContainer &cc, isodep::IsoDEP &dep) |
| +bool | write_type5 (const std::vector< m5::nfc::ndef::TLV > &tlvs, const bool keep) |
| +std::vector< m5::nfc::ndef::TLV > | merge_tlv (std::vector< m5::nfc::ndef::TLV > &old_tlvs, const std::vector< m5::nfc::ndef::TLV > &tlvs) |
Byte-level access helpers for NFC-V (Type5) | |
| bool | read_nfcv (uint8_t *rx, const uint16_t offset, const uint16_t len) |
| Read bytes from arbitrary byte offset (for NFC-V) | |
| bool | write_nfcv (const uint16_t offset, const uint8_t *tx, const uint16_t len) |
| Write bytes to arbitrary byte offset (for NFC-V) | |
NDEF operations layer.
+| bool m5::nfc::ndef::NDEFLayer::isValidFormat | +( | +bool & | valid, | +
| + | + | const m5::nfc::NFCForumTag | ftag ) | +
Check whether the tag is in NDEF format.
+| [out] | valid | True if the tag has a valid NDEF format |
| ftag | NFC Forum Tag type |
| bool m5::nfc::ndef::NDEFLayer::prepare_desfire | +( | +const uint32_t | max_ndef_size | ) | ++ |
Prepare NDEF files on MIFARE DESFire (EV1/EV2/EV3)
+| max_ndef_size | Max size for NDEF file |
| bool m5::nfc::ndef::NDEFLayer::prepare_desfire_light | +( | +) | ++ |
Prepare NDEF files on MIFARE DESFire Light.
+| bool m5::nfc::ndef::NDEFLayer::read | +( | +const m5::nfc::NFCForumTag | ftag, | +
| + | + | std::vector< m5::nfc::ndef::TLV > & | tlvs, | +
| + | + | const m5::nfc::ndef::TagBits | tagBits = m5::nfc::ndef::tagBitsMessage ) | +
Read NDEF data.
+| ftag | NFC Forum Tag type | |
| [out] | tlvs | Output TLVs |
| tagBits | Target TLV tags |
+
|
+ +protected | +
Read bytes from arbitrary byte offset (for NFC-V)
+| [out] | rx | Output buffer |
| offset | Byte offset from start of user area | |
| len | Number of bytes to read |
| bool m5::nfc::ndef::NDEFLayer::readAttributeBlock | +( | +m5::nfc::ndef::type3::AttributeBlock & | ab | ) | ++ |
| bool m5::nfc::ndef::NDEFLayer::readCapabilityContainer | +( | +m5::nfc::ndef::type2::CapabilityContainer & | cc | ) | ++ |
Read Type2 Capability Container.
+| [out] | cc | Capability container |
| bool m5::nfc::ndef::NDEFLayer::readCapabilityContainer | +( | +m5::nfc::ndef::type4::CapabilityContainer & | cc | ) | ++ |
Read Type4 Capability Container.
+| [out] | cc | Capability container |
| bool m5::nfc::ndef::NDEFLayer::readCapabilityContainer | +( | +m5::nfc::ndef::type5::CapabilityContainer & | cc | ) | ++ |
Read Type5 Capability Container.
+| [out] | cc | Capability container |
| bool m5::nfc::ndef::NDEFLayer::write | +( | +const m5::nfc::NFCForumTag | ftag, | +
| + | + | const std::vector< m5::nfc::ndef::TLV > & | tlvs, | +
| + | + | const bool | keep = true ) | +
Write NDEF data.
+| ftag | NFC Forum Tag type |
| tlvs | TLVs to write |
| keep | Keep existing TLVs when possible |
+
|
+ +protected | +
Write bytes to arbitrary byte offset (for NFC-V)
+| offset | Byte offset from start of user area |
| tx | Input buffer |
| len | Number of bytes to write |
| bool m5::nfc::ndef::NDEFLayer::writeCapabilityContainer | +( | +const m5::nfc::ndef::type5::CapabilityContainer & | cc | ) | ++ |
Write Type5 Capability Container.
+| [in] | cc | Capability container |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::ndef::Record, including all inherited members.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
#include <ndef_record.hpp>
+Public Member Functions | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| + | Record (const TNF tnf) noexcept | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +uint32_t | required () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Size required for encoding. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uint32_t | encode (uint8_t *buf, const uint32_t blen) const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Encode. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| uint32_t | decode (const uint8_t *buf, const uint32_t blen) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Decode. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +void | clear () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Clear. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +void | dump () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dump record for debug. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Attribute | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +Attribute & | attribute () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +const Attribute & | attribute () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +TNF | tnf () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
If TNF is TNF::Media, type is MIME type string e.g. "text/plain" , "image/png"... + | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +const char * | type () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +void | setType (const char *s) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Identifier | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +uint32_t | identifierSize () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Gets the identifier size. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +const uint8_t * | identifier () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Gets the identifier pointer. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void | setIdentifier (const uint8_t *id, const uint32_t len) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set the identifier. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +void | clearIdentifier () | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Clear the identifier. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Payload | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +std::string | payloadAsString () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Obtain the payload as a string. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +uint32_t | payloadSize () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Gets the payload size. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| +const uint8_t * | payload () const | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Gets the payload pointer. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| void | setPayload (const uint8_t *data, const uint32_t len) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set the payload data. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Payload helper for TNF::Wellknown | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| bool | setTextPayload (const char *str, const char *lang) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set text to the payload. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| bool | setURIPayload (const char *uri, URIProtocol protocol) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Set URI to the payload. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
+Protected Member Functions | |
| +bool | apply_nested_message () |
| +void | set_text_payload (const char *str, const char *lang) |
| +void | set_uri_payload (const char *uri, URIProtocol protocol) |
+Friends | |
| +bool | operator== (const Record &a, const Record &b) |
| Equal? | |
NDEF Record.
+| uint32_t m5::nfc::ndef::Record::decode | +( | +const uint8_t * | buf, | +
| + | + | const uint32_t | blen ) | +
Decode.
+| buf | Pointer of the NDEF Record |
| blen | Buffer length |
| > | 0 Decoded length |
| == | 0 Error |
| uint32_t m5::nfc::ndef::Record::encode | +( | +uint8_t * | buf, | +
| + | + | const uint32_t | blen ) const | +
Encode.
+| [out] | buf | Buffer |
| blen | Buffer size |
| > | 0 Encoded length |
| == | 0 Error |
+
|
+ +inline | +
Set the identifier.
+| id | Pointer of the identifier |
| len | identifier length |
+
|
+ +inline | +
Set the payload data.
+| data | Pointer of the data |
| len | data length |
| bool m5::nfc::ndef::Record::setTextPayload | +( | +const char * | str, | +
| + | + | const char * | lang ) | +
Set text to the payload.
+| str | String as UTF-8 |
| lang | ISO/IANA language code. e.g. "en" |
| bool m5::nfc::ndef::Record::setURIPayload | +( | +const char * | uri, | +
| + | + | URIProtocol | protocol ) | +
Set URI to the payload.
+| uri | URI full text e.g. https://www.example.com |
| protocol | URIProtocol |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::nfc::ndef::TLV, including all inherited members.
+| clear() | m5::nfc::ndef::TLV | |
| container_type typedef (defined in m5::nfc::ndef::TLV) | m5::nfc::ndef::TLV | |
| decode(const uint8_t *buf, const uint32_t len) | m5::nfc::ndef::TLV | |
| dump() (defined in m5::nfc::ndef::TLV) | m5::nfc::ndef::TLV | |
| encode(uint8_t *buf, const uint32_t blen) const | m5::nfc::ndef::TLV | |
| isMessageTLV() const | m5::nfc::ndef::TLV | inline |
| isNullTLV() const | m5::nfc::ndef::TLV | inline |
| isTerminatorTLV() const | m5::nfc::ndef::TLV | inline |
| payload() const | m5::nfc::ndef::TLV | inline |
| payload() | m5::nfc::ndef::TLV | inline |
| pop_back() | m5::nfc::ndef::TLV | |
| push_back(const Record &r) | m5::nfc::ndef::TLV | |
| records() const | m5::nfc::ndef::TLV | inline |
| required() const | m5::nfc::ndef::TLV | |
| tag() const | m5::nfc::ndef::TLV | inline |
| Terminator | m5::nfc::ndef::TLV | static |
| TLV() (defined in m5::nfc::ndef::TLV) | m5::nfc::ndef::TLV | inline |
| TLV(const Tag t) (defined in m5::nfc::ndef::TLV) | m5::nfc::ndef::TLV | inlineexplicit |
| ~TLV() (defined in m5::nfc::ndef::TLV) | m5::nfc::ndef::TLV | inline |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
#include <ndef_tlv.hpp>
+Public Types | |
| +using | container_type = std::vector<Record> |
+Public Member Functions | |
| + | TLV (const Tag t) |
| +Tag | tag () const |
| Tag. | |
| +bool | isTerminatorTLV () const |
| Is termibator. | |
| +bool | isMessageTLV () const |
| Is Message? | |
| +bool | isNullTLV () const |
| Is Null TLV? | |
| const container_type & | records () const |
| Get the records. | |
| const std::vector< uint8_t > & | payload () const |
| Get the payload. | |
| std::vector< uint8_t > & | payload () |
| Get the payload. | |
| +uint32_t | required () const |
| Size required for encoding. | |
| bool | push_back (const Record &r) |
| Push back the record. | |
| +void | pop_back () |
| Removes the last record. | |
| uint32_t | encode (uint8_t *buf, const uint32_t blen) const |
| Encode. | |
| uint32_t | decode (const uint8_t *buf, const uint32_t len) |
| Decode. | |
| void | clear () |
| Clear internal buffers. | |
| +void | dump () |
+Static Public Attributes | |
| +static const TLV | Terminator |
| Terminator instance. | |
NDEF TLV container.
+| void m5::nfc::ndef::TLV::clear | +( | +) | ++ |
Clear internal buffers.
+| uint32_t m5::nfc::ndef::TLV::decode | +( | +const uint8_t * | buf, | +
| + | + | const uint32_t | len ) | +
Decode.
+| buf | Pointer of the TLV |
| len | Buffer length |
| > | 0 Decoded length |
| == | 0 Error |
| uint32_t m5::nfc::ndef::TLV::encode | +( | +uint8_t * | buf, | +
| + | + | const uint32_t | blen ) const | +
Encode.
+| [out] | buf | Buffer |
| blen | Buffer size |
| > | 0 Encoded length |
| == | 0 Error |
+
|
+ +inline | +
Get the payload.
+
+
|
+ +inline | +
Get the payload.
+| bool m5::nfc::ndef::TLV::push_back | +( | +const Record & | r | ) | ++ |
+
|
+ +inline | +
Get the records.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::unit::CapST25R3916, including all inherited members.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ST25R3916 unit in CapCC1101 (SPI) + More...
+ +#include <unit_ST25R3916.hpp>
+
++Public Member Functions | |
| + | CapST25R3916 (const uint8_t cs_pin=DEFAULT_ADDRESS) |
| virtual bool | begin () override |
Public Member Functions inherited from m5::unit::UnitST25R3916 | |
| + | UnitST25R3916 (const uint8_t arg=DEFAULT_ADDRESS) |
| +virtual void | update (const bool force=false) override |
| +m5::nfc::NFC | NFCMode () const |
| Gets the current operating mode. | |
| bool | configureNFCMode (const m5::nfc::NFC mode) |
| Configure NFC mode. | |
| bool | configureEmulationMode (const m5::nfc::NFC mode) |
| Configure NFC mode for emulation. | |
| bool | isNFCMode (const m5::nfc::NFC mode) |
| Is the current operating mode the one specified? | |
| bool | writeDirectCommand (const uint8_t cmd, const uint8_t *data=nullptr, const uint32_t dlen=0u) |
| Write the direct command with data. | |
| +void | dumpRegister () |
| +config_t | config () |
| Gets the configuration. | |
| +void | config (const config_t &cfg) |
| Set the configuration. | |
| bool | clearInterrupts () |
| Clear interrupts flag. | |
| bool | writeInitiatorOperationMode (const st25r3916::InitiatorOperationMode mode, const uint8_t optional=0) |
| Write the initiator operation mode and transition to initiator mode. | |
| bool | writeTargetOperationMode (const st25r3916::TargetOperationMode mode, const uint8_t optional=0) |
| Write the initiator operation mode and transition to target mode. | |
| bool | writeBitrate (const m5::nfc::Bitrate tx, const m5::nfc::Bitrate rx) |
| Write the initiator operation mode and transition to initiator mode. | |
| bool | readFIFOSize (uint16_t &bytes, uint8_t &bits) |
| Read the FIFO size. | |
| uint32_t | readFIFO (uint16_t &actual, uint8_t *buf, const uint16_t buf_size) |
| Read from FIFO. | |
| bool | writeFIFO (const uint8_t *buf, const uint16_t buf_size) |
| Write to FIFO. | |
| bool | readIOConfiguration1 (uint8_t &value) |
| Read the I/O configuration 1. | |
| bool | writeIOConfiguration1 (const uint8_t value) |
| Write the I/O configuration 1. | |
| bool | readIOConfiguration2 (uint8_t &value) |
| Read the I/O configuration 2. | |
| bool | writeIOConfiguration2 (const uint8_t value) |
| bool | readIOConfiguration (uint16_t &value) |
| Read the I/O configuration 1-2. | |
| bool | writeIOConfiguration (const uint16_t value) |
| bool | readOperationControl (uint8_t &value) |
| Read the operation control. | |
| bool | writeOperationControl (const uint8_t value) |
| Write the operation control. | |
| bool | readModeDefinition (uint8_t &value) |
| Read the mode definition. | |
| bool | writeModeDefinition (const uint8_t value) |
| Write the mode definition. | |
| bool | readBitrateDefinition (uint8_t &value) |
| Read the bitrate definition. | |
| bool | writeBitrateDefinition (const uint8_t value) |
| Write the bitrate definition. | |
| bool | readSettingsISO14443A (uint8_t &value) |
| Read the settings for ISO14443A and NFC 106kb/s. | |
| bool | writeSettingsISO14443A (const uint8_t value) |
| Write the settings for ISO14443A and NFC 106kb/s. | |
| bool | readSettingsISO14443B (uint8_t &value) |
| Read the settings for ISO14443B. | |
| bool | writeSettingsISO14443B (const uint8_t value) |
| Write the settings for ISO14443B. | |
| bool | readSettingsFelica (uint8_t &value) |
| Read the settings for ISO14443B and FeliCa. | |
| bool | writeSettingsFelica (const uint8_t value) |
| Write the settings for ISO14443B and FeliCa. | |
| bool | readNFCIP1PassiveTargetDefinition (uint8_t &value) |
| Read the NFCIP-1 passive target definition. | |
| bool | writeNFCIP1PassiveTargetDefinition (const uint8_t value) |
| bool | readStreamModeDefinition (uint8_t &value) |
| Read the stream mode definition. | |
| bool | writeStreamModeDefinition (const uint8_t value) |
| Write the stream mode definition. | |
| bool | readAuxiliaryDefinition (uint8_t &value) |
| Read the Auxiliary definition. | |
| bool | writeAuxiliaryDefinition (const uint8_t value) |
| Write the Auxiliary definition. | |
| bool | readEMDSuppressionConfiguration (uint8_t &value) |
| Read the EMD suppression configuration. | |
| bool | writeEMDSuppressionConfiguration (const uint8_t value) |
| Write the EMD suppression configuration. | |
| bool | readSubcarrierStartTimer (uint8_t &value) |
| Read the subcarrier start timer. | |
| bool | writeSubcarrierStartTimer (const uint8_t value) |
| Write the subcarrier start timer. | |
| bool | readReceiverConfiguration1 (uint8_t &value) |
| Read the receiver configuration 1. | |
| bool | writeReceiverConfiguration1 (const uint8_t value) |
| Write the receiver configuration 1. | |
| bool | readReceiverConfiguration2 (uint8_t &value) |
| Read the receiver configuration 2. | |
| bool | writeReceiverConfiguration2 (const uint8_t value) |
| Write the receiver configuration 2. | |
| bool | readReceiverConfiguration3 (uint8_t &value) |
| Read the receiver configuration 3. | |
| bool | writeReceiverConfiguration3 (const uint8_t value) |
| Write the receiver configuration 3. | |
| bool | readReceiverConfiguration4 (uint8_t &value) |
| bool | writeReceiverConfiguration4 (const uint8_t value) |
| Write the receiver configuration 4. | |
| bool | readReceiverConfiguration (uint32_t &value) |
| Read the receiver configuration 1-4. | |
| bool | writeReceiverConfiguration (const uint32_t value) |
| Write the receiver configuration 1-4. | |
| bool | readP2PReceiverConfiguration (uint8_t &value) |
| Read the P2P receiver configuration. | |
| bool | writeP2PReceiverConfiguration (const uint8_t value) |
| Write the P2P receiver configuration. | |
| bool | readCorrelatorConfiguration1 (uint8_t &value) |
| Read the correlator configuration 1. | |
| bool | writeCorrelatorConfiguration1 (const uint8_t value) |
| Write the correlator configuration 1. | |
| bool | readCorrelatorConfiguration2 (uint8_t &value) |
| Read the correlator configuration 2. | |
| bool | writeCorrelatorConfiguration2 (const uint8_t value) |
| Write the correlator configuration 2. | |
| bool | readCorrelatorConfiguration (uint16_t &value) |
| Read the correlator configuration 1-2. | |
| bool | writeCorrelatorConfiguration (const uint16_t value) |
| Write the correlator configuration 1-2. | |
| bool | readMaskReceiveTimer (uint8_t &value) |
| Read the mask receive timer. | |
| bool | writeMaskReceiveTimer (const uint8_t value) |
| Write the mask receive timer. | |
| bool | readNoResponseTimer1 (uint8_t &value) |
| Read the no-response timer 1. | |
| bool | writeNoResponseTimer1 (const uint8_t value) |
| Write the no-response timer 1. | |
| bool | readNoResponseTimer2 (uint8_t &value) |
| Read the no-response timer 2. | |
| bool | writeNoResponseTimer2 (const uint8_t value) |
| Write the no-response timer 2. | |
| bool | readNoResponseTimer (uint16_t &value) |
| Read the no-response timer 1-2. | |
| bool | writeNoResponseTimer (const uint16_t value) |
| Write the no-response timer 1-2. | |
| bool | readTimerAndEMVControl (uint8_t &value) |
| Read the timer and EMV control. | |
| bool | writeTimerAndEMVControl (const uint8_t value) |
| Write the timer and EMV control. | |
| bool | readGeneralPurposeTimer1 (uint8_t &value) |
| Read the general purpose timer 1. | |
| bool | writeGeneralPurposeTimer1 (const uint8_t value) |
| Write the general purpose timer 1. | |
| bool | readGeneralPurposeTimer2 (uint8_t &value) |
| Read the general purpose timer 2. | |
| bool | writeGeneralPurposeTimer2 (const uint8_t value) |
| Write the general purpose timer 2. | |
| bool | readGeneralPurposeTimer (uint16_t &value) |
| Read the general purpose timer 1-2. | |
| bool | writeGeneralPurposeTimer (const uint16_t value) |
| Write the general purpose timer 1-2. | |
| bool | readPPON2FieldWaiting (uint8_t &value) |
| Read the PPON2 field waiting. | |
| bool | writePPON2FieldWaiting (const uint8_t value) |
| Write the PPON2 field waiting. | |
| bool | readSquelchTimer (uint8_t &value) |
| Read the squelch timer. | |
| bool | writeSquelchTimer (const uint8_t value) |
| Write the squelch timer. | |
| bool | readNFCFieldOnGuardTimer (uint8_t &value) |
| Read the NFC field on guard timer. | |
| bool | writeNFCFieldOnGuardTimer (const uint8_t value) |
| Write the NFC field on guard timer. | |
| bool | readMaskMainInterrupt (uint8_t &value) |
| Read the mask main interrupt. | |
| bool | writeMaskMainInterrupt (const uint8_t value) |
| Write the mask main interrupt. | |
| bool | readMaskTimerAndNFCInterrupt (uint8_t &value) |
| Read the mask timer and NFC interrupt. | |
| bool | writeMaskTimerAndNFCInterrupt (const uint8_t value) |
| Write the mask timer and NFC interrupt. | |
| bool | readMaskErrorAndWakeupInterrupt (uint8_t &value) |
| Read the mask error and wake-up interrupt. | |
| bool | writeMaskErrorAndWakeupInterrupt (const uint8_t value) |
| Write the mask error and wake-up interrupt. | |
| bool | readMaskPassiveTargetInterrupt (uint8_t &value) |
| Read the mask passive target interrupt. | |
| bool | writeMaskPassiveTargetInterrupt (const uint8_t value) |
| Write the mask passive target interrupt. | |
| bool | readMaskInterrupts (uint32_t &value) |
| Read the all mask. | |
| bool | writeMaskInterrupts (const uint32_t value) |
| Write the all mask. | |
| bool | readMainInterrupt (uint8_t &value) |
| Read the main interrupt. | |
| bool | readTimerAndNFCInterrupt (uint8_t &value) |
| Read the timer and NFC interrupt. | |
| bool | readErrorAndWakeupInterrupt (uint8_t &value) |
| Read the error and wake-up interrupt. | |
| bool | readPassiveTargetInterrupt (uint8_t &value) |
| Read the passive target interrupt. | |
| bool | readInterrupts (uint32_t &value) |
| Read the all interrupt. | |
| bool | readFIFOStatus1 (uint8_t &value) |
| Read the FIFO status 1. | |
| bool | readFIFOStatus2 (uint8_t &value) |
| Read the FIFO status 1. | |
| bool | readFIFOStatus (uint16_t &value) |
| Read the FIFO status 1-2. | |
| bool | readCollisionDisplay (uint8_t &value) |
| Read the collision display. | |
| bool | readPassiveTargetDisplay (uint8_t &value) |
| Read the passive target. | |
| bool | readNumberOfTransmittedBytes1 (uint8_t &value) |
| Read the number of transmitted bytes 1. | |
| bool | writeNumberOfTransmittedBytes1 (const uint8_t value) |
| Write the number of transmitted bytes 1. | |
| bool | readNumberOfTransmittedBytes2 (uint8_t &value) |
| Read the number of transmitted bytes 2. | |
| bool | writeNumberOfTransmittedBytes2 (const uint8_t value) |
| Write the number of transmitted bytes 2. | |
| bool | readNumberOfTransmittedBytes (uint16_t &value) |
| Read the number of transmitted bytes 1-2. | |
| bool | writeNumberOfTransmittedBytes (const uint16_t value) |
| Write the number of transmitted bytes 1-2. | |
| bool | writeNumberOfTransmittedBytes (const uint16_t bytes, const uint8_t bits) |
| Write the number of transmitted bytes and after bytes. | |
| bool | readBitrateDetectionDisplay (uint8_t &value) |
| Read the bit rate detection display. | |
| bool | readADConverterOutput (uint8_t &value) |
| Read the number of transmitted bytes 2. | |
| bool | readAntennaTuningControl1 (uint8_t &value) |
| Read the Antenna tuning control 1. | |
| bool | writeAntennaTuningControl1 (const uint8_t value) |
| Write the Antenna tuning control 1. | |
| bool | readAntennaTuningControl2 (uint8_t &value) |
| Read the Antenna tuning control 2. | |
| bool | writeAntennaTuningControl2 (const uint8_t value) |
| Write the Antenna tuning control 2. | |
| bool | readAntennaTuningControl (uint16_t &value) |
| Read the Antenna tuning control 1-2. | |
| bool | writeAntennaTuningControl (const uint16_t value) |
| Write the Antenna tuning control 1-2. | |
| bool | readTXDriver (uint8_t &value) |
| Read the TX driver. | |
| bool | writeTXDriver (const uint8_t value) |
| Write the TX driver. | |
| bool | readPassiveTargetModulation (uint8_t &value) |
| Read the passive target modulation. | |
| bool | writePassiveTargetModulation (const uint8_t value) |
| Write the passive target modulation. | |
| bool | readAuxiliaryModulationSetting (uint8_t &value) |
| Read the auxiliary modulation setting. | |
| bool | writeAuxiliaryModulationSetting (const uint8_t value) |
| Write the auxiliary modulation setting. | |
| bool | readTXDriverTiming (uint8_t &value) |
| Read the TX driver timing. | |
| bool | writeTXDriverTiming (const uint8_t value) |
| Write the TX driver timing. | |
| bool | readExternalFieldDetectorActivationThreshold (uint8_t &value) |
| Read the external field detector activation threshold. | |
| bool | writeExternalFieldDetectorActivationThreshold (const uint8_t value) |
| Write the external field detector activation threshold. | |
| bool | readExternalFieldDetectorDeactivationThreshold (uint8_t &value) |
| Read the external field detector deactivation threshold. | |
| bool | writeExternalFieldDetectorDeactivationThreshold (const uint8_t value) |
| Write the external field detector deactivation threshold. | |
| bool | readResistiveAMModulation (uint8_t &value) |
| Read the resistive AM modulation. | |
| bool | writeResistiveAMModulation (const uint8_t value) |
| Write the resistive AM modulation. | |
| bool | readTXDriverTimingDisplay (uint8_t &value) |
| Read the TX driver timing display. | |
| bool | readRegulatorVoltageControl (uint8_t &value) |
| Read the regulator voltage control. | |
| bool | writeRegulatorVoltageControl (const uint8_t value) |
| Write the regulator voltage control. | |
| bool | readRegulatorDisplay (uint8_t &value) |
| Read the regulator display. | |
| bool | readRSSIDisplay (uint8_t &value) |
| Read the external field detector deactivation threshold. | |
| bool | readGainReductionState (uint8_t &value) |
| Read the gain reduction state. | |
| bool | readCapacitiveSensorControl (uint8_t &value) |
| Read the capacitive sensor control. | |
| bool | writeCapacitiveSensorControl (const uint8_t value) |
| Write the capacitive sensor control. | |
| bool | readCapacitiveSensorDisplay (uint8_t &value) |
| Read the capacitive sensor display. | |
| bool | readAuxiliaryDisplay (uint8_t &value) |
| Read the auxiliary display. | |
| bool | readWakeupTimerControl (uint8_t &value) |
| Read the Wake-up timer control. | |
| bool | writeWakeupTimerControl (const uint8_t value) |
| Write the Wake-up timer control. | |
| bool | readAmplitudeMeasurementConfiguration (uint8_t &value) |
| Read the amplitude measurement configuration. | |
| bool | writeAmplitudeMeasurementConfiguration (const uint8_t value) |
| Write the amplitude measurement configuration. | |
| bool | readAmplitudeMeasurementReference (uint8_t &value) |
| Read the amplitude measurement reference. | |
| bool | writeAmplitudeMeasurementReference (const uint8_t value) |
| Write the amplitude measurement reference. | |
| bool | readAmplitudeMeasurementAutoAveragingDisplay (uint8_t &value) |
| Read the amplitude measurement auto-averaging display. | |
| bool | readAmplitudeMeasurementDisplay (uint8_t &value) |
| Read the amplitude measurement display. | |
| bool | readPhaseMeasurementConfiguration (uint8_t &value) |
| Read the phase measurement configuration. | |
| bool | writePhaseMeasurementConfiguration (const uint8_t value) |
| Write the phase measurement configuration. | |
| bool | readPhaseMeasurementReference (uint8_t &value) |
| Read the phase measurement reference. | |
| bool | writePhaseMeasurementReference (const uint8_t value) |
| Write the phase measurement reference. | |
| bool | readPhaseMeasurementAutoAveragingDisplay (uint8_t &value) |
| Read the phase measurement auto-averaging display. | |
| bool | readPhaseMeasurementDisplay (uint8_t &value) |
| Read the phase measurement display. | |
| bool | readCapacitanceMeasurementConfiguration (uint8_t &value) |
| Read the capacitance measurement configuration. | |
| bool | writeCapacitanceMeasurementConfiguration (const uint8_t value) |
| Write the capacitance measurement configuration. | |
| bool | readCapacitanceMeasurementReference (uint8_t &value) |
| Read the capacitance measurement reference. | |
| bool | writeCapacitanceMeasurementReference (const uint8_t value) |
| Write the capacitance measurement reference. | |
| bool | readCapacitanceMeasurementAutoAveragingDisplay (uint8_t &value) |
| Read the capacitance measurement auto-averaging display. | |
| bool | readCapacitanceMeasurementDisplay (uint8_t &value) |
| Read the capacitance measurement display. | |
| bool | readOvershootProtectionConfiguration1 (uint8_t &value) |
| Read the overshoot protection configuration 1. | |
| bool | writeOvershootProtectionConfiguration1 (const uint8_t value) |
| Write the overshoot protection configuration 1. | |
| bool | readOvershootProtectionConfiguration2 (uint8_t &value) |
| Read the overshoot protection configuration 2. | |
| bool | writeOvershootProtectionConfiguration2 (const uint8_t value) |
| Write the overshoot protection configuration 2. | |
| bool | readOvershootProtectionConfiguration (uint16_t &value) |
| Read the overshoot protection configuration 1-2. | |
| bool | writeOvershootProtectionConfiguration (const uint16_t value) |
| Write the overshoot protection configuration 1-2. | |
| bool | readUndershootProtectionConfiguration1 (uint8_t &value) |
| Read the undershoot protection configuration 1. | |
| bool | writeUndershootProtectionConfiguration1 (const uint8_t value) |
| Write the undershoot protection configuration 1. | |
| bool | readUndershootProtectionConfiguration2 (uint8_t &value) |
| Read the undershoot protection configuration 2. | |
| bool | writeUndershootProtectionConfiguration2 (const uint8_t value) |
| Write the undershoot protection configuration 2. | |
| bool | readUndershootProtectionConfiguration (uint16_t &value) |
| Read the undershoot protection configuration 1-2. | |
| bool | writeUndershootProtectionConfiguration (const uint16_t value) |
| Write the undershoot protection configuration 1-2. | |
| bool | readICIdentity (uint8_t &type, uint8_t &rev) |
| Read the IC identity. | |
| bool | disableField () |
| Disable the Field to stop communication with the PICC. | |
| bool | enableField () |
| Enable the Field to begin communication with the PICC. | |
| uint32_t | nfcaTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive. | |
| bool | nfcaTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive. | |
| bool | nfcaReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Transceive. | |
| bool | nfcaRequest (uint16_t &atqa) |
| Request for idle PICC. | |
| bool | nfcaWakeup (uint16_t &atqa) |
| Wakeup for idle/halt PICC. | |
| bool | nfcaSelectWithAnticollision (bool &completed, m5::nfc::a::PICC &picc, const uint8_t lv) |
| Select PICC with anti-collision. | |
| bool | nfcaSelect (const m5::nfc::a::PICC &picc) |
| Select specific PICC. | |
| bool | nfcaReadBlock (uint8_t rx[16], const uint8_t block) |
| Read the 1 block / 4 pages (16 bytes) | |
| bool | nfcaWriteBlock (const uint8_t block, const uint8_t tx[16]) |
| Write the 1 block / 4 pages (16 bytes) | |
| bool | nfcaHlt () |
| Hlt for PICC. | |
| bool | mifareClassicAuthenticateA (const m5::nfc::a::PICC &picc, const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Authentication using keyA of the specified block. | |
| bool | mifareClassicAuthenticateB (const m5::nfc::a::PICC &picc, const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Authentication using keyB of the specified block. | |
| bool | mifareClassicValueBlock (const m5::nfc::a::Command cmd, const uint8_t block, const uint32_t arg=0) |
| Operation for the value block. | |
| bool | nfcbTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive with NFC-B PICC. | |
| bool | nfcbTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transmit to NFC-B PICC. | |
| bool | nfcbReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive from NFC-B PICC. | |
| bool | nfcfTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive with NFC-F PICC. | |
| bool | nfcfTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| bool | nfcfReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive from NFC-F PICC. | |
| bool | nfcvTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_bytes, const uint32_t timeout_ms, const m5::nfc::v::ModulationMode mode=m5::nfc::v::ModulationMode::OneOf4) |
| Transceive. | |
| bool | nfcvTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms, const m5::nfc::v::ModulationMode mode=m5::nfc::v::ModulationMode::OneOf4) |
| bool | nfcvReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive from NFC-V PICC. | |
| +bool | writePtMemoryA (const uint8_t *tx, const uint32_t tx_len) |
| +bool | writePtMemoryF (const uint8_t *tx, const uint32_t tx_len) |
| +bool | writePtMemoryTSN (const uint8_t *tx, const uint32_t tx_len) |
| +bool | readPtMemory (uint8_t *rx, const uint32_t rx_len) |
+Additional Inherited Members | |
Protected Member Functions inherited from m5::unit::UnitST25R3916 | |
| +bool | read_register8 (const uint8_t reg, uint8_t &v) |
| +bool | read_register8 (const uint16_t reg, uint8_t &v) |
| +bool | write_register8 (const uint8_t reg, const uint8_t v) |
| +bool | write_register8 (const uint16_t reg, const uint8_t v) |
| +bool | read_register16 (const uint8_t reg, uint16_t &v) |
| +bool | read_register16 (const uint16_t reg, uint16_t &v) |
| +bool | write_register16 (const uint8_t reg, const uint16_t v) |
| +bool | write_register16 (const uint16_t reg, const uint16_t v) |
| +bool | read_register32 (const uint8_t reg, uint32_t &v) |
| +bool | read_register32 (const uint16_t reg, uint32_t &v) |
| +bool | write_register32 (const uint8_t reg, const uint32_t v) |
| +bool | write_register32 (const uint16_t reg, const uint32_t v) |
| +bool | write_fwt_timer (const uint32_t ms) |
| +bool | write_mask_receiver_timer (const uint32_t us) |
| +bool | write_squelch_timer (const uint32_t us) |
| +uint32_t | wait_for_interrupt (const uint32_t irq, const uint32_t timeout_ms=100) |
| +bool | wait_for_FIFO (const uint32_t timeout_ms, const uint16_t required_size=0) |
| +bool | read_FIFO (std::vector< uint8_t > &out) |
| +bool | configure_nfc_a () |
| +bool | configure_nfc_b () |
| +bool | configure_nfc_f () |
| +bool | configure_nfc_v () |
| +bool | nfc_initial_field_on () |
| +bool | configure_emulation_a () |
| +bool | configure_emulation_f () |
| +bool | modify_bit_register8 (const uint8_t reg, const uint8_t set_mask, const uint8_t clear_mask) |
| +bool | modify_bit_register8 (const uint16_t reg, const uint8_t set_mask, const uint8_t clear_mask) |
| +bool | set_bit_register8 (const uint8_t reg, const uint8_t bits) |
| +bool | set_bit_register8 (const uint16_t reg, const uint8_t bits) |
| +bool | clear_bit_register8 (const uint8_t reg, const uint8_t bits) |
| +bool | clear_bit_register8 (const uint16_t reg, const uint8_t bits) |
| +bool | change_bit_register8 (const uint8_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | change_bit_register8 (const uint16_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | change_test_bit_register8 (const uint8_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | change_test_bit_register8 (const uint16_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | modify_interrupts (const uint32_t clr, const uint32_t set) |
| +bool | enable_interrupts (const uint32_t mask) |
| +bool | disable_interrupts (const uint32_t mask) |
| +bool | enable_osc () |
| +bool | disable_field () |
| +bool | nfca_request_wakeup (uint16_t &atqa, const bool req) |
| +bool | nfca_anti_collision (uint8_t rbuf[5], const uint8_t lv) |
| +bool | mifare_classic_send_encrypt (const uint8_t *tx, const uint16_t tx_len) |
| +bool | mifare_classic_transceive_encrypt (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms, const bool include_crc, const bool decrypt) |
| +bool | mifare_classic_authenticate (const m5::nfc::a::Command cmd, const m5::nfc::a::PICC &picc, const uint8_t block, const m5::nfc::a::mifare::classic::Key &key) |
Static Protected Member Functions inherited from m5::unit::UnitST25R3916 | |
| +static void IRAM_ATTR | on_irq (void *arg) |
ST25R3916 unit in CapCC1101 (SPI)
+
+
|
+ +overridevirtual | +
Reimplemented from m5::unit::UnitST25R3916.
+ +|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
This is the complete list of members for m5::unit::UnitST25R3916, including all inherited members.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ST25R3916 Unit. + More...
+ +#include <unit_ST25R3916.hpp>
+
++Classes | |
| struct | config_t |
| Settings for begin. More... | |
+Public Member Functions | |
| + | UnitST25R3916 (const uint8_t arg=DEFAULT_ADDRESS) |
| +virtual bool | begin () override |
| +virtual void | update (const bool force=false) override |
| +m5::nfc::NFC | NFCMode () const |
| Gets the current operating mode. | |
| bool | configureNFCMode (const m5::nfc::NFC mode) |
| Configure NFC mode. | |
| bool | configureEmulationMode (const m5::nfc::NFC mode) |
| Configure NFC mode for emulation. | |
| bool | isNFCMode (const m5::nfc::NFC mode) |
| Is the current operating mode the one specified? | |
| bool | writeDirectCommand (const uint8_t cmd, const uint8_t *data=nullptr, const uint32_t dlen=0u) |
| Write the direct command with data. | |
| +void | dumpRegister () |
Settings for begin | |
| +config_t | config () |
| Gets the configuration. | |
| +void | config (const config_t &cfg) |
| Set the configuration. | |
Interrupt | |
| bool | clearInterrupts () |
| Clear interrupts flag. | |
Settings | |
| bool | writeInitiatorOperationMode (const st25r3916::InitiatorOperationMode mode, const uint8_t optional=0) |
| Write the initiator operation mode and transition to initiator mode. | |
| bool | writeTargetOperationMode (const st25r3916::TargetOperationMode mode, const uint8_t optional=0) |
| Write the initiator operation mode and transition to target mode. | |
| bool | writeBitrate (const m5::nfc::Bitrate tx, const m5::nfc::Bitrate rx) |
| Write the initiator operation mode and transition to initiator mode. | |
FIFO | |
| bool | readFIFOSize (uint16_t &bytes, uint8_t &bits) |
| Read the FIFO size. | |
| uint32_t | readFIFO (uint16_t &actual, uint8_t *buf, const uint16_t buf_size) |
| Read from FIFO. | |
| bool | writeFIFO (const uint8_t *buf, const uint16_t buf_size) |
| Write to FIFO. | |
I/O configuration | |
| bool | readIOConfiguration1 (uint8_t &value) |
| Read the I/O configuration 1. | |
| bool | writeIOConfiguration1 (const uint8_t value) |
| Write the I/O configuration 1. | |
| bool | readIOConfiguration2 (uint8_t &value) |
| Read the I/O configuration 2. | |
| bool | writeIOConfiguration2 (const uint8_t value) |
| bool | readIOConfiguration (uint16_t &value) |
| Read the I/O configuration 1-2. | |
| bool | writeIOConfiguration (const uint16_t value) |
Operation control and mode definition | |
| bool | readOperationControl (uint8_t &value) |
| Read the operation control. | |
| bool | writeOperationControl (const uint8_t value) |
| Write the operation control. | |
| bool | readModeDefinition (uint8_t &value) |
| Read the mode definition. | |
| bool | writeModeDefinition (const uint8_t value) |
| Write the mode definition. | |
| bool | readBitrateDefinition (uint8_t &value) |
| Read the bitrate definition. | |
| bool | writeBitrateDefinition (const uint8_t value) |
| Write the bitrate definition. | |
Protocol configuration | |
| bool | readSettingsISO14443A (uint8_t &value) |
| Read the settings for ISO14443A and NFC 106kb/s. | |
| bool | writeSettingsISO14443A (const uint8_t value) |
| Write the settings for ISO14443A and NFC 106kb/s. | |
| bool | readSettingsISO14443B (uint8_t &value) |
| Read the settings for ISO14443B. | |
| bool | writeSettingsISO14443B (const uint8_t value) |
| Write the settings for ISO14443B. | |
| bool | readSettingsFelica (uint8_t &value) |
| Read the settings for ISO14443B and FeliCa. | |
| bool | writeSettingsFelica (const uint8_t value) |
| Write the settings for ISO14443B and FeliCa. | |
| bool | readNFCIP1PassiveTargetDefinition (uint8_t &value) |
| Read the NFCIP-1 passive target definition. | |
| bool | writeNFCIP1PassiveTargetDefinition (const uint8_t value) |
| bool | readStreamModeDefinition (uint8_t &value) |
| Read the stream mode definition. | |
| bool | writeStreamModeDefinition (const uint8_t value) |
| Write the stream mode definition. | |
| bool | readAuxiliaryDefinition (uint8_t &value) |
| Read the Auxiliary definition. | |
| bool | writeAuxiliaryDefinition (const uint8_t value) |
| Write the Auxiliary definition. | |
| bool | readEMDSuppressionConfiguration (uint8_t &value) |
| Read the EMD suppression configuration. | |
| bool | writeEMDSuppressionConfiguration (const uint8_t value) |
| Write the EMD suppression configuration. | |
| bool | readSubcarrierStartTimer (uint8_t &value) |
| Read the subcarrier start timer. | |
| bool | writeSubcarrierStartTimer (const uint8_t value) |
| Write the subcarrier start timer. | |
Receiver configuration | |
| bool | readReceiverConfiguration1 (uint8_t &value) |
| Read the receiver configuration 1. | |
| bool | writeReceiverConfiguration1 (const uint8_t value) |
| Write the receiver configuration 1. | |
| bool | readReceiverConfiguration2 (uint8_t &value) |
| Read the receiver configuration 2. | |
| bool | writeReceiverConfiguration2 (const uint8_t value) |
| Write the receiver configuration 2. | |
| bool | readReceiverConfiguration3 (uint8_t &value) |
| Read the receiver configuration 3. | |
| bool | writeReceiverConfiguration3 (const uint8_t value) |
| Write the receiver configuration 3. | |
| bool | readReceiverConfiguration4 (uint8_t &value) |
| bool | writeReceiverConfiguration4 (const uint8_t value) |
| Write the receiver configuration 4. | |
| bool | readReceiverConfiguration (uint32_t &value) |
| Read the receiver configuration 1-4. | |
| bool | writeReceiverConfiguration (const uint32_t value) |
| Write the receiver configuration 1-4. | |
| bool | readP2PReceiverConfiguration (uint8_t &value) |
| Read the P2P receiver configuration. | |
| bool | writeP2PReceiverConfiguration (const uint8_t value) |
| Write the P2P receiver configuration. | |
| bool | readCorrelatorConfiguration1 (uint8_t &value) |
| Read the correlator configuration 1. | |
| bool | writeCorrelatorConfiguration1 (const uint8_t value) |
| Write the correlator configuration 1. | |
| bool | readCorrelatorConfiguration2 (uint8_t &value) |
| Read the correlator configuration 2. | |
| bool | writeCorrelatorConfiguration2 (const uint8_t value) |
| Write the correlator configuration 2. | |
| bool | readCorrelatorConfiguration (uint16_t &value) |
| Read the correlator configuration 1-2. | |
| bool | writeCorrelatorConfiguration (const uint16_t value) |
| Write the correlator configuration 1-2. | |
Timer definition | |
| bool | readMaskReceiveTimer (uint8_t &value) |
| Read the mask receive timer. | |
| bool | writeMaskReceiveTimer (const uint8_t value) |
| Write the mask receive timer. | |
| bool | readNoResponseTimer1 (uint8_t &value) |
| Read the no-response timer 1. | |
| bool | writeNoResponseTimer1 (const uint8_t value) |
| Write the no-response timer 1. | |
| bool | readNoResponseTimer2 (uint8_t &value) |
| Read the no-response timer 2. | |
| bool | writeNoResponseTimer2 (const uint8_t value) |
| Write the no-response timer 2. | |
| bool | readNoResponseTimer (uint16_t &value) |
| Read the no-response timer 1-2. | |
| bool | writeNoResponseTimer (const uint16_t value) |
| Write the no-response timer 1-2. | |
| bool | readTimerAndEMVControl (uint8_t &value) |
| Read the timer and EMV control. | |
| bool | writeTimerAndEMVControl (const uint8_t value) |
| Write the timer and EMV control. | |
| bool | readGeneralPurposeTimer1 (uint8_t &value) |
| Read the general purpose timer 1. | |
| bool | writeGeneralPurposeTimer1 (const uint8_t value) |
| Write the general purpose timer 1. | |
| bool | readGeneralPurposeTimer2 (uint8_t &value) |
| Read the general purpose timer 2. | |
| bool | writeGeneralPurposeTimer2 (const uint8_t value) |
| Write the general purpose timer 2. | |
| bool | readGeneralPurposeTimer (uint16_t &value) |
| Read the general purpose timer 1-2. | |
| bool | writeGeneralPurposeTimer (const uint16_t value) |
| Write the general purpose timer 1-2. | |
| bool | readPPON2FieldWaiting (uint8_t &value) |
| Read the PPON2 field waiting. | |
| bool | writePPON2FieldWaiting (const uint8_t value) |
| Write the PPON2 field waiting. | |
| bool | readSquelchTimer (uint8_t &value) |
| Read the squelch timer. | |
| bool | writeSquelchTimer (const uint8_t value) |
| Write the squelch timer. | |
| bool | readNFCFieldOnGuardTimer (uint8_t &value) |
| Read the NFC field on guard timer. | |
| bool | writeNFCFieldOnGuardTimer (const uint8_t value) |
| Write the NFC field on guard timer. | |
Interrupt and associated reporting | |
| bool | readMaskMainInterrupt (uint8_t &value) |
| Read the mask main interrupt. | |
| bool | writeMaskMainInterrupt (const uint8_t value) |
| Write the mask main interrupt. | |
| bool | readMaskTimerAndNFCInterrupt (uint8_t &value) |
| Read the mask timer and NFC interrupt. | |
| bool | writeMaskTimerAndNFCInterrupt (const uint8_t value) |
| Write the mask timer and NFC interrupt. | |
| bool | readMaskErrorAndWakeupInterrupt (uint8_t &value) |
| Read the mask error and wake-up interrupt. | |
| bool | writeMaskErrorAndWakeupInterrupt (const uint8_t value) |
| Write the mask error and wake-up interrupt. | |
| bool | readMaskPassiveTargetInterrupt (uint8_t &value) |
| Read the mask passive target interrupt. | |
| bool | writeMaskPassiveTargetInterrupt (const uint8_t value) |
| Write the mask passive target interrupt. | |
| bool | readMaskInterrupts (uint32_t &value) |
| Read the all mask. | |
| bool | writeMaskInterrupts (const uint32_t value) |
| Write the all mask. | |
| bool | readMainInterrupt (uint8_t &value) |
| Read the main interrupt. | |
| bool | readTimerAndNFCInterrupt (uint8_t &value) |
| Read the timer and NFC interrupt. | |
| bool | readErrorAndWakeupInterrupt (uint8_t &value) |
| Read the error and wake-up interrupt. | |
| bool | readPassiveTargetInterrupt (uint8_t &value) |
| Read the passive target interrupt. | |
| bool | readInterrupts (uint32_t &value) |
| Read the all interrupt. | |
| bool | readFIFOStatus1 (uint8_t &value) |
| Read the FIFO status 1. | |
| bool | readFIFOStatus2 (uint8_t &value) |
| Read the FIFO status 1. | |
| bool | readFIFOStatus (uint16_t &value) |
| Read the FIFO status 1-2. | |
| bool | readCollisionDisplay (uint8_t &value) |
| Read the collision display. | |
| bool | readPassiveTargetDisplay (uint8_t &value) |
| Read the passive target. | |
Definition of number of transmitted bytes | |
| bool | readNumberOfTransmittedBytes1 (uint8_t &value) |
| Read the number of transmitted bytes 1. | |
| bool | writeNumberOfTransmittedBytes1 (const uint8_t value) |
| Write the number of transmitted bytes 1. | |
| bool | readNumberOfTransmittedBytes2 (uint8_t &value) |
| Read the number of transmitted bytes 2. | |
| bool | writeNumberOfTransmittedBytes2 (const uint8_t value) |
| Write the number of transmitted bytes 2. | |
| bool | readNumberOfTransmittedBytes (uint16_t &value) |
| Read the number of transmitted bytes 1-2. | |
| bool | writeNumberOfTransmittedBytes (const uint16_t value) |
| Write the number of transmitted bytes 1-2. | |
| bool | writeNumberOfTransmittedBytes (const uint16_t bytes, const uint8_t bits) |
| Write the number of transmitted bytes and after bytes. | |
| bool | readBitrateDetectionDisplay (uint8_t &value) |
| Read the bit rate detection display. | |
A/D converter output | |
| bool | readADConverterOutput (uint8_t &value) |
| Read the number of transmitted bytes 2. | |
Antenna calibration | |
| bool | readAntennaTuningControl1 (uint8_t &value) |
| Read the Antenna tuning control 1. | |
| bool | writeAntennaTuningControl1 (const uint8_t value) |
| Write the Antenna tuning control 1. | |
| bool | readAntennaTuningControl2 (uint8_t &value) |
| Read the Antenna tuning control 2. | |
| bool | writeAntennaTuningControl2 (const uint8_t value) |
| Write the Antenna tuning control 2. | |
| bool | readAntennaTuningControl (uint16_t &value) |
| Read the Antenna tuning control 1-2. | |
| bool | writeAntennaTuningControl (const uint16_t value) |
| Write the Antenna tuning control 1-2. | |
Antenna driver and modulation | |
| bool | readTXDriver (uint8_t &value) |
| Read the TX driver. | |
| bool | writeTXDriver (const uint8_t value) |
| Write the TX driver. | |
| bool | readPassiveTargetModulation (uint8_t &value) |
| Read the passive target modulation. | |
| bool | writePassiveTargetModulation (const uint8_t value) |
| Write the passive target modulation. | |
| bool | readAuxiliaryModulationSetting (uint8_t &value) |
| Read the auxiliary modulation setting. | |
| bool | writeAuxiliaryModulationSetting (const uint8_t value) |
| Write the auxiliary modulation setting. | |
| bool | readTXDriverTiming (uint8_t &value) |
| Read the TX driver timing. | |
| bool | writeTXDriverTiming (const uint8_t value) |
| Write the TX driver timing. | |
External field detector threshold | |
| bool | readExternalFieldDetectorActivationThreshold (uint8_t &value) |
| Read the external field detector activation threshold. | |
| bool | writeExternalFieldDetectorActivationThreshold (const uint8_t value) |
| Write the external field detector activation threshold. | |
| bool | readExternalFieldDetectorDeactivationThreshold (uint8_t &value) |
| Read the external field detector deactivation threshold. | |
| bool | writeExternalFieldDetectorDeactivationThreshold (const uint8_t value) |
| Write the external field detector deactivation threshold. | |
| bool | readResistiveAMModulation (uint8_t &value) |
| Read the resistive AM modulation. | |
| bool | writeResistiveAMModulation (const uint8_t value) |
| Write the resistive AM modulation. | |
| bool | readTXDriverTimingDisplay (uint8_t &value) |
| Read the TX driver timing display. | |
Regulator | |
| bool | readRegulatorVoltageControl (uint8_t &value) |
| Read the regulator voltage control. | |
| bool | writeRegulatorVoltageControl (const uint8_t value) |
| Write the regulator voltage control. | |
| bool | readRegulatorDisplay (uint8_t &value) |
| Read the regulator display. | |
Receiver state display | |
| bool | readRSSIDisplay (uint8_t &value) |
| Read the external field detector deactivation threshold. | |
| bool | readGainReductionState (uint8_t &value) |
| Read the gain reduction state. | |
Capacitive sensor | |
| bool | readCapacitiveSensorControl (uint8_t &value) |
| Read the capacitive sensor control. | |
| bool | writeCapacitiveSensorControl (const uint8_t value) |
| Write the capacitive sensor control. | |
| bool | readCapacitiveSensorDisplay (uint8_t &value) |
| Read the capacitive sensor display. | |
Auxiliary display | |
| bool | readAuxiliaryDisplay (uint8_t &value) |
| Read the auxiliary display. | |
Wake-up | |
| bool | readWakeupTimerControl (uint8_t &value) |
| Read the Wake-up timer control. | |
| bool | writeWakeupTimerControl (const uint8_t value) |
| Write the Wake-up timer control. | |
| bool | readAmplitudeMeasurementConfiguration (uint8_t &value) |
| Read the amplitude measurement configuration. | |
| bool | writeAmplitudeMeasurementConfiguration (const uint8_t value) |
| Write the amplitude measurement configuration. | |
| bool | readAmplitudeMeasurementReference (uint8_t &value) |
| Read the amplitude measurement reference. | |
| bool | writeAmplitudeMeasurementReference (const uint8_t value) |
| Write the amplitude measurement reference. | |
| bool | readAmplitudeMeasurementAutoAveragingDisplay (uint8_t &value) |
| Read the amplitude measurement auto-averaging display. | |
| bool | readAmplitudeMeasurementDisplay (uint8_t &value) |
| Read the amplitude measurement display. | |
| bool | readPhaseMeasurementConfiguration (uint8_t &value) |
| Read the phase measurement configuration. | |
| bool | writePhaseMeasurementConfiguration (const uint8_t value) |
| Write the phase measurement configuration. | |
| bool | readPhaseMeasurementReference (uint8_t &value) |
| Read the phase measurement reference. | |
| bool | writePhaseMeasurementReference (const uint8_t value) |
| Write the phase measurement reference. | |
| bool | readPhaseMeasurementAutoAveragingDisplay (uint8_t &value) |
| Read the phase measurement auto-averaging display. | |
| bool | readPhaseMeasurementDisplay (uint8_t &value) |
| Read the phase measurement display. | |
| bool | readCapacitanceMeasurementConfiguration (uint8_t &value) |
| Read the capacitance measurement configuration. | |
| bool | writeCapacitanceMeasurementConfiguration (const uint8_t value) |
| Write the capacitance measurement configuration. | |
| bool | readCapacitanceMeasurementReference (uint8_t &value) |
| Read the capacitance measurement reference. | |
| bool | writeCapacitanceMeasurementReference (const uint8_t value) |
| Write the capacitance measurement reference. | |
| bool | readCapacitanceMeasurementAutoAveragingDisplay (uint8_t &value) |
| Read the capacitance measurement auto-averaging display. | |
| bool | readCapacitanceMeasurementDisplay (uint8_t &value) |
| Read the capacitance measurement display. | |
Protection | |
| bool | readOvershootProtectionConfiguration1 (uint8_t &value) |
| Read the overshoot protection configuration 1. | |
| bool | writeOvershootProtectionConfiguration1 (const uint8_t value) |
| Write the overshoot protection configuration 1. | |
| bool | readOvershootProtectionConfiguration2 (uint8_t &value) |
| Read the overshoot protection configuration 2. | |
| bool | writeOvershootProtectionConfiguration2 (const uint8_t value) |
| Write the overshoot protection configuration 2. | |
| bool | readOvershootProtectionConfiguration (uint16_t &value) |
| Read the overshoot protection configuration 1-2. | |
| bool | writeOvershootProtectionConfiguration (const uint16_t value) |
| Write the overshoot protection configuration 1-2. | |
| bool | readUndershootProtectionConfiguration1 (uint8_t &value) |
| Read the undershoot protection configuration 1. | |
| bool | writeUndershootProtectionConfiguration1 (const uint8_t value) |
| Write the undershoot protection configuration 1. | |
| bool | readUndershootProtectionConfiguration2 (uint8_t &value) |
| Read the undershoot protection configuration 2. | |
| bool | writeUndershootProtectionConfiguration2 (const uint8_t value) |
| Write the undershoot protection configuration 2. | |
| bool | readUndershootProtectionConfiguration (uint16_t &value) |
| Read the undershoot protection configuration 1-2. | |
| bool | writeUndershootProtectionConfiguration (const uint16_t value) |
| Write the undershoot protection configuration 1-2. | |
IC identity | |
| bool | readICIdentity (uint8_t &type, uint8_t &rev) |
| Read the IC identity. | |
Field | |
| bool | disableField () |
| Disable the Field to stop communication with the PICC. | |
| bool | enableField () |
| Enable the Field to begin communication with the PICC. | |
NFC-A | |
| uint32_t | nfcaTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive. | |
| bool | nfcaTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive. | |
| bool | nfcaReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Transceive. | |
| bool | nfcaRequest (uint16_t &atqa) |
| Request for idle PICC. | |
| bool | nfcaWakeup (uint16_t &atqa) |
| Wakeup for idle/halt PICC. | |
| bool | nfcaSelectWithAnticollision (bool &completed, m5::nfc::a::PICC &picc, const uint8_t lv) |
| Select PICC with anti-collision. | |
| bool | nfcaSelect (const m5::nfc::a::PICC &picc) |
| Select specific PICC. | |
| bool | nfcaReadBlock (uint8_t rx[16], const uint8_t block) |
| Read the 1 block / 4 pages (16 bytes) | |
| bool | nfcaWriteBlock (const uint8_t block, const uint8_t tx[16]) |
| Write the 1 block / 4 pages (16 bytes) | |
| bool | nfcaHlt () |
| Hlt for PICC. | |
MIFARE | |
| bool | mifareClassicAuthenticateA (const m5::nfc::a::PICC &picc, const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Authentication using keyA of the specified block. | |
| bool | mifareClassicAuthenticateB (const m5::nfc::a::PICC &picc, const uint8_t block, const m5::nfc::a::mifare::classic::Key &key=m5::nfc::a::mifare::classic::DEFAULT_KEY) |
| Authentication using keyB of the specified block. | |
| bool | mifareClassicValueBlock (const m5::nfc::a::Command cmd, const uint8_t block, const uint32_t arg=0) |
| Operation for the value block. | |
NFC-B | |
| bool | nfcbTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive with NFC-B PICC. | |
| bool | nfcbTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transmit to NFC-B PICC. | |
| bool | nfcbReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive from NFC-B PICC. | |
NFC-F | |
| bool | nfcfTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| Transceive with NFC-F PICC. | |
| bool | nfcfTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms) |
| bool | nfcfReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive from NFC-F PICC. | |
NFC-V | |
| bool | nfcvTransceive (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_bytes, const uint32_t timeout_ms, const m5::nfc::v::ModulationMode mode=m5::nfc::v::ModulationMode::OneOf4) |
| Transceive. | |
| bool | nfcvTransmit (const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms, const m5::nfc::v::ModulationMode mode=m5::nfc::v::ModulationMode::OneOf4) |
| bool | nfcvReceive (uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms) |
| Receive from NFC-V PICC. | |
PT_MEMORY | |
| +bool | writePtMemoryA (const uint8_t *tx, const uint32_t tx_len) |
| +bool | writePtMemoryF (const uint8_t *tx, const uint32_t tx_len) |
| +bool | writePtMemoryTSN (const uint8_t *tx, const uint32_t tx_len) |
| +bool | readPtMemory (uint8_t *rx, const uint32_t rx_len) |
+Protected Member Functions | |
| +bool | read_register8 (const uint8_t reg, uint8_t &v) |
| +bool | read_register8 (const uint16_t reg, uint8_t &v) |
| +bool | write_register8 (const uint8_t reg, const uint8_t v) |
| +bool | write_register8 (const uint16_t reg, const uint8_t v) |
| +bool | read_register16 (const uint8_t reg, uint16_t &v) |
| +bool | read_register16 (const uint16_t reg, uint16_t &v) |
| +bool | write_register16 (const uint8_t reg, const uint16_t v) |
| +bool | write_register16 (const uint16_t reg, const uint16_t v) |
| +bool | read_register32 (const uint8_t reg, uint32_t &v) |
| +bool | read_register32 (const uint16_t reg, uint32_t &v) |
| +bool | write_register32 (const uint8_t reg, const uint32_t v) |
| +bool | write_register32 (const uint16_t reg, const uint32_t v) |
| +bool | write_fwt_timer (const uint32_t ms) |
| +bool | write_mask_receiver_timer (const uint32_t us) |
| +bool | write_squelch_timer (const uint32_t us) |
| +uint32_t | wait_for_interrupt (const uint32_t irq, const uint32_t timeout_ms=100) |
| +bool | wait_for_FIFO (const uint32_t timeout_ms, const uint16_t required_size=0) |
| +bool | read_FIFO (std::vector< uint8_t > &out) |
| +bool | configure_nfc_a () |
| +bool | configure_nfc_b () |
| +bool | configure_nfc_f () |
| +bool | configure_nfc_v () |
| +bool | nfc_initial_field_on () |
| +bool | configure_emulation_a () |
| +bool | configure_emulation_f () |
| +bool | modify_bit_register8 (const uint8_t reg, const uint8_t set_mask, const uint8_t clear_mask) |
| +bool | modify_bit_register8 (const uint16_t reg, const uint8_t set_mask, const uint8_t clear_mask) |
| +bool | set_bit_register8 (const uint8_t reg, const uint8_t bits) |
| +bool | set_bit_register8 (const uint16_t reg, const uint8_t bits) |
| +bool | clear_bit_register8 (const uint8_t reg, const uint8_t bits) |
| +bool | clear_bit_register8 (const uint16_t reg, const uint8_t bits) |
| +bool | change_bit_register8 (const uint8_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | change_bit_register8 (const uint16_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | change_test_bit_register8 (const uint8_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | change_test_bit_register8 (const uint16_t reg, const uint8_t bits, const uint8_t mask) |
| +bool | modify_interrupts (const uint32_t clr, const uint32_t set) |
| +bool | enable_interrupts (const uint32_t mask) |
| +bool | disable_interrupts (const uint32_t mask) |
| +bool | enable_osc () |
| +bool | disable_field () |
| +bool | nfca_request_wakeup (uint16_t &atqa, const bool req) |
| +bool | nfca_anti_collision (uint8_t rbuf[5], const uint8_t lv) |
| +bool | mifare_classic_send_encrypt (const uint8_t *tx, const uint16_t tx_len) |
| +bool | mifare_classic_transceive_encrypt (uint8_t *rx, uint16_t &rx_len, const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms, const bool include_crc, const bool decrypt) |
| +bool | mifare_classic_authenticate (const m5::nfc::a::Command cmd, const m5::nfc::a::PICC &picc, const uint8_t block, const m5::nfc::a::mifare::classic::Key &key) |
+Static Protected Member Functions | |
| +static void IRAM_ATTR | on_irq (void *arg) |
+Friends | |
| +struct | m5::nfc::ListenerST25R3916ForA |
| +struct | m5::nfc::ListenerST25R3916ForF |
ST25R3916 Unit.
+| bool m5::unit::UnitST25R3916::clearInterrupts | +( | +) | ++ |
Clear interrupts flag.
+| bool m5::unit::UnitST25R3916::configureEmulationMode | +( | +const m5::nfc::NFC | mode | ) | ++ |
Configure NFC mode for emulation.
+| mode | NFC mode |
| bool m5::unit::UnitST25R3916::configureNFCMode | +( | +const m5::nfc::NFC | mode | ) | ++ |
Configure NFC mode.
+| mode | NFC mode |
| bool m5::unit::UnitST25R3916::disableField | +( | +) | ++ |
Disable the Field to stop communication with the PICC.
+| bool m5::unit::UnitST25R3916::enableField | +( | +) | ++ |
Enable the Field to begin communication with the PICC.
+Begin supplying power to the PICC
+ +
+
|
+ +inline | +
Is the current operating mode the one specified?
+| mode | Mode |
+
|
+ +inline | +
Authentication using keyA of the specified block.
+| picc | PICC |
| block | Block address |
| key | MIFARE classic key |
+
|
+ +inline | +
Authentication using keyB of the specified block.
+| picc | PICC |
| block | Block address |
| key | MIFARE classic key |
| bool m5::unit::UnitST25R3916::mifareClassicValueBlock | +( | +const m5::nfc::a::Command | cmd, | +
| + | + | const uint8_t | block, | +
| + | + | const uint32_t | arg = 0 ) | +
Operation for the value block.
+| cmd | Command |
| block | Block address |
| arg | Argument for command if needs |
| bool m5::unit::UnitST25R3916::nfcaHlt | +( | +) | ++ |
Hlt for PICC.
+| bool m5::unit::UnitST25R3916::nfcaReadBlock | +( | +uint8_t | rx[16], | +
| + | + | const uint8_t | block ) | +
Read the 1 block / 4 pages (16 bytes)
+| rx | Receiver buffer (at least 16 bytes) |
| block | Block/Page address |
| bool m5::unit::UnitST25R3916::nfcaReceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Transceive.
+| rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size |
| tx | Send buffer |
| tx_len | Size of send buffer |
| timeout_ms | Timeout(ms) |
| == | 0 Failed |
| != | 0 Upper 16 bits: Number of bits read Lower 16 bits: Number of bytes read |
+
|
+ +inline | +
Request for idle PICC.
+| [out] | atqa | ATQA |
| bool m5::unit::UnitST25R3916::nfcaSelect | +( | +const m5::nfc::a::PICC & | picc | ) | ++ |
Select specific PICC.
+| picc | PICC |
| bool m5::unit::UnitST25R3916::nfcaSelectWithAnticollision | +( | +bool & | completed, | +
| + | + | m5::nfc::a::PICC & | picc, | +
| + | + | const uint8_t | lv ) | +
Select PICC with anti-collision.
+| [out] | completed | Completed select? |
| [out] | picc | Selected PICC |
| lv | Cascade level (1-3) |
| uint32_t m5::unit::UnitST25R3916::nfcaTransceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Transceive.
+| rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size |
| tx | Send buffer |
| tx_len | Size of send buffer |
| timeout_ms | Timeout(ms) |
| == | 0 Failed |
| != | 0 Upper 16 bits: Number of bits read Lower 16 bits: Number of bytes read |
| bool m5::unit::UnitST25R3916::nfcaTransmit | +( | +const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Transceive.
+| rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size |
| tx | Send buffer |
| tx_len | Size of send buffer |
| timeout_ms | Timeout(ms) |
| == | 0 Failed |
| != | 0 Upper 16 bits: Number of bits read Lower 16 bits: Number of bytes read |
+
|
+ +inline | +
Wakeup for idle/halt PICC.
+| [out] | atqa | ATQA |
| bool m5::unit::UnitST25R3916::nfcaWriteBlock | +( | +const uint8_t | block, | +
| + | + | const uint8_t | tx[16] ) | +
Write the 1 block / 4 pages (16 bytes)
+| tx | Send buffer (at least 16 bytes) |
| bool m5::unit::UnitST25R3916::nfcbReceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Receive from NFC-B PICC.
+| [out] | rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size | |
| timeout_ms | Timeout(ms) |
| bool m5::unit::UnitST25R3916::nfcbTransceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Transceive with NFC-B PICC.
+| [out] | rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size | |
| tx | Send buffer | |
| tx_len | Size of send buffer | |
| timeout_ms | Timeout(ms) |
| bool m5::unit::UnitST25R3916::nfcbTransmit | +( | +const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Transmit to NFC-B PICC.
+| tx | Send buffer |
| tx_len | Size of send buffer |
| timeout_ms | Timeout(ms) |
| bool m5::unit::UnitST25R3916::nfcfReceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Receive from NFC-F PICC.
+| [out] | rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size | |
| timeout_ms | Timeout(ms) |
| bool m5::unit::UnitST25R3916::nfcfTransceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Transceive with NFC-F PICC.
+| [out] | rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size | |
| tx | Send buffer | |
| tx_len | Size of send buffer | |
| timeout_ms | Timeout(ms) |
| bool m5::unit::UnitST25R3916::nfcfTransmit | +( | +const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
| Transmit | to NFC-F PICC |
| tx | Send buffer |
| tx_len | Size of send buffer |
| timeout_ms | Timeout(ms) |
| bool m5::unit::UnitST25R3916::nfcvReceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint32_t | timeout_ms ) | +
Receive from NFC-V PICC.
+| [out] | rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size | |
| timeout_ms | Timeout(ms) |
| bool m5::unit::UnitST25R3916::nfcvTransceive | +( | +uint8_t * | rx, | +
| + | + | uint16_t & | rx_len, | +
| + | + | const uint8_t * | tx, | +
| + | + | const uint16_t | tx_bytes, | +
| + | + | const uint32_t | timeout_ms, | +
| + | + | const m5::nfc::v::ModulationMode | mode = m5::nfc::v::ModulationMode::OneOf4 ) | +
Transceive.
+| [out] | rx | Receive buffer |
| [in/out] | rx_len in:Size of receive buffer out:actual read size | |
| tx | Send buffer | |
| tx_len | Size of send buffer | |
| timeout_ms | Timeout(ms) | |
| mode | ModulationMode |
| bool m5::unit::UnitST25R3916::nfcvTransmit | +( | +const uint8_t * | tx, | +
| + | + | const uint16_t | tx_len, | +
| + | + | const uint32_t | timeout_ms, | +
| + | + | const m5::nfc::v::ModulationMode | mode = m5::nfc::v::ModulationMode::OneOf4 ) | +
| Transmit | to NFC-V PICC |
| tx | Send buffer |
| tx_len | Size of send buffer |
| timeout_ms | Timeout(ms) |
| mode | ModulationMode |
+
|
+ +inline | +
Read the number of transmitted bytes 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the amplitude measurement auto-averaging display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the amplitude measurement configuration.
+| [out] | value | Value |
+
|
+ +inline | +
Read the amplitude measurement display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the amplitude measurement reference.
+| [out] | value | Value |
+
|
+ +inline | +
Read the Antenna tuning control 1-2.
+| [out] | value | Value (MSB tuning1, tuning2 LSB) |
+
|
+ +inline | +
Read the Antenna tuning control 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the Antenna tuning control 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the Auxiliary definition.
+| [out] | value | Value |
+
|
+ +inline | +
Read the auxiliary display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the auxiliary modulation setting.
+| [out] | value | Value |
+
|
+ +inline | +
Read the bitrate definition.
+| [out] | value | Value |
+
|
+ +inline | +
Read the bit rate detection display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the capacitance measurement auto-averaging display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the capacitance measurement configuration.
+| [out] | value | Value |
+
|
+ +inline | +
Read the capacitance measurement display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the capacitance measurement reference.
+| [out] | value | Value |
+
|
+ +inline | +
Read the capacitive sensor control.
+| [out] | value | Value |
+
|
+ +inline | +
Read the capacitive sensor display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the collision display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the correlator configuration 1-2.
+| [out] | value | Value (MSB cfg1,cfg2 LSB) |
+
|
+ +inline | +
Read the correlator configuration 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the correlator configuration 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the EMD suppression configuration.
+| [out] | value | Value |
+
|
+ +inline | +
Read the error and wake-up interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the external field detector activation threshold.
+| [out] | value | Value |
+
|
+ +inline | +
Read the external field detector deactivation threshold.
+| [out] | value | Value |
| uint32_t m5::unit::UnitST25R3916::readFIFO | +( | +uint16_t & | actual, | +
| + | + | uint8_t * | buf, | +
| + | + | const uint16_t | buf_size ) | +
Read from FIFO.
+| [out] | actual | Actual read size |
| [out] | buf | Buffer |
| buf_size | Buffer size |
| == | 0 Failed |
| != | 0 Upper 16 bits: Number of bits read Lower 16 bits: Number of bytes read |
| bool m5::unit::UnitST25R3916::readFIFOSize | +( | +uint16_t & | bytes, | +
| + | + | uint8_t & | bits ) | +
Read the FIFO size.
+| [out] | bytes | Number of bytes in the FIFO |
| [out] | bits | Number of bits in the last FIFO byte if it was not complete The received bits are stored in the LSB part of the last byte in the FIFO. |
+
|
+ +inline | +
Read the FIFO status 1-2.
+| [out] | value | Value (MSB fifo1, fifo2 LSB) |
+
|
+ +inline | +
Read the FIFO status 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the FIFO status 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the gain reduction state.
+| [out] | value | Value |
+
|
+ +inline | +
Read the general purpose timer 1-2.
+| [out] | value | Value (MSB timer1,timer2 LSB) |
+
|
+ +inline | +
Read the general purpose timer 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the general purpose timer 2.
+| [out] | value | Value |
| bool m5::unit::UnitST25R3916::readICIdentity | +( | +uint8_t & | type, | +
| + | + | uint8_t & | rev ) | +
Read the IC identity.
+| [out] | type | 5-bit IC type code (00101: ST25R3916/7) |
| [out] | rev | 3-bit IC revision code (010: rev 3.1) |
| bool m5::unit::UnitST25R3916::readInterrupts | +( | +uint32_t & | value | ) | ++ |
Read the all interrupt.
+| [out] | value | Value (MSB main, NFC, error, passive LSB) |
+
|
+ +inline | +
Read the I/O configuration 1-2.
+| [out] | value | Value (MSB cfg1, cfg2 LSB) |
+
|
+ +inline | +
Read the I/O configuration 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the I/O configuration 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the main interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the mask error and wake-up interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the all mask.
+| [out] | value | Value (MSB main, NFC, error, passive LSB) |
+
|
+ +inline | +
Read the mask main interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the mask passive target interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the mask receive timer.
+| [out] | value | Value |
+
|
+ +inline | +
Read the mask timer and NFC interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the mode definition.
+| [out] | value | Value |
+
|
+ +inline | +
Read the NFC field on guard timer.
+| [out] | value | Value |
+
|
+ +inline | +
Read the NFCIP-1 passive target definition.
+| [out] | value | Value |
+
|
+ +inline | +
Read the no-response timer 1-2.
+| [out] | value | Value (MSB timer1, timer2 LSB) |
+
|
+ +inline | +
Read the no-response timer 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the no-response timer 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the number of transmitted bytes 1-2.
+| [out] | value | Value (MSB bytes1, bytes2 LSB) |
+
|
+ +inline | +
Read the number of transmitted bytes 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the number of transmitted bytes 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the operation control.
+| [out] | value | Value |
+
|
+ +inline | +
Read the overshoot protection configuration 1-2.
+| [out] | value | Value (MSB cfg1, cfg2 LSB) |
+
|
+ +inline | +
Read the overshoot protection configuration 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the overshoot protection configuration 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the P2P receiver configuration.
+| [out] | value | Value |
+
|
+ +inline | +
Read the passive target.
+| [out] | value | Value |
+
|
+ +inline | +
Read the passive target interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the passive target modulation.
+| [out] | value | Value |
+
|
+ +inline | +
Read the phase measurement auto-averaging display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the phase measurement configuration.
+| [out] | value | Value |
+
|
+ +inline | +
Read the phase measurement display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the phase measurement reference.
+| [out] | value | Value |
+
|
+ +inline | +
Read the PPON2 field waiting.
+| [out] | value | Value |
+
|
+ +inline | +
Read the receiver configuration 1-4.
+| [out] | value | Value (MSB cfg1,cfg2,cfg3,cfg4 LSB) |
+
|
+ +inline | +
Read the receiver configuration 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the receiver configuration 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the receiver configuration 3.
+| [out] | value | Value |
+
|
+ +inline | +
Read the receiver configuration 4
| [out] | value | Value |
+
|
+ +inline | +
Read the regulator display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the regulator voltage control.
+| [out] | value | Value |
+
|
+ +inline | +
Read the resistive AM modulation.
+| [out] | value | Value |
+
|
+ +inline | +
Read the external field detector deactivation threshold.
+| [out] | value | Value |
+
|
+ +inline | +
Read the settings for ISO14443B and FeliCa.
+| [out] | value | Value |
+
|
+ +inline | +
Read the settings for ISO14443A and NFC 106kb/s.
+| [out] | value | Value |
+
|
+ +inline | +
Read the settings for ISO14443B.
+| [out] | value | Value |
+
|
+ +inline | +
Read the squelch timer.
+| [out] | value | Value |
+
|
+ +inline | +
Read the stream mode definition.
+| [out] | value | Value |
+
|
+ +inline | +
Read the subcarrier start timer.
+| [out] | value | Value |
+
|
+ +inline | +
Read the timer and EMV control.
+| [out] | value | Value |
+
|
+ +inline | +
Read the timer and NFC interrupt.
+| [out] | value | Value |
+
|
+ +inline | +
Read the TX driver.
+| [out] | value | Value |
+
|
+ +inline | +
Read the TX driver timing.
+| [out] | value | Value |
+
|
+ +inline | +
Read the TX driver timing display.
+| [out] | value | Value |
+
|
+ +inline | +
Read the undershoot protection configuration 1-2.
+| [out] | value | Value (MSB cfg1, cfg2 LSB) |
+
|
+ +inline | +
Read the undershoot protection configuration 1.
+| [out] | value | Value |
+
|
+ +inline | +
Read the undershoot protection configuration 2.
+| [out] | value | Value |
+
|
+ +inline | +
Read the Wake-up timer control.
+| [out] | value | Value |
+
|
+ +inline | +
Write the amplitude measurement configuration.
+| value | Value |
+
|
+ +inline | +
Write the amplitude measurement reference.
+| value | Value |
+
|
+ +inline | +
Write the Antenna tuning control 1-2.
+| value | Value (MSB tuning1, tuning2 LSB) |
+
|
+ +inline | +
Write the Antenna tuning control 1.
+| value | Value |
+
|
+ +inline | +
Write the Antenna tuning control 2.
+| value | Value |
+
|
+ +inline | +
Write the Auxiliary definition.
+| value | Value |
+
|
+ +inline | +
Write the auxiliary modulation setting.
+| [out] | value | Value |
| bool m5::unit::UnitST25R3916::writeBitrate | +( | +const m5::nfc::Bitrate | tx, | +
| + | + | const m5::nfc::Bitrate | rx ) | +
Write the initiator operation mode and transition to initiator mode.
+writeModeDefinition
| mode | InitiatorOperationMode |
| optional | Other setting bits |
+
|
+ +inline | +
Write the bitrate definition.
+| value | Value |
+
|
+ +inline | +
Write the capacitance measurement configuration.
+| value | Value |
+
|
+ +inline | +
Write the capacitance measurement reference.
+| value | Value |
+
|
+ +inline | +
Write the capacitive sensor control.
+| value | Value |
+
|
+ +inline | +
Write the correlator configuration 1-2.
+| value | Value (MSB cfg1,cfg2 LSB) |
+
|
+ +inline | +
Write the correlator configuration 1.
+| value | Value |
+
|
+ +inline | +
Write the correlator configuration 2.
+| value | Value |
| bool m5::unit::UnitST25R3916::writeDirectCommand | +( | +const uint8_t | cmd, | +
| + | + | const uint8_t * | data = nullptr, | +
| + | + | const uint32_t | dlen = 0u ) | +
Write the direct command with data.
+| cmd | Direct command |
| data | The data pointer if additional data is available |
| dlen | length of th e additional data |
+
|
+ +inline | +
Write the EMD suppression configuration.
+| value | Value |
+
|
+ +inline | +
Write the external field detector activation threshold.
+| value | Value |
+
|
+ +inline | +
Write the external field detector deactivation threshold.
+| value | Value |
| bool m5::unit::UnitST25R3916::writeFIFO | +( | +const uint8_t * | buf, | +
| + | + | const uint16_t | buf_size ) | +
Write to FIFO.
+| buf | Buffer |
| buf_size | Buffer size |
+
|
+ +inline | +
Write the general purpose timer 1-2.
+| value | Value (MSB timer1,timer2 LSB) |
+
|
+ +inline | +
Write the general purpose timer 1.
+| value | Value |
+
|
+ +inline | +
Write the general purpose timer 2.
+| value | Value |
| bool m5::unit::UnitST25R3916::writeInitiatorOperationMode | +( | +const st25r3916::InitiatorOperationMode | mode, | +
| + | + | const uint8_t | optional = 0 ) | +
Write the initiator operation mode and transition to initiator mode.
+writeModeDefinition
| mode | InitiatorOperationMode |
| optional | Other setting bits |
+
|
+ +inline | +
Write the I/O configuration 1-2
| value | Value (MSB cfg1, cfg2 LSB) |
+
|
+ +inline | +
Write the I/O configuration 1.
+| value | Value |
+
|
+ +inline | +
Write the I/O configuration 1
| value | Value |
+
|
+ +inline | +
Write the mask error and wake-up interrupt.
+| value | Value |
+
|
+ +inline | +
Write the all mask.
+| value | Value (MSB main, NFC, error, passive LSB) |
+
|
+ +inline | +
Write the mask main interrupt.
+| value | Value |
+
|
+ +inline | +
Write the mask passive target interrupt.
+| value | Value |
+
|
+ +inline | +
Write the mask receive timer.
+| value | Value |
+
|
+ +inline | +
Write the mask timer and NFC interrupt.
+| value | Value |
+
|
+ +inline | +
Write the mode definition.
+| value | Value |
+
|
+ +inline | +
Write the NFC field on guard timer.
+| value | Value |
+
|
+ +inline | +
Write the NFCIP-1 passive target definition
| [out] | value | Value |
+
|
+ +inline | +
Write the no-response timer 1-2.
+| value | Value (MSB timer1, timer2 LSB) |
+
|
+ +inline | +
Write the no-response timer 1.
+| value | Value |
+
|
+ +inline | +
Write the no-response timer 2.
+| value | Value |
+
|
+ +inline | +
Write the number of transmitted bytes and after bytes.
+| bytes | Number of full bytes to be transmitted |
| afterBytes | Number of bits to transmit after the last full byte |
+
|
+ +inline | +
Write the number of transmitted bytes 1-2.
+| value | Value (MSB bytes1, bytes2 LSB) |
+
|
+ +inline | +
Write the number of transmitted bytes 1.
+| value | Value |
+
|
+ +inline | +
Write the number of transmitted bytes 2.
+| value | Value |
+
|
+ +inline | +
Write the operation control.
+| value | Value |
+
|
+ +inline | +
Write the overshoot protection configuration 1-2.
+| value | Value (MSB cfg1, cfg2 LSB) |
+
|
+ +inline | +
Write the overshoot protection configuration 1.
+| value | Value |
+
|
+ +inline | +
Write the overshoot protection configuration 2.
+| value | Value |
+
|
+ +inline | +
Write the P2P receiver configuration.
+| value | Value |
+
|
+ +inline | +
Write the passive target modulation.
+| value | Value |
+
|
+ +inline | +
Write the phase measurement configuration.
+| value | Value |
+
|
+ +inline | +
Write the phase measurement reference.
+| value | Value |
+
|
+ +inline | +
Write the PPON2 field waiting.
+| value | Value |
+
|
+ +inline | +
Write the receiver configuration 1-4.
+| value | Value (MSB cfg1,cfg2,cfg3,cfg4 LSB) |
+
|
+ +inline | +
Write the receiver configuration 1.
+| [out] | value | Value |
+
|
+ +inline | +
Write the receiver configuration 2.
+| [out] | value | Value |
+
|
+ +inline | +
Write the receiver configuration 3.
+| [out] | value | Value |
+
|
+ +inline | +
Write the receiver configuration 4.
+| [out] | value | Value |
+
|
+ +inline | +
Write the regulator voltage control.
+| value | Value |
+
|
+ +inline | +
Write the resistive AM modulation.
+| value | Value |
+
|
+ +inline | +
Write the settings for ISO14443B and FeliCa.
+| value | Value |
+
|
+ +inline | +
Write the settings for ISO14443A and NFC 106kb/s.
+| value | Value |
+
|
+ +inline | +
Write the settings for ISO14443B.
+| value | Value |
+
|
+ +inline | +
Write the squelch timer.
+| value | Value |
+
|
+ +inline | +
Write the stream mode definition.
+| value | Value |
+
|
+ +inline | +
Write the subcarrier start timer.
+| value | Value |
| bool m5::unit::UnitST25R3916::writeTargetOperationMode | +( | +const st25r3916::TargetOperationMode | mode, | +
| + | + | const uint8_t | optional = 0 ) | +
Write the initiator operation mode and transition to target mode.
+writeModeDefinition
| mode | TargetOperationMode |
| optional | Other setting bits |
+
|
+ +inline | +
Write the timer and EMV control.
+| value | Value |
+
|
+ +inline | +
Write the TX driver.
+| value | Value |
+
|
+ +inline | +
Write the TX driver timing.
+| [out] | value | Value |
+
|
+ +inline | +
Write the undershoot protection configuration 1-2.
+| value | Value (MSB cfg1, cfg2 LSB) |
+
|
+ +inline | +
Write the undershoot protection configuration 1.
+| value | Value |
+
|
+ +inline | +
Write the undershoot protection configuration 2.
+| value | Value |
+
|
+ +inline | +
Write the Wake-up timer control.
+| value | Value |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
File system base using isoDEP for MIFARE DESFire. +More...
+#include "desfire_file_system.hpp"#include "nfc/layer/a/nfc_layer_a.hpp"#include "nfc/isoDEP/isoDEP.hpp"#include "nfc/crypto/aes.hpp"#include "nfc/crypto/secure_zero.hpp"#include "nfc/ndef/ndef.hpp"#include "nfc/apdu/apdu.hpp"#include <cassert>#include <cstring>#include <mbedtls/aes.h>#include <esp_random.h>#include <M5Utility.hpp>#include <algorithm>#include <limits>+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
+Functions | |
| std::vector< uint8_t > | m5::nfc::a::mifare::desfire::make_native_wrap_command (const uint8_t ins, const uint8_t *data=nullptr, const uint16_t data_len=0) |
| Make native wrap command. | |
File system base using isoDEP for MIFARE DESFire.
+| std::vector< uint8_t > m5::nfc::a::mifare::desfire::make_native_wrap_command | +( | +const uint8_t | ins, | +
| + | + | const uint8_t * | data = nullptr, | +
| + | + | const uint16_t | data_len = 0 ) | +
Make native wrap command.
+Something similar to APDU but different
| ins | Native INS |
| data | Data |
| data_len | Data length |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
File system base using isoDEP for MIFARE DESFire. +More...
+#include "file_system.hpp"#include "nfc/a/mifare.hpp"#include "nfc/ndef/ndef.hpp"#include <m5_utility/stl/expected.hpp>#include <array>#include <algorithm>#include <limits>Go to the source code of this file.
++Classes | |
| struct | m5::nfc::a::mifare::desfire::FileSettings |
| DESFire file settings (minimal fields for StdDataFile) More... | |
| struct | m5::nfc::a::mifare::desfire::desfire_aid_t |
| 24bit Application ID More... | |
| struct | m5::nfc::a::mifare::desfire::NdefFormatOptions |
| Options for formatting DESFire as Type4 NDEF. More... | |
| struct | m5::nfc::a::mifare::desfire::FileRename |
| File renaming parameters for DESFire Light SetConfiguration. More... | |
| struct | m5::nfc::a::mifare::desfire::Ev2Context |
| Session context for EV2 secure messaging. More... | |
| class | m5::nfc::a::mifare::desfire::DESFireFileSystem |
| File system for MIFARE DESFire. More... | |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
| namespace | desfire |
| For MIFARE DESFire. | |
+Enumerations | |
| enum class | m5::nfc::a::mifare::desfire::AuthMode : uint8_t { Auto +, DES +, AES + } |
| Authentication mode. More... | |
+Functions | |
| +uint16_t | m5::nfc::a::mifare::desfire::detail::clamp_u16_size (const size_t size) |
| +uint16_t | m5::nfc::a::mifare::desfire::detail::default_rx_capacity (const m5::nfc::isodep::IsoDEP &dep) |
| +void | m5::nfc::a::mifare::desfire::detail::pack_le24 (uint8_t out[3], const uint32_t value) |
| +void | m5::nfc::a::mifare::desfire::detail::pack_be24 (uint8_t out[3], const uint32_t value) |
| +uint32_t | m5::nfc::a::mifare::desfire::detail::unpack_le24 (const uint8_t in[3]) |
| +bool | m5::nfc::a::mifare::desfire::operator== (const desfire_aid_t &a, const desfire_aid_t &b) noexcept |
| +bool | m5::nfc::a::mifare::desfire::operator!= (const desfire_aid_t &a, const desfire_aid_t &b) noexcept |
| +bool | m5::nfc::a::mifare::desfire::operator< (const desfire_aid_t &a, const desfire_aid_t &b) noexcept |
| std::vector< uint8_t > | m5::nfc::a::mifare::desfire::make_native_wrap_command (const uint8_t ins, const uint8_t *data=nullptr, const uint16_t data_len=0) |
| Make native wrap command. | |
| +uint8_t | m5::nfc::a::mifare::desfire::status_code (const uint8_t *rx, const uint16_t rx_len) |
| DESFire status code (0x91xx) | |
| +bool | m5::nfc::a::mifare::desfire::is_successful (const uint8_t *rx, const uint16_t rx_len) |
| Is the status of the received data successful? | |
| +bool | m5::nfc::a::mifare::desfire::is_more (const uint8_t *rx, const uint16_t rx_len) |
| Is the received data still waiting for a response? | |
| +bool | m5::nfc::a::mifare::desfire::is_duplicate (const uint8_t *rx, const uint16_t rx_len) |
| Is duplicate error? (e.g. app/file already exists) | |
+Variables | |
| +constexpr uint8_t | m5::nfc::a::mifare::desfire::DESFIRE_APDU_CLA {0x90} |
| +constexpr uint8_t | m5::nfc::a::mifare::desfire::DESFIRE_LIGHT_INS_READ_DATA {0xAD} |
| +constexpr uint8_t | m5::nfc::a::mifare::desfire::DESFIRE_LIGHT_INS_WRITE_DATA {0x8D} |
| +constexpr uint8_t | m5::nfc::a::mifare::desfire::MAXIMUM_FILES {MAXIMUM_FILE_NO - MINIMUM_FILE_NO + 1} |
| Files max. | |
File number | |
| +using | m5::nfc::a::mifare::desfire::file_no_t = uint8_t |
| Alias for file number. | |
| +constexpr file_no_t | m5::nfc::a::mifare::desfire::MINIMUM_FILE_NO {0} |
| Minimum file number. | |
| +constexpr file_no_t | m5::nfc::a::mifare::desfire::MAXIMUM_FILE_NO {31} |
| Maximum file number. | |
File system base using isoDEP for MIFARE DESFire.
+
+
|
+ +strong | +
| std::vector< uint8_t > m5::nfc::a::mifare::desfire::make_native_wrap_command | +( | +const uint8_t | ins, | +
| + | + | const uint8_t * | data = nullptr, | +
| + | + | const uint16_t | data_len = 0 ) | +
Make native wrap command.
+Something similar to APDU but different
| ins | Native INS |
| data | Data |
| data_len | Data length |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| nfc_layer_v.cpp | |
| Common layer for NFC-V. | |
| nfc_layer_v.hpp | |
| Common layer for NFC-V. | |
| nfc_layer_v_ST25R3916.cpp | |
| ST25R3916 NFC-V adapter for common layer. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| nfc_layer_b.hpp | |
| Common layer for NFC-B. | |
| nfc_layer_b_ST25R3916.cpp | |
| ST25R3916 NFC-B adapter for common layer. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| desfire_file_system.cpp | |
| File system base using isoDEP for MIFARE DESFire. | |
| desfire_file_system.hpp | |
| File system base using isoDEP for MIFARE DESFire. | |
| file_system.cpp | |
| File system base using isoDEP. | |
| file_system.hpp | |
| File system base using isoDEP. | |
| isoDEP.cpp | |
| ISO Data Exchange Protocol. | |
| isoDEP.hpp | |
| ISO Data Exchange Protocol. | |
| nfc_b_file_system.cpp | |
| File system base using isoDEP for NFC-B. | |
| nfc_b_file_system.hpp | |
| File system base using isoDEP for NFC-B. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Directories | |
| nfc | |
| unit | |
+Files | |
| M5UnitUnifiedNFC.hpp | |
| Main header of M5Unit-NFC. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| nfcv.hpp | |
| NFC-V definitions. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| ST25R3916_definition.hpp | |
| Definitions for ST25R3916. | |
| unit_ST25R3916.cpp | |
| ST25R3916 Unit for M5UnitUnified. | |
| unit_ST25R3916.hpp | |
| ST25R3916 Unit for M5UnitUnified. | |
| unit_ST25R3916_nfca.cpp | |
| class UnitST25R3916 implementation for NFC-A | |
| unit_ST25R3916_nfcb.cpp | |
| class UnitST25R3916 implementation for NFC-B | |
| unit_ST25R3916_nfcf.cpp | |
| class UnitST25R3916 implementation for NFC-F | |
| unit_ST25R3916_nfcv.cpp | |
| class UnitST25R3916 implementation for NFC-V | |
| unit_ST25R3916_util.cpp | |
| Utility API. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| ndef.cpp | |
| NDEF related. | |
| ndef.hpp | |
| NDEF related. | |
| ndef_record.cpp | |
| NDEF record. | |
| ndef_record.hpp | |
| NDEF record. | |
| ndef_tlv.cpp | |
| NDEF TLV. | |
| ndef_tlv.hpp | |
| NDEF TLV. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| emulation_layer_a.cpp | |
| Emulation layer for NFC-A. | |
| emulation_layer_a.hpp | |
| Emulation layer for NFC-A. | |
| emulation_layer_a_ST25R3916.cpp | |
| ST25R3916 NFC-A emulation adapter for common layer. | |
| nfc_layer_a.cpp | |
| Common layer for NFC-A. | |
| nfc_layer_a.hpp | |
| Common layer for NFC-A. | |
| nfc_layer_a_ST25R3916.cpp | |
| ST25R3916 NFC-A adapter for common layer. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| emulation_layer_f.cpp | |
| Emulation layer for NFC-F. | |
| emulation_layer_f.hpp | |
| Emulation layer for NFC-F. | |
| emulation_layer_f_ST25R3916.cpp | |
| ST25R3916 NFC-F emulation adapter for common layer. | |
| nfc_layer_f.cpp | |
| Common layer for NFC-F. | |
| nfc_layer_f.hpp | |
| Common layer for NFC-F. | |
| nfc_layer_f_ST25R3916.cpp | |
| ST25R3916 NFC-F adapter for common layer. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Directories | |
| a | |
| b | |
| f | |
| v | |
+Files | |
| ndef_layer.cpp | |
| Common layer for NDEF related. | |
| ndef_layer.hpp | |
| Common layer for NDEF related. | |
| nfc_layer.hpp | |
| Common layer for NFC related units. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| mifare.cpp | |
| MIFARE definitions. | |
| mifare.hpp | |
| MIFARE definitions. | |
| nfca.cpp | |
| NFC-A definitions. | |
| nfca.hpp | |
| NFC-A definitions. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
+Files | |
| aes.cpp | |
| AES/CMAC helpers. | |
| aes.hpp | |
| AES/CMAC helpers. | |
| mifare_classic_crypto1.hpp | |
| Crypto1 for MIFARE Classic. | |
| secure_zero.hpp | |
| Secure memory wipe helpers. | |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Emulation layer for NFC-A. +More...
+ +Go to the source code of this file.
++Classes | |
| class | m5::nfc::EmulationLayerA |
| Common interface layer for each chip of the NFC-A emulation. More... | |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
Emulation layer for NFC-A.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ST25R3916 NFC-A emulation adapter for common layer. +More...
+#include "nfc/layer/a/emulation_layer_a.hpp"#include "nfc/layer/ndef_layer.hpp"#include "unit/unit_ST25R3916.hpp"#include <M5Utility.hpp>#include <thread>+Classes | |
| struct | m5::nfc::ListenerST25R3916ForA |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
ST25R3916 NFC-A emulation adapter for common layer.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
Emulation layer for NFC-F. +More...
+ +Go to the source code of this file.
++Classes | |
| class | m5::nfc::EmulationLayerF |
| Common interface layer for each chip of the NFC-F emulation. More... | |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
Emulation layer for NFC-F.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ST25R3916 NFC-F emulation adapter for common layer. +More...
+#include "nfc/layer/f/emulation_layer_f.hpp"#include "nfc/layer/ndef_layer.hpp"#include "unit/unit_ST25R3916.hpp"#include <M5Utility.hpp>#include <thread>#include <numeric>#include <algorithm>+Classes | |
| struct | m5::nfc::ListenerST25R3916ForF |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
ST25R3916 NFC-F emulation adapter for common layer.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
File system base using isoDEP. +More...
+#include "file_system.hpp"#include "nfc/isoDEP/isoDEP.hpp"#include "nfc/apdu/apdu.hpp"#include <M5Utility.hpp>#include <algorithm>#include <limits>+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
+Functions | |
| bool | m5::nfc::parseFCI (FCP &fcp, const uint8_t *data, const uint32_t len) |
| Parse FCI (tag 0x6F) and fill FCP. | |
File system base using isoDEP.
+| bool m5::nfc::parseFCI | +( | +FCP & | fcp, | +
| + | + | const uint8_t * | data, | +
| + | + | const uint32_t | len ) | +
Parse FCI (tag 0x6F) and fill FCP.
+| data | FCI data | |
| len | FCI length | |
| [out] | fcp | Output FCP |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
File system base using isoDEP. +More...
+ +Go to the source code of this file.
++Classes | |
| struct | m5::nfc::FCP |
| File Control Parameters. More... | |
| class | m5::nfc::FileSystem |
| ISO/IEC 7816-4 file system. More... | |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
+Functions | |
| bool | m5::nfc::parseFCI (FCP &fcp, const uint8_t *data, const uint32_t len) |
| Parse FCI (tag 0x6F) and fill FCP. | |
File system base using isoDEP.
+| bool m5::nfc::parseFCI | +( | +FCP & | fcp, | +
| + | + | const uint8_t * | data, | +
| + | + | const uint32_t | len ) | +
Parse FCI (tag 0x6F) and fill FCP.
+| data | FCI data | |
| len | FCI length | |
| [out] | fcp | Output FCP |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
| ▼ src | |
| ▼ nfc | |
| ▼ a | |
| mifare.cpp | MIFARE definitions |
| mifare.hpp | MIFARE definitions |
| nfca.cpp | NFC-A definitions |
| nfca.hpp | NFC-A definitions |
| ▼ apdu | |
| apdu.cpp | Application Protocol Data Unit (ISO/IEC 7816-4) |
| apdu.hpp | Application Protocol Data Unit (ISO/IEC 7816-4) |
| ▼ b | |
| nfcb.cpp | NFC-B definitions |
| nfcb.hpp | NFC-B definitions |
| ▼ crypto | |
| aes.cpp | AES/CMAC helpers |
| aes.hpp | AES/CMAC helpers |
| mifare_classic_crypto1.hpp | Crypto1 for MIFARE Classic |
| secure_zero.hpp | Secure memory wipe helpers |
| ▼ f | |
| nfcf.cpp | NFC-F definitions |
| nfcf.hpp | NFC-F definitions |
| ▼ isoDEP | |
| desfire_file_system.cpp | File system base using isoDEP for MIFARE DESFire |
| desfire_file_system.hpp | File system base using isoDEP for MIFARE DESFire |
| file_system.cpp | File system base using isoDEP |
| file_system.hpp | File system base using isoDEP |
| isoDEP.cpp | ISO Data Exchange Protocol |
| isoDEP.hpp | ISO Data Exchange Protocol |
| nfc_b_file_system.cpp | File system base using isoDEP for NFC-B |
| nfc_b_file_system.hpp | File system base using isoDEP for NFC-B |
| ▼ layer | |
| ▼ a | |
| emulation_layer_a.cpp | Emulation layer for NFC-A |
| emulation_layer_a.hpp | Emulation layer for NFC-A |
| emulation_layer_a_ST25R3916.cpp | ST25R3916 NFC-A emulation adapter for common layer |
| nfc_layer_a.cpp | Common layer for NFC-A |
| nfc_layer_a.hpp | Common layer for NFC-A |
| nfc_layer_a_ST25R3916.cpp | ST25R3916 NFC-A adapter for common layer |
| ▼ b | |
| nfc_layer_b.hpp | Common layer for NFC-B |
| nfc_layer_b_ST25R3916.cpp | ST25R3916 NFC-B adapter for common layer |
| ▼ f | |
| emulation_layer_f.cpp | Emulation layer for NFC-F |
| emulation_layer_f.hpp | Emulation layer for NFC-F |
| emulation_layer_f_ST25R3916.cpp | ST25R3916 NFC-F emulation adapter for common layer |
| nfc_layer_f.cpp | Common layer for NFC-F |
| nfc_layer_f.hpp | Common layer for NFC-F |
| nfc_layer_f_ST25R3916.cpp | ST25R3916 NFC-F adapter for common layer |
| ▼ v | |
| nfc_layer_v.cpp | Common layer for NFC-V |
| nfc_layer_v.hpp | Common layer for NFC-V |
| nfc_layer_v_ST25R3916.cpp | ST25R3916 NFC-V adapter for common layer |
| ndef_layer.cpp | Common layer for NDEF related |
| ndef_layer.hpp | Common layer for NDEF related |
| nfc_layer.hpp | Common layer for NFC related units |
| ▼ ndef | |
| ndef.cpp | NDEF related |
| ndef.hpp | NDEF related |
| ndef_record.cpp | NDEF record |
| ndef_record.hpp | NDEF record |
| ndef_tlv.cpp | NDEF TLV |
| ndef_tlv.hpp | NDEF TLV |
| ▼ v | |
| nfcv.hpp | NFC-V definitions |
| manufacturer_id.hpp | Manufacturer ID (UID[0]) definitions for ISO/IEC 14443-3 |
| nfc.hpp | NFC definitions |
| ▼ unit | |
| ST25R3916_definition.hpp | Definitions for ST25R3916 |
| unit_ST25R3916.cpp | ST25R3916 Unit for M5UnitUnified |
| unit_ST25R3916.hpp | ST25R3916 Unit for M5UnitUnified |
| unit_ST25R3916_nfca.cpp | Class UnitST25R3916 implementation for NFC-A |
| unit_ST25R3916_nfcb.cpp | Class UnitST25R3916 implementation for NFC-B |
| unit_ST25R3916_nfcf.cpp | Class UnitST25R3916 implementation for NFC-F |
| unit_ST25R3916_nfcv.cpp | Class UnitST25R3916 implementation for NFC-V |
| unit_ST25R3916_util.cpp | Utility API |
| M5UnitUnifiedNFC.hpp | Main header of M5Unit-NFC |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
| ▼CEmulationLayerA::Adapter | |
| Cm5::nfc::ListenerST25R3916ForA | |
| ▼CEmulationLayerF::Adapter | |
| Cm5::nfc::ListenerST25R3916ForF | |
| ▼CNFCLayerA::Adapter | |
| Cm5::nfc::PollerST25R3916ForA | |
| ▼CNFCLayerB::Adapter | |
| Cm5::nfc::AdapterST25R3916ForB | |
| ▼CNFCLayerF::Adapter | |
| Cm5::nfc::AdapterST25R3916ForF | |
| ▼CNFCLayerV::Adapter | |
| Cm5::nfc::AdapterST25R3916ForV | |
| Cm5::nfc::a::ATS | Answer to request |
| Cm5::nfc::ndef::Attribute | NDEF Record attribute (1st byte) |
| Cm5::nfc::ndef::type3::AttributeBlock | For Type 3 tag (T3T) |
| Cm5::nfc::f::block_t | Block list element |
| Cm5::nfc::ndef::type2::CapabilityContainer | Capability container for Type2 |
| Cm5::nfc::ndef::type4::CapabilityContainer | Capability container for Type4 |
| Cm5::nfc::ndef::type5::CapabilityContainer | Capability container for Type5 |
| ▼CComponent | |
| ▼Cm5::unit::UnitST25R3916 | ST25R3916 Unit |
| Cm5::unit::CapST25R3916 | ST25R3916 unit in CapCC1101 (SPI) |
| Cm5::nfc::isodep::config_t | ISO-DEP configuration |
| Cm5::unit::UnitST25R3916::config_t | Settings for begin |
| Cm5::nfc::a::mifare::desfire::desfire_aid_t | 24bit Application ID |
| Cm5::nfc::EmulationLayerA | Common interface layer for each chip of the NFC-A emulation |
| Cm5::nfc::EmulationLayerF | Common interface layer for each chip of the NFC-F emulation |
| Cm5::nfc::a::mifare::desfire::Ev2Context | Session context for EV2 secure messaging |
| Cm5::nfc::FCP | File Control Parameters |
| Cm5::nfc::ndef::type4::FileControlTLV | File control TLV |
| Cm5::nfc::a::mifare::desfire::FileRename | File renaming parameters for DESFire Light SetConfiguration |
| Cm5::nfc::a::mifare::desfire::FileSettings | DESFire file settings (minimal fields for StdDataFile) |
| ▼Cm5::nfc::FileSystem | ISO/IEC 7816-4 file system |
| Cm5::nfc::NFCBFileSystem | File system base using isoDEP for NFC-B |
| Cm5::nfc::a::mifare::desfire::DESFireFileSystem | File system for MIFARE DESFire |
| Cm5::nfc::isodep::IsoDEP | ISO Data Exchange Protocol |
| ▼CMLFSR48 | |
| Cm5::nfc::a::mifare::classic::Crypto1 | Crypto1 for MIFARE Classic |
| Cm5::nfc::a::mifare::desfire::NdefFormatOptions | Options for formatting DESFire as Type4 NDEF |
| Cm5::nfc::ndef::NDEFLayer | NDEF operations layer |
| ▼Cm5::nfc::NFCLayerInterface | Common interface for NFC layer |
| Cm5::nfc::NFCLayerA | Common interface layer for each chip of the NFC-A reader |
| Cm5::nfc::NFCLayerB | Common interface layer for each chip of the NFC-B reader |
| Cm5::nfc::NFCLayerF | Common interface layer for each chip of the NFC-F reader |
| Cm5::nfc::NFCLayerV | Common interface layer for each chip of the NFC-V reader |
| Cm5::nfc::a::PICC | PICC for NFC-A |
| Cm5::nfc::b::PICC | PICC for NFC-B |
| Cm5::nfc::f::PICC | PICC information for NFC-F |
| Cm5::nfc::v::PICC | PICC for NFC-V |
| Cm5::nfc::ndef::Record | NDEF Record |
| Cm5::nfc::f::REG | Subtract Register Block Data |
| Cm5::nfc::isodep::RxInfo | RX information |
| Cm5::nfc::a::st25ta::SystemFile | ST25TA series system file |
| Cm5::nfc::apdu::TLV | TLV element |
| Cm5::nfc::ndef::TLV | NDEF TLV container |
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ISO Data Exchange Protocol. +More...
+#include "isoDEP.hpp"#include "nfc/layer/nfc_layer.hpp"#include "nfc/apdu/apdu.hpp"#include <M5Utility.hpp>#include <algorithm>#include <cstring>#include <limits>+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
+Macros | |
| +#define | PRINT_ERROR(...) /* Nop */ |
+Functions | |
| +uint32_t | m5::nfc::isodep::fwi_to_ms (const uint8_t fwi, const float fc) |
| Calculate waiting time(ms) by fwi and fc. | |
ISO Data Exchange Protocol.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+
ISO Data Exchange Protocol. +More...
+#include <cstdint>#include <vector>Go to the source code of this file.
++Classes | |
| struct | m5::nfc::isodep::config_t |
| ISO-DEP configuration. More... | |
| struct | m5::nfc::isodep::RxInfo |
| RX information. More... | |
| class | m5::nfc::isodep::IsoDEP |
| ISO Data Exchange Protocol. More... | |
+Namespaces | |
| namespace | m5 |
| Top level namespace of M5stack. | |
| namespace | isodep |
| For ISO-DEP. | |
+Variables | |
| +constexpr uint16_t | m5::nfc::isodep::MAX_FRAME_SIZE {256} |
ISO Data Exchange Protocol.
+|
+ M5Unit-NFC 0.0.1 git rev:4dda34e
+
+ |
+