You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
2.4 KiB

#ifndef asp_SI24R1m_
#define asp_SI24R1m_
#include "bsp_SI24R1.h"
typedef struct
{
u8 TX[5]; ///发送基地址
u8 RX_P0[5]; ///接收P0基地址
u8 P1_base[5]; ///P1地址 (前4字节)P2-P5基地址
u8 P[4]; ///P2-P5偏移地址,根据规格,在地地址5Byte的前提下,P1-P5四个字节的需要一样,后一个字节可以作为区分
///u8 d32[]
}TS_addr_2g4_;
///// 默认所有的地址的基地址是一样的,这样策略比较简单
typedef struct
{
u8 x;///
u8 y;///
u8 z;///
/// U8 ackFlag;
}TS_xyz_;
///// 默认所有的地址的基地址是一样的,这样策略比较简单
typedef struct
{
u8 filter0;///
u8 filter1;///
TS_xyz_ xyz[30];///
/// U8 ackFlag;
}TS_d32_;
typedef struct
{
TS_task task;
u8 Rbuf[32];
u8 Tbuf[32];
u8 Tbuf_change;
U8 val;
U8 con; ///config
U8 sta;
U8 sta_show;
U8 fifo_sta;
U8 id;
U32 sendStamp;
U32 over;
U8 rx_en;
U8 rx_ch;///有接收数据的通道号
U8 rx_fifo_num;////RX_PW_P0-5 接收数据管道n的数据数量
U8 ok;
U8 tx_en;
U8 rs_mode;///发送或接收的模式
Modbus03 *m;
/// U8 ackFlag;
}TS_2g4_;
extern TS_2g4_ ts_2g4;
void L3_task_2g4_handle_NOACK_master(TS_2g4_ *s);
///void (*L3_task_2g4_handle)(TS_2g4_ *s);
void L2_SI24R1_init_config(void);
extern void (*L3_task_2g4_handle)(TS_2g4_ *s);
#define D_MSC_1V6_P0 0x20/// master slave communication 1v6 通讯地址配置
#define D_MSC_1V6_P1 0x21/// master slave communication 1v6 通讯地址配置
#define D_MSC_1V6_P2 0x22/// master slave communication 1v6 通讯地址配置
#define D_MSC_1V6_P3 0x23/// master slave communication 1v6 通讯地址配置
#define D_MSC_1V6_P4 0x24/// master slave communication 1v6 通讯地址配置
#define D_MSC_1V6_P5 0x25/// master slave communication 1v6 通讯地址配置
#define D_SI24_Standby(); D_SI24_CE_OFF();
#define D_SI24_Work(); D_SI24_CE_ON();
#define D_SI24_Register(); D_SI24_CE_OFF();
#define D_task_2g4_send 0x51
#define D_task_2g4_listen 0x61
#define D_task_2g4_REV 0x62
#define D_task_2g4_REV_start 0x82
#define D_task_2g4_rev_what 0x72
#define D_task_2g4_send_over 0x63
#define D_task_2g4_send_next 0x64
#define D_task_2g4_rx 0x52
#define D_task_2g4_wait 0x53
#define D_task_2g4_ackPayload_UPDATE 0x54
#define D_SI24R1_SENDOK 1
#define D_SI24R1_MAX_RT 2
#define D_SI24R1_ER 3
#define D_SI24R1_TIMEOVER 4
#define D_SI24R1_RX_DR 6
extern void L2_task_2g4_init(void);
void L2_task_2g4_handle_NOACK(TS_2g4_ *s);
#endif