#ifndef __RFID_H__
#define __RFID_H__
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <termios.h>
#include <fcntl.h>
#define CRC_PRESET 0xFFFF
#define CRC_POLYNOM 0x8408
#define SENDBSIZE 128
#define RECVBSIZE 128
#define INVENT_STD 0x0010
#define INVENT_EP8 0x0020
#define INVENT_E12 0x0040
#define INVENT_UID 0x0080
#define TRTYPE_ICODE_UID 0x8000
#define TRTYPE_ICODE_EPC 0x4000
#define TRTYPE_ICODE_156 0x0800
#define TRTYPE_ICODE_HF 0x0200
#define TRTYPE_ICODE_ICO 0x0100
#define MAXPORT 4
#define MAXONCEREAD 4
#pragma pack(1)
typedef struct WS_RFID WS_RFID;
typedef struct RFID_MANAGER RFID_MANAGER;
typedef struct COMMON COMMON;
typedef struct INVEN_COMMON INVEN_COMMON;
typedef struct IDD IDD;
typedef union INVENT_PTR INVENT_PTR;
struct WS_RFID
{
int iDev;
struct termios stOldtio;
unsigned char ucaSendTo[SENDBSIZE];
unsigned char ucaRecvFr[RECVBSIZE];
};
/*
struct RFID_MANAGER
{
WS_RFID stCOM;
int (port_cal)(int, struct termios *);
int (close)(int, struct termios *);
int (recv)(int, void *, int);
int (send)(int, void *);
int (open)();
};
*/
struct COMMON
{
unsigned char ucLen;
unsigned char ucComAdr;
unsigned char ucCtl;
};
struct INVEN_COMMON //Reply Inventory Common
{
unsigned char ucStatus; //[4]
unsigned char ucDataSet; //[5]
unsigned char ucTr_Type; //[6]
};
struct IDD
{
unsigned char ucData[12]; //[0]~[11]
unsigned short usCrc; //[12][13]
unsigned char ucUid[5]; //[14]~[18]
};
typedef struct ISO15693_reader_control_Baud_Rate_Detect
{
COMMON stCOM;
unsigned char ucOpt;
unsigned short usCrc;
}baud_detect;
typedef struct ISO15693_host_command_req_inven
{
COMMON stCOM;
unsigned char ucOpt;
unsigned char ucMode;
unsigned short usCrc;
}req_inven;
typedef struct ISO15693_host_command_reply_inven_standard
{
COMMON stCOM; //[1]~[3]
INVEN_COMMON stICOM; //[4]~[6]
unsigned char ucDSFID; //[7]
unsigned char ucUID[8]; //[8]~[15] //8Bytes
unsigned short usCrc; //[16][17]
}reply_inven_std;
typedef struct ISO15693_host_command_reply_inven_icode_epc8
{
COMMON stCOM; //[1]~[3]
INVEN_COMMON stICOM; //[4]~[6]
unsigned char ucEPC[8]; //[7]~[14] //8Bytes
unsigned short usCrc; //[15][16]
}reply_inven_icode_epc8;
typedef struct ISO15693_host_command_reply_inven_icode_epc12
{
COMMON stCOM; //[1]~[3]
INVEN_COMMON stICOM; //[4]~[6]
unsigned char ucEPC[12]; //[7]~[18] //12Bytes
unsigned short usCrc; //[19][20]
}reply_inven_icode_epc12;
typedef struct ISO15693_host_command_reply_inven_icode_uid
{
COMMON stCOM; //[1]~[3]
INVEN_COMMON stICOM; //[4]~[6]
IDD stIDD; //[7]~[25] //19Bytes
unsigned short usCrc; //[26][27]
}reply_inven_icode_uid;
union INVENT_PTR
{
reply_inven_std *stSTD;
reply_inven_icode_epc8 *stEPC8;
reply_inven_icode_epc12 *stEPC12;
reply_inven_icode_uid *stUID;
};
unsigned short RFID_CRC(void *, unsigned int);
#pragma pack(1)
#endif /* __RFID_H__ */
'코스웨어 > 15년 스마트컨트롤러' 카테고리의 다른 글
20151209 수업 / RFID_2-남수진 (4) | 2015.12.09 |
---|---|
20151208 - 홍준모 : 리눅스 윈도우 시리얼 통신 2일 차 (2) | 2015.12.09 |
20151208 - 강동조 개인업무일지 (3) | 2015.12.09 |
20151208 임현수 업무일지 RF통신이론, 코드작성 (3) | 2015.12.09 |
20151208_RFID #1 _이량경 (2) | 2015.12.09 |
20151208 - 엄민웅 시리얼 통신 (1) | 2015.12.09 |
20151208_[안향진]_RFID_1 (3) | 2015.12.08 |
20151208 윤재희 RFID(Radio Frequency Identification) (2) | 2015.12.08 |