48 #include "slave.h" |
48 #include "slave.h" |
49 |
49 |
50 /*****************************************************************************/ |
50 /*****************************************************************************/ |
51 |
51 |
52 /** |
52 /** |
53 CANopen SDO. |
53 CANopen Sdo. |
54 */ |
54 */ |
55 |
55 |
56 struct ec_sdo |
56 struct ec_sdo |
57 { |
57 { |
58 struct kobject kobj; /**< kobject */ |
58 struct kobject kobj; /**< kobject */ |
59 struct list_head list; /**< list item */ |
59 struct list_head list; /**< list item */ |
60 ec_slave_t *slave; /**< parent slave */ |
60 ec_slave_t *slave; /**< parent slave */ |
61 uint16_t index; /**< SDO index */ |
61 uint16_t index; /**< Sdo index */ |
62 uint8_t object_code; /**< object code */ |
62 uint8_t object_code; /**< object code */ |
63 char *name; /**< SDO name */ |
63 char *name; /**< Sdo name */ |
64 uint8_t subindices; /**< subindices */ |
64 uint8_t subindices; /**< subindices */ |
65 struct list_head entries; /**< entry list */ |
65 struct list_head entries; /**< entry list */ |
66 }; |
66 }; |
67 |
67 |
68 /*****************************************************************************/ |
68 /*****************************************************************************/ |
69 |
69 |
70 /** |
70 /** |
71 CANopen SDO entry. |
71 CANopen Sdo entry. |
72 */ |
72 */ |
73 |
73 |
74 typedef struct |
74 typedef struct |
75 { |
75 { |
76 struct kobject kobj; /**< kobject */ |
76 struct kobject kobj; /**< kobject */ |
77 struct list_head list; /**< list item */ |
77 struct list_head list; /**< list item */ |
78 ec_sdo_t *sdo; /**< parent SDO */ |
78 ec_sdo_t *sdo; /**< parent Sdo */ |
79 uint8_t subindex; /**< entry subindex */ |
79 uint8_t subindex; /**< entry subindex */ |
80 uint16_t data_type; /**< entry data type */ |
80 uint16_t data_type; /**< entry data type */ |
81 uint16_t bit_length; /**< entry length in bit */ |
81 uint16_t bit_length; /**< entry length in bit */ |
82 char *description; /**< entry description */ |
82 char *description; /**< entry description */ |
83 } |
83 } |
84 ec_sdo_entry_t; |
84 ec_sdo_entry_t; |
85 |
85 |
86 /*****************************************************************************/ |
86 /*****************************************************************************/ |
87 |
87 |
88 /** |
88 /** |
89 CANopen SDO configuration data. |
89 CANopen Sdo configuration data. |
90 */ |
90 */ |
91 |
91 |
92 typedef struct |
92 typedef struct |
93 { |
93 { |
94 struct list_head list; /**< list item */ |
94 struct list_head list; /**< list item */ |
95 uint16_t index; /**< SDO index */ |
95 uint16_t index; /**< Sdo index */ |
96 uint8_t subindex; /**< SDO subindex */ |
96 uint8_t subindex; /**< Sdo subindex */ |
97 uint8_t *data; /**< pointer to SDO data */ |
97 uint8_t *data; /**< pointer to Sdo data */ |
98 size_t size; /**< size of SDO data */ |
98 size_t size; /**< size of Sdo data */ |
99 } |
99 } |
100 ec_sdo_data_t; |
100 ec_sdo_data_t; |
101 |
101 |
102 /*****************************************************************************/ |
102 /*****************************************************************************/ |
103 |
103 |
104 /** |
104 /** |
105 CANopen SDO request. |
105 CANopen Sdo request. |
106 */ |
106 */ |
107 |
107 |
108 typedef struct |
108 typedef struct |
109 { |
109 { |
110 struct list_head list; /**< list item */ |
110 struct list_head list; /**< list item */ |
111 ec_sdo_entry_t *entry; /**< SDO entry */ |
111 ec_sdo_entry_t *entry; /**< Sdo entry */ |
112 uint8_t *data; /**< pointer to SDO data */ |
112 uint8_t *data; /**< pointer to Sdo data */ |
113 size_t size; /**< size of SDO data */ |
113 size_t size; /**< size of Sdo data */ |
114 ec_request_state_t state; /**< SDO request state */ |
114 ec_request_state_t state; /**< Sdo request state */ |
115 } |
115 } |
116 ec_sdo_request_t; |
116 ec_sdo_request_t; |
117 |
117 |
118 /*****************************************************************************/ |
118 /*****************************************************************************/ |
119 |
119 |