equal
deleted
inserted
replaced
85 |
85 |
86 /** Constructor. |
86 /** Constructor. |
87 */ |
87 */ |
88 void ec_datagram_init(ec_datagram_t *datagram /**< EtherCAT datagram. */) |
88 void ec_datagram_init(ec_datagram_t *datagram /**< EtherCAT datagram. */) |
89 { |
89 { |
|
90 INIT_LIST_HEAD(&datagram->list); // mark as unqueued |
90 INIT_LIST_HEAD(&datagram->queue); // mark as unqueued |
91 INIT_LIST_HEAD(&datagram->queue); // mark as unqueued |
|
92 INIT_LIST_HEAD(&datagram->fsm_queue); // mark as unqueued |
|
93 INIT_LIST_HEAD(&datagram->sent); // mark as unqueued |
91 datagram->type = EC_DATAGRAM_NONE; |
94 datagram->type = EC_DATAGRAM_NONE; |
92 memset(datagram->address, 0x00, EC_ADDR_LEN); |
95 memset(datagram->address, 0x00, EC_ADDR_LEN); |
93 datagram->data = NULL; |
96 datagram->data = NULL; |
94 datagram->data_origin = EC_ORIG_INTERNAL; |
97 datagram->data_origin = EC_ORIG_INTERNAL; |
95 datagram->mem_size = 0; |
98 datagram->mem_size = 0; |
129 |
132 |
130 /** Unqueue datagram. |
133 /** Unqueue datagram. |
131 */ |
134 */ |
132 void ec_datagram_unqueue(ec_datagram_t *datagram /**< EtherCAT datagram. */) |
135 void ec_datagram_unqueue(ec_datagram_t *datagram /**< EtherCAT datagram. */) |
133 { |
136 { |
134 if (!list_empty(&datagram->queue)) { |
137 if (!list_empty(&datagram->fsm_queue)) { |
135 list_del_init(&datagram->queue); |
138 list_del_init(&datagram->fsm_queue); |
136 } |
139 } |
137 } |
140 } |
138 |
141 |
139 /*****************************************************************************/ |
142 /*****************************************************************************/ |
140 |
143 |