mirror of
https://github.com/dimoniche/solarium.vlad.git
synced 2026-01-30 21:13:31 +03:00
65 lines
1.6 KiB
C
65 lines
1.6 KiB
C
#ifndef _RFID_DATA_H_
|
|
#define _RFID_DATA_H_
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
/// @brief Ðàñøèôðîâêà äîïîëíèòåëüíûõ ïîëåé
|
|
typedef struct {
|
|
/// @brief Ïàðîëü êàðòû
|
|
uint32_t password;
|
|
/// @brief Äàòà ïîñëåäíåãî èñïîëüçîâàíèÿ
|
|
uint32_t time_use;
|
|
/// @brief Êîëè÷åñòâî èñïîëüçîâàíèé â îäèí äåíü
|
|
uint32_t count_use;
|
|
|
|
uint32_t reserv1;
|
|
uint32_t reserv2;
|
|
} external_fields;
|
|
|
|
typedef struct {
|
|
uint32_t init; // 4 - îáÿçàòåëüíî äîëæíà áûòü â íà÷àëå
|
|
|
|
union {
|
|
uint32_t uid[5]; // 20
|
|
external_fields fileds;
|
|
};
|
|
|
|
uint32_t money; // 4
|
|
uint32_t bonus; // 4
|
|
uint32_t type_abonement; // 4
|
|
uint32_t number_abonement; // 4
|
|
uint32_t best_before; // 4
|
|
uint32_t crc; // 4
|
|
|
|
} abonement_data; // 48
|
|
|
|
typedef struct {
|
|
abonement_data abonement_data_copy1; // 48
|
|
abonement_data abonement_data_copy2; // 48
|
|
|
|
} mifaredata_t; // 96
|
|
|
|
extern mifaredata_t* get_mifare_data();
|
|
extern void set_mifare_data(mifaredata_t* data);
|
|
|
|
/// @brief Óñòàíîâêà äàííûõ àáîíåìåíòà
|
|
/// @param data
|
|
extern void set_abonement_data(abonement_data* data);
|
|
|
|
/// @brief Äàííûå àáîíåìåíòà, ïîëó÷åíèå
|
|
/// @return
|
|
extern abonement_data* get_abonement_data();
|
|
|
|
extern mifaredata_t* read_mifare_card();
|
|
extern bool write_mifare_card();
|
|
extern mifaredata_t* init_mifare_card_data();
|
|
extern bool is_empty_mifare_card();
|
|
extern bool need_clear_bonus();
|
|
extern void stop_card_working();
|
|
|
|
/// @brief
|
|
/// @return
|
|
uint32_t get_mifare_uid();
|
|
|
|
#endif |