On 12/6/2016 3:16 PM, DaBit wrote: > > Questions, for example: > - How similar to LinuxCNC is it to write components in C?
Virtually identical. > - Does MK use the actual servo cycle time instead of assuming it is 1ms for > a 1kHz servo thread? It is not really important that the time between > invocations of the component functions is 800us at time t and 1200us at > time t+1. Computers can calculate, so when moving in a straight line at > 100mm/s position has advanced 0,08mm for time t and 0,12mm for time t+1. > Same goes for integrators in a PI controller, etc. However, the LinuxCNC > assumption that 1ms has passed (and just passing a period of 1e6 nsec to > the components) is not optimal, especially on a system with a fairly high > jitter such as a Pi and a motion platform capable of high accelerations. Not yet. There have been experiments to show the benefit of using the actual cycle time but for now the closest you can get is to use a Mesa card (or one of the SoC+FPGA platforms) and use hardware triggered timing. The software still assumes the servo period is exactly what was requested, but since hardware captures the machine state at the correct time (no software IRQ latency involved), that assumption is actually correct (as it relates to the encoder and stepper positions used to do motion calculations). :) Note: This is still somewhat experimental. It has been shown to work but is not yet in general use. Testers welcome! > - Does the trajectory planner still switch back to 'slow' when using more > than only XYZ axes, forcing the use of velocity-based extrusion as a > workaround? Yes, I believe this is still the case in both Machinekit and LCNC. -- Charles Steinkuehler [email protected] -- website: http://www.machinekit.io blog: http://blog.machinekit.io github: https://github.com/machinekit --- You received this message because you are subscribed to the Google Groups "Machinekit" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. Visit this group at https://groups.google.com/group/machinekit. For more options, visit https://groups.google.com/d/optout.
