/** * @file nfc_manager.h * @brief NFC Manager for ROM selection via NFC tags */ #pragma once #include #include #include "esp_err.h" #ifdef __cplusplus extern "C" { #endif #define NFC_MAX_ROM_NAME 64 /** * @brief NFC ROM mapping structure */ typedef struct { uint8_t tag_uid[7]; // NFC tag UID char rom_path[NFC_MAX_ROM_NAME]; // ROM file path on SD card } nfc_rom_mapping_t; /** * @brief Initialize NFC manager * @return ESP_OK on success */ esp_err_t nfc_manager_init(void); /** * @brief Check if NFC tag is present * @return true if tag detected */ bool nfc_manager_tag_present(void); /** * @brief Read NFC tag and get ROM path * @param rom_path Output buffer for ROM path * @param max_len Maximum length of rom_path buffer * @return ESP_OK if ROM mapping found */ esp_err_t nfc_manager_get_rom(char *rom_path, size_t max_len); #ifdef __cplusplus } #endif