Skip to content

Comments

G29 - D parameter to quickly set square probing grid#7923

Closed
MasterPIC wants to merge 1 commit intoMarlinFirmware:bugfix-1.1.xfrom
MasterPIC:bugfix-1.1.x
Closed

G29 - D parameter to quickly set square probing grid#7923
MasterPIC wants to merge 1 commit intoMarlinFirmware:bugfix-1.1.xfrom
MasterPIC:bugfix-1.1.x

Conversation

@MasterPIC
Copy link
Contributor

I added D parameter to quickly set a square (DxD mm^2) probing grid centered on the probing area

I added D parameter to quickly set a square (DxD mm^2) probing grid centered on the probing area
@MasterPIC
Copy link
Contributor Author

I just noticed D was already in use for dry run. So another letter should be used for this purpose...

@fiveangle
Copy link

As the only usefulness for this would be for those few individuals who might have huge build platforms but only normally use the center for their standard prints, for everyone else I'd envision this more work t6o manage than just standard probing, so shouldn't this be a compile-time option ? Or maybe not... how much extra PROGMEM does it use ? :-D

btw- looks like you may have to rebase your PR (or perhaps Github has changed the view yet again)

@MasterPIC MasterPIC closed this Oct 11, 2017
@fiveangle
Copy link

fiveangle commented Oct 11, 2017

@MasterPIC - did you intend to close this ? You should be able to rebase and push to your MasterPIC:bugfix1.1.x branch (although it's always best to create a new branch off of bugfix1.1.x) and then continue.

Regarding compile-time option, it would just require wrapping your code bits with the appropriate #if ENABLED(ENABLE_PROBING_CENTER_ONLY) or something like that then add the feature to Configuration files as appropriate. Although, if it only incurs a small PROGMEM use, may not even need that and just enable it for everyone.

Regarding the switch parameter D, I'm not sure why we couldn't commandeer dry-run because I'm not sure what the difference is between it and "G29 T" (generate topology map). Here is the outputs:

G29:

Send: G29
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: Bilinear Leveling Grid:
Recv:       0      1      2      3      4
Recv:  0 +0.148 +0.108 +0.069 +0.063 +0.065
Recv:  1 +0.037 -0.016 -0.071 -0.049 -0.043
Recv:  2 -0.004 -0.022 -0.049 -0.049 -0.065
Recv:  3 +0.043 +0.018 -0.006 -0.030 -0.073
Recv:  4 +0.016 -0.012 -0.024 -0.041 -0.055
Recv: 

G29 T

Send: G29 T
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: Bilinear Leveling Grid:
Recv:       0      1      2      3      4
Recv:  0 +0.148 +0.108 +0.067 +0.065 +0.065
Recv:  1 +0.036 -0.018 -0.069 -0.049 -0.041
Recv:  2 -0.004 -0.022 -0.043 -0.047 -0.061
Recv:  3 +0.049 +0.020 -0.006 -0.030 -0.073
Recv:  4 +0.018 -0.016 -0.028 -0.047 -0.059

G29 D

Send: G29 D
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: echo:busy: processing
Recv: Bilinear Leveling Grid:
Recv:       0      1      2      3      4
Recv:  0 +0.150 +0.112 +0.071 +0.067 +0.063
Recv:  1 +0.034 -0.024 -0.073 -0.051 -0.049
Recv:  2 -0.004 -0.024 -0.047 -0.049 -0.063
Recv:  3 +0.041 -0.002 -0.010 -0.034 -0.075

@MasterPIC
Copy link
Contributor Author

By fixing the code as follows

left_probe_bed_position = (MAX_PROBE_X + MIN_PROBE_X-dimens)/2;
right_probe_bed_position = left_probe_bed_position+dimens;
front_probe_bed_position = (MAX_PROBE_Y + MIN_PROBE_Y-dimens)/2;
back_probe_bed_position = front_probe_bed_position + dimens;

the new parameter requires 50 bytes of PROGMEM.

I already added a pair of lines like these ones

#define G29_SQUARE_GRID_SIZE
#if ENABLED(G29_SQUARE_GRID_SIZE)

but I realized this change should affect several example config files...
So probably it's not worth it.

As for D parameter already in use, I opted for my printer for a "G" parameter to set a centered square grid. And probably, in case of need for PROGMEM, I'll remove D and T parameters and all related code since I'm not using them... But it's a personal preference.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants