matlab_23550/Inu/Src/N12_Xilinx/xp_optlink_tms2tms.h

111 lines
2.9 KiB
C
Raw Normal View History

#ifndef _X_OPTLINK_TMS2TMS_H
#define _X_OPTLINK_TMS2TMS_H
#define MAX_WAIT_ERROR_X_OPTLINK_TMS2TMS 1 // <20><><EFBFBD><EFBFBD>. <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>
typedef union {
unsigned int all;
struct {
unsigned int id:8;
unsigned int count_receiver_error:4;
unsigned int trans_busy:1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>
unsigned int trans_error:1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>
unsigned int receiver_busy :1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>
unsigned int receiver_error:1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>
} bit;
} X_OPTLINK_TMS2TMS_status;
typedef union {
unsigned int all;
struct {
unsigned int started:1;
unsigned int error:1;
unsigned int cmd_start:1;
unsigned int count_error:4;
unsigned int slave_addr_error:4;
unsigned int init:1;
unsigned int was_started:1;
unsigned int rezerv:3;
} bit;
} X_OPTLINK_TMS2TMS_flags;
typedef struct {
unsigned int setup_error_count_read; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
} X_OPTLINK_TMS2TMS_Setup;
typedef struct { X_OPTLINK_TMS2TMS_flags flags; // <20><><EFBFBD><EFBFBD><EFBFBD>
X_OPTLINK_TMS2TMS_Setup setup; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
X_OPTLINK_TMS2TMS_status status1; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
X_OPTLINK_TMS2TMS_status status2; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2
unsigned int data_receiver[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 0..3
unsigned int data_send[4]; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 0..3
unsigned int error_count_send; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int error_count_receiver; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int count_receiver; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
unsigned int count_send; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// unsigned int error_count_write; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// unsigned int error_count_hold; // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
void (*init)(); // Pointer to init function
void (*read_data)(); // Pointer to init function
void (*write_data)(); // Pointer to init function
}X_OPTLINK_TMS2TMS;
/*
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define TIME_OUT_SERIAL_BUS 10000 // max 65535
#define CMD_SERIAL_BUS_READ 0x0000
#define CMD_SERIAL_BUS_WRITE 0x8000
*/
typedef X_OPTLINK_TMS2TMS *X_OPTLINK_TMS2TMS_handle;
#define X_OPTLINK_TMS2TMS_DEFAULTS { 0, \
0,0,\
MAX_WAIT_ERROR_X_OPTLINK_TMS2TMS, \
{0,0,0,0},\
{0,0,0,0},\
0, \
0, \
0, \
0, \
(void (*)(Uint32))x_optlink_tms2tms_init,\
(void (*)(Uint32))x_optlink_tms2tms_read_data,\
(void (*)(Uint32))x_optlink_tms2tms_write_data\
}
void x_optlink_tms2tms_init(X_OPTLINK_TMS2TMS_handle);
void x_optlink_tms2tms_read_data(X_OPTLINK_TMS2TMS_handle);
void x_optlink_tms2tms_write_data(X_OPTLINK_TMS2TMS_handle);
extern X_OPTLINK_TMS2TMS x_optlink_tms2tms_project;
#endif // end _X_OPTLINK_TMS2TMS_H