M5Unit-NFC 0.0.3 git rev:59f5362
Loading...
Searching...
No Matches
ST25R3916_definition.hpp File Reference

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

Functions

bool m5::unit::st25r3916::has_irq32_error (const uint32_t irq32)
 
bool m5::unit::st25r3916::is_irq32_timeout (const uint32_t irq32)
 
bool m5::unit::st25r3916::is_irq32_rxe (const uint32_t irq32)
 
bool m5::unit::st25r3916::is_irq32_rxs (const uint32_t irq32)
 
bool m5::unit::st25r3916::is_irq32_txe (const uint32_t irq32)
 
bool m5::unit::st25r3916::is_irq32_collision (const uint32_t irq32)
 
uint8_t m5::unit::st25r3916::calculate_mrt (const uint32_t us, const bool mrt_step)
 
uint16_t m5::unit::st25r3916::calculate_nrt (const uint32_t ms, const bool nrt_step)
 
uint8_t m5::unit::st25r3916::calculate_fdt (const uint32_t us)
 

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
 

Detailed Description

Definitions for ST25R3916.

Enumeration Type Documentation

◆ InitiatorOperationMode

enum class m5::unit::st25r3916::InitiatorOperationMode : uint8_t
strong

Initiator operation modes.

For Mode definition

Enumerator
NFCIP1 

NFCIP-1 active communication.

ISO14443A 

ISO14443A.

ISO14443B 

ISO14443B.

FeliCa 

FeliCa.

NFCForumType1 

NFC Forum Type 1 tag (Topaz)

SubCarrierStream 

Sub-carrier stream mode.

BPSKStream 

BPSK stream mode.

◆ TargetOperationMode

enum class m5::unit::st25r3916::TargetOperationMode : uint8_t
strong

Target operation modes.

For Mode definition

Enumerator
ISO14443A 

ISO14443A passive target mode.

Felica 

FeliCa™ passive target mode.

NFCIP1 

NFCIP-1 active communication mode.

FelicaBitrate 

FeliCa bit rate detection mode.

ISO14443ABitrate 

ISO14443A bit rate detection mode.