diff -r b21b000e88e3 -r 74754f45d5fa master/canopen.h --- a/master/canopen.h Fri Oct 20 13:03:01 2006 +0000 +++ b/master/canopen.h Fri Oct 20 13:05:48 2006 +0000 @@ -57,6 +57,7 @@ { struct kobject kobj; /**< kobject */ struct list_head list; /**< list item */ + ec_slave_t *slave; /**< parent slave */ uint16_t index; /**< SDO index */ uint8_t object_code; /**< object code */ char *name; /**< SDO name */ @@ -75,6 +76,7 @@ { struct kobject kobj; /**< kobject */ struct list_head list; /**< list item */ + ec_sdo_t *sdo; /**< parent SDO */ uint8_t subindex; /**< entry subindex */ uint16_t data_type; /**< entry data type */ uint16_t bit_length; /**< entry length in bit */ @@ -100,6 +102,23 @@ /*****************************************************************************/ +/** + CANopen SDO request. +*/ + +typedef struct +{ + struct list_head queue; /**< list item */ + ec_sdo_t *sdo; + ec_sdo_entry_t *entry; + uint8_t *data; /**< pointer to SDO data */ + size_t size; /**< size of SDO data */ + int return_code; +} +ec_sdo_request_t; + +/*****************************************************************************/ + int ec_sdo_init(ec_sdo_t *, uint16_t, ec_slave_t *); int ec_sdo_entry_init(ec_sdo_entry_t *, uint8_t, ec_sdo_t *);