10#ifndef M5_UNIT_NFC_UNIT_ST25R3916_HPP
11#define M5_UNIT_NFC_UNIT_ST25R3916_HPP
13#include <M5UnitComponent.hpp>
25struct ListenerST25R3916ForA;
26struct ListenerST25R3916ForF;
31struct AdapterST25R3916;
42 explicit UnitST25R3916(
const uint8_t arg = DEFAULT_ADDRESS) : Component(arg)
44 auto ccfg = component_config();
45 ccfg.clock = 400 * 1000U;
46 component_config(ccfg);
50 virtual bool begin()
override;
51 virtual void update(
const bool force =
false)
override;
115 bool writeDirectCommand(
const uint8_t cmd,
const uint8_t* data =
nullptr,
const uint32_t dlen = 0u);
166 uint32_t
readFIFO(uint16_t& actual, uint8_t* buf,
const uint16_t buf_size);
173 bool writeFIFO(
const uint8_t* buf,
const uint16_t buf_size);
185 return read_register8(st25r3916::command::REG_IO_CONFIGURATION_1, value);
194 return write_register8(st25r3916::command::REG_IO_CONFIGURATION_1, value);
203 return read_register8(st25r3916::command::REG_IO_CONFIGURATION_2, value);
212 return write_register8(st25r3916::command::REG_IO_CONFIGURATION_2, value);
221 return read_register16(st25r3916::command::REG_IO_CONFIGURATION_1, value);
230 return write_register16(st25r3916::command::REG_IO_CONFIGURATION_1, value);
243 return read_register8(st25r3916::command::REG_OPERATION_CONTROL, value);
252 return write_register8(st25r3916::command::REG_OPERATION_CONTROL, value);
261 return read_register8(st25r3916::command::REG_MODE_DEFINITION, value);
270 return write_register8(st25r3916::command::REG_MODE_DEFINITION, value);
279 return read_register8(st25r3916::command::REG_BITRATE_DEFINITION, value);
288 return write_register8(st25r3916::command::REG_BITRATE_DEFINITION, value);
301 return read_register8(st25r3916::command::REG_ISO14443A_SETTINGS, value);
310 return write_register8(st25r3916::command::REG_ISO14443A_SETTINGS, value);
319 return read_register8(st25r3916::command::REG_ISO14443B_SETTINGS, value);
328 return write_register8(st25r3916::command::REG_ISO14443B_SETTINGS, value);
337 return read_register8(st25r3916::command::REG_FELICA_SETTINGS, value);
346 return write_register8(st25r3916::command::REG_FELICA_SETTINGS, value);
355 return read_register8(st25r3916::command::REG_NFCIP_1_PASSIVE_TARGET_DEFINITION, value);
364 return write_register8(st25r3916::command::REG_NFCIP_1_PASSIVE_TARGET_DEFINITION, value);
373 return read_register8(st25r3916::command::REG_STREAM_MODE_DEFINITION, value);
382 return write_register8(st25r3916::command::REG_STREAM_MODE_DEFINITION, value);
391 return read_register8(st25r3916::command::REG_AUXILIARY_DEFINITION, value);
400 return write_register8(st25r3916::command::REG_AUXILIARY_DEFINITION, value);
410 return read_register8(st25r3916::command::REG_EMD_SUPPRESSION_CONFIGURATION, value);
419 return write_register8(st25r3916::command::REG_EMD_SUPPRESSION_CONFIGURATION, value);
428 return read_register8(st25r3916::command::REG_SUBCARRIER_START_TIMER, value);
437 return write_register8(st25r3916::command::REG_SUBCARRIER_START_TIMER, value);
450 return read_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_1, value);
459 return write_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_1, value);
468 return read_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_2, value);
477 return write_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_2, value);
486 return read_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_3, value);
495 return write_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_3, value);
504 return read_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_4, value);
513 return write_register8(st25r3916::command::REG_RECEIVER_CONFIGURATION_4, value);
522 return read_register32(st25r3916::command::REG_RECEIVER_CONFIGURATION_1, value);
531 return write_register32(st25r3916::command::REG_RECEIVER_CONFIGURATION_1, value);
541 return read_register8(st25r3916::command::REG_P2P_RECEIVER_CONFIGURATION, value);
550 return write_register8(st25r3916::command::REG_P2P_RECEIVER_CONFIGURATION, value);
559 return read_register8(st25r3916::command::REG_CORRELATOR_CONFIGURATION_1, value);
568 return write_register8(st25r3916::command::REG_CORRELATOR_CONFIGURATION_1, value);
577 return read_register8(st25r3916::command::REG_CORRELATOR_CONFIGURATION_2, value);
586 return write_register8(st25r3916::command::REG_CORRELATOR_CONFIGURATION_2, value);
595 return read_register16(st25r3916::command::REG_CORRELATOR_CONFIGURATION_1, value);
604 return write_register16(st25r3916::command::REG_CORRELATOR_CONFIGURATION_1, value);
617 return read_register8(st25r3916::command::REG_MASK_RECEIVER_TIMER, value);
626 return write_register8(st25r3916::command::REG_MASK_RECEIVER_TIMER, value);
635 return read_register8(st25r3916::command::REG_NO_RESPONSE_TIMER_1, value);
644 return write_register8(st25r3916::command::REG_NO_RESPONSE_TIMER_1, value);
653 return read_register8(st25r3916::command::REG_NO_RESPONSE_TIMER_2, value);
662 return write_register8(st25r3916::command::REG_NO_RESPONSE_TIMER_2, value);
671 return read_register16(st25r3916::command::REG_NO_RESPONSE_TIMER_1, value);
680 return write_register16(st25r3916::command::REG_NO_RESPONSE_TIMER_1, value);
689 return read_register8(st25r3916::command::REG_TIMER_AND_EMV_CONTROL, value);
698 return write_register8(st25r3916::command::REG_TIMER_AND_EMV_CONTROL, value);
707 return read_register8(st25r3916::command::REG_GENERAL_PURPOSE_TIMER_1, value);
716 return write_register8(st25r3916::command::REG_GENERAL_PURPOSE_TIMER_1, value);
725 return read_register8(st25r3916::command::REG_GENERAL_PURPOSE_TIMER_2, value);
734 return write_register8(st25r3916::command::REG_GENERAL_PURPOSE_TIMER_2, value);
743 return read_register16(st25r3916::command::REG_GENERAL_PURPOSE_TIMER_1, value);
752 return write_register16(st25r3916::command::REG_GENERAL_PURPOSE_TIMER_1, value);
761 return read_register8(st25r3916::command::REG_PPON2_FIELD_WAITING, value);
770 return write_register8(st25r3916::command::REG_PPON2_FIELD_WAITING, value);
780 return read_register8(st25r3916::command::REG_SQUELCH_TIMER, value);
789 return write_register8(st25r3916::command::REG_SQUELCH_TIMER, value);
798 return read_register8(st25r3916::command::REG_NFC_FIELD_ON_GUARD_TIMER, value);
807 return write_register8(st25r3916::command::REG_NFC_FIELD_ON_GUARD_TIMER, value);
820 return read_register8(st25r3916::command::REG_MASK_MAIN_INTERRUPT, value);
829 if (write_register8(st25r3916::command::REG_MASK_MAIN_INTERRUPT, value)) {
830 _enabled_irq = (_enabled_irq & 0x00FFFFFF) | ((uint32_t)~value << 24);
842 return read_register8(st25r3916::command::REG_MASK_TIMER_AND_NFC_INTERRUPT, value);
851 if (write_register8(st25r3916::command::REG_MASK_TIMER_AND_NFC_INTERRUPT, value)) {
852 _enabled_irq = (_enabled_irq & 0xFF00FFFF) | ((uint32_t)~value << 16);
864 return read_register8(st25r3916::command::REG_MASK_ERROR_AND_WAKEUP_INTERRUPT, value);
873 if (write_register8(st25r3916::command::REG_MASK_ERROR_AND_WAKEUP_INTERRUPT, value)) {
874 _enabled_irq = (_enabled_irq & 0xFFFF00FF) | ((uint32_t)~value << 8);
886 return read_register8(st25r3916::command::REG_MASK_PASSIVE_TARGET_INTERRUPT, value);
895 if (write_register8(st25r3916::command::REG_MASK_PASSIVE_TARGET_INTERRUPT, value)) {
896 _enabled_irq = (_enabled_irq & 0xFFFFFF00) | (uint32_t)~value;
908 return read_register32(st25r3916::command::REG_MASK_MAIN_INTERRUPT, value);
917 if (write_register32(st25r3916::command::REG_MASK_MAIN_INTERRUPT, value)) {
918 _enabled_irq = ~value;
931 return read_register8(st25r3916::command::REG_MAIN_INTERRUPT, value);
940 return read_register8(st25r3916::command::REG_TIMER_AND_NFC_INTERRUPT, value);
950 return read_register8(st25r3916::command::REG_ERROR_AND_WAKEUP_INTERRUPT, value);
959 return read_register8(st25r3916::command::REG_PASSIVE_TARGET_INTERRUPT, value);
975 return read_register8(st25r3916::command::REG_FIFO_STATUS_1, value);
984 return read_register8(st25r3916::command::REG_FIFO_STATUS_2, value);
993 return read_register16(st25r3916::command::REG_FIFO_STATUS_1, value);
1003 return read_register8(st25r3916::command::REG_COLLISION_DISPLAY, value);
1012 return read_register8(st25r3916::command::REG_PASSIVE_TARGET_DISPLAY, value);
1025 return read_register8(st25r3916::command::REG_NUMBER_OF_TRANSMITTED_BYTES_1, value);
1034 return write_register8(st25r3916::command::REG_NUMBER_OF_TRANSMITTED_BYTES_1, value);
1043 return read_register8(st25r3916::command::REG_NUMBER_OF_TRANSMITTED_BYTES_2, value);
1052 return write_register8(st25r3916::command::REG_NUMBER_OF_TRANSMITTED_BYTES_2, value);
1061 return read_register16(st25r3916::command::REG_NUMBER_OF_TRANSMITTED_BYTES_1, value);
1070 return write_register16(st25r3916::command::REG_NUMBER_OF_TRANSMITTED_BYTES_1, value);
1092 return read_register8(st25r3916::command::REG_BITRATE_DETECTION_DISPLAY, value);
1105 return read_register8(st25r3916::command::REG_AD_CONVERTER_OUTPUT, value);
1118 return read_register8(st25r3916::command::REG_ANTENNA_TUNING_CONTROL_1, value);
1127 return write_register8(st25r3916::command::REG_ANTENNA_TUNING_CONTROL_1, value);
1136 return read_register8(st25r3916::command::REG_ANTENNA_TUNING_CONTROL_2, value);
1145 return write_register8(st25r3916::command::REG_ANTENNA_TUNING_CONTROL_2, value);
1154 return read_register16(st25r3916::command::REG_ANTENNA_TUNING_CONTROL_1, value);
1163 return write_register16(st25r3916::command::REG_ANTENNA_TUNING_CONTROL_1, value);
1176 return read_register8(st25r3916::command::REG_TX_DRIVER, value);
1185 return write_register8(st25r3916::command::REG_TX_DRIVER, value);
1194 return read_register8(st25r3916::command::REG_PASSIVE_TARGET_MODULATION, value);
1203 return write_register8(st25r3916::command::REG_PASSIVE_TARGET_MODULATION, value);
1213 return read_register8(st25r3916::command::REG_AUXILIARY_MODULATION_SETTING, value);
1222 return write_register8(st25r3916::command::REG_AUXILIARY_MODULATION_SETTING, value);
1231 return read_register8(st25r3916::command::REG_TX_DRIVER_TIMING, value);
1240 return write_register8(st25r3916::command::REG_TX_DRIVER_TIMING, value);
1253 return read_register8(st25r3916::command::REG_EXTERNAL_FIELD_DETECTOR_ACTIVATION_THRESHOLD, value);
1262 return write_register8(st25r3916::command::REG_EXTERNAL_FIELD_DETECTOR_ACTIVATION_THRESHOLD, value);
1271 return read_register8(st25r3916::command::REG_EXTERNAL_FIELD_DETECTOR_DEACTIVATION_THRESHOLD, value);
1280 return write_register8(st25r3916::command::REG_EXTERNAL_FIELD_DETECTOR_DEACTIVATION_THRESHOLD, value);
1290 return read_register8(st25r3916::command::REG_RESISTIVE_AM_MODULATION, value);
1299 return write_register8(st25r3916::command::REG_RESISTIVE_AM_MODULATION, value);
1308 return read_register8(st25r3916::command::REG_TX_DRIVER_TIMING_DISPLAY, value);
1321 return read_register8(st25r3916::command::REG_REGULATOR_VOLTAGE_CONTROL, value);
1330 return write_register8(st25r3916::command::REG_REGULATOR_VOLTAGE_CONTROL, value);
1339 return read_register8(st25r3916::command::REG_REGULATOR_DISPLAY, value);
1352 return read_register8(st25r3916::command::REG_RSSI_DISPLAY, value);
1361 return read_register8(st25r3916::command::REG_GAIN_REDUCTION_STATE, value);
1374 return read_register8(st25r3916::command::REG_CAPACITIVE_SENSOR_CONTROL, value);
1383 return write_register8(st25r3916::command::REG_CAPACITIVE_SENSOR_CONTROL, value);
1392 return read_register8(st25r3916::command::REG_CAPACITIVE_SENSOR_DISPLAY, value);
1405 return read_register8(st25r3916::command::REG_AUXILIARY_DISPLAY, value);
1418 return read_register8(st25r3916::command::REG_WAKEUP_TIMER_CONTROL, value);
1427 return write_register8(st25r3916::command::REG_WAKEUP_TIMER_CONTROL, value);
1437 return read_register8(st25r3916::command::REG_AMPLITUDE_MEASUREMENT_CONFIGURATION, value);
1446 return write_register8(st25r3916::command::REG_AMPLITUDE_MEASUREMENT_CONFIGURATION, value);
1455 return read_register8(st25r3916::command::REG_AMPLITUDE_MEASUREMENT_REFERENCE, value);
1464 return write_register8(st25r3916::command::REG_AMPLITUDE_MEASUREMENT_REFERENCE, value);
1473 return read_register8(st25r3916::command::REG_AMPLITUDE_MEASUREMENT_AUTO_AVERAGING_DISPLAY, value);
1482 return read_register8(st25r3916::command::REG_AMPLITUDE_MEASUREMENT_DISPLAY, value);
1492 return read_register8(st25r3916::command::REG_PHASE_MEASUREMENT_CONFIGURATION, value);
1501 return write_register8(st25r3916::command::REG_PHASE_MEASUREMENT_CONFIGURATION, value);
1510 return read_register8(st25r3916::command::REG_PHASE_MEASUREMENT_REFERENCE, value);
1519 return write_register8(st25r3916::command::REG_PHASE_MEASUREMENT_REFERENCE, value);
1528 return read_register8(st25r3916::command::REG_PHASE_MEASUREMENT_AUTO_AVERAGING_DISPLAY, value);
1537 return read_register8(st25r3916::command::REG_PHASE_MEASUREMENT_DISPLAY, value);
1547 return read_register8(st25r3916::command::REG_CAPACITANCE_MEASUREMENT_CONFIGURATION, value);
1556 return write_register8(st25r3916::command::REG_CAPACITANCE_MEASUREMENT_CONFIGURATION, value);
1565 return read_register8(st25r3916::command::REG_CAPACITANCE_MEASUREMENT_REFERENCE, value);
1574 return write_register8(st25r3916::command::REG_CAPACITANCE_MEASUREMENT_REFERENCE, value);
1583 return read_register8(st25r3916::command::REG_CAPACITANCE_MEASUREMENT_AUTO_AVERAGING_DISPLAY, value);
1592 return read_register8(st25r3916::command::REG_CAPACITANCE_MEASUREMENT_DISPLAY, value);
1605 return read_register8(st25r3916::command::REG_OVERSHOOT_PROTECTION_CONFIGURATION_1, value);
1614 return write_register8(st25r3916::command::REG_OVERSHOOT_PROTECTION_CONFIGURATION_1, value);
1623 return read_register8(st25r3916::command::REG_OVERSHOOT_PROTECTION_CONFIGURATION_2, value);
1632 return write_register8(st25r3916::command::REG_OVERSHOOT_PROTECTION_CONFIGURATION_2, value);
1641 return read_register16(st25r3916::command::REG_OVERSHOOT_PROTECTION_CONFIGURATION_1, value);
1650 return write_register16(st25r3916::command::REG_OVERSHOOT_PROTECTION_CONFIGURATION_1, value);
1660 return read_register8(st25r3916::command::REG_UNDERSHOOT_PROTECTION_CONFIGURATION_1, value);
1669 return write_register8(st25r3916::command::REG_UNDERSHOOT_PROTECTION_CONFIGURATION_1, value);
1678 return read_register8(st25r3916::command::REG_UNDERSHOOT_PROTECTION_CONFIGURATION_2, value);
1687 return write_register8(st25r3916::command::REG_UNDERSHOOT_PROTECTION_CONFIGURATION_2, value);
1696 return read_register16(st25r3916::command::REG_UNDERSHOOT_PROTECTION_CONFIGURATION_1, value);
1705 return write_register16(st25r3916::command::REG_UNDERSHOOT_PROTECTION_CONFIGURATION_1, value);
1749 uint32_t
nfcaTransceive(uint8_t* rx, uint16_t& rx_len,
const uint8_t* tx,
const uint16_t tx_len,
1750 const uint32_t timeout_ms);
1751 bool nfcaTransmit(
const uint8_t* tx,
const uint16_t tx_len,
const uint32_t timeout_ms);
1754 bool nfcaReceive(uint8_t* rx, uint16_t& rx_len,
const uint32_t timeout_ms);
1763 return nfca_request_wakeup(atqa,
true);
1772 return nfca_request_wakeup(atqa,
false);
1825 return mifare_classic_authenticate(m5::nfc::a::Command::AUTH_WITH_KEY_A, picc, block, key);
1838 return mifare_classic_authenticate(m5::nfc::a::Command::AUTH_WITH_KEY_B, picc, block, key);
1862 bool nfcbTransceive(uint8_t* rx, uint16_t& rx_len,
const uint8_t* tx,
const uint16_t tx_len,
1863 const uint32_t timeout_ms);
1871 bool nfcbTransmit(
const uint8_t* tx,
const uint16_t tx_len,
const uint32_t timeout_ms);
1879 bool nfcbReceive(uint8_t* rx, uint16_t& rx_len,
const uint32_t timeout_ms);
1894 bool nfcfTransceive(uint8_t* rx, uint16_t& rx_len,
const uint8_t* tx,
const uint16_t tx_len,
1895 const uint32_t timeout_ms);
1903 bool nfcfTransmit(
const uint8_t* tx,
const uint16_t tx_len,
const uint32_t timeout_ms);
1913 bool nfcfReceive(uint8_t* rx, uint16_t& rx_len,
const uint32_t timeout_ms);
1930 bool nfcvTransceive(uint8_t* rx, uint16_t& rx_len,
const uint8_t* tx,
const uint16_t tx_bytes,
1931 const uint32_t timeout_ms,
1941 bool nfcvTransmit(
const uint8_t* tx,
const uint16_t tx_len,
const uint32_t timeout_ms,
1950 bool nfcvReceive(uint8_t* rx, uint16_t& rx_len,
const uint32_t timeout_ms);
1955 bool writePtMemoryA(
const uint8_t* tx,
const uint32_t tx_len);
1956 bool writePtMemoryF(
const uint8_t* tx,
const uint32_t tx_len);
1957 bool writePtMemoryTSN(
const uint8_t* tx,
const uint32_t tx_len);
1958 bool readPtMemory(uint8_t* rx,
const uint32_t rx_len);
1962 void dumpRegister();
1968 static void IRAM_ATTR on_irq(
void* arg);
1970 bool read_register8(
const uint8_t reg, uint8_t&
v);
1971 bool read_register8(
const uint16_t reg, uint8_t&
v);
1972 bool write_register8(
const uint8_t reg,
const uint8_t
v);
1973 bool write_register8(
const uint16_t reg,
const uint8_t
v);
1974 bool read_register16(
const uint8_t reg, uint16_t&
v);
1975 bool read_register16(
const uint16_t reg, uint16_t&
v);
1976 bool write_register16(
const uint8_t reg,
const uint16_t
v);
1977 bool write_register16(
const uint16_t reg,
const uint16_t
v);
1978 bool read_register32(
const uint8_t reg, uint32_t&
v);
1979 bool read_register32(
const uint16_t reg, uint32_t&
v);
1980 bool write_register32(
const uint8_t reg,
const uint32_t
v);
1981 bool write_register32(
const uint16_t reg,
const uint32_t
v);
1983 bool write_fwt_timer(
const uint32_t ms);
1984 bool write_mask_receiver_timer(
const uint32_t us);
1985 bool write_squelch_timer(
const uint32_t us);
1987 uint32_t wait_for_interrupt(
const uint32_t irq,
const uint32_t timeout_ms = 100);
1989 bool wait_for_FIFO(
const uint32_t timeout_ms,
const uint16_t required_size = 0);
1990 bool read_FIFO(std::vector<uint8_t>& out);
1993 bool configure_nfc_a();
1994 bool configure_nfc_b();
1995 bool configure_nfc_f();
1996 bool configure_nfc_v();
1997 bool nfc_initial_field_on();
1999 bool configure_emulation_a();
2000 bool configure_emulation_f();
2003 bool modify_bit_register8(
const uint8_t reg,
const uint8_t set_mask,
const uint8_t clear_mask);
2004 bool modify_bit_register8(
const uint16_t reg,
const uint8_t set_mask,
const uint8_t clear_mask);
2005 bool set_bit_register8(
const uint8_t reg,
const uint8_t bits);
2006 bool set_bit_register8(
const uint16_t reg,
const uint8_t bits);
2007 bool clear_bit_register8(
const uint8_t reg,
const uint8_t bits);
2008 bool clear_bit_register8(
const uint16_t reg,
const uint8_t bits);
2009 inline bool change_bit_register8(
const uint8_t reg,
const uint8_t bits,
const uint8_t mask)
2011 return modify_bit_register8(reg, mask & bits, mask);
2013 inline bool change_bit_register8(
const uint16_t reg,
const uint8_t bits,
const uint8_t mask)
2015 return modify_bit_register8(reg, mask & bits, mask);
2017 bool change_test_bit_register8(
const uint8_t reg,
const uint8_t bits,
const uint8_t mask);
2018 bool change_test_bit_register8(
const uint16_t reg,
const uint8_t bits,
const uint8_t mask);
2020 bool modify_interrupts(
const uint32_t clr,
const uint32_t set);
2021 inline bool enable_interrupts(
const uint32_t mask)
2023 return modify_interrupts(mask, 0);
2025 inline bool disable_interrupts(
const uint32_t mask)
2027 return modify_interrupts(0, mask);
2031 bool disable_field();
2034 bool nfca_request_wakeup(uint16_t& atqa,
const bool req);
2035 bool nfca_anti_collision(uint8_t rbuf[5],
const uint8_t lv);
2038 bool mifare_classic_send_encrypt(
const uint8_t* tx,
const uint16_t tx_len);
2039 bool mifare_classic_transceive_encrypt(uint8_t* rx, uint16_t& rx_len,
const uint8_t* tx,
const uint16_t tx_len,
2040 const uint32_t timeout_ms,
const bool include_crc,
const bool decrypt);
2047 volatile uint32_t _stored_irq{};
2048 uint32_t _enabled_irq{};
2050 volatile bool _interrupt_occurred{};
2066 explicit CapST25R3916(
const uint8_t cs_pin = DEFAULT_ADDRESS);
2069 virtual bool begin()
override;
Definitions for ST25R3916.
InitiatorOperationMode
Initiator operation modes.
Definition ST25R3916_definition.hpp:29
TargetOperationMode
Target operation modes.
Definition ST25R3916_definition.hpp:44
Crypto1 for MIFARE Classic.
Definition mifare_classic_crypto1.hpp:26
ST25R3916 unit in CapCC1101 (SPI)
Definition unit_ST25R3916.hpp:2062
ST25R3916 Unit.
Definition unit_ST25R3916.hpp:38
bool readFIFOStatus(uint16_t &value)
Read the FIFO status 1-2.
Definition unit_ST25R3916.hpp:991
bool readPhaseMeasurementAutoAveragingDisplay(uint8_t &value)
Read the phase measurement auto-averaging display.
Definition unit_ST25R3916.hpp:1526
bool writeMaskTimerAndNFCInterrupt(const uint8_t value)
Write the mask timer and NFC interrupt.
Definition unit_ST25R3916.hpp:849
bool readCapacitanceMeasurementAutoAveragingDisplay(uint8_t &value)
Read the capacitance measurement auto-averaging display.
Definition unit_ST25R3916.hpp:1581
bool readMaskMainInterrupt(uint8_t &value)
Read the mask main interrupt.
Definition unit_ST25R3916.hpp:818
bool readOperationControl(uint8_t &value)
Read the operation control.
Definition unit_ST25R3916.hpp:241
bool writeResistiveAMModulation(const uint8_t value)
Write the resistive AM modulation.
Definition unit_ST25R3916.hpp:1297
bool readADConverterOutput(uint8_t &value)
Read the number of transmitted bytes 2.
Definition unit_ST25R3916.hpp:1103
bool writeEMDSuppressionConfiguration(const uint8_t value)
Write the EMD suppression configuration.
Definition unit_ST25R3916.hpp:417
bool nfcaHlt()
Hlt for PICC.
Definition unit_ST25R3916_nfca.cpp:477
bool writeIOConfiguration1(const uint8_t value)
Write the I/O configuration 1.
Definition unit_ST25R3916.hpp:192
bool readSquelchTimer(uint8_t &value)
Read the squelch timer.
Definition unit_ST25R3916.hpp:778
bool readMaskReceiveTimer(uint8_t &value)
Read the mask receive timer.
Definition unit_ST25R3916.hpp:615
bool nfcaEmulationTransmit(const uint8_t *tx, const uint16_t tx_len)
Transmit in emulation (PICC) mode with minimal I2C overhead.
Definition unit_ST25R3916_nfca.cpp:208
bool readPassiveTargetInterrupt(uint8_t &value)
Read the passive target interrupt.
Definition unit_ST25R3916.hpp:957
bool readTimerAndNFCInterrupt(uint8_t &value)
Read the timer and NFC interrupt.
Definition unit_ST25R3916.hpp:938
bool readAntennaTuningControl1(uint8_t &value)
Read the Antenna tuning control 1.
Definition unit_ST25R3916.hpp:1116
bool writeMaskReceiveTimer(const uint8_t value)
Write the mask receive timer.
Definition unit_ST25R3916.hpp:624
bool writeNumberOfTransmittedBytes(const uint16_t value)
Write the number of transmitted bytes 1-2.
Definition unit_ST25R3916.hpp:1068
bool writeDirectCommand(const uint8_t cmd, const uint8_t *data=nullptr, const uint32_t dlen=0u)
Write the direct command with data.
Definition unit_ST25R3916.cpp:376
bool writeCorrelatorConfiguration(const uint16_t value)
Write the correlator configuration 1-2.
Definition unit_ST25R3916.hpp:602
bool writeExternalFieldDetectorDeactivationThreshold(const uint8_t value)
Write the external field detector deactivation threshold.
Definition unit_ST25R3916.hpp:1278
bool writeTargetOperationMode(const st25r3916::TargetOperationMode mode, const uint8_t optional=0)
Write the initiator operation mode and transition to target mode.
Definition unit_ST25R3916.cpp:411
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.
Definition unit_ST25R3916_nfca.cpp:180
bool readExternalFieldDetectorActivationThreshold(uint8_t &value)
Read the external field detector activation threshold.
Definition unit_ST25R3916.hpp:1251
bool readRegulatorVoltageControl(uint8_t &value)
Read the regulator voltage control.
Definition unit_ST25R3916.hpp:1319
bool readICIdentity(uint8_t &type, uint8_t &rev)
Read the IC identity.
Definition unit_ST25R3916.cpp:472
bool writeAmplitudeMeasurementReference(const uint8_t value)
Write the amplitude measurement reference.
Definition unit_ST25R3916.hpp:1462
bool writeExternalFieldDetectorActivationThreshold(const uint8_t value)
Write the external field detector activation threshold.
Definition unit_ST25R3916.hpp:1260
bool readAntennaTuningControl(uint16_t &value)
Read the Antenna tuning control 1-2.
Definition unit_ST25R3916.hpp:1152
bool writeOvershootProtectionConfiguration(const uint16_t value)
Write the overshoot protection configuration 1-2.
Definition unit_ST25R3916.hpp:1648
bool readInterrupts(uint32_t &value)
Read the all interrupt.
Definition unit_ST25R3916.cpp:382
bool readErrorAndWakeupInterrupt(uint8_t &value)
Read the error and wake-up interrupt.
Definition unit_ST25R3916.hpp:948
bool writeNoResponseTimer(const uint16_t value)
Write the no-response timer 1-2.
Definition unit_ST25R3916.hpp:678
bool readReceiverConfiguration3(uint8_t &value)
Read the receiver configuration 3.
Definition unit_ST25R3916.hpp:484
bool readSubcarrierStartTimer(uint8_t &value)
Read the subcarrier start timer.
Definition unit_ST25R3916.hpp:426
bool writeAntennaTuningControl1(const uint8_t value)
Write the Antenna tuning control 1.
Definition unit_ST25R3916.hpp:1125
bool clearInterrupts()
Clear interrupts flag.
Definition unit_ST25R3916.cpp:397
bool readNFCIP1PassiveTargetDefinition(uint8_t &value)
Read the NFCIP-1 passive target definition.
Definition unit_ST25R3916.hpp:353
bool writeSettingsISO14443A(const uint8_t value)
Write the settings for ISO14443A and NFC 106kb/s.
Definition unit_ST25R3916.hpp:308
bool readIOConfiguration2(uint8_t &value)
Read the I/O configuration 2.
Definition unit_ST25R3916.hpp:201
bool writeUndershootProtectionConfiguration1(const uint8_t value)
Write the undershoot protection configuration 1.
Definition unit_ST25R3916.hpp:1667
bool writeAmplitudeMeasurementConfiguration(const uint8_t value)
Write the amplitude measurement configuration.
Definition unit_ST25R3916.hpp:1444
bool nfcbTransmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms)
Transmit to NFC-B PICC.
Definition unit_ST25R3916_nfcb.cpp:155
bool readOvershootProtectionConfiguration(uint16_t &value)
Read the overshoot protection configuration 1-2.
Definition unit_ST25R3916.hpp:1639
bool writeReceiverConfiguration4(const uint8_t value)
Write the receiver configuration 4.
Definition unit_ST25R3916.hpp:511
bool readCapacitanceMeasurementReference(uint8_t &value)
Read the capacitance measurement reference.
Definition unit_ST25R3916.hpp:1563
bool writeIOConfiguration(const uint16_t value)
Definition unit_ST25R3916.hpp:228
bool readSettingsFelica(uint8_t &value)
Read the settings for ISO14443B and FeliCa.
Definition unit_ST25R3916.hpp:335
void config(const config_t &cfg)
Set the configuration.
Definition unit_ST25R3916.hpp:74
bool writeGeneralPurposeTimer2(const uint8_t value)
Write the general purpose timer 2.
Definition unit_ST25R3916.hpp:732
bool writeSettingsISO14443B(const uint8_t value)
Write the settings for ISO14443B.
Definition unit_ST25R3916.hpp:326
bool writePPON2FieldWaiting(const uint8_t value)
Write the PPON2 field waiting.
Definition unit_ST25R3916.hpp:768
bool nfcvReceive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms)
Receive from NFC-V PICC.
Definition unit_ST25R3916_nfcv.cpp:132
bool readTXDriverTimingDisplay(uint8_t &value)
Read the TX driver timing display.
Definition unit_ST25R3916.hpp:1306
bool writeBitrateDefinition(const uint8_t value)
Write the bitrate definition.
Definition unit_ST25R3916.hpp:286
bool nfcaWriteBlock(const uint8_t block, const uint8_t tx[16])
Write the 1 block / 4 pages (16 bytes)
Definition unit_ST25R3916_nfca.cpp:520
bool writeWakeupTimerControl(const uint8_t value)
Write the Wake-up timer control.
Definition unit_ST25R3916.hpp:1425
bool nfcaRequest(uint16_t &atqa)
Request for idle PICC.
Definition unit_ST25R3916.hpp:1761
bool readBitrateDefinition(uint8_t &value)
Read the bitrate definition.
Definition unit_ST25R3916.hpp:277
bool readFIFOStatus1(uint8_t &value)
Read the FIFO status 1.
Definition unit_ST25R3916.hpp:973
bool readFIFOStatus2(uint8_t &value)
Read the FIFO status 1.
Definition unit_ST25R3916.hpp:982
bool writeCapacitiveSensorControl(const uint8_t value)
Write the capacitive sensor control.
Definition unit_ST25R3916.hpp:1381
bool readMaskTimerAndNFCInterrupt(uint8_t &value)
Read the mask timer and NFC interrupt.
Definition unit_ST25R3916.hpp:840
bool writeOperationControl(const uint8_t value)
Write the operation control.
Definition unit_ST25R3916.hpp:250
bool readStreamModeDefinition(uint8_t &value)
Read the stream mode definition.
Definition unit_ST25R3916.hpp:371
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.
Definition unit_ST25R3916.hpp:1834
bool writeTXDriverTiming(const uint8_t value)
Write the TX driver timing.
Definition unit_ST25R3916.hpp:1238
bool writeCorrelatorConfiguration1(const uint8_t value)
Write the correlator configuration 1.
Definition unit_ST25R3916.hpp:566
bool writeCapacitanceMeasurementReference(const uint8_t value)
Write the capacitance measurement reference.
Definition unit_ST25R3916.hpp:1572
bool readAuxiliaryModulationSetting(uint8_t &value)
Read the auxiliary modulation setting.
Definition unit_ST25R3916.hpp:1211
bool writeFIFO(const uint8_t *buf, const uint16_t buf_size)
Write to FIFO.
Definition unit_ST25R3916.cpp:458
bool readMaskInterrupts(uint32_t &value)
Read the all mask.
Definition unit_ST25R3916.hpp:906
bool readMaskPassiveTargetInterrupt(uint8_t &value)
Read the mask passive target interrupt.
Definition unit_ST25R3916.hpp:884
bool readUndershootProtectionConfiguration(uint16_t &value)
Read the undershoot protection configuration 1-2.
Definition unit_ST25R3916.hpp:1694
bool writeCorrelatorConfiguration2(const uint8_t value)
Write the correlator configuration 2.
Definition unit_ST25R3916.hpp:584
bool writeOvershootProtectionConfiguration2(const uint8_t value)
Write the overshoot protection configuration 2.
Definition unit_ST25R3916.hpp:1630
bool nfcaReceive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms)
Transceive.
Definition unit_ST25R3916_nfca.cpp:218
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.
Definition unit_ST25R3916_nfcf.cpp:79
bool writeGeneralPurposeTimer(const uint16_t value)
Write the general purpose timer 1-2.
Definition unit_ST25R3916.hpp:750
bool readReceiverConfiguration(uint32_t &value)
Read the receiver configuration 1-4.
Definition unit_ST25R3916.hpp:520
bool readPhaseMeasurementConfiguration(uint8_t &value)
Read the phase measurement configuration.
Definition unit_ST25R3916.hpp:1490
bool readReceiverConfiguration2(uint8_t &value)
Read the receiver configuration 2.
Definition unit_ST25R3916.hpp:466
bool readSettingsISO14443A(uint8_t &value)
Read the settings for ISO14443A and NFC 106kb/s.
Definition unit_ST25R3916.hpp:299
bool writeInitiatorOperationMode(const st25r3916::InitiatorOperationMode mode, const uint8_t optional=0)
Write the initiator operation mode and transition to initiator mode.
Definition unit_ST25R3916.cpp:404
bool writeP2PReceiverConfiguration(const uint8_t value)
Write the P2P receiver configuration.
Definition unit_ST25R3916.hpp:548
bool writeNoResponseTimer2(const uint8_t value)
Write the no-response timer 2.
Definition unit_ST25R3916.hpp:660
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.
Definition unit_ST25R3916_nfcv.cpp:90
bool configureNFCMode(const m5::nfc::NFC mode)
Configure NFC mode.
Definition unit_ST25R3916.cpp:244
uint32_t readFIFO(uint16_t &actual, uint8_t *buf, const uint16_t buf_size)
Read from FIFO.
Definition unit_ST25R3916.cpp:437
bool readAmplitudeMeasurementConfiguration(uint8_t &value)
Read the amplitude measurement configuration.
Definition unit_ST25R3916.hpp:1435
bool readGainReductionState(uint8_t &value)
Read the gain reduction state.
Definition unit_ST25R3916.hpp:1359
bool writeNumberOfTransmittedBytes1(const uint8_t value)
Write the number of transmitted bytes 1.
Definition unit_ST25R3916.hpp:1032
bool readCapacitanceMeasurementDisplay(uint8_t &value)
Read the capacitance measurement display.
Definition unit_ST25R3916.hpp:1590
bool writeNoResponseTimer1(const uint8_t value)
Write the no-response timer 1.
Definition unit_ST25R3916.hpp:642
bool writeNFCFieldOnGuardTimer(const uint8_t value)
Write the NFC field on guard timer.
Definition unit_ST25R3916.hpp:805
bool readMainInterrupt(uint8_t &value)
Read the main interrupt.
Definition unit_ST25R3916.hpp:929
bool readAmplitudeMeasurementDisplay(uint8_t &value)
Read the amplitude measurement display.
Definition unit_ST25R3916.hpp:1480
bool readNumberOfTransmittedBytes1(uint8_t &value)
Read the number of transmitted bytes 1.
Definition unit_ST25R3916.hpp:1023
bool writePassiveTargetModulation(const uint8_t value)
Write the passive target modulation.
Definition unit_ST25R3916.hpp:1201
bool writeMaskErrorAndWakeupInterrupt(const uint8_t value)
Write the mask error and wake-up interrupt.
Definition unit_ST25R3916.hpp:871
bool readGeneralPurposeTimer2(uint8_t &value)
Read the general purpose timer 2.
Definition unit_ST25R3916.hpp:723
bool writeBitrate(const m5::nfc::Bitrate tx, const m5::nfc::Bitrate rx)
Write the initiator operation mode and transition to initiator mode.
Definition unit_ST25R3916.cpp:418
bool writePhaseMeasurementReference(const uint8_t value)
Write the phase measurement reference.
Definition unit_ST25R3916.hpp:1517
bool readEMDSuppressionConfiguration(uint8_t &value)
Read the EMD suppression configuration.
Definition unit_ST25R3916.hpp:408
bool isNFCMode(const m5::nfc::NFC mode)
Is the current operating mode the one specified?
Definition unit_ST25R3916.hpp:103
bool readOvershootProtectionConfiguration1(uint8_t &value)
Read the overshoot protection configuration 1.
Definition unit_ST25R3916.hpp:1603
bool writePhaseMeasurementConfiguration(const uint8_t value)
Write the phase measurement configuration.
Definition unit_ST25R3916.hpp:1499
bool writeIOConfiguration2(const uint8_t value)
Definition unit_ST25R3916.hpp:210
bool writeUndershootProtectionConfiguration2(const uint8_t value)
Write the undershoot protection configuration 2.
Definition unit_ST25R3916.hpp:1685
bool readP2PReceiverConfiguration(uint8_t &value)
Read the P2P receiver configuration.
Definition unit_ST25R3916.hpp:539
bool writeRegulatorVoltageControl(const uint8_t value)
Write the regulator voltage control.
Definition unit_ST25R3916.hpp:1328
bool writeTimerAndEMVControl(const uint8_t value)
Write the timer and EMV control.
Definition unit_ST25R3916.hpp:696
bool writeNumberOfTransmittedBytes2(const uint8_t value)
Write the number of transmitted bytes 2.
Definition unit_ST25R3916.hpp:1050
bool writeReceiverConfiguration1(const uint8_t value)
Write the receiver configuration 1.
Definition unit_ST25R3916.hpp:457
bool nfcaTransmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms)
Transceive.
Definition unit_ST25R3916_nfca.cpp:190
bool readGeneralPurposeTimer(uint16_t &value)
Read the general purpose timer 1-2.
Definition unit_ST25R3916.hpp:741
bool nfcaReadBlock(uint8_t rx[16], const uint8_t block)
Read the 1 block / 4 pages (16 bytes)
Definition unit_ST25R3916_nfca.cpp:505
bool readTXDriver(uint8_t &value)
Read the TX driver.
Definition unit_ST25R3916.hpp:1174
bool mifareClassicValueBlock(const m5::nfc::a::Command cmd, const uint8_t block, const uint32_t arg=0)
Operation for the value block.
Definition unit_ST25R3916_nfca.cpp:771
bool readRegulatorDisplay(uint8_t &value)
Read the regulator display.
Definition unit_ST25R3916.hpp:1337
bool readMaskErrorAndWakeupInterrupt(uint8_t &value)
Read the mask error and wake-up interrupt.
Definition unit_ST25R3916.hpp:862
bool writeMaskMainInterrupt(const uint8_t value)
Write the mask main interrupt.
Definition unit_ST25R3916.hpp:827
bool readIOConfiguration(uint16_t &value)
Read the I/O configuration 1-2.
Definition unit_ST25R3916.hpp:219
bool readCollisionDisplay(uint8_t &value)
Read the collision display.
Definition unit_ST25R3916.hpp:1001
bool readExternalFieldDetectorDeactivationThreshold(uint8_t &value)
Read the external field detector deactivation threshold.
Definition unit_ST25R3916.hpp:1269
bool readCorrelatorConfiguration(uint16_t &value)
Read the correlator configuration 1-2.
Definition unit_ST25R3916.hpp:593
bool readOvershootProtectionConfiguration2(uint8_t &value)
Read the overshoot protection configuration 2.
Definition unit_ST25R3916.hpp:1621
bool writeMaskPassiveTargetInterrupt(const uint8_t value)
Write the mask passive target interrupt.
Definition unit_ST25R3916.hpp:893
bool nfcfEmulationTransmit(const uint8_t *tx, const uint16_t tx_len)
Transmit in emulation (PICC) mode with minimal I2C overhead.
Definition unit_ST25R3916_nfcf.cpp:104
config_t config()
Gets the configuration.
Definition unit_ST25R3916.hpp:69
bool writeReceiverConfiguration(const uint32_t value)
Write the receiver configuration 1-4.
Definition unit_ST25R3916.hpp:529
bool nfcaWakeup(uint16_t &atqa)
Wakeup for idle/halt PICC.
Definition unit_ST25R3916.hpp:1770
bool writeGeneralPurposeTimer1(const uint8_t value)
Write the general purpose timer 1.
Definition unit_ST25R3916.hpp:714
bool writeAuxiliaryModulationSetting(const uint8_t value)
Write the auxiliary modulation setting.
Definition unit_ST25R3916.hpp:1220
bool readCapacitiveSensorDisplay(uint8_t &value)
Read the capacitive sensor display.
Definition unit_ST25R3916.hpp:1390
bool readTimerAndEMVControl(uint8_t &value)
Read the timer and EMV control.
Definition unit_ST25R3916.hpp:687
bool readPhaseMeasurementReference(uint8_t &value)
Read the phase measurement reference.
Definition unit_ST25R3916.hpp:1508
bool disableField()
Disable the Field to stop communication with the PICC.
Definition unit_ST25R3916.cpp:484
bool readNoResponseTimer1(uint8_t &value)
Read the no-response timer 1.
Definition unit_ST25R3916.hpp:633
bool writeNumberOfTransmittedBytes(const uint16_t bytes, const uint8_t bits)
Write the number of transmitted bytes and after bytes.
Definition unit_ST25R3916.hpp:1079
bool readGeneralPurposeTimer1(uint8_t &value)
Read the general purpose timer 1.
Definition unit_ST25R3916.hpp:705
bool writeSquelchTimer(const uint8_t value)
Write the squelch timer.
Definition unit_ST25R3916.hpp:787
bool writeSettingsFelica(const uint8_t value)
Write the settings for ISO14443B and FeliCa.
Definition unit_ST25R3916.hpp:344
bool readReceiverConfiguration4(uint8_t &value)
Definition unit_ST25R3916.hpp:502
bool readNoResponseTimer(uint16_t &value)
Read the no-response timer 1-2.
Definition unit_ST25R3916.hpp:669
bool readCapacitiveSensorControl(uint8_t &value)
Read the capacitive sensor control.
Definition unit_ST25R3916.hpp:1372
bool readFIFOSize(uint16_t &bytes, uint8_t &bits)
Read the FIFO size.
Definition unit_ST25R3916.cpp:424
bool writeMaskInterrupts(const uint32_t value)
Write the all mask.
Definition unit_ST25R3916.hpp:915
bool writeReceiverConfiguration3(const uint8_t value)
Write the receiver configuration 3.
Definition unit_ST25R3916.hpp:493
bool writeNFCIP1PassiveTargetDefinition(const uint8_t value)
Definition unit_ST25R3916.hpp:362
m5::nfc::NFC NFCMode() const
Gets the current operating mode.
Definition unit_ST25R3916.hpp:81
bool readBitrateDetectionDisplay(uint8_t &value)
Read the bit rate detection display.
Definition unit_ST25R3916.hpp:1090
bool readCapacitanceMeasurementConfiguration(uint8_t &value)
Read the capacitance measurement configuration.
Definition unit_ST25R3916.hpp:1545
bool readNFCFieldOnGuardTimer(uint8_t &value)
Read the NFC field on guard timer.
Definition unit_ST25R3916.hpp:796
bool writeAuxiliaryDefinition(const uint8_t value)
Write the Auxiliary definition.
Definition unit_ST25R3916.hpp:398
bool readAntennaTuningControl2(uint8_t &value)
Read the Antenna tuning control 2.
Definition unit_ST25R3916.hpp:1134
bool readSettingsISO14443B(uint8_t &value)
Read the settings for ISO14443B.
Definition unit_ST25R3916.hpp:317
bool readCorrelatorConfiguration2(uint8_t &value)
Read the correlator configuration 2.
Definition unit_ST25R3916.hpp:575
bool writeAntennaTuningControl(const uint16_t value)
Write the Antenna tuning control 1-2.
Definition unit_ST25R3916.hpp:1161
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)
Definition unit_ST25R3916_nfcv.cpp:99
bool readPPON2FieldWaiting(uint8_t &value)
Read the PPON2 field waiting.
Definition unit_ST25R3916.hpp:759
bool writeModeDefinition(const uint8_t value)
Write the mode definition.
Definition unit_ST25R3916.hpp:268
bool configureEmulationMode(const m5::nfc::NFC mode)
Configure NFC mode for emulation.
Definition unit_ST25R3916.cpp:285
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.
Definition unit_ST25R3916_nfcb.cpp:149
bool readUndershootProtectionConfiguration1(uint8_t &value)
Read the undershoot protection configuration 1.
Definition unit_ST25R3916.hpp:1658
bool readNumberOfTransmittedBytes(uint16_t &value)
Read the number of transmitted bytes 1-2.
Definition unit_ST25R3916.hpp:1059
bool enableField()
Enable the Field to begin communication with the PICC.
Definition unit_ST25R3916.cpp:494
bool readAmplitudeMeasurementAutoAveragingDisplay(uint8_t &value)
Read the amplitude measurement auto-averaging display.
Definition unit_ST25R3916.hpp:1471
bool readWakeupTimerControl(uint8_t &value)
Read the Wake-up timer control.
Definition unit_ST25R3916.hpp:1416
bool writeAntennaTuningControl2(const uint8_t value)
Write the Antenna tuning control 2.
Definition unit_ST25R3916.hpp:1143
bool readPassiveTargetDisplay(uint8_t &value)
Read the passive target.
Definition unit_ST25R3916.hpp:1010
bool writeStreamModeDefinition(const uint8_t value)
Write the stream mode definition.
Definition unit_ST25R3916.hpp:380
bool readModeDefinition(uint8_t &value)
Read the mode definition.
Definition unit_ST25R3916.hpp:259
bool readPhaseMeasurementDisplay(uint8_t &value)
Read the phase measurement display.
Definition unit_ST25R3916.hpp:1535
bool readAmplitudeMeasurementReference(uint8_t &value)
Read the amplitude measurement reference.
Definition unit_ST25R3916.hpp:1453
bool nfcaSelect(const m5::nfc::a::PICC &picc)
Select specific PICC.
Definition unit_ST25R3916_nfca.cpp:430
bool readIOConfiguration1(uint8_t &value)
Read the I/O configuration 1.
Definition unit_ST25R3916.hpp:183
bool writeReceiverConfiguration2(const uint8_t value)
Write the receiver configuration 2.
Definition unit_ST25R3916.hpp:475
bool readNoResponseTimer2(uint8_t &value)
Read the no-response timer 2.
Definition unit_ST25R3916.hpp:651
bool readRSSIDisplay(uint8_t &value)
Read the external field detector deactivation threshold.
Definition unit_ST25R3916.hpp:1350
bool readCorrelatorConfiguration1(uint8_t &value)
Read the correlator configuration 1.
Definition unit_ST25R3916.hpp:557
bool nfcfReceive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms)
Receive from NFC-F PICC.
Definition unit_ST25R3916_nfcf.cpp:114
bool writeTXDriver(const uint8_t value)
Write the TX driver.
Definition unit_ST25R3916.hpp:1183
bool nfcbReceive(uint8_t *rx, uint16_t &rx_len, const uint32_t timeout_ms)
Receive from NFC-B PICC.
Definition unit_ST25R3916_nfcb.cpp:175
bool writeUndershootProtectionConfiguration(const uint16_t value)
Write the undershoot protection configuration 1-2.
Definition unit_ST25R3916.hpp:1703
bool readUndershootProtectionConfiguration2(uint8_t &value)
Read the undershoot protection configuration 2.
Definition unit_ST25R3916.hpp:1676
bool readAuxiliaryDefinition(uint8_t &value)
Read the Auxiliary definition.
Definition unit_ST25R3916.hpp:389
bool readReceiverConfiguration1(uint8_t &value)
Read the receiver configuration 1.
Definition unit_ST25R3916.hpp:448
bool nfcaSelectWithAnticollision(bool &completed, m5::nfc::a::PICC &picc, const uint8_t lv)
Select PICC with anti-collision.
Definition unit_ST25R3916_nfca.cpp:370
bool readAuxiliaryDisplay(uint8_t &value)
Read the auxiliary display.
Definition unit_ST25R3916.hpp:1403
bool writeSubcarrierStartTimer(const uint8_t value)
Write the subcarrier start timer.
Definition unit_ST25R3916.hpp:435
bool readResistiveAMModulation(uint8_t &value)
Read the resistive AM modulation.
Definition unit_ST25R3916.hpp:1288
bool nfcfTransmit(const uint8_t *tx, const uint16_t tx_len, const uint32_t timeout_ms)
Definition unit_ST25R3916_nfcf.cpp:85
bool writeOvershootProtectionConfiguration1(const uint8_t value)
Write the overshoot protection configuration 1.
Definition unit_ST25R3916.hpp:1612
bool readNumberOfTransmittedBytes2(uint8_t &value)
Read the number of transmitted bytes 2.
Definition unit_ST25R3916.hpp:1041
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.
Definition unit_ST25R3916.hpp:1821
bool readTXDriverTiming(uint8_t &value)
Read the TX driver timing.
Definition unit_ST25R3916.hpp:1229
bool readPassiveTargetModulation(uint8_t &value)
Read the passive target modulation.
Definition unit_ST25R3916.hpp:1192
bool writeCapacitanceMeasurementConfiguration(const uint8_t value)
Write the capacitance measurement configuration.
Definition unit_ST25R3916.hpp:1554
std::array< uint8_t, 6 > Key
MIFARE classic Key.
Definition mifare.hpp:50
Crypto1 for MIFARE Classic.
Top level namespace of M5stack.
NFC
NFC type.
Definition nfc.hpp:27
Bitrate
Communication bitrate.
Definition nfc.hpp:52
Command
ISO-14443-3/4,MIFARE,NTAG commands.
Definition nfca.hpp:538
ModulationMode
Definition nfcv.hpp:73
Definition emulation_layer_a_ST25R3916.cpp:52
Definition emulation_layer_f_ST25R3916.cpp:67
PICC for NFC-A.
Definition nfca.hpp:335
Settings for begin.
Definition unit_ST25R3916.hpp:57
bool using_irq
Exists IRQ PIN?
Definition unit_ST25R3916.hpp:61
bool vdd_voltage_5V
VDD voltage true:5V false:3.3V.
Definition unit_ST25R3916.hpp:59
m5::nfc::NFC mode
Initial target for Poll/Listen.
Definition unit_ST25R3916.hpp:58
uint8_t irq
IRQ PIN.
Definition unit_ST25R3916.hpp:62
bool emulation
Emulation mode?
Definition unit_ST25R3916.hpp:63
uint8_t tx_am_modulation
0-15 See also 4.5.48 TX driver register
Definition unit_ST25R3916.hpp:60