Hello Guest it is March 28, 2024, 11:22:00 AM

Author Topic: Passing parameters to a macro - where is this documented?  (Read 2954 times)

0 Members and 1 Guest are viewing this topic.

Offline djc

*
  •  47 47
    • View Profile
Passing parameters to a macro - where is this documented?
« on: March 16, 2011, 03:43:13 PM »
As title. I understand that is possible to pass parameters to a macro, but where do I learn how to do this?

Say I want to tie my code to M689 macro, and I want to use it as M689 C23.45 .

The parameter refers to the C axis and the number would be used for a G01 move at the current feedrate.

It does not seem to be explained in the Mach Programmers Reference. Is it in the Cypress Basic manual?

Also, while I have your attention, the Programmers Reference keeps going on about CB Constants. I can't find these anywhere. Are these the same as VB Constants in the Wiki? Are they documented anywhere other than the Wiki?

Thanks.
Re: Passing parameters to a macro - where is this documented?
« Reply #1 on: March 16, 2011, 04:40:00 PM »
Hi,
Macro parameters can be passed as values to M-Codes via the P, R, and S words. That's it, 3 parameters max.
You won't be able to pass the "C23.45", but you can pass the 23.45 as "P23.45".  This is essentially a gcode language limitation.

See the programmer's manual functions param1, param2 and param3 for how to get the values to P,Q,R words

VB is a common, but technically incorrect, slang term used to refer to all flavors of basic. VB really stands for Visual Basic and refers to a specific series of Microsoft products. The language implemented by Microsoft Visual basic is not the same as the Basic dialect available for mach scripts. The informal use of the term VB tends to lead people to complain (incorrectly) that language feature xyz is not acting the same  in mach as it is in "VB".  The script language used by mach is provided by the Cypress Enable Embedded Basic interpreter. While much of the language is "common basic" there are differences from "VB" - thus the term "CB" for Cypress Basic" is used within the programmer ref manual.  The term VB tends to get used in the wiki as a wiki is edited by users - and most of them use the VB term as a generic term for all flavors of basic (without I'd guess even thinking about it - kind of like people use "Xerox" for all copiers and "Kleenex" for all tissues).

Dave
 
Author of the MachStdMill Extensions for Mach3
www.CalypsoVentures.com