- Create /tmp/homing_obstacle_flag when timeout occurs (no trigger)
- Expand Z limits temporarily to allow full travel during homing
- Add gcode_shell_command.py for shell command execution
- Add obstacle_detector.py Klipper module
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>