TL,DR... Rather than calculating coordinate translation on the fly is it possible or desirable to have a translation map or algorithm in logic where we could plug in cartesian coordinates and get values for the positions of the various steppers in whichever geometry of printer we're using.
Last night I ran across the Cypress PSoC line of chips, essentially a PSoC 5 is a Cortex M3 cpu sitting in a fabric of CPLD/FPGA elements, programable logic in essence. This led me to thinking that if we had sufficient logic and memory to create a large enough look up table it would be possible to generate in advance a full resolution map of the printable area.
Heres my reasoning. Currently translation between cartesian coordinates from the Gcode and stepper positions is done on the fly using significant amounts of processor grunt and yet for each point in the print volume the stepper positions are the same for every print suggesting that these calculations only need doing once.
Advantages:
Lower processor demand -> Cheaper chips or overhead for doing other stuff.
Firmware doesn't need to concern itself with the geometry of the printer hopefully making it easier to try out new and interesting printer ideas.
Disadvantages:
Need somewhere to store the map with quick access (How big would a map be?)
Calibration might be problematic
Comments, critisisms?
Moriquendi
Last night I ran across the Cypress PSoC line of chips, essentially a PSoC 5 is a Cortex M3 cpu sitting in a fabric of CPLD/FPGA elements, programable logic in essence. This led me to thinking that if we had sufficient logic and memory to create a large enough look up table it would be possible to generate in advance a full resolution map of the printable area.
Heres my reasoning. Currently translation between cartesian coordinates from the Gcode and stepper positions is done on the fly using significant amounts of processor grunt and yet for each point in the print volume the stepper positions are the same for every print suggesting that these calculations only need doing once.
Advantages:
Lower processor demand -> Cheaper chips or overhead for doing other stuff.
Firmware doesn't need to concern itself with the geometry of the printer hopefully making it easier to try out new and interesting printer ideas.
Disadvantages:
Need somewhere to store the map with quick access (How big would a map be?)
Calibration might be problematic
Comments, critisisms?
Moriquendi