I want to enhance my machine from 3 (XYZ) to 4 axes (XYZA).
For settings e.g. in LIMIT_MASK, $2, $3, $5 I had standard values
#define LIMIT_MASK B111
Now I have to adjust settings for the new “A” axis and don’t know, where to add the new column.
Is it left to X or right to Z to calculate the bits?
评论 (3)
#2 – JensHauser 于 2020-07-11
Thank you for this hint.
““
#if (N_AXIS == 3)
#define LIMIT_MASK B0111
#else
#define ALIMITPIN GPIONUM39
#define LIMIT_MASK B1111
#endif
I do interpret this as “add a new column left to X”, so new axes are added like CBAXYZ, right?
#3 – MitchBradley 于 2020-07-11
Just FYI – The Devt branch, soon to be promoted to master, has the new Settings mechanism which includes a user-friendly way to configure mask values like $2 and $3. The old way, using numeric bitmasks, still works, but now you can also just list the axes. For example, instead of sending $2=5 to invert X and Z, you can now send $2=XZ. You can also now use text names in place of numbers, for example $Stepper/StepInvert=xz. With this new way, you don’t need the table.
You still need to know the bitmask order for the purpose of configuring the limit mask in the code. The bits in that mask are ordered as Bcbazyx, i.e. the rightmost bit is x and they increase to the left.
The new Settings page describes this, and the bitmask table therein has been extended and clarified for additional axes.
#1 – BlueOrangeLive 于 2020-07-11
@JensHauser take a look below
“GrblEsp32 / GrblEsp32 / Machines / 4axisexternaldriver.h”
from line 59 as an example.