| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #ifndef __MB_Hx__
- #define __MB_Hx__
- #include <stdint.h>
- #include "modbus.h"
- #include "datadef.h"
- typedef int (*mb_fn_t)(void *data, int len);
- enum {
- MB_MODE_MASTER=0,
- MB_MODE_SLAVE,
- };
- enum {
- MB_TYPE_RTU=0,
- MB_TYPE_TCP,
- };
- enum {
- MB_ID_POWER=0,
- MB_ID_SENSOR,
- MB_ID_CASCADE,
-
- MB_ID_MAX,
- };
- typedef struct {
- uint8_t type;
- uint8_t mode;
- mb_backend_param_t para;
- }mb_para_t;
- int mb_init(void);
- int mb_deinit(void);
- int mb_setup(int id, mb_para_t *para);
- int mb_read(int id, uint8_t addr, uint16_t reg, uint16_t *data, int cnt, int timeout);
- int mb_write(int id, uint8_t addr, uint16_t reg, uint16_t *data, int cnt);
- int mb_set_addr(int id, uint8_t addr);
- int mb_set_cb(int id, const mb_cb_table_t *tab);
- int mb_set_cascade_cb(int id, mb_cascade_fun_t *fn);
- int mb_slave_poll(int id);
- #endif
|