Rectangular Grid Compensation

I’m just installing my BLTouch and since my bed glass is removable, It’s always ‘imperfect’. 3-points leveling is not so good my my bed, since I’m using 4 screws and they could be very irregular. In the Marlin, there is a strategy that does 9 points in the bed. My guess is the same strategy on Smoothie is called “Rectangular Grid Compensation”, but is not compiled in the current binary. I’ll try to compile, but my question is: do I need to specify any DEFINE or variable during compilation, or just re-compile the edge will work to enable this strategy type (Rectangular Grid Compensation)?

Imported from wikidot

You want to use http://smoothieware.org/zprobe#rectangular-grid-compensation , it is included in the current edge

Then, I think I’m doing something wrong :frowning:

version running: Build version: edge-7f7592e, Build date: Jan 2 2017 13:55:39, MCU: LPC1768, System Clock: 100MHz
5 axis

When I try to do G29 P1 (second strategy), I got “strategy #1 is not loaded”. I have 2 in my config:

# associated with zprobe the leveling strategy to use
leveling-strategy.three-point-leveling.enable         true        # a leveling strategy that probes three points to define a plane and keeps the Z parallel to that plane
leveling-strategy.three-point-leveling.point1         20.0,0.0   # the first probe point (x,y) optional may be defined with M557
leveling-strategy.three-point-leveling.point2         80.0,80.0 # the second probe point (x,y)
leveling-strategy.three-point-leveling.point3         130.0,130.0   # the third probe point (x,y)
leveling-strategy.three-point-leveling.home_first     false        # home the XY axis before probing
leveling-strategy.three-point-leveling.tolerance      0.03        # the probe tolerance in mm, anything less that this will be ignored, default is 0.03mm
leveling-strategy.three-point-leveling.probe_offsets  29,4,0       # the probe offsets from nozzle, must be x,y,z, default is no offset
leveling-strategy.three-point-leveling.save_plane     false # set to true to allow the bed plane to be saved with M500 default is false

leveling-strategy.rectangular-grid.enable true # The strategy must be enabled in the config, as well as the zprobe module.
leveling-strategy.rectangular-grid.x_size 75 # size of bed in the X axis
leveling-strategy.rectangular-grid.y_size 50 # size of bed in the Y axis
leveling-strategy.rectangular-grid.size 7 # The size of the grid, for example, 7 causes a 7x7 grid with 49 points.
# Must be an odd number.
leveling-strategy.rectangular-grid.probe_offsets 27,9,0 # Optional probe offsets from the nozzle or tool head
leveling-strategy.rectangular-grid.save false # If the saved grid is to be loaded on boot then this must be set to true
leveling-strategy.rectangular-grid.initial_height 5 # Optionally an initial_height can be set that tell the intial probe
# where to stop the fast decent before it probes, this should be
# around 5-10mm above the bed

Is should work, shouldn’t?

I’ve updated to latest edge (Build version: edge-9399ed7, Build date: Feb 7 2017 22:13:16, MCU: LPC1768, System Clock: 100MHz
5 axis) and enabled ONLY one strategy, rectangular one.

Tried “G29” (without any parameter), got: No strategy found to handle G29

configuration: (all other leveling strategys are commented)

leveling-strategy.rectangular-grid.enable               true     # The strategy must be enabled in the config, as well as the zprobe module.
leveling-strategy.rectangular-grid.x_size               75       # size of bed in the X axis
leveling-strategy.rectangular-grid.y_size               50       # size of bed in the Y axis
leveling-strategy.rectangular-grid.size                 7      # The size of the grid, for example, 7 causes a 7x7 grid with 49 points.
leveling-strategy.rectangular-grid.probe_offsets        27,9,0    # Optional probe offsets from the nozzle or tool head
leveling-strategy.rectangular-grid.save                 false    # If the saved grid is to be loaded on boot then this must be set to true
leveling-strategy.rectangular-grid.initial_height       5       # Optionally an initial_height can be set that tell the intial probe

Well, I’m almost there. I have compiled the latest code and now it’s working! Almost…
I can run the command, but after the first point, bed doesn’t go down (z+), just move to the next point. Since I’m using BLTouch, they ‘think’ the pin is stucked (and it really is!) and stop everything. Is there any parameter to set the height of bed while moving to next point?
My initial height still in 5.