⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 level4.h

📁 EM推出的可读写卡片EM4469
💻 H
字号:
/*
*-------------------------------------------------------------------------------
*--  RCSId: $Id: level4.h,v 0.17 2003-10-10 10:55:42+02 mjg Exp mjg $
*--         $Name:  $
*-------------------------------------------------------------------------------
*-- level4.c - UART Communication Routines header file
*-------------------------------------------------------------------------------
*-- $Log: level4.h,v $
*-- Revision 0.17  2003-10-10 10:55:42+02  mjg
*-- *** empty log message ***
*--
*-- Revision 0.16  2003-08-21 16:00:21+02  mjg
*-- RTF capture problem
*--
*-- Revision 0.15  2003-08-20 10:53:20+02  mjg
*-- to redesign SearchPattern
*--
*-- Revision 0.14  2003-08-20 10:00:46+02  mjg
*-- to add debug features
*--
*-- Revision 0.13  2003-08-07 08:01:31+02  mjg
*-- *** empty log message ***
*--
*-- Revision 0.11  2003-07-22 13:27:45+02  mjg
*-- cloned firmware
*--
*-------------------------------------------------------------------------------
*/

#ifndef __LEVEL4__
#define __LEVEL4__

//// to enable debug version, uncomment following: 
//#define DEBUG

//constants----------------------------------------------------------
#define READER_RELEASE 0x10             //release
#define READER_DATE      15
#define READER_MONTH     10
#define READER_YEAR       3
#define READER_FAMILY     2

//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_EM4469_FLOWLINK_ERR  0x0B
#define ERR_EM4469_WRONG_DE      0x0C
#define ERR_EM4469_WRONG_DR      0x0D
#define ERR_EM4469_PARITY_ERR    0x10
#define ERR_EM4469_BAD_CONF_DATA 0x11
#define ERR_EM4469_NACK          0x12
#define ERR_EM4469_NEITHER_ACK   0x13
#define ERR_EM4469_NO_VALID_DR   0x14
#define ERR_EM4469_BAD_RAW       0x15

//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 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_login_low;    // low word of Login cmd
extern uint16_t write_tag_memory_login_hi;     // hi word of Login cmd

extern uint8_t write_tag_memory_forward_link;  // forward item of Forward link 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 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;

//function declarations----------------------------------------------

extern void UARTIni(void);                    // initialization of UART

extern uint8_t CheckIncommingMessage(void);

extern void EmmitError(uint8_t err);

//extern void SendResponse(void);                // Sends output buffer to serial port

extern void FormatResponse_Short(uint8_t, uint8_t); //Formats the short type response into the output buffer

extern void FormatResponse_Status(uint8_t);

extern void FormatResponse_Word(uint8_t ack, uint8_t cmd, uint16_t word_low, uint16_t word_hi);

extern void FormatResponse_AddrWord(uint8_t ack, uint8_t cmd, uint8_t address, uint16_t word_low, uint16_t word_hi);

extern void FormatResponse_AutoDefaultRead(uint8_t ack, uint8_t cmd, uint8_t type, uint32_t byte, uint32_t word);

//debug--------------------------------------------------------------

#define UART_OUT_BUFFER_SIZE 250           // outgoing data uart buffer reserved size
extern uint8_t volatile uart_out_buffer[UART_OUT_BUFFER_SIZE];   // output buffer

#endif // __LEVEL4__

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -