ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::pn71xx::PN71xx Class Referenceabstract

Common driver for the NXP PN71xx family of NCI NFC controllers. More...

#include <pn71xx.h>

Inheritance diagram for esphome::pn71xx::PN71xx:
esphome::nfc::Nfcc esphome::Component esphome::pn7150::PN7150 esphome::pn7160::PN7160 esphome::pn7150_i2c::PN7150I2C esphome::pn7160_i2c::PN7160I2C esphome::pn7160_spi::PN7160Spi

Public Member Functions

void setup () override
 
void dump_config () override
 
void loop () override
 
void set_irq_pin (GPIOPin *irq_pin)
 
void set_ven_pin (GPIOPin *ven_pin)
 
void set_tag_ttl (uint32_t ttl)
 
void set_tag_emulation_message (const std::shared_ptr< nfc::NdefMessage > &message)
 
void set_tag_emulation_message (const std::string &message, bool include_android_app_record=true)
 
void set_tag_emulation_message (const char *message, bool include_android_app_record=true)
 
void set_tag_emulation_off ()
 
void set_tag_emulation_on ()
 
bool tag_emulation_enabled ()
 
void set_polling_off ()
 
void set_polling_on ()
 
bool polling_enabled ()
 
void register_ontag_trigger (nfc::NfcOnTagTrigger *trig)
 
void register_ontagremoved_trigger (nfc::NfcOnTagTrigger *trig)
 
template<typename F >
void add_on_emulated_tag_scan_callback (F &&callback)
 
template<typename F >
void add_on_finished_write_callback (F &&callback)
 
bool is_writing ()
 
void read_mode ()
 
void clean_mode ()
 
void format_mode ()
 
void write_mode ()
 
void set_tag_write_message (std::shared_ptr< nfc::NdefMessage > message)
 
void set_tag_write_message (const std::string &message, bool include_android_app_record=true)
 
uint8_t set_test_mode (TestMode test_mode, const std::vector< uint8_t > &data, std::vector< uint8_t > &result)
 
- Public Member Functions inherited from esphome::nfc::Nfcc
void register_listener (NfcTagListener *listener)
 
- Public Member Functions inherited from esphome::Component
virtual float get_setup_priority () const
 priority of setup().
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
virtual bool teardown ()
 Called during teardown to allow component to gracefully finish operations.
 
virtual void on_powerdown ()
 Called after teardown is complete to power down hardware.
 
uint8_t get_component_state () const
 
void reset_to_construction_state ()
 Reset this component back to the construction state to allow setup to run again.
 
bool is_in_loop_state () const
 Check if this component has completed setup and is in the loop state.
 
bool is_idle () const
 Check if this component is idle.
 
void mark_failed ()
 Mark this component as failed.
 
void mark_failed (const LogString *message)
 
void disable_loop ()
 Disable this component's loop.
 
void enable_loop ()
 Enable this component's loop.
 
void enable_loop_soon_any_context ()
 Thread and ISR-safe version of enable_loop() that can be called from any context.
 
bool is_failed () const
 
bool is_ready () const
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning ()
 
void status_set_warning (const char *message)
 
void status_set_warning (const LogString *message)
 
void status_set_error ()
 
void status_set_error (const LogString *message)
 
void status_clear_warning ()
 
