Multi Axis Homing possible?

@rdhillon

If you already have single-axis homing working, you can achieve simultaneous homing on multiple axes by utilizing multi-threading. Essentially, you would create a thread for each axis and run the homing function in parallel across multiple threads.

However, there are a few things to be mindful of when implementing multi-threading:

Thread Synchronization: Ensure proper synchronization if you need certain conditions met before starting or stopping homing. For example, some axes may need to wait for others to reach a specific state.

Collision Avoidance: Be cautious about mechanical constraints or possible collisions between axes, especially if their homing motions overlap.

Exception Handling: Make sure exceptions or errors in one thread don’t cause the entire homing sequence to fail. Each axis should ideally handle its own errors and either retry or notify the main thread.