ln.ethercat/libecmbind/ecmbind.h

39 lines
830 B
C

#pragma once
#include <stdint.h>
extern int TIMEOUT_PROCESSDATA;
typedef struct
{
int slave;
short index;
char subindex;
int addr_offset;
int addr_bit;
int bitlength;
int type;
char name[64];
} ecd_pdo_entry_t;
typedef struct {
int slave;
uint16_t index;
uint16_t datatype;
uint8_t objectcode;
uint8_t maxsub;
char name[128];
} dto_servicedescriptor_t;
typedef void (*cb_enum_indeces_t)(int slave, int index);
typedef void (*cb_enum_sdo_descriptors_t)(int slave, int index, uint16_t dataType, uint16_t objectCode, int sub, char *name);
typedef void (*cb_enum_pdo)(uint16_t slave, uint16_t index, char subindex, int addr_offset, int addr_bit, int bitlength);
extern ecd_pdo_entry_t ecd_pdo_map[1024];
extern int ecd_pdo_map_length;
int ecd_read_pdo_map(int slave);