58 uint8_t data_check[16];
61 uint8_t block_2_10_14;
158 id[0],
id[1],
id[2],
id[3]);
188 for (i = 0; i < 16; i++)
213 for (i = 0; i < 16; i++)
215 data[i] = rand() % 256;
218 for (i = 0; i < 16; i++)
242 for (i = 0; i < 16; i++)
508 for (i = 0; i < 16; i++)
515 for (i = 0; i < 200; i += 15)
531 for (i = 0; i < 40; i += 5)
547 for (i = 0; i < 40; i += 5)
604 0, &block_0_0_4, &block_1_5_9,
605 &block_2_10_14, &block_3_15,
615 block_0_0_4, block_1_5_9, block_2_10_14, block_3_15);
618 key_b[0], key_b[1], key_b[2], key_b[3], key_b[4], key_b[5]);
driver mifare classic card test header file
uint8_t mifare_classic_sector_last_block(mifare_classic_handle_t *handle, uint8_t sector, uint8_t *block)
mifare get the sector's last block
uint8_t mifare_classic_halt(mifare_classic_handle_t *handle)
mifare halt
struct mifare_classic_info_s mifare_classic_info_t
mifare_classic information structure definition
uint8_t mifare_classic_read(mifare_classic_handle_t *handle, uint8_t block, uint8_t data[16])
mifare read
struct mifare_classic_handle_s mifare_classic_handle_t
mifare_classic handle structure definition
uint8_t mifare_classic_set_sector_permission(mifare_classic_handle_t *handle, uint8_t sector, uint8_t key_a[6], uint8_t block_0_0_4, uint8_t block_1_5_9, uint8_t block_2_10_14, uint8_t block_3_15, uint8_t user_data, uint8_t key_b[6])
mifare set the sector permission
uint8_t mifare_classic_block_to_sector(mifare_classic_handle_t *handle, uint8_t block, uint8_t *sector)
mifare block number to sector number
uint8_t mifare_classic_sector_first_block(mifare_classic_handle_t *handle, uint8_t sector, uint8_t *block)
mifare get the sector's first block
uint8_t mifare_classic_value_init(mifare_classic_handle_t *handle, uint8_t block, int32_t value, uint8_t addr)
mifare init one block as a value block
uint8_t mifare_classic_authentication(mifare_classic_handle_t *handle, uint8_t id[4], uint8_t block, mifare_classic_authentication_key_t key_type, uint8_t key[6])
mifare authentication
uint8_t mifare_classic_value_write(mifare_classic_handle_t *handle, uint8_t block, int32_t value, uint8_t addr)
mifare value write
uint8_t mifare_classic_decrement(mifare_classic_handle_t *handle, uint8_t block, uint32_t value)
mifare decrement
uint8_t mifare_classic_select_cl1(mifare_classic_handle_t *handle, uint8_t id[4])
mifare select cl1
uint8_t mifare_classic_get_sector_permission(mifare_classic_handle_t *handle, uint8_t sector, uint8_t *block_0_0_4, uint8_t *block_1_5_9, uint8_t *block_2_10_14, uint8_t *block_3_15, uint8_t *user_data, uint8_t key_b[6])
mifare get the sector permission
uint8_t mifare_classic_value_read(mifare_classic_handle_t *handle, uint8_t block, int32_t *value, uint8_t *addr)
mifare value read
uint8_t mifare_classic_transfer(mifare_classic_handle_t *handle, uint8_t block)
mifare transfer
uint8_t mifare_classic_write(mifare_classic_handle_t *handle, uint8_t block, uint8_t data[16])
mifare write
uint8_t mifare_classic_increment(mifare_classic_handle_t *handle, uint8_t block, uint32_t value)
mifare increment
mifare_classic_type_t
mifare_classic type enumeration definition
uint8_t mifare_classic_anticollision_cl1(mifare_classic_handle_t *handle, uint8_t id[4])
mifare anti collision cl1
uint8_t mifare_classic_sector_block_count(mifare_classic_handle_t *handle, uint8_t sector, uint8_t *count)
mifare get the sector's block counter
uint8_t mifare_classic_deinit(mifare_classic_handle_t *handle)
close the chip
uint8_t mifare_classic_wake_up(mifare_classic_handle_t *handle, mifare_classic_type_t *type)
mifare wake up
uint8_t mifare_classic_restore(mifare_classic_handle_t *handle, uint8_t block)
mifare restore
uint8_t mifare_classic_init(mifare_classic_handle_t *handle)
initialize the chip
uint8_t mifare_classic_info(mifare_classic_info_t *info)
get chip information
@ MIFARE_CLASSIC_TYPE_S50
@ MIFARE_CLASSIC_TYPE_S70
@ MIFARE_CLASSIC_AUTHENTICATION_KEY_A
uint8_t mifare_classic_interface_contactless_transceiver(uint8_t *in_buf, uint8_t in_len, uint8_t *out_buf, uint8_t *out_len)
interface contactless transceiver
uint8_t mifare_classic_interface_contactless_deinit(void)
interface contactless deinit
void mifare_classic_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t mifare_classic_interface_contactless_init(void)
interface contactless init
void mifare_classic_interface_debug_print(const char *const fmt,...)
interface print format data
#define DRIVER_MIFARE_CLASSIC_LINK_DEBUG_PRINT(HANDLE, FUC)
link debug_print function
#define DRIVER_MIFARE_CLASSIC_LINK_CONTACTLESS_INIT(HANDLE, FUC)
link contactless_init function
#define DRIVER_MIFARE_CLASSIC_LINK_DELAY_MS(HANDLE, FUC)
link delay_ms function
#define DRIVER_MIFARE_CLASSIC_LINK_CONTACTLESS_DEINIT(HANDLE, FUC)
link contactless_deinit function
#define DRIVER_MIFARE_CLASSIC_LINK_INIT(HANDLE, STRUCTURE)
initialize mifare_classic_handle_t structure
#define DRIVER_MIFARE_CLASSIC_LINK_CONTACTLESS_TRANSCEIVER(HANDLE, FUC)
link contactless_transceiver function
uint8_t mifare_classic_card_test(void)
card test
float supply_voltage_max_v
char manufacturer_name[32]
float supply_voltage_min_v