@jay_s_uk well I'll be - never had to do that before - but it worked - many thanks
Posts made by Garfield
-
RE: Latest update - 3.5.3 - not correctly installed after update
-
Latest update - 3.5.3 - not correctly installed after update
Updated the Raspberry Pi through usual route, All proceded normally except the reported version of the Web interface is 3.5.2 on the 'General' tab under settings.
There is also a warning about dissimilar software versions on the console "Incompatible software versions
The installed software versions do not match. Please operate your setup only at equal versions to avoid potential incompatibilities and unexpected errors."Done a forced re-install via the command line of the Pi and it says 3.5.3 is installed already then proceeds to overwrite 3.5.3 with 3.5.3 ...
I ran M997 S0 but that didn't do anything to resolve, I then took 3.5.3 direct from Github and manually wrote the version (extracted of course) to the SD card of the Pi.
No change - not sure what else to do now
-
RE: Mesh Bed Compensation with inductive probe
Other than a mesh bed level every now an then I don't bother, you are limited to what you can do automatically anyhow depending on your bed mounts. Unless you use a kinematic mount the mount points are likely to be pretty rigid so offsetting the steppers could lead to binding. Once it is as level as you can get it mechanically it shouldn't change unless you abuse the machine / move it around etc - all depends how rigid things are, the more rigid you make it the more accurate things need to be.
The mesh bed level works slightly differently and attempts to compensate for bed inconsistencies - got to confess though I'm not entirely sure how Dave implements it.
-
RE: Mesh Bed Compensation with inductive probe
Sounds like you did stuff right, you don't need G30, G30 simply tells the system to perform one probe. The previous poster is moving to the centre of his bed and probing he just has a macro to get there. I don't understand the G92 Z1 bit - G92 Z0 tells the system that wherever the nozzle is now in space that is Z=0. It is from that point that everything gets referenced for Z - no idea what G92 Z1 would do beyond telling the printer that the current nozzle position is exactly 1mm above the bed - pretty dangerous command if it is actually closer.
The nozzle shouldn't be at zero ever unless you deliberately put it there. The first height you see in status when laying down the first layer should be whatever your first layer height is - so what is it showing ?
You absolutely that the printer is correctly configured in the slicer - no Z offsets etc, absolutely sure that layer 1 isn't actually at 2.15 or something - the print is on the slicer bed when you slice it not elevated? - can you run preview in your slicer to see at what layer stuff appears.
Look for the first G1 Z in your print gcode - what does it say ? for a first layer of 0.15 the first G1 Z should be G1 Z0.150 or similar depending on your slicer.
Sorry if this all sounds a little basic but going for the complex first isn't always the best approach - if the printer can mesh level successfully and you seem to have a good trigger height I don't think it is the printer.
edit : Do not put G92 Z0 in ANY of your homing files - I think this is your problem.
You do not set Z using G92 when probing you use G30. G30 sets Z to the trigger height when it probes. You have no G30 ....
I think your homeall.g is messed up - there's no Z in there, your homez.g is also messed up -
This is my homez.g
; homez.g ; called to home the Z axis G91 ; relative mode G1 H2 Z4 F200 ; raise head 4mm to ensure it is above the Z probe trigger height G90 ; back to absolute mode G1 X152 Y152 F3000 ; put head over the centre of the bed, or wherever you want to probe G30 ; lower head, stop when probe triggered and set Z to trigger height
my Homeall.g
; homeall.g ; called to home all axes ; G91 ; relative positioning G1 H1 X-320 F1500 ; coarse home X G1 X4 F360 ; move away from the X endstop G1 H1 X-10 F250 ; fine home X G1 H1 Y-320 F1500 ; coarse home Y G1 Y4 F360 ; move away from the Yendstop G1 H1 Y-10 F250 ; fine home Y G1 H2 Z4 F200 ; raise head 4mm to ensure it is above the Z probe trigger height G90 ; absolute positioning G1 X167 Y152 F2500 ; put head over the centre of the bed, or wherever you want to probe G30 ; lower head, stop when probe triggered and set Z to trigger height
-
RE: 3.2-RC1 Plugin Failures
No worries, appreciated - you can always rely on users to do the unexpected. I never realy thought about the override file, never used it, suppose I should have realised what M501 actually did. It's one of those things you do early on then forget about - until it bites you .....
-
RE: 3.2-RC1 Plugin Failures
@chrishamm Confirmed - if I remove M501 the 'starting' becomes idle. if I add a config override but leave the M501 the starting becomes idle, it seems to be that the system expects to find a config override if M501 is used and gets stuck if it can't find it.
This is what impacts the status screen updating and the print going straight to 'complete' - I just verified it. The print however will continue and completes as it should.
-
RE: 3.2-RC1 Plugin Failures
Journal contains nothing useful that I can see.
Dec 23 11:33:01 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:01 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/ Dec 23 11:33:01 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:01 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/ Dec 23 11:33:01 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:01 duet3 DuetWebServer[589]: No endpoint found for GET request via / Dec 23 11:33:01 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:01 duet3 DuetWebServer[589]: No endpoint found for GET request via / Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[6] Dec 23 11:33:02 duet3 DuetWebServer[589]: The file /index.html was not modified Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Server.Kestrel[34] Dec 23 11:33:02 duet3 DuetWebServer[589]: Connection id "0HM576Q0Q0EUL", Request id "0HM576Q0Q0EUL:00000001": the application aborted the connection. Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Sending file. Request path: '/index.html'. Physical path: '/opt/dsf/sd/www/index.html' Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 234.1646ms 304 text/html Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 234.1644ms 0 text/html Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/css/app.37435a82.css Dec 23 11:33:02 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:02 duet3 DuetWebServer[589]: No endpoint found for GET request via /css/app.37435a82.css Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[6] Dec 23 11:33:02 duet3 DuetWebServer[589]: The file /css/app.37435a82.css was not modified Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 3.3812ms 304 text/css Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/js/app.166d29b4.js Dec 23 11:33:02 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:02 duet3 DuetWebServer[589]: No endpoint found for GET request via /js/app.166d29b4.js Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[6] Dec 23 11:33:02 duet3 DuetWebServer[589]: The file /js/app.166d29b4.js was not modified Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 0.94ms 304 application/javascript Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/fonts/materialdesignicons-webfont.4187121a.woff2 Dec 23 11:33:02 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:02 duet3 DuetWebServer[589]: No endpoint found for GET request via /fonts/materialdesignicons-webfont.4187121a.woff2 Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/rr_connect?password=reprap&time=2020-12-23T11%3A33%3A1 application/json Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[6] Dec 23 11:33:02 duet3 DuetWebServer[589]: The file /fonts/materialdesignicons-webfont.4187121a.woff2 was not modified Dec 23 11:33:02 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:02 duet3 DuetWebServer[589]: No endpoint found for GET request via /rr_connect Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 32.3736ms 304 font/woff2 Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 12.2236ms 404 Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/img/icons/favicon-32x32.png Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/img/icons/apple-touch-icon-152x152.png Dec 23 11:33:02 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:02 duet3 DuetWebServer[589]: No endpoint found for GET request via /img/icons/apple-touch-icon-152x152.png Dec 23 11:33:02 duet3 DuetWebServer[589]: info: DuetWebServer.Middleware.CustomEndpointMiddleware[0] Dec 23 11:33:02 duet3 DuetWebServer[589]: No endpoint found for GET request via /img/icons/favicon-32x32.png Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Sending file. Request path: '/img/icons/favicon-32x32.png'. Physical path: '/opt/dsf/sd/www/img/icons/favicon-32x32.png' Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Sending file. Request path: '/img/icons/apple-touch-icon-152x152.png'. Physical path: '/opt/dsf/sd/www/img/icons/apple-touch-icon-152x152.png' Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 31.6052ms 200 image/png Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[2] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request finished in 31.6044ms 200 image/png Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/machine Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[5] Dec 23 11:33:02 duet3 DuetWebServer[589]: CORS policy execution failed. Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Cors.Infrastructure.CorsService[6] Dec 23 11:33:02 duet3 DuetWebServer[589]: Request origin http://10.100.254.252 does not have permission to access the resource. Dec 23 11:33:02 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Dec 23 11:33:02 duet3 DuetWebServer[589]: Executing endpoint 'DuetWebServer.Controllers.WebSocketController.Get (DuetWebServer)' Dec 23 11:33:03 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker[3] Dec 23 11:33:03 duet3 DuetWebServer[589]: Route matched with {action = "Get", controller = "WebSocket"}. Executing controller action with signature System.Threading.Tasks.Task Get() on controller DuetWebServer.Controllers.WebSocketController (DuetWeb Dec 23 11:33:03 duet3 DuetWebServer[589]: info: DuetWebServer.Controllers.WebSocketController[0] Dec 23 11:33:03 duet3 DuetWebServer[589]: WebSocket connected from ::ffff:10.100.0.4:52628 Dec 23 11:33:03 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:03 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/machine/directory/0:%2Fmacros%2F application/json Dec 23 11:33:03 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] Dec 23 11:33:03 duet3 DuetWebServer[589]: Executing endpoint 'DuetWebServer.Controllers.MachineController.GetFileList (DuetWebServer)' Dec 23 11:33:03 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Hosting.Diagnostics[1] Dec 23 11:33:03 duet3 DuetWebServer[589]: Request starting HTTP/1.1 GET http://10.100.254.252/machine/file/0:%2Fsys%2Fdwc-settings.json application/json Dec 23 11:33:03 duet3 DuetWebServer[589]: info: Microsoft.AspNetCore.Routing.EndpointMiddleware[0] lines 1-95/230 36% pi@duet3:~ $ sudo journalctl -u duetcontrolserver -- Logs begin at Wed 2020-12-23 01:17:01 GMT, end at Wed 2020-12-23 11:47:41 GMT. -- Dec 23 01:18:32 duet3 systemd[1]: Starting Duet Control Server... Dec 23 01:18:34 duet3 DuetControlServer[398]: Duet Control Server v3.2.0-rc1 Dec 23 01:18:34 duet3 DuetControlServer[398]: Written by Christian Hammacher for Duet3D Dec 23 01:18:34 duet3 DuetControlServer[398]: Licensed under the terms of the GNU Public License Version 3 Dec 23 01:18:35 duet3 DuetControlServer[398]: [info] Settings loaded Dec 23 01:18:35 duet3 DuetControlServer[398]: [info] Environment initialized Dec 23 01:18:35 duet3 DuetControlServer[398]: [info] Connection to Duet established Dec 23 01:18:35 duet3 DuetControlServer[398]: [info] IPC socket created at /var/run/dsf/dcs.sock Dec 23 01:18:35 duet3 systemd[1]: Started Duet Control Server. Dec 23 01:18:35 duet3 DuetControlServer[398]: [info] Starting macro file config.g on channel Trigger Dec 23 01:18:36 duet3 DuetControlServer[398]: [warn] M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 573C Dec 23 01:18:36 duet3 DuetControlServer[398]: [warn] M307: Heater 1 appears to be over-powered. If left on at full power, its temperature is predicted to reach 341C Dec 23 01:18:36 duet3 DuetControlServer[398]: [info] Finished macro file config-override.g Dec 23 11:32:02 duet3 DuetControlServer[398]: [info] System time has been changed
-
RE: 3.2-RC1 Plugin Failures
@chrishamm it hasn't changed in a while now but it is attached here. config.g
Powered up this morning and still shows 'Starting' ...
-
RE: 3.2-RC1 Plugin Failures
Confirmed
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.2-RC1 running on Duet 3 MB6HC v0.6 or 1.0 (SBC mode)
Board ID: 08DJM-956L2-G43S8-6JKD8-3SS6L-9B12H
Used output buffers: 1 of 40 (10 max)
=== RTOS ====== SBC interface ===
State: 4, failed transfers: 0
Last transfer: 1ms ago
RX/TX seq numbers: 63835/63835
SPI underruns 0, overruns 0
Number of disconnects: 0, IAP RAM available 0x2c8a8
Buffer RX/TX: 0/1480-0
=== Duet Control Server ===
Duet Control Server v3.2.0-rc1 -
RE: 3.2-RC1 Plugin Failures
So I did a clean upgrade, complete build from blank SD card ....
The heightmap is now available under 'controls' on the left hand menu, it no longer appears as a plugin, my plugin list is empty.
I do however have 'other' interface issues still.
The main dashboard shows 'Starting' at all times
The status window never shows any status during prints - it goes straight to print completed although it is not. This is a problem as the pause option cannot be selected in this state.
The previous file read failures do not occur via the RPi and the machine completed the print overnight (16 hours total). The status window wasn't available for that either and the 'starting' was present for the entire print - was there when I turned in and there when I got up.
This is an image for a print I just started ...
-
RE: 3.2-RC1 Plugin Failures
Running direct on the Duet3 I now encounter 'other' issues not encountered via the Pi
Error: Cannot read file, error code 1 Cancelled printing file 0:/gcodes/Jacuzzi Cushions.gcode, print time was 2h 12m 12/21/2020, 5:11:07 PM M32 "0:/gcodes/Jacuzzi Cushions.gcode" File 0:/gcodes/Jacuzzi Cushions.gcode selected for printing 12/21/2020, 5:04:48 PM Error: Cannot read file, error code 1 Cancelled printing file 0:/gcodes/Jacuzzi Cushions.gcode, print time was 0h 35m Error: Cannot read file, error code 1 Warning: Failed to read header of G-Code file "0:/gcodes/Jacuzzi Cushions.gcode"
This is not on a cheapo SD card either, it checks out fine, the file can be read without issue. No I can't upload the file, the site won't allow compressed files and as a gcode file it is too large (7,097KB).
This file fails in different places - the fail point is not consistent. When this happens the printer does not behave in a friendly manner - it just stops where it is, it doesn't park the hot end although it does turn off the heaters.
Time to have multiple SD cards to hand, time to create a new RPi image .... I'll let you know if the plugin problem goes away.
-
RE: 3.2-RC1 Plugin Failures
That is exactly how I did the upgrade ....
Could this be a legacy from running without the RPi when it had a bug causing stutter?
Edit : I just ditched the RPi and did things directly on the Duet3, copied the files across and that update works fine.
-
3.2-RC1 Plugin Failures
Pretty much get an error for all plugins following introduction of RC1, the following is one such example. There is no such file in any folder on my SD card
Heightmap is no longer available. ChunkLoadError: Loading chunk HeightMap failed. (error: http://10.100.254.252/js/HeightMap.c18cb13f.js)
Folders
pi@duet3:/opt/dsf/dwc/js $ ls app.166d29b4.js HeightMap.ef4ed2d6.js OnScreenKeyboard.a4596cd5.js app.166d29b4.js.map HeightMap.ef4ed2d6.js.map OnScreenKeyboard.a4596cd5.js.map GCodeViewer.03fd3878.js ObjectModelBrowser.89b13181.js GCodeViewer.03fd3878.js.map ObjectModelBrowser.89b13181.js.map pi@duet3:/boot/www/js $ ls app.2a4070cd.js.gz HeightMap.2baad695.js.gz OnScreenKeyboard.84b33c6d.js.gz app.2a4070cd.js.map.gz HeightMap.2baad695.js.map.gz OnScreenKeyboard.84b33c6d.js.map.gz app.b867548c.js.gz HeightMap.4ee5c020.js.gz OnScreenKeyboard.9a79c70b.js.gz app.b867548c.js.map.gz HeightMap.4ee5c020.js.map.gz OnScreenKeyboard.9a79c70b.js.map.gz app.d0e602e2.js.gz ObjectModelBrowser.9383802b.js.gz Visualizer.29c9871a.js.gz app.d0e602e2.js.map.gz ObjectModelBrowser.9383802b.js.map.gz Visualizer.29c9871a.js.map.gz
Others are the same story i.e.
Error: Loading CSS chunk Visualizer failed. (/css/Visualizer.7d33149d.css)
pi@duet3:/boot/www/css $ ls app.2eca9440.css.gz HeightMap.7a255baa.css.gz OnScreenKeyboard.58652065.css.gz app.c0302286.css.gz HeightMap.ed3f384d.css.gz Visualizer.79c49760.css.gz app.eb4376bc.css.gz ObjectModelBrowser.c5e13b42.css.gz
-
RE: G29 / 3 point bed compensation - always tilted slightly
Unless you spent a lot of money the tolerance for flatness and parallelism in cast aluminium tool plate can vary significantly, many suppliers don't list their tolerances other than the cut dimension. Even in cast plates with a milled finish some twist or unevenness can't be excluded, you also cannot assume that the two faces of the plate are parallel, it also isn't clear how you have mounted / constrained the plate, an over constrained plate can twist and bow as it expands when heated.
I don't understand your commands either - Z screws aren't calibrated with G28 ???
Either way a Z screw can only adjust if it is free to do so, if it is over constrained you will be over stressing the plate and probably twisting it to some degree depending on your mounting method - don't underestimate the strength of steppers with lead screws. If your mount to the bed is rigid there are limits to how much a z axis can help overcome errors, they may even introduce some.
You need to make sure it is as close to mechanically level as possible in relation to the X and Y axis before trying to take out any error with the Z screws. You then need to ensure that when you do calibrate Z using the steppers that you don't cause binding on the lead screws for one or more steppers.
-
RE: Does M574 S4 work ?
Agreed but do you see where this is going - now you have two settings to deal with.
None of which can be updated with a simple command post babystepping - there is no OK I'm happy with that save the results and apply permanently - M500 type stuff. M500 stores in the config-override and not against the currently loaded filament.
-
RE: Does M574 S4 work ?
Aware of but that isn't what I'm asking for ..
Consider
G31 P1 X-21 Y0 Z0.868 C0.002 S29 H3
This shows the trigger height for 'normal' - and it is really the trigger height, if I move Z -0.868 the nozzle tip touches the bed 'just'. Thus Z0 really is 0.
To use G31 P1 X-21 Y0 Z0.768 C0.002 S29 H3 will provide a +0.1 offset - but it is a fake and any baby stepping isn't really working around 0 it is based off a fake zero and Z0 is actually 0.1 which is fine.
If I set this to G31 P1 X-21 Y0 Z0.968 C0.002 S29 H3 then Z0 is actually -0.1 which is below the bed surface - the machine will be able to violate the bed surface - I've no intention of destroying any more beds because of this. My Z0 because of the machine architecture cannot be a 'hard' stop.
Just hypothetical of course - trying to explain why I want an offset from Z - I don't want to confuse the machine with regards where absolute 0 really is 'Z0' will be below the bed surface with the last G31 line. If I screw around with babystepping with a false trigger point I could create the same problem.
My Z0 needs to remain a rigid boundary to protect the machine from my stupidity. I need an offset that maintains Z0 integrity.
-
RE: Does M574 S4 work ?
This isn't the same thing - I don't want to adjust the babystep increment - if I run a test where I use babysteps to get things to where I need them I then need an option via 'M500' or something to set the established co-ordinate offset - this needs to happen with the printer running.
Run test print, babystep until settings are where you require 'save' - this is no different to setting a zero point on a lathe or CNC with an edge finder - you don't need to mess with the machines base configuration and it becomes 'per filament' without the need to manually edit files. It could be done as an adjustment to the trigger height but I think it more intuitive if it just offsets the Z co-ordinate.
-
RE: Does M574 S4 work ?
No that isn't what I require. I do not want to interfere with the trigger height.
I want to add a permanent offset to printed Z co-ordinates, basically if I print a layer height of 0.15 I need the head to be at 0.23. Yes I can set this in the slicer, no I don't want to so that I have a minimum number of adjustment needed to send to any of my printers.
My trigger height and the machine are 100% accurate, verified with feeler gauges, I do not want to mess with those, I could theoretically adjust the trigger height but then it isn't as intuitive as simply applying an offset + or -