Welcome! Log In Create A New Profile

Advanced

VSCode compilation error when BL Touch is on the right side of nozzle

Posted by maludo99 
VSCode compilation error when BL Touch is on the right side of nozzle
May 06, 2021 06:11PM
I'm trying to compile the Marlin version bugfix 2.0 in VSCode for my Ender 3 Pro (SKR Mini E3 v2.0 Board). I'm using UBL and want to change NOZZLE_TO_PROBE_OFFSET to {48, -2, 0 } because my BL Touch is now mounted on the right side of the nozzle, but I always get the error "PROBE_PT_1_(X|Y) is unreachable using default NOZZLE_TO_PROBE_OFFSET and PROBING_MARGIN" whenever the x value of the offset is higher than 15 (So {15, -2, 0} compiles fine, but {16, -2, 0} doesn't). I've changed MESH_MIN_X and PROBING_MARGIN_LEFT to 50, but I still get the same error.

I don't really want to change MESH_INSET to a higher value than 5, because that shrinks the probed area from all sides.

Settings I use:
#define PROBING_MARGIN 10
#define MESH_INSET 5
#define GRID_MAX_POINTS_X 8
#define GRID_MAX_POINTS_Y GRID_MAX_POINTS_X

Does anyone know what to try next?
Attachments:
open | download - Screenshot 2021-05-06 191438.png (29.7 KB)
Re: VSCode compilation error when BL Touch is on the right side of nozzle
May 06, 2021 08:02PM
how about attaching your Config files, so the values of your bed size and probe points can be seen?
Re: VSCode compilation error when BL Touch is on the right side of nozzle
May 07, 2021 04:04AM
Thanks for your comment @Dust smiling smiley
Attaching files is not needed anymore because I fixed it!
The problem was that points of the 3-point validation mesh were not reachable by the probe. I changed PROBE_PT_1_X and PROBE_PT_2_X to 48 (which is the x-value of my NOZZLE_TO_PROBE_OFFSET) such that these points were actually reachable by the BLTouch.
If you have the same problem and are tweaking things, please note that MESH_MIN_X is referring to the position of the nozzle, not the probe (Same goes for corresp. Y and MAX values). But it doesn't require you to change these anyway, so just leave them commented out.
Posting the whole error message would have helped, because there you can clearly see that there are errors for three valitation points:

In file included from Marlin\src\MarlinCore.cpp:194:0:
Marlin\src\module/probe.h: In static member function 'static void Probe::get_three_points(T*)':
Marlin\src\module/probe.h:213:40: error: static assertion failed: PROBE_PT_1_(X|Y) is unreachable using default NOZZLE_TO_PROBE_OFFSET and PROBING_MARGIN
#define VALIDATE_PROBE_PT(N) static_assert(Probe::build_time::can_reach(xy_pos_t{PROBE_PT_##N##_X, PROBE_PT_##N##_Y}), \
^
Marlin\src\module/probe.h:215:11: note: in expansion of macro 'VALIDATE_PROBE_PT'
VALIDATE_PROBE_PT(1); VALIDATE_PROBE_PT(2); VALIDATE_PROBE_PT(3);
^~~~~~~~~~~~~~~~~
Marlin\src\module/probe.h:213:40: error: static assertion failed: PROBE_PT_2_(X|Y) is unreachable using default NOZZLE_TO_PROBE_OFFSET and PROBING_MARGIN
#define VALIDATE_PROBE_PT(N) static_assert(Probe::build_time::can_reach(xy_pos_t{PROBE_PT_##N##_X, PROBE_PT_##N##_Y}), \
^
Marlin\src\module/probe.h:215:33: note: in expansion of macro 'VALIDATE_PROBE_PT'
VALIDATE_PROBE_PT(1); VALIDATE_PROBE_PT(2); VALIDATE_PROBE_PT(3);
^~~~~~~~~~~~~~~~~
*** [.pio\build\STM32F103RC_btt_512K\src\src\MarlinCore.cpp.o] Error 1
In file included from Marlin\src\feature\bedlevel\ubl\ubl.cpp:37:0:
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h: In static member function 'static void Probe::get_three_points(T*)':
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h:213:40: error: static assertion failed: PROBE_PT_1_(X|Y) is unreachable using default NOZZLE_TO_PROBE_OFFSET and PROBING_MARGIN
#define VALIDATE_PROBE_PT(N) static_assert(Probe::build_time::can_reach(xy_pos_t{PROBE_PT_##N##_X, PROBE_PT_##N##_Y}), \
^
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h:215:11: note: in expansion of macro 'VALIDATE_PROBE_PT'
VALIDATE_PROBE_PT(1); VALIDATE_PROBE_PT(2); VALIDATE_PROBE_PT(3);
^~~~~~~~~~~~~~~~~
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h:213:40: error: static assertion failed: PROBE_PT_2_(X|Y) is unreachable using default NOZZLE_TO_PROBE_OFFSET and PROBING_MARGIN
#define VALIDATE_PROBE_PT(N) static_assert(Probe::build_time::can_reach(xy_pos_t{PROBE_PT_##N##_X, PROBE_PT_##N##_Y}), \
^
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h:215:33: note: in expansion of macro 'VALIDATE_PROBE_PT'
VALIDATE_PROBE_PT(1); VALIDATE_PROBE_PT(2); VALIDATE_PROBE_PT(3);
^~~~~~~~~~~~~~~~~
*** [.pio\build\STM32F103RC_btt_512K\src\src\feature\bedlevel\ubl\ubl.cpp.o] Error 1
In file included from Marlin\src\feature\bedlevel\ubl\ubl_G29.cpp:37:0:
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h: In static member function 'static void Probe::get_three_points(T*)':
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h:213:40: error: static assertion failed: PROBE_PT_1_(X|Y) is unreachable using default NOZZLE_TO_PROBE_OFFSET and PROBING_MARGIN
#define VALIDATE_PROBE_PT(N) static_assert(Probe::build_time::can_reach(xy_pos_t{PROBE_PT_##N##_X, PROBE_PT_##N##_Y}), \
^
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h:215:11: note: in expansion of macro 'VALIDATE_PROBE_PT'
VALIDATE_PROBE_PT(1); VALIDATE_PROBE_PT(2); VALIDATE_PROBE_PT(3);
^~~~~~~~~~~~~~~~~
Marlin\src\feature\bedlevel\ubl\../../../module/probe.h:213:40: error: static assertion failed: PROBE_PT_2_(X|Y) is unreachable using default NOZZLE_TO_PROBE_OFFSET and PROBING_MARGIN
#define VALIDATE_PROBE_PT(N) static_assert(Probe::build_time::can_reach(xy_pos_t{PROBE_PT_##N##_X, PROBE_PT_##N##_Y}), \
VALIDATE_PROBE_PT(1); VALIDATE_PROBE_PT(2); VALIDATE_PROBE_PT(3);
^~~~~~~~~~~~~~~~~
*** [.pio\build\STM32F103RC_btt_512K\src\src\feature\bedlevel\ubl\ubl_G29.cpp.o] Error 1

Edited 1 time(s). Last edit at 05/07/2021 04:06AM by maludo99.
Sorry, only registered users may post in this forum.

Click here to login