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 void __%(blocktype)s_%(location)s(MCL_%(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 extern ETHERLAB%(ucase_blocktype)s %(blockname)s; |
218 extern ETHERLAB%(ucase_blocktype)s %(blockname)s; |
218 %(extract_inputs)s |
219 %(extract_inputs)s |
219 ETHERLAB%(ucase_blocktype)s_body__(&%(blockname)s); |
220 ETHERLAB%(ucase_blocktype)s_body__(&%(blockname)s); |
220 %(return_outputs)s |
221 %(return_outputs)s |
221 } |
222 } |
222 """ |
223 """ |
223 |
224 |
224 BLOCK_FUNTION_DEFINITION_TEMPLATE = " __CIA402Node_%(location)s.axis->__mcl_func_%(blocktype)s = &(__%(blocktype)s_%(location)s);" |
225 BLOCK_FUNTION_DEFINITION_TEMPLATE = " __CIA402Node_%(location)s.axis->__mcl_func_MC_%(blocktype)s = &(__%(blocktype)s_%(location)s);" |
225 |
226 |
226 GLOBAL_INSTANCES = [ |
227 GLOBAL_INSTANCES = [ |
227 {"blocktype": "GetTorqueLimit", |
228 {"blocktype": "GetTorqueLimit", |
228 "inputs": [], |
229 "inputs": [], |
229 "outputs": [{"name": "TorqueLimitPos", "type": "UINT"}, |
230 "outputs": [{"name": "TorqueLimitPos", "type": "UINT"}, |