RPI Controller / Ramps
Iv'e decided to use NanoDLP as the RPI interface. It's a great piece of software that provide a full solution for slicing and controlling the printer + It has a built-in support for external GCode controllers over the PI's serial port (USB) which was perfect for my needs because 1. I had a spare Ramps board and 2. didn't want to spend time building a custom Stepper + servo controller.
Their site recommend using a modified version of Marlin for the Ramps firmware, that can provide feedback (print out) back to the PI when the Z movement is done.
After playing with their firmware iv'e noticed that there is a flaw in the way they implemented the feedback and it was a bit off - which was causing Ramps to fire 'completed' events before the movement was actually done.
Iv'e looked online for solutions but all I could find were timer hacks that basically ignored the event and instead just calculated the movement-duration and set a 'pause' for that duration.
This felt like a really weird way of solving the problem so iv'e decided to rewrite the logic and making sure the event is firing when the movement is actually over
I will push my fork to GitHub sometime over the weekend. I didnt make too many changes on top of the root repo. all i did was mapping pins and adding a print out when the movement is done