Software end stops vs Bed_Size

Hi All,

A question on Marlin:

What’s the difference between MAX_SOFTWARE_ENDSTOP and BED_SIZE?

I can see that MAX_SOFTWARE_ENDSTOPs take their values straight from BED_SIZE.

So why have both BED_SIZE AND MAX_SOFTWARE_ENDSTOPs?

Is BED_SIZE used for anything else?

 

Also, why are MAX_SOFTWARE_ENDSTOPs disabled by default on the dual end stops firmware?

Thanks and cheers