📄 level4.h
字号:
#ifndef __LEVEL4__
#define __LEVEL4__
//// to enable debug features, uncomment following:
//#define DEBUG
//constants----------------------------------------------------------
#define READER_RELEASE 0x0F //release
#define READER_DATE 11
#define READER_MONTH 4
#define READER_YEAR 5
#define READER_FAMILY 32
//error list---------------------------------------------------------
#define UART_MESSAGE_OK 0x00
#define ERR_ASIC_ANTENNA_FAULT 0x01
#define ERR_UART_ERROR_FLAG 0x04
#define ERR_UART_OVERFLOW 0x05
#define ERR_UART_WRONG_ICMD 0x06
#define ERR_UART_BAD_CRC 0x07
#define ERR_UART_UNKNOWN_CMD 0x08
#define ERR_UART_NO_ETX 0x09
#define ERR_UART_INTERBYTE_ERR 0x0A
#define ERR_EM4035_WRONG_LEN 0x0B
#define ERR_EM4035_NO_EOF 0x0C
#define ERR_EM4035_WRONG_DR 0x0D
#define ERR_EM4035_ERROR_MSG 0x0E
#define ERR_EM4035_BAD_CONF_DATA 0x0F
#define ERR_EM4035_RAW_DATA 0x10
#define ERR_EM4035_CAPT_DATA 0x11
#define ERR_EM4035_NO_TAG 0x12
#define ERR_EM4035_BAD_CRC 0x13
#define ERR_EM4035_BUFFER_OVERFLOW 0x14
#define ERR_EM4035_NO_SOF 0x15
#define ERR_EM4035_SELECT_FAILED 0x16
#define ERR_EM4035_A1_NO_SOF 0x17
#define ERR_EM4035_A1_CRC_ERROR 0x18
#define ERR_EM4035_A1_FAILED 0x19
#define ERR_EM4035_A2_NO_SOF 0x1A
#define ERR_EM4035_A2_CRC_ERROR 0x1B
#define ERR_EM4035_A2_FAILED 0x1C
#define ERR_EM4035_AUTH_FAILED 0x1D
#define ERR_EM4035_TAG_NORMAL 0x30
#define ERR_EM4035_NM_READ_FAILED 0x31
#define ERR_EM4035_NM_AUTH_FAILED 0x32
#define ERR_EM4035_NM_CRC_ERROR 0x33
//public variables---------------------------------------------------
extern uint8_t volatile uart_read_bytes; //
extern uint8_t volatile uart_read_msg_bytes; //
extern uint8_t volatile uart_command; // command handshake value
// set by UART RECV
// reset by main() when done
extern uint8_t cmd_message[32]; // maximum
extern uint8_t cmd_message_len; // length of current cmd_message
extern uint8_t message_flags; // current message flags
extern uint8_t expectedResponseLen; // expected number of response bits
extern uint8_t read_tag_memory_word_address; // address of Read cmd
extern uint16_t read_tag_memory_word_low; // Read Cmd content low
extern uint16_t read_tag_memory_word_hi; // Read Cmd content hi
extern uint16_t write_tag_memory_word_address; // address of Write Tag cmd
extern uint16_t write_tag_memory_word_low; // low word of Write Tag cmd
extern uint16_t write_tag_memory_word_hi; // hi word of Write Tag cmd
extern uint16_t write_tag_memory_delay; // time delay before eof/response
extern uint16_t write_tag_memory_login_low; // low word of Login cmd
extern uint16_t write_tag_memory_login_hi; // hi word of Login cmd
extern uint16_t read_only_word_low; // Read Only Cmd content low
extern uint16_t read_only_word_hi; // Read Only Cmd content hi
extern uint16_t write_4094_low; // low word of SPI configuration word
extern uint16_t write_4094_hi; // hi word of SPI configuration word
extern uint8_t switch_coil_byte; // switch item of Set Coil cmd
extern uint8_t config_data_rate; // see EM4469 spec
extern uint8_t config_encoder; // see EM4469 spec
extern uint8_t config_delayed; // see EM4469 spec
extern uint8_t config_lwr; // see EM4469 spec
extern uint8_t config_raw; // see EM4469 spec
extern uint8_t config_forward_link; // 0=4050 type, 1=other
extern uint8_t config_write_conf; // 1=write this configuration into the EEPROM
extern uint8_t volatile read_pos; // debug uart data ptr
extern uint8_t * read_ptr; // debug uart read ptr
extern uint8_t fwd_set_0; // forwadlink pulse length values to be set
extern uint8_t fwd_set_A;
extern uint8_t fwd_set_B;
extern uint8_t fwd_set_C;
extern uint8_t fwd_set_D;
extern uint8_t fwd_set_E;
extern uint8_t fwd_set_F;
extern uint8_t debug_mode;
extern uint8_t tx_number; //received data byte number of raw data from PC;
extern uint8_t rx_number;
extern uint8_t uart_in_command;
extern uint8_t uart_in_param;
extern uint8_t valid_data_flag ;
//function declarations----------------------------------------------
extern void UARTIni(void); // initialization of UART
extern void Copy(uint8_t *dst, uint8_t *src, uint8_t len);
extern void SendByte(uint8_t byte);
extern void Send_Card_ID( uint8_t format , uint8_t *data );
#endif // __LEVEL4__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -