123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef __NODE_LINK_H__
- #define __NODE_LINK_H__
- #include "DataHelper.h"
- #include "NodeLinkCommon.h"
- #define NL_SLAVE_EVENT_RESET 1
- #define NL_SLAVE_EVENT_SETID 2
- #define NL_SLAVE_EVENT_CRCERROR 3
- typedef struct
- {
- void (*slave_port_up)(unsigned char); //向上一级输出数据的接口
- void (*slave_port_down)(unsigned char); //向下一级输出数据的接口
- int (*on_deal)(unsigned char * data_out, unsigned char * data_in, int len); //设备接收命令的回调,
- //一般用于本地设备类型的输入输出处理
- void (*event_handle)(char cmd,int value);
- } nodelink_slave_ops;
- typedef struct
- {
- char model; //一个扩展一种型号
- char status; //状态
- char id; //ID编号,由主站动态分配
- char recv_ok;
- unsigned short data_in_count;
- unsigned short old_data_in_count;
- unsigned short data_out_count;
- unsigned short data_out_posi;
- unsigned char data_in[NATIVE_DATA_BUFFER_SIZE];
- unsigned char data_out[NATIVE_DATA_BUFFER_SIZE];
- fifo_buffer_t native_data_in; //本地接收数据
- //fifo_buffer_t native_data_out; //本地输出数据
- //fifo_buffer_t slave_data_in; //从站输入数据
- nodelink_slave_ops * ops; //一些回调API函数
- } nodelink_slave_t;
- void nodelink_slave_set_native_in_buffer(nodelink_slave_t * slave,
- unsigned char * buffer,
- int total);
- void nodelink_slave_set_native_out_buffer(nodelink_slave_t * slave,
- unsigned char * buffer,
- int total);
- void nodelink_slave_set_slave_in_buffer(nodelink_slave_t * slave,
- unsigned char * buffer,
- int total);
- void nodelink_slave_init(nodelink_slave_t * slave, unsigned char model,nodelink_slave_ops *ops);
- void nodelink_slave_run(nodelink_slave_t * slave);
- void nodelink_slave_native_out(nodelink_slave_t * slave);
- void nodelink_slave_slave_in(nodelink_slave_t * slave, unsigned char dat);
- void nodelink_slave_master_in(nodelink_slave_t * slave, unsigned char dat);
- void nodelink_slave_recv_ok(nodelink_slave_t * slave);
- #endif
|