Fix PN532 for IDF 5 and ultralight enhancements (#5352)

This commit is contained in:
Keith Burzinski
2023-09-07 04:48:44 -05:00
committed by GitHub
parent 87395d259e
commit ab872b075a
3 changed files with 71 additions and 58 deletions
+5 -3
View File
@@ -7,6 +7,7 @@
#include "esphome/components/nfc/nfc.h"
#include "esphome/components/nfc/automation.h"
#include <cinttypes>
#include <vector>
namespace esphome {
@@ -74,10 +75,11 @@ class PN532 : public PollingComponent {
bool write_mifare_classic_tag_(std::vector<uint8_t> &uid, nfc::NdefMessage *message);
std::unique_ptr<nfc::NfcTag> read_mifare_ultralight_tag_(std::vector<uint8_t> &uid);
bool read_mifare_ultralight_page_(uint8_t page_num, std::vector<uint8_t> &data);
bool is_mifare_ultralight_formatted_();
bool read_mifare_ultralight_bytes_(uint8_t start_page, uint16_t num_bytes, std::vector<uint8_t> &data);
bool is_mifare_ultralight_formatted_(const std::vector<uint8_t> &page_3_to_6);
uint16_t read_mifare_ultralight_capacity_();
bool find_mifare_ultralight_ndef_(uint8_t &message_length, uint8_t &message_start_index);
bool find_mifare_ultralight_ndef_(const std::vector<uint8_t> &page_3_to_6, uint8_t &message_length,
uint8_t &message_start_index);
bool write_mifare_ultralight_page_(uint8_t page_num, std::vector<uint8_t> &write_data);
bool write_mifare_ultralight_tag_(std::vector<uint8_t> &uid, nfc::NdefMessage *message);
bool clean_mifare_ultralight_();