This is my second post. I do not have this driver yet, but I follow the great advances of this forum and DDCSV1.1 with great enthusiasm.
First I want to congratulate Benedikt for his great work.
Second, Now, I'm looking at the file "slib.nc", and I see the following things (please correct me if I am wrong):
(G28 X Y Z A) >>>>> commentary
O9028 >>>>>>> G28 command "Return to Reference Point" with "090" and "28"
#1=#451 >>>>>> Defines a variable, named "# 1" with a "#451" value.
#2=#452 >>>>>> Same a "#2" whith "#452" value...
I assume for "# 451...#452...." values , the program will read it from somewhere.., maybe some values defined by the user...., or variables as current position values of XYZA axes, speed values, etc, etc.
......
IF #450LT0 GOTO1 >>> IF "#450@ value "is less than" "0" goto "1" tag
>>>>>Here is a list of a Comparison Operators for "IF": EQ: Equal , NE: Not equal , GT: Greater than , GE: Greater than or equal , LT: Less than, LE: Less than or equal
>>>> and "goto 1" tag is the line 1 defined by "N1...." line
....
GOTO2 >> Jumps to tag "2", defined with a "N2.... " line
.....
Then, If you look at it, in summary, the G28 movement is defined by the following TAG lines "N2" and "N10", depending on "GOTO ..." jumps, and the "IF ..." code according to last modified values "# .."
If code jumps to N2 tag execute "N2 G90G00X#5Y#6Z#7A#8" , And If the code jumps finally to N10 tag execute "N10 G90G00X#9Y#10Z#11A#12" . In both cases, it makes "G90" absolute movement , and then "G0" rapid movement, followed by axes movement with their values, in case of N2 tag: X#5 Y#6 Z#7 A#8 .... i.e. X with "#5" last value, Y with "#6" last value...etc,etc., and same in N10 tag...
In short, inside the code I see that you can modify commands as we want, but we need to know all of defined system variables "#..." for programming.
For example, In theory, Antonio, you can modify the code to go Z axis wherever you want ( i.e. Z00 , select N2 line or/and N10 line)
N10 G90G00Z00
G00X#9Y#10A#12
...
Of course, you should take all necessary precautions with these modifications! but in theory, ( Remember that I do not have this controller yet ...), you could change the code for i.e. add a tool change command, or add another XX command with "O90XX" .
PS: Excuse my bad english