移植与电子模块通信相关代码
This commit is contained in:
		| @@ -1,82 +0,0 @@ | ||||
| #ifndef handle_h__ | ||||
| #define handle_h__ | ||||
|  | ||||
| #include "rtthread.h" | ||||
| #include "signal.h" | ||||
| #include "list.h" | ||||
| #include "bytearray.h" | ||||
|  | ||||
|  | ||||
|  | ||||
| typedef struct{ | ||||
|    | ||||
| }mcu_data; | ||||
|  | ||||
| struct _port_mcu; | ||||
| typedef struct _port_mcu port_mcu; | ||||
|  | ||||
|  | ||||
| // 管理通信逻辑 | ||||
| typedef struct _handle_def{ | ||||
|   const char *name; | ||||
|   int static_; | ||||
|   int interval; | ||||
|   port_mcu *p; | ||||
|   void (*del)(struct _handle_def *h); | ||||
|   void (*start)(struct _handle_def *h); | ||||
|   void (*dolater)(struct _handle_def *h,uint8_t src,uint8_t cmd,array_def *data,char *err_str); | ||||
|   void (*timeout)(struct _handle_def *h); | ||||
|    | ||||
| }handle_def; | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| typedef int (*port_read_fun)(int off,uint8_t *buff,int size); | ||||
|  | ||||
| int port_init(void); | ||||
|  | ||||
| port_mcu *port_creat(uint8_t addr,sig_thread t); | ||||
|  | ||||
| void port_delete(port_mcu **p); | ||||
|  | ||||
|  | ||||
| // 开始定时器,重复调用会重新开始 | ||||
| void port_timer_start(port_mcu *p); | ||||
| // 停止定时器 | ||||
| void port_timer_stop(port_mcu *p); | ||||
| // 开始一个通信操作,h是此项操作的类 | ||||
| int port_start(port_mcu *p,handle_def *h); | ||||
| // 设置忙状态 | ||||
| void port_set_busy(port_mcu *p,int busy); | ||||
| // 获取忙状态 | ||||
| int port_get_busy(port_mcu *p); | ||||
| // 获取通信地址 | ||||
| uint8_t port_get_addr(port_mcu *p); | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| //signal port_send_signal(void *obj,list_def *addrs,uint8_t cmd,list_def *comp_cmd,array_def *data); | ||||
| signal port_send_signal(port_mcu *obj,uint8_t addr,uint8_t cmd,list_def *comp_cmd,array_def *data,int timeout_ms,int retry); | ||||
|  | ||||
| void port_recv_call(port_mcu *obj,uint8_t src,uint8_t cmd,array_def *data,char *err_str); | ||||
|  | ||||
| // 结束信号,ack=0成功,-1失败 | ||||
| signal port_end_signal(port_mcu *obj,port_mcu *src,void *data,int ack,char *err_str); | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| handle_def *updata_creat(const uint8_t *data,int size); | ||||
|  | ||||
| handle_def *updata_scheme_creat(const uint8_t *data,int size); | ||||
|  | ||||
| handle_def *usercmd_creat(uint8_t cmd,array_def *data); | ||||
|  | ||||
|  | ||||
| #endif | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 andy
					andy