39 lines
830 B
C
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);
|
|
|