207 "publish": None} |
207 "publish": None} |
208 ]) |
208 ]) |
209 ] |
209 ] |
210 EXTRA_NODE_VARIABLES_DICT = dict([("Enable" + name, value) for name, value in EXTRA_NODE_VARIABLES]) |
210 EXTRA_NODE_VARIABLES_DICT = dict([("Enable" + name, value) for name, value in EXTRA_NODE_VARIABLES]) |
211 |
211 |
212 BLOCK_INPUT_TEMPLATE = " __SET_VAR(%(blockname)s.,%(input_name)s, %(input_value)s);" |
212 BLOCK_INPUT_TEMPLATE = " __SET_VAR(%(blockname)s->,%(input_name)s, %(input_value)s);" |
213 BLOCK_OUTPUT_TEMPLATE = " __SET_VAR(data__->,%(output_name)s, __GET_VAR(%(blockname)s.%(output_name)s));" |
213 BLOCK_OUTPUT_TEMPLATE = " __SET_VAR(data__->,%(output_name)s, __GET_VAR(%(blockname)s->%(output_name)s));" |
214 |
214 |
215 BLOCK_FUNCTION_TEMPLATE = """ |
215 BLOCK_FUNCTION_TEMPLATE = """ |
216 extern void ETHERLAB%(ucase_blocktype)s_body__(ETHERLAB%(ucase_blocktype)s* data__); |
216 extern void ETHERLAB%(ucase_blocktype)s_body__(ETHERLAB%(ucase_blocktype)s* data__); |
217 void __%(blocktype)s_%(location)s(MC_%(ucase_blocktype)s *data__) { |
217 void __%(blocktype)s_%(location)s(MC_%(ucase_blocktype)s *data__) { |
218 extern ETHERLAB%(ucase_blocktype)s %(blockname)s; |
218 __DECLARE_GLOBAL_PROTOTYPE(ETHERLAB%(ucase_blocktype)s, %(blockname)s); |
|
219 ETHERLAB%(ucase_blocktype)s* %(blockname)s = __GET_GLOBAL_%(blockname)s(); |
219 %(extract_inputs)s |
220 %(extract_inputs)s |
220 ETHERLAB%(ucase_blocktype)s_body__(&%(blockname)s); |
221 ETHERLAB%(ucase_blocktype)s_body__(%(blockname)s); |
221 %(return_outputs)s |
222 %(return_outputs)s |
222 } |
223 } |
223 """ |
224 """ |
224 |
225 |
225 BLOCK_FUNTION_DEFINITION_TEMPLATE = " __CIA402Node_%(location)s.axis->__mcl_func_MC_%(blocktype)s = &(__%(blocktype)s_%(location)s);" |
226 BLOCK_FUNTION_DEFINITION_TEMPLATE = """ if (!__CIA402Node_%(location)s.axis->__mcl_func_MC_%(blocktype)s) |
|
227 __CIA402Node_%(location)s.axis->__mcl_func_MC_%(blocktype)s = __%(blocktype)s_%(location)s;""" |
226 |
228 |
227 GLOBAL_INSTANCES = [ |
229 GLOBAL_INSTANCES = [ |
228 {"blocktype": "GetTorqueLimit", |
230 {"blocktype": "GetTorqueLimit", |
229 "inputs": [], |
231 "inputs": [], |
230 "outputs": [{"name": "TorqueLimitPos", "type": "UINT"}, |
232 "outputs": [{"name": "TorqueLimitPos", "type": "UINT"}, |