External Z Probe Sensor

Sorry to step in the discussion. I was poking around the source code as well for an idea to “fake” a connected enclosure.

to know which address the zprobe sends info to, wont it be easier to just connect it to the 3dprint module and then trigger the z probe? (probe, not end stop).

In the firmware, the message after filter and so on shall call in CANFuns[1] (line 297 from your screenshots)<- 1 is the enum for int ProbeReport() in GenerialFunctions.cpp. This also explain why the ID is >20. In ProbeReport it updates the Endstop variable in CanModules. It somehow looks like the UpdateEndstops function but actually it is different (I am not sure how does the machine reads this variables and knows that a probe or endstop has been triggered. It is something to be discussed)

The reason why I think you should focus on probe and not endstop is because if you trigger the soft endstop on top of your work piece, that location becomes the home. So the next movement will basically strike to the work piece and also it will not lift more than that point.

As a side notes:
3d print leveling mesh can be used in CNC as stated in the post below, but autoleveling most probably wont work unless you change the firmware, as the level_service.cpp checks for the connected module to be 3d print before accepting a levelling command.