- Posts: 19306
- Thank you received: 0
Are nested subroutines possible?
8 years 4 weeks ago #118313
by andypugh
I am not sure what you are saying.
LinuxCNC has had subroutines and flow control statements for a very long time.
The recent development just adds M98 / M99 as an alternative format to achieve the same thing.
Replied by andypugh on topic Are nested subroutines possible?
eneias_eringer wrote:
andypugh wrote: Something that you didn't mention is what version of LinuxCNC you are using.
The M98 / M99 subroutine format was only added to the LinuxCNC development branch very recently (for compatibility with some other controls). Is that the version you are using?
Really ??? !!! and a GOTO will be implanted too ??? LOL !!!
I am not sure what you are saying.
LinuxCNC has had subroutines and flow control statements for a very long time.
The recent development just adds M98 / M99 as an alternative format to achieve the same thing.
Please Log in to join the conversation.
- eneias_eringer
- Offline
- Junior Member
-
Less
More
- Posts: 24
- Thank you received: 0
8 years 3 weeks ago #118410
by eneias_eringer
Replied by eneias_eringer on topic Are nested subroutines possible?
Yes i use the statements so much and it works very well but sometimes a simple goto was better.
When i need a "GOTO" i put like this:
O<GOTO>IF[0EQ1]
O<GOTO>ENDIF
When i need a "GOTO" i put like this:
O<GOTO>IF[0EQ1]
O<GOTO>ENDIF
Please Log in to join the conversation.
8 years 3 weeks ago #118422
by Grotius
Replied by Grotius on topic Are nested subroutines possible?
Hi Eneias,
If you read the C doc's you see goto statement's are not preferred to use.
One google of this : The goto statement is rarely used because it makes program confusing, less readable and complex. Also, when this is used, the control of the program won’t be easy to trace, hence it makes testing and debugging difficult.
beginnersbook.com/2014/01/c-goto-statement/
Better is to use a procedure that read's continue.
I have a example code for you :
The program start's with a template, the variable numbers are for fun :
github.com/michelwijnja/Linuxcnc_inox_do...oxdoors_template.ngc
The the program has no goto statement's :
github.com/michelwijnja/Linuxcnc_inox_do...files/subroutine.ngc
In my C code i use only a Goto if there is no other option :
github.com/michelwijnja/Linuxcnc_grotius...components/THC2.comp
Line 238 for restart attempts.
I hope this info is usefull for you !
If you read the C doc's you see goto statement's are not preferred to use.
One google of this : The goto statement is rarely used because it makes program confusing, less readable and complex. Also, when this is used, the control of the program won’t be easy to trace, hence it makes testing and debugging difficult.
beginnersbook.com/2014/01/c-goto-statement/
Better is to use a procedure that read's continue.
I have a example code for you :
The program start's with a template, the variable numbers are for fun :
github.com/michelwijnja/Linuxcnc_inox_do...oxdoors_template.ngc
The the program has no goto statement's :
github.com/michelwijnja/Linuxcnc_inox_do...files/subroutine.ngc
In my C code i use only a Goto if there is no other option :
github.com/michelwijnja/Linuxcnc_grotius...components/THC2.comp
Line 238 for restart attempts.
I hope this info is usefull for you !
Please Log in to join the conversation.
- eneias_eringer
- Offline
- Junior Member
-
Less
More
- Posts: 24
- Thank you received: 0
8 years 3 weeks ago #118553
by eneias_eringer
Replied by eneias_eringer on topic Are nested subroutines possible?
thankyou !!!
I agree that is better to not use goto !!!
but my point is , all cnc controllers have a normal goto , so when you have to convert a code , is very hard !!!
In example , try to convert a Renishaw code , is easyer to write a new just becouse we dont have a goto !!
I agree that is better to not use goto !!!
but my point is , all cnc controllers have a normal goto , so when you have to convert a code , is very hard !!!
In example , try to convert a Renishaw code , is easyer to write a new just becouse we dont have a goto !!
Please Log in to join the conversation.
Time to create page: 0.040 seconds
