111 lines
2.9 KiB
C
111 lines
2.9 KiB
C
|
#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
|
|||
|
|