The main G1 S1 homing command in your homedelta.g file only allows for 300mm of movement of each carriage to reach the homing switch from any initial position. I suspect that isn't enough for your printer.
In firmware 1.19 there is more direct support for filament sensors. See https://duet3d.com/wiki/G-code#M591:_Configure_filament_sensing. But if that doesn't do what you want, you can still use M581 instead.
You can activate mesh bed compensation in two ways:
1. By running G29 S0 (or just G29) to probe then bed and generate a height map. If successful, the height map will be both saved to file (default filename is /sys/heightmap.csv) and activated.
2. By using G29 S1 to load a previously-generated height map file. Again, the default filename is /sys/heightmap.csv. You can use this command in config.g if you wish, or at the end of your homeall.g or homedelta.g file.
On the Duet, M500 is not connected with mesh bed compensation.
Get the nozzle to grip a piece of paper.
Run G92 Z0
After running the above a few times, make sure you get consistent numbers on the reply from running G30 S-1.
That will be your number you put in here.
Thanks for help. It working good now.
I'll make chinese version document all i can do.
Thanks for tips So if the limit switches trigger 20mm past the bed in X and Y there is no way to specify the "real" limits on both the high and low ends? My X triggers on negative and my Y triggers on the positive end. I guess it's easy enough to restrict in the slicer. That or fix the mechanical trigger points.
Now my bed thermistor in the heat pad is open circuit, but I'll get printing one of these days
The firmware will attempt to put the probe (not the nozzle) at the XY offsets you specify, taking into account the probe offsets that you declare in the G31 command. The offsets are the X and Y distances from the nozzle to the probe, not the other way around.