1
0
mirror of https://github.com/whowechina/aic_pico.git synced 2025-03-02 16:24:27 +01:00

42 lines
1.1 KiB
C
Raw Normal View History

2024-04-23 20:47:50 +08:00
/*
* PN532 NFC Reader
* WHowe <github.com/whowechina>
*
*/
#ifndef PN532_H
#define PN532_H
#include <stdint.h>
#include "hardware/i2c.h"
typedef void (*pn532_wait_loop_t)();
void pn532_set_wait_loop(pn532_wait_loop_t loop);
bool pn532_init(i2c_inst_t *i2c);
int pn532_write_command(uint8_t cmd, const uint8_t *param, uint8_t len);
int pn532_read_response(uint8_t cmd, uint8_t *resp, uint8_t len);
2024-05-21 12:58:47 +08:00
const char *pn532_firmware_ver();
2024-04-23 20:47:50 +08:00
bool pn532_config_sam();
bool pn532_config_rf();
void pn532_rf_field(bool on);
bool pn532_poll_mifare(uint8_t uid[7], int *len);
bool pn532_poll_felica(uint8_t uid[8], uint8_t pmm[8], uint8_t syscode[2], bool from_cache);
bool pn532_mifare_auth(const uint8_t uid[4], uint8_t block_id, uint8_t key_id, const uint8_t key[6]);
bool pn532_mifare_read(uint8_t block_id, uint8_t block_data[16]);
bool pn532_felica_read(uint16_t svc_code, uint16_t block_id, uint8_t block_data[16]);
bool pn532_felica_write(uint16_t svc_code, uint16_t block_id, const uint8_t block_data[16]);
2024-05-27 10:10:31 +08:00
void pn532_select(int phase);
2024-05-26 11:38:05 +08:00
void pn532_deselect();
2024-04-27 22:24:27 +08:00
2024-04-23 20:47:50 +08:00
#endif