void status_clear_error ()
 
 ESPDEPRECATED ("Use status_momentary_warning() without a name. Removed in 2027.5.0", "2026.11.0") void status_momentary_warning(const char *name
 
void status_momentary_warning (uint32_t length=5000)
 Set warning status flag and clear it after length ms.
 
void status_momentary_warning (const LogString *message, uint32_t length=5000)
 
 ESPDEPRECATED ("Use status_momentary_error() without a name. Removed in 2027.5.0", "2026.11.0") void status_momentary_error(const char *name
 
void status_momentary_error (uint32_t length=5000)
 Set error status flag and clear it after length ms.
 
void status_momentary_error (const LogString *message, uint32_t length=5000)
 
bool has_overridden_loop () const
 
const LogString * get_component_log_str () const ESPHOME_ALWAYS_INLINE
 Get the integration where this component was declared as a LogString for logging.
 
bool should_warn_of_blocking (uint32_t blocking_time, uint32_t &threshold_ms_out)
 

Protected Types

enum  NfcTask : uint8_t { EP_READ = 0 , EP_CLEAN , EP_FORMAT , EP_WRITE }
 

Protected Member Functions

uint8_t reset_core_ (bool reset_config, bool power)
 
uint8_t init_core_ ()
 
virtual void prepare_reset ()
 Chip hooks Called before the NFCC is reset, e.g.
 
virtual uint8_t verify_reset (nfc::NciMessage &rx, bool reset_config)=0
 Validates what follows a successful CORE_RESET_RSP (in rx); may read more messages from the NFCC.
 
virtual uint8_t process_init_response (nfc::NciMessage &rx)=0
 Logs chip information from a successful CORE_INIT_RSP.
 
virtual std::span< const uint8_t > pmu_config () const =0
 Parameters for the CORE_SET_CONFIG_CMD that configures the power management unit.
 
virtual std::span< const uint8_t > listen_mode_routing_config () const =0
 Payload of the RF_SET_LISTEN_MODE_ROUTING_CMD.
 
uint8_t send_init_config_ ()
 
uint8_t send_core_config_ ()
 
uint8_t refresh_core_config_ ()
 
uint8_t set_discover_map_ ()
 
uint8_t set_listen_mode_routing_ ()
 
uint8_t start_discovery_ ()
 
uint8_t stop_discovery_ ()
 
uint8_t deactivate_ (uint8_t type, uint16_t timeout=NFCC_DEFAULT_TIMEOUT)
 
void select_endpoint_ ()
 
uint8_t read_endpoint_data_ (uint8_t protocol, nfc::NfcTag &tag)
 
uint8_t clean_endpoint_ (uint8_t protocol)
 
uint8_t format_endpoint_ (uint8_t protocol)
 
uint8_t write_endpoint_ (uint8_t protocol, nfc::NfcTagUid &uid, std::shared_ptr< nfc::NdefMessage > &message)
 
bool parse_uid_ (uint8_t mode_tech, std::span< const uint8_t > rf_tech_params, nfc::NfcTagUid &uid)
 Reads the UID from the RF technology parameters of a discovery or activation notification.
 
std::unique_ptr< nfc::NfcTag > build_tag_ (uint8_t protocol, const nfc::NfcTagUid &uid)
 
size_t find_or_add_tag_ (uint8_t protocol, const nfc::NfcTagUid &uid)
 Finds a cached endpoint by UID, or caches a new one, evicting the entry seen longest ago if the cache is full.
 
optional< size_t > find_tag_uid_ (const nfc::NfcTagUid &uid)
 
void purge_old_tags_ ()
 
void erase_tag_ (uint8_t tag_index)
 
void nci_fsm_transition_ ()
 advance controller state as required
 
void nci_fsm_set_state_ (NCIState new_state)
 set new controller state
 
bool nci_fsm_set_error_state_ (NCIState new_state)
 setting controller to this state caused an error; returns true if too many errors/failures
 
void process_message_ ()
 parse & process incoming messages from the NFCC
 
void process_rf_intf_activated_oid_ (nfc::NciMessage &rx)
 
void process_rf_discover_oid_ (nfc::NciMessage &rx)
 
void process_rf_deactivate_oid_ (nfc::NciMessage &rx)
 
void process_data_message_ (nfc::NciMessage &rx)
 
void card_emu_t4t_get_response_ (std::span< const uint8_t > response, CardEmuResponse &ndef_response)
 
bool card_emu_t4t_read_ndef_ (uint16_t offset, uint8_t length, CardEmuResponse &ndef_response)
 
uint8_t transceive_ (nfc::NciMessage &tx, nfc::NciMessage &rx, uint16_t timeout=NFCC_DEFAULT_TIMEOUT, bool expect_notification=true)
 
virtual uint8_t read_nfcc (nfc::NciMessage &rx, uint16_t timeout)=0
 
virtual uint8_t write_nfcc (nfc::NciMessage &tx)=0
 
uint8_t wait_for_irq_ (uint16_t timeout=NFCC_DEFAULT_TIMEOUT, bool pin_state=true)
 
uint8_t read_mifare_classic_tag_ (nfc::NfcTag &tag)
 
uint8_t read_mifare_classic_block_ (uint8_t block_num, std::array< uint8_t, nfc::MIFARE_CLASSIC_BLOCK_SIZE > &data)
 
uint8_t write_mifare_classic_block_ (uint8_t block_num, const uint8_t *data, size_t len)
 
uint8_t auth_mifare_classic_block_ (uint8_t block_num, uint8_t key_num, const uint8_t *key)
 
uint8_t sect_to_auth_ (uint8_t block_num)
 
uint8_t format_mifare_classic_mifare_ ()
 
uint8_t format_mifare_classic_ndef_ ()
 
uint8_t write_mifare_classic_tag_ (const std::shared_ptr< nfc::NdefMessage > &message)
 
uint8_t halt_mifare_classic_tag_ ()
 
uint8_t read_mifare_ultralight_tag_ (nfc::NfcTag &tag)
 
uint8_t read_mifare_ultralight_bytes_ (uint8_t start_page, uint16_t num_bytes, UltralightReadBuffer &data)
 
bool is_mifare_ultralight_formatted_ (std::span< const uint8_t > page_3_to_6)
 
uint16_t read_mifare_ultralight_capacity_ ()
 
uint8_t find_mifare_ultralight_ndef_ (std::span< const uint8_t > page_3_to_6, uint8_t &message_length, uint8_t &message_start_index)
 
uint8_t write_mifare_ultralight_page_ (uint8_t page_num, const uint8_t *write_data, size_t len)
 
uint8_t write_mifare_ultralight_tag_ (nfc::NfcTagUid &uid, const std::shared_ptr< nfc::NdefMessage > &message)
 
uint8_t clean_mifare_ultralight_ ()
 
- Protected Member Functions inherited from esphome::Component
friend void::setup ()
 
friend void::original_setup ()
 
void set_component_source_ (uint8_t index)
 Set where this component was loaded from for some debug messages.
 
virtual void call_setup ()
 
void call_dump_config_ ()
 
void enable_loop_slow_path_ ()
 
void set_component_state_ (uint8_t state)
 Helper to set component state (clears state bits and sets new state)
 
bool set_status_flag_ (uint8_t flag)
 Helper to set a status LED flag on both this component and the app.
 
bool set_error_flag_ (const LogString *message)
 Set the error flag and log it; true when it was not set before.
 
void set_interval (const char *name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a const char* name.
 
void set_interval (uint32_t id, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a numeric ID (zero heap allocation).
 
void set_interval (InternalSchedulerID id, uint32_t interval, std::function< void()> &&f)
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const char *name)
 Cancel an interval function.
 
bool cancel_interval (uint32_t id)
 
bool cancel_interval (InternalSchedulerID id)
 
void set_timeout (const char *name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a const char* name.
 
void set_timeout (uint32_t id, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a numeric ID (zero heap allocation).
 
void set_timeout (InternalSchedulerID id, uint32_t timeout, std::function< void()> &&f)
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const char *name)
 Cancel a timeout function.
 
bool cancel_timeout (uint32_t id)
 
bool cancel_timeout (InternalSchedulerID id)
 
void defer (const char *name, std::function< void()> &&f)
 Defer a callback to the next loop() call with a const char* name.
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call.
 
void defer (uint32_t id, std::function< void()> &&f)
 Defer a callback with a numeric ID (zero heap allocation)
 
bool cancel_defer (const char *name)
 Cancel a defer callback using the specified name, name must not be empty.
 
bool cancel_defer (uint32_t id)
 
void status_clear_warning_slow_path_ ()
 
void status_clear_error_slow_path_ ()
 

Protected Attributes

LazyCallbackManager< void()> on_emulated_tag_scan_callback_
 
LazyCallbackManager< void()> on_finished_write_callback_
 
StaticVector< DiscoveredEndpoint, MAX_DISCOVERED_ENDPOINTS > discovered_endpoint_
 
FixedVector< uint8_t > card_emulation_ndef_
 
StaticVector< nfc::NfcOnTagTrigger *, PN71XX_ON_TAG_TRIGGER_COUNT > triggers_ontag_
 
StaticVector< nfc::NfcOnTagTrigger *, PN71XX_ON_TAG_REMOVED_TRIGGER_COUNT > triggers_ontagremoved_
 
std::shared_ptr< nfc::NdefMessage > next_task_message_to_write_
 
GPIOPin * irq_pin_ {nullptr}
 
GPIOPin * ven_pin_ {nullptr}
 
uint32_t last_nci_state_change_ {0}
 
uint32_t tag_ttl_ {250}
 
NfcTask next_task_ {EP_READ}
 
CardEmulationState ce_state_ {CardEmulationState::CARD_EMU_IDLE}
 
NCIState nci_state_ {NCIState::NFCC_RESET}
 
NCIState nci_state_error_ {NCIState::NONE}
 
uint8_t error_count_ {0}
 
uint8_t selecting_endpoint_ {0}
 
bool config_refresh_pending_ {false}
 
bool core_config_is_solo_ {false}
 
bool listening_enabled_ {false}
 
bool polling_enabled_ {true}
 
- Protected Attributes inherited from esphome::nfc::Nfcc
StaticVector< NfcTagListener *, NFC_TAG_LISTENER_COUNT > tag_listeners_
 
- Protected Attributes inherited from esphome::Component
uint8_t component_source_index_ {0}
 Index into component source PROGMEM lookup table (0 = not set)
 
uint8_t warn_if_blocking_over_ {WARN_IF_BLOCKING_OVER_CS}
 Warn threshold in centiseconds (max 2550ms)
 
uint8_t component_state_ {0x00}
 State of this component - each bit has a purpose: Bits 0-2: Component state (0x00=CONSTRUCTION, 0x01=SETUP, 0x02=LOOP, 0x03=FAILED, 0x04=LOOP_DONE) Bit 3: STATUS_LED_WARNING Bit 4: STATUS_LED_ERROR Bit 5: Has overridden loop() (set at registration time) Bits 6-7: Unused - reserved for future expansion.
 
volatile bool pending_enable_loop_ {false}
 ISR-safe flag for enable_loop_soon_any_context.
 
ComponentRuntimeStats runtime_stats_
 

Additional Inherited Members

- Data Fields inherited from esphome::Component
uint32_t length = 5000)
 

Detailed Description

Common driver for the NXP PN71xx family of NCI NFC controllers.

The chip classes (PN7150, PN7160) supply the parts that differ between chips; the bus classes supply read_nfcc() and write_nfcc().

Definition at line 156 of file pn71xx.h.

Member Enumeration Documentation

◆ NfcTask

enum esphome::pn71xx::PN71xx::NfcTask : uint8_t
protected
Enumerator
EP_READ 
EP_CLEAN 
EP_FORMAT 
EP_WRITE 

Definition at line 290 of file pn71xx.h.

Member Function Documentation

◆ add_on_emulated_tag_scan_callback()

template<typename F >
void esphome::pn71xx::PN71xx::add_on_emulated_tag_scan_callback ( F && callback)
inline

Definition at line 184 of file pn71xx.h.

◆ add_on_finished_write_callback()

template<typename F >
void esphome::pn71xx::PN71xx::add_on_finished_write_callback ( F && callback)
inline

Definition at line 188 of file pn71xx.h.

◆ auth_mifare_classic_block_()

uint8_t esphome::pn71xx::PN71xx::auth_mifare_classic_block_ ( uint8_t block_num,
uint8_t key_num,
const uint8_t * key )
protected

Definition at line 99 of file pn71xx_mifare_classic.cpp.

◆ build_tag_()

std::unique_ptr< nfc::NfcTag > esphome::pn71xx::PN71xx::build_tag_ ( uint8_t protocol,
const nfc::NfcTagUid & uid )
protected

Definition at line 501 of file pn71xx.cpp.

◆ card_emu_t4t_get_response_()

void esphome::pn71xx::PN71xx::card_emu_t4t_get_response_ ( std::span< const uint8_t > response,
CardEmuResponse & ndef_response )
protected

Definition at line 1032 of file pn71xx.cpp.

◆ card_emu_t4t_read_ndef_()

bool esphome::pn71xx::PN71xx::card_emu_t4t_read_ndef_ ( uint16_t offset,
uint8_t length,
CardEmuResponse & ndef_response )
protected

Definition at line 1006 of file pn71xx.cpp.

◆ clean_endpoint_()

uint8_t esphome::pn71xx::PN71xx::clean_endpoint_ ( uint8_t protocol)
protected

Definition at line 437 of file pn71xx.cpp.

◆ clean_mifare_ultralight_()

uint8_t esphome::pn71xx::PN71xx::clean_mifare_ultralight_ ( )
protected

Definition at line 155 of file pn71xx_mifare_ultralight.cpp.

◆ clean_mode()

void esphome::pn71xx::PN71xx::clean_mode ( )

Definition at line 115 of file pn71xx.cpp.

◆ deactivate_()

uint8_t esphome::pn71xx::PN71xx::deactivate_ ( uint8_t type,
uint16_t timeout = NFCC_DEFAULT_TIMEOUT )
protected

Definition at line 375 of file pn71xx.cpp.

◆ dump_config()

void esphome::pn71xx::PN71xx::dump_config ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 39 of file pn71xx.cpp.

◆ erase_tag_()

void esphome::pn71xx::PN71xx::erase_tag_ ( uint8_t tag_index)
protected

Definition at line 565 of file pn71xx.cpp.

◆ find_mifare_ultralight_ndef_()

uint8_t esphome::pn71xx::PN71xx::find_mifare_ultralight_ndef_ ( std::span< const uint8_t > page_3_to_6,
uint8_t & message_length,
uint8_t & message_start_index )
protected

Definition at line 107 of file pn71xx_mifare_ultralight.cpp.

◆ find_or_add_tag_()

size_t esphome::pn71xx::PN71xx::find_or_add_tag_ ( uint8_t protocol,
const nfc::NfcTagUid & uid )
protected

Finds a cached endpoint by UID, or caches a new one, evicting the entry seen longest ago if the cache is full.

Definition at line 511 of file pn71xx.cpp.

◆ find_tag_uid_()

optional< size_t > esphome::pn71xx::PN71xx::find_tag_uid_ ( const nfc::NfcTagUid & uid)
protected

Definition at line 536 of file pn71xx.cpp.

◆ format_endpoint_()

uint8_t esphome::pn71xx::PN71xx::format_endpoint_ ( uint8_t protocol)
protected

Definition at line 452 of file pn71xx.cpp.

◆ format_mifare_classic_mifare_()

uint8_t esphome::pn71xx::PN71xx::format_mifare_classic_mifare_ ( )
protected

Definition at line 149 of file pn71xx_mifare_classic.cpp.

◆ format_mifare_classic_ndef_()

uint8_t esphome::pn71xx::PN71xx::format_mifare_classic_ndef_ ( )
protected

Definition at line 184 of file pn71xx_mifare_classic.cpp.

◆ format_mode()

void esphome::pn71xx::PN71xx::format_mode ( )

Definition at line 120 of file pn71xx.cpp.

◆ halt_mifare_classic_tag_()

uint8_t esphome::pn71xx::PN71xx::halt_mifare_classic_tag_ ( )
protected

Definition at line 309 of file pn71xx_mifare_classic.cpp.

◆ init_core_()

uint8_t esphome::pn71xx::PN71xx::init_core_ ( )
protected

Definition at line 236 of file pn71xx.cpp.

◆ is_mifare_ultralight_formatted_()

bool esphome::pn71xx::PN71xx::is_mifare_ultralight_formatted_ ( std::span< const uint8_t > page_3_to_6)
protected

Definition at line 90 of file pn71xx_mifare_ultralight.cpp.

◆ is_writing()

bool esphome::pn71xx::PN71xx::is_writing ( )
inline

Definition at line 192 of file pn71xx.h.

◆ listen_mode_routing_config()

virtual std::span< const uint8_t > esphome::pn71xx::PN71xx::listen_mode_routing_config ( ) const
protectedpure virtual

Payload of the RF_SET_LISTEN_MODE_ROUTING_CMD.

Implemented in esphome::pn7150::PN7150, and esphome::pn7160::PN7160.

◆ loop()

void esphome::pn71xx::PN71xx::loop ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 44 of file pn71xx.cpp.

◆ nci_fsm_set_error_state_()

bool esphome::pn71xx::PN71xx::nci_fsm_set_error_state_ ( NCIState new_state)
protected

setting controller to this state caused an error; returns true if too many errors/failures

Definition at line 708 of file pn71xx.cpp.

◆ nci_fsm_set_state_()

void esphome::pn71xx::PN71xx::nci_fsm_set_state_ ( NCIState new_state)
protected

set new controller state

Definition at line 700 of file pn71xx.cpp.

◆ nci_fsm_transition_()

void esphome::pn71xx::PN71xx::nci_fsm_transition_ ( )
protected

advance controller state as required

Definition at line 589 of file pn71xx.cpp.

◆ parse_uid_()

bool esphome::pn71xx::PN71xx::parse_uid_ ( uint8_t mode_tech,
std::span< const uint8_t > rf_tech_params,
nfc::NfcTagUid & uid )
protected

Reads the UID from the RF technology parameters of a discovery or activation notification.

Definition at line 483 of file pn71xx.cpp.

◆ pmu_config()

virtual std::span< const uint8_t > esphome::pn71xx::PN71xx::pmu_config ( ) const
protectedpure virtual

Parameters for the CORE_SET_CONFIG_CMD that configures the power management unit.

Implemented in esphome::pn7150::PN7150, and esphome::pn7160::PN7160.

◆ polling_enabled()

bool esphome::pn71xx::PN71xx::polling_enabled ( )
inline

Definition at line 175 of file pn71xx.h.

◆ prepare_reset()

virtual void esphome::pn71xx::PN71xx::prepare_reset ( )
inlineprotectedvirtual

Chip hooks Called before the NFCC is reset, e.g.

to make sure it will not start in firmware download mode

Reimplemented in esphome::pn7160::PN7160.

Definition at line 209 of file pn71xx.h.

◆ process_data_message_()

void esphome::pn71xx::PN71xx::process_data_message_ ( nfc::NciMessage & rx)
protected

Definition at line 988 of file pn71xx.cpp.

◆ process_init_response()

virtual uint8_t esphome::pn71xx::PN71xx::process_init_response ( nfc::NciMessage & rx)
protectedpure virtual

Logs chip information from a successful CORE_INIT_RSP.

Implemented in esphome::pn7150::PN7150, and esphome::pn7160::PN7160.

◆ process_message_()

void esphome::pn71xx::PN71xx::process_message_ ( )
protected

parse & process incoming messages from the NFCC

Definition at line 725 of file pn71xx.cpp.

◆ process_rf_deactivate_oid_()

void esphome::pn71xx::PN71xx::process_rf_deactivate_oid_ ( nfc::NciMessage & rx)
protected

Definition at line 960 of file pn71xx.cpp.

◆ process_rf_discover_oid_()

void esphome::pn71xx::PN71xx::process_rf_discover_oid_ ( nfc::NciMessage & rx)
protected

Definition at line 936 of file pn71xx.cpp.

◆ process_rf_intf_activated_oid_()

void esphome::pn71xx::PN71xx::process_rf_intf_activated_oid_ ( nfc::NciMessage & rx)
protected

Definition at line 820 of file pn71xx.cpp.

◆ purge_old_tags_()

void esphome::pn71xx::PN71xx::purge_old_tags_ ( )
protected

Definition at line 555 of file pn71xx.cpp.

◆ read_endpoint_data_()

uint8_t esphome::pn71xx::PN71xx::read_endpoint_data_ ( uint8_t protocol,
nfc::NfcTag & tag )
protected

Definition at line 420 of file pn71xx.cpp.

◆ read_mifare_classic_block_()

uint8_t esphome::pn71xx::PN71xx::read_mifare_classic_block_ ( uint8_t block_num,
std::array< uint8_t, nfc::MIFARE_CLASSIC_BLOCK_SIZE > & data )
protected

Definition at line 73 of file pn71xx_mifare_classic.cpp.

◆ read_mifare_classic_tag_()

uint8_t esphome::pn71xx::PN71xx::read_mifare_classic_tag_ ( nfc::NfcTag & tag)
protected

Definition at line 13 of file pn71xx_mifare_classic.cpp.

◆ read_mifare_ultralight_bytes_()

uint8_t esphome::pn71xx::PN71xx::read_mifare_ultralight_bytes_ ( uint8_t start_page,
uint16_t num_bytes,
UltralightReadBuffer & data )
protected

Definition at line 56 of file pn71xx_mifare_ultralight.cpp.

◆ read_mifare_ultralight_capacity_()

uint16_t esphome::pn71xx::PN71xx::read_mifare_ultralight_capacity_ ( )
protected

Definition at line 98 of file pn71xx_mifare_ultralight.cpp.

◆ read_mifare_ultralight_tag_()

uint8_t esphome::pn71xx::PN71xx::read_mifare_ultralight_tag_ ( nfc::NfcTag & tag)
protected

Definition at line 13 of file pn71xx_mifare_ultralight.cpp.

◆ read_mode()

void esphome::pn71xx::PN71xx::read_mode ( )

Definition at line 110 of file pn71xx.cpp.

◆ read_nfcc()

virtual uint8_t esphome::pn71xx::PN71xx::read_nfcc ( nfc::NciMessage & rx,
uint16_t timeout )
protectedpure virtual

◆ refresh_core_config_()

uint8_t esphome::pn71xx::PN71xx::refresh_core_config_ ( )
protected

Definition at line 293 of file pn71xx.cpp.

◆ register_ontag_trigger()

void esphome::pn71xx::PN71xx::register_ontag_trigger ( nfc::NfcOnTagTrigger * trig)
inline

Definition at line 178 of file pn71xx.h.

◆ register_ontagremoved_trigger()

void esphome::pn71xx::PN71xx::register_ontagremoved_trigger ( nfc::NfcOnTagTrigger * trig)
inline

Definition at line 181 of file pn71xx.h.

◆ reset_core_()

uint8_t esphome::pn71xx::PN71xx::reset_core_ ( bool reset_config,
bool power )
protected

Definition at line 207 of file pn71xx.cpp.

◆ sect_to_auth_()

uint8_t esphome::pn71xx::PN71xx::sect_to_auth_ ( uint8_t block_num)
protected

Definition at line 140 of file pn71xx_mifare_classic.cpp.

◆ select_endpoint_()

void esphome::pn71xx::PN71xx::select_endpoint_ ( )
protected

Definition at line 387 of file pn71xx.cpp.

◆ send_core_config_()

uint8_t esphome::pn71xx::PN71xx::send_core_config_ ( )
protected

Definition at line 273 of file pn71xx.cpp.

◆ send_init_config_()

uint8_t esphome::pn71xx::PN71xx::send_init_config_ ( )
protected

Definition at line 254 of file pn71xx.cpp.

◆ set_discover_map_()

uint8_t esphome::pn71xx::PN71xx::set_discover_map_ ( )
protected

Definition at line 314 of file pn71xx.cpp.

◆ set_irq_pin()

void esphome::pn71xx::PN71xx::set_irq_pin ( GPIOPin * irq_pin)
inline

Definition at line 162 of file pn71xx.h.

◆ set_listen_mode_routing_()

uint8_t esphome::pn71xx::PN71xx::set_listen_mode_routing_ ( )
protected

Definition at line 327 of file pn71xx.cpp.

◆ set_polling_off()

void esphome::pn71xx::PN71xx::set_polling_off ( )

Definition at line 94 of file pn71xx.cpp.

◆ set_polling_on()

void esphome::pn71xx::PN71xx::set_polling_on ( )

Definition at line 102 of file pn71xx.cpp.

◆ set_tag_emulation_message() [1/3]

void esphome::pn71xx::PN71xx::set_tag_emulation_message ( const char * message,
bool include_android_app_record = true )

Definition at line 70 of file pn71xx.cpp.

◆ set_tag_emulation_message() [2/3]

void esphome::pn71xx::PN71xx::set_tag_emulation_message ( const std::shared_ptr< nfc::NdefMessage > & message)

Definition at line 49 of file pn71xx.cpp.

◆ set_tag_emulation_message() [3/3]

void esphome::pn71xx::PN71xx::set_tag_emulation_message ( const std::string & message,
bool include_android_app_record = true )

Definition at line 66 of file pn71xx.cpp.

◆ set_tag_emulation_off()

void esphome::pn71xx::PN71xx::set_tag_emulation_off ( )

Definition at line 74 of file pn71xx.cpp.

◆ set_tag_emulation_on()

void esphome::pn71xx::PN71xx::set_tag_emulation_on ( )

Definition at line 82 of file pn71xx.cpp.

◆ set_tag_ttl()

void esphome::pn71xx::PN71xx::set_tag_ttl ( uint32_t ttl)
inline

Definition at line 165 of file pn71xx.h.

◆ set_tag_write_message() [1/2]

void esphome::pn71xx::PN71xx::set_tag_write_message ( const std::string & message,
bool include_android_app_record = true )

Definition at line 140 of file pn71xx.cpp.

◆ set_tag_write_message() [2/2]

void esphome::pn71xx::PN71xx::set_tag_write_message ( std::shared_ptr< nfc::NdefMessage > message)

Definition at line 135 of file pn71xx.cpp.

◆ set_test_mode()

uint8_t esphome::pn71xx::PN71xx::set_test_mode ( TestMode test_mode,
const std::vector< uint8_t > & data,
std::vector< uint8_t > & result )

Definition at line 144 of file pn71xx.cpp.

◆ set_ven_pin()

void esphome::pn71xx::PN71xx::set_ven_pin ( GPIOPin * ven_pin)
inline

Definition at line 163 of file pn71xx.h.

◆ setup()

void esphome::pn71xx::PN71xx::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 32 of file pn71xx.cpp.

◆ start_discovery_()

uint8_t esphome::pn71xx::PN71xx::start_discovery_ ( )
protected

Definition at line 339 of file pn71xx.cpp.

◆ stop_discovery_()

uint8_t esphome::pn71xx::PN71xx::stop_discovery_ ( )
protected

Definition at line 373 of file pn71xx.cpp.

◆ tag_emulation_enabled()

bool esphome::pn71xx::PN71xx::tag_emulation_enabled ( )
inline

Definition at line 171 of file pn71xx.h.

◆ transceive_()

uint8_t esphome::pn71xx::PN71xx::transceive_ ( nfc::NciMessage & tx,
nfc::NciMessage & rx,
uint16_t timeout = NFCC_DEFAULT_TIMEOUT,
bool expect_notification = true )
protected

Definition at line 1107 of file pn71xx.cpp.

◆ verify_reset()

virtual uint8_t esphome::pn71xx::PN71xx::verify_reset ( nfc::NciMessage & rx,
bool reset_config )
protectedpure virtual

Validates what follows a successful CORE_RESET_RSP (in rx); may read more messages from the NFCC.

Implemented in esphome::pn7150::PN7150, and esphome::pn7160::PN7160.

◆ wait_for_irq_()

uint8_t esphome::pn71xx::PN71xx::wait_for_irq_ ( uint16_t timeout = NFCC_DEFAULT_TIMEOUT,
bool pin_state = true )
protected

Definition at line 1177 of file pn71xx.cpp.

◆ write_endpoint_()

uint8_t esphome::pn71xx::PN71xx::write_endpoint_ ( uint8_t protocol,
nfc::NfcTagUid & uid,
std::shared_ptr< nfc::NdefMessage > & message )
protected

Definition at line 467 of file pn71xx.cpp.

◆ write_mifare_classic_block_()

uint8_t esphome::pn71xx::PN71xx::write_mifare_classic_block_ ( uint8_t block_num,
const uint8_t * data,
size_t len )
protected

Definition at line 248 of file pn71xx_mifare_classic.cpp.

◆ write_mifare_classic_tag_()

uint8_t esphome::pn71xx::PN71xx::write_mifare_classic_tag_ ( const std::shared_ptr< nfc::NdefMessage > & message)
protected

Definition at line 278 of file pn71xx_mifare_classic.cpp.

◆ write_mifare_ultralight_page_()

uint8_t esphome::pn71xx::PN71xx::write_mifare_ultralight_page_ ( uint8_t page_num,
const uint8_t * write_data,
size_t len )
protected

Definition at line 169 of file pn71xx_mifare_ultralight.cpp.

◆ write_mifare_ultralight_tag_()

uint8_t esphome::pn71xx::PN71xx::write_mifare_ultralight_tag_ ( nfc::NfcTagUid & uid,
const std::shared_ptr< nfc::NdefMessage > & message )
protected

Definition at line 127 of file pn71xx_mifare_ultralight.cpp.

◆ write_mode()

void esphome::pn71xx::PN71xx::write_mode ( )

Definition at line 125 of file pn71xx.cpp.

◆ write_nfcc()

virtual uint8_t esphome::pn71xx::PN71xx::write_nfcc ( nfc::NciMessage & tx)
protectedpure virtual

Field Documentation

◆ card_emulation_ndef_

FixedVector<uint8_t> esphome::pn71xx::PN71xx::card_emulation_ndef_
protected

Definition at line 302 of file pn71xx.h.

◆ ce_state_

CardEmulationState esphome::pn71xx::PN71xx::ce_state_ {CardEmulationState::CARD_EMU_IDLE}
protected

Definition at line 318 of file pn71xx.h.

◆ config_refresh_pending_

bool esphome::pn71xx::PN71xx::config_refresh_pending_ {false}
protected

Definition at line 324 of file pn71xx.h.

◆ core_config_is_solo_

bool esphome::pn71xx::PN71xx::core_config_is_solo_ {false}
protected

Definition at line 325 of file pn71xx.h.

◆ discovered_endpoint_

StaticVector<DiscoveredEndpoint, MAX_DISCOVERED_ENDPOINTS> esphome::pn71xx::PN71xx::discovered_endpoint_
protected

Definition at line 301 of file pn71xx.h.

◆ error_count_

uint8_t esphome::pn71xx::PN71xx::error_count_ {0}
protected

Definition at line 321 of file pn71xx.h.

◆ irq_pin_

GPIOPin* esphome::pn71xx::PN71xx::irq_pin_ {nullptr}
protected

Definition at line 311 of file pn71xx.h.

◆ last_nci_state_change_

uint32_t esphome::pn71xx::PN71xx::last_nci_state_change_ {0}
protected

Definition at line 314 of file pn71xx.h.

◆ listening_enabled_

bool esphome::pn71xx::PN71xx::listening_enabled_ {false}
protected

Definition at line 326 of file pn71xx.h.

◆ nci_state_

NCIState esphome::pn71xx::PN71xx::nci_state_ {NCIState::NFCC_RESET}
protected

Definition at line 319 of file pn71xx.h.

◆ nci_state_error_

NCIState esphome::pn71xx::PN71xx::nci_state_error_ {NCIState::NONE}
protected

Definition at line 320 of file pn71xx.h.

◆ next_task_

NfcTask esphome::pn71xx::PN71xx::next_task_ {EP_READ}
protected

Definition at line 317 of file pn71xx.h.

◆ next_task_message_to_write_

std::shared_ptr<nfc::NdefMessage> esphome::pn71xx::PN71xx::next_task_message_to_write_
protected

Definition at line 309 of file pn71xx.h.

◆ on_emulated_tag_scan_callback_

LazyCallbackManager<void()> esphome::pn71xx::PN71xx::on_emulated_tag_scan_callback_
protected

Definition at line 298 of file pn71xx.h.

◆ on_finished_write_callback_

LazyCallbackManager<void()> esphome::pn71xx::PN71xx::on_finished_write_callback_
protected

Definition at line 299 of file pn71xx.h.

◆ polling_enabled_

bool esphome::pn71xx::PN71xx::polling_enabled_ {true}
protected

Definition at line 327 of file pn71xx.h.

◆ selecting_endpoint_

uint8_t esphome::pn71xx::PN71xx::selecting_endpoint_ {0}
protected

Definition at line 322 of file pn71xx.h.

◆ tag_ttl_

uint32_t esphome::pn71xx::PN71xx::tag_ttl_ {250}
protected

Definition at line 315 of file pn71xx.h.

◆ triggers_ontag_

StaticVector<nfc::NfcOnTagTrigger *, PN71XX_ON_TAG_TRIGGER_COUNT> esphome::pn71xx::PN71xx::triggers_ontag_
protected

Definition at line 304 of file pn71xx.h.

◆ triggers_ontagremoved_

StaticVector<nfc::NfcOnTagTrigger *, PN71XX_ON_TAG_REMOVED_TRIGGER_COUNT> esphome::pn71xx::PN71xx::triggers_ontagremoved_
protected

Definition at line 307 of file pn71xx.h.

◆ ven_pin_

GPIOPin* esphome::pn71xx::PN71xx::ven_pin_ {nullptr}
protected

Definition at line 312 of file pn71xx.h.


The documentation for this class was generated from the following files: