This post is not a tutorial on MachineKit/LinuxCNC. There is actually a lot of information about that on linuxcnc.org
Take some time to read about LinuxCNC and what it actually does. At the very least know that of the HAL manual and the Integrators Manual. No need to ask questions if you haven't looked up these, and at the very least read the Contents to know where to look.
When you have set up all the connections (physically wired the sensors, heater, endstop, motors, power etc.) from your printer to hardware side you're ready to do the configuration of your machine, meaning the HAL wiring in the .hal file and setting your machine properties in the .ini file
What's HAL??? The HAL is the Hardware Abstract Layer, and is in fact a way of connecting the software to the correct physical pins. This is done by "virtual" wires. Like in the real world, when you make an electronically cabinet for a machine, the wires get numbered and have a name. Same goes for the HAL. There are wires connecting software pins to hardware pins (and the hardware pins differ per electronics).
What is hard to understand at first is the way it is written. Take this for example:
net emcmot.01.enable axis.1.amp-enable-out => [PRUCONF](DRIVER).stepgen.01.enable
When in doubt forget <= or => and remember:
net signal source target1 target2
what above means is that axis.1.amp-enable-out
is the source, [PRUCONF](DRIVER).stepgen.01.enable
is (one of) the target(s), and emcmot.01.enable
is the name of the signal.
You can make it a little more readable by first naming the signal and it's source and on other lines specifying the targets where the signal connects to. Again, <=
and =>
are just for readability. Result:
net emcmot.01.enable <= axis.1.amp-enable-out
net emcmot.01.enable => [PRUCONF](DRIVER).stepgen.01.enable
Pingback: MachineKit Delta configuration + calibration | Design | Make | Share