M671 like function for Delta printer
-
M98 P"0:/macros/test var.g" Stopped at height 0.708 mm Error: in file macro line 7 column 13: meta command: unknown variable 'z1'
G28 M562 ; clear any bed transform from mesh leveling G90 ; absolute positioning G1 Z50 F4000 G1 X0 Y0 ; 1 point G30 S-1 set var.z1 = move.axes[2].machinePosition G1 Z50 F4000 G1 X-154 Y-164 F4000 ; 2 point G30 S-1 set var.z2 = move.axes[2].machinePosition G1 Z50 F4000 G1 X-63 Y214 F4000 ; 3 point G30 S-1 set var.z3 = move.axes[2].machinePosition G1 Z50 F4000 G1 X217 Y-52 F4000 ; 4 point G30 S-1 set var.z4 = move.axes[2].machinePosition G1 Z50 F4000 echo >>"0:\sys\testFile.csv" "whatever", var.z1, var.z2, var.z3, var.z4 G28
-
@tecno said in M671 like function for Delta printer:
Error: in file macro line 7 column 13: meta command: unknown variable 'z1'
Well yes, you need to initialise the variables.
var z1 = 0 var z2 = 0 var z3 = 0 var z4 = 0 var z5 = 0
before you first refer to any of them.
-
@achrn said in M671 like function for Delta printer:
@tecno said in M671 like function for Delta printer:
Error: in file macro line 7 column 13: meta command: unknown variable 'z1'
Well yes, you need to initialise the variables.
var z1 = 0 var z2 = 0 var z3 = 0 var z4 = 0 var z5 = 0
before you first refer to any of them.
Works like a charm now!
Is there a way to replace "whatever" with date + time?
-
@tecno said in M671 like function for Delta printer:
echo >>"Stopped at height" ^ move.axes[2].machinePosition ^ "mm"
Should be:
echo >>"0:/sys/savedData.txt" "Stopped at height" ^ move.axes[2].machinePosition ^ "mm"
i.e. you need to specify the filename again.
Instead of using move.axes[2].machinePosition I suggest you use sensors.probes[0].lastStopHeight as I suggested earlier.
-
This is what works now, only missing part is date/time stamp.
; test var.g macro datetime 0.758 1.074 1.122 0.821 datetime 0.708 1.074 1.022 0.771
G28 var z1 = 0 var z2 = 0 var z3 = 0 var z4 = 0 M562 ; clear any bed transform from mesh leveling G90 ; absolute positioning G1 Z50 F4000 G1 X0 Y0 ; 1 point G30 S-1 set var.z1 = sensors.probes[0].lastStopHeight G1 Z50 F4000 G1 X-154 Y-164 F4000 ; 2 point G30 S-1 set var.z2 = sensors.probes[0].lastStopHeight G1 Z50 F4000 G1 X-63 Y214 F4000 ; 3 point G30 S-1 set var.z3 = sensors.probes[0].lastStopHeight G1 Z50 F4000 G1 X217 Y-52 F4000 ; 4 point G30 S-1 set var.z4 = sensors.probes[0].lastStopHeight G1 Z50 F4000 echo >>"testFile.csv" "datetime", var.z1, var.z2, var.z3, var.z4 G28
-
@tecno said in M671 like function for Delta printer:
echo >>"testFile.csv" "datetime", var.z1, var.z2, var.z3, var.z4
echo >>"testFile.csv" state.time, var.z1, var.z2, var.z3, var.z4
-
Is there a way to format output to 0,000 and not 0.000 as this is a language problem?
-
@tecno if the format is CSV then you must use '.' as the decimal separator character, because ',' is used to separate one field from the next. The program you use to import the .csv file should recognise '.' as the decimal separator.
-
@dc42 said in M671 like function for Delta printer:
@tecno if the format is CSV then you must use '.' as the decimal separator character, because ',' is used to separate one field from the next. The program you use to import the .csv file should recognise '.' as the decimal separator.
I use LibreOffice Calc in Swedish and the import is now in TEXT mode with '.' and needs to be in NUM mode with ',' to work OK
As you can see only fields with NUM values can be used for calc and that is with comma. Field separator should be something else to be imported correctly.
-
@tecno I suggest you import in CSV mode instead and change the macro to insert commas between the fields.
-
Have to change import to UK language settings, so it kinda works
So the datafields will have commas as decimal separators! The field separators works OK with commas.
I am sure others will have issues with this where decimal separators are commas.Have had this kind of problems with other software where '.' was used as decimal separator. So maybe you guys should look to see what you can do to get things working all over the planet. My 2cents.
-
@tecno it looks like Excel allows you to specify the decimal separator when importing but Libre Office doesn't. https://ask.libreoffice.org/t/specify-decimal-separator-in-text-import/53621
-
Only way around this is to set the import to:
Exel >>>>>>>>>>>>>>> no way I will pay for that MS shit