9ceb218f80
Co-authored-by: Cursor <cursoragent@cursor.com>
58 lines
1.5 KiB
C
58 lines
1.5 KiB
C
/**
|
|
* @file fatfs_card.h
|
|
* @brief 卡号白名单兼容头文件(整合自 CCU601E_D)
|
|
*
|
|
* 实际存储由 flash_file_mgr/card_flash_impl 通过 EEPROM + SPI Flash 实现。
|
|
*/
|
|
|
|
#ifndef FATFS_CARD_H
|
|
#define FATFS_CARD_H
|
|
|
|
#include <stdint.h>
|
|
#include <stdbool.h>
|
|
|
|
#define CARD_DIR_PATH "0:/card"
|
|
#define CARD_FILE_NAME "card_data.csv"
|
|
#define CARD_NUM_MAX_LEN 32
|
|
#define CARD_MAX_COUNT 595
|
|
|
|
typedef struct {
|
|
char card_num[CARD_NUM_MAX_LEN];
|
|
uint32_t balance;
|
|
uint32_t create_time;
|
|
uint32_t last_use_time;
|
|
uint16_t status;
|
|
uint8_t reserved[8];
|
|
} CardInfo;
|
|
|
|
typedef enum {
|
|
CARD_STATUS_OK = 0,
|
|
CARD_STATUS_INIT_FAILED,
|
|
CARD_STATUS_FS_ERROR,
|
|
CARD_STATUS_FILE_FULL,
|
|
CARD_STATUS_WRITE_FAILED,
|
|
CARD_STATUS_READ_FAILED,
|
|
CARD_STATUS_FILE_NOT_FOUND,
|
|
CARD_STATUS_PARAM_ERROR,
|
|
CARD_STATUS_NO_SPACE,
|
|
CARD_STATUS_CARD_EXIST,
|
|
CARD_STATUS_CARD_NOT_FOUND,
|
|
CARD_STATUS_ALREADY_INIT
|
|
} CardStatus;
|
|
|
|
CardStatus card_init(void);
|
|
void card_deinit(void);
|
|
CardStatus card_add(const CardInfo *card_info);
|
|
CardStatus card_update(const CardInfo *card_info);
|
|
CardStatus card_delete(const char *card_num);
|
|
CardStatus card_find(const char *card_num, CardInfo *card_info);
|
|
CardStatus card_get_count(uint32_t *count);
|
|
CardStatus card_get_all(CardInfo *card_list, uint32_t *count, uint32_t max_count);
|
|
CardStatus card_check_exist(const char *card_num, bool *exist);
|
|
|
|
CardStatus card_backup(void);
|
|
CardStatus card_restore(void);
|
|
CardStatus card_clear_all(void);
|
|
|
|
#endif /* FATFS_CARD_H */
|