Machinekit-HAL is a powerful software for real-time control of machinery based on Hardware Abstraction Layer principle. With tools and libraries making development of new components and drivers easy. Integrators can choose to control industrial robotic arm, single purpose machine or CNC mill or lathe with additional software package.
Supporting RT PREEMPT and Xenomai 2 real-time Linux kernel patches. APT packages available for Debian Jessie, Stretch and Buster.
The easiest way how to get Machinekit-HAL running is to install Debian package. Packages can be obtained by triggering Github Actions workflow and downloading build artifacts on your own fork. Or you can just download the latest builds from push to master branch on official Machinekit/Machinekit-HAL repository.
Alternatively you can build locally on your machine in Run-In-Place mode. The briefest sequence of commands would be:
git clone https://github.com/machinekit/machinekit-hal.git
cd machinekit-hal
debian/configure
sudo mk-build-deps -ir
cd src
./autogen.sh
./configure
make
sudo make setuid
More information about building can be glanced from documentation.
Be advised that currently there is no support for Linux distributions other than Debian. |
---|
Machinekit-HAL was created by separating the core functionality from now deprecated Machinekit repository into own repository.
It all started in the early nineties when NIST created the Enhanced Machine Controller Architecture in Public Domain as a vendor-neutral software implementation for numerical control of machining operations. From that in 2003 open community of developers created a project called EMC2 or Enhanced Machine Controller 2. (Or on the side of commercial software, EMC was developed into popular software Mach3 for Microsoft Windows.) EMC2 was renamed in 2011 as a LinuxCNC. In 2014, Machinekit was forked from LinuxCNC to facilitate deeper changes in low level functionality. In 2020, the original Machinekit repository was archived and development is fully continuing in the Machinekit-HAL repository.
The CNC part of original repository was separated into the Machinekit-CNC repository in the same move. |
---|
What's the difference between Machinekit-HAL and Machinekit? | |
---|---|
Machinekit-HAL is continuation of Machinekit. Work on the original Machinekit repository was stopped and the only new development will happen on Machinekit-HAL. Machinekit-HAL exports only the core functionality to better serve the needs of machine integrators and provide leaner experience for everybody. The CNC functionality was exported into Machinekit-CNC repository. |
Machinekit-HAL like all projects in the Machinekit organization is volunteer based governed by the Collective Code Construction Contract , generally known as a C4 originally from the ZeroMQ project.
The source code is hosted publicly on GitHUB, where majority of programming discussion about further development happens. In lower measures, Machinekit-HAL is also discussed on Machinekit forum and in Machinekit Matrix Room, which are used more to the point of support platforms and for general chat.
|| It's always encouraged to create a new issue in GitHub tracker first. Discuss the proposed changes there and then based on the output implement the changes and create a new pull request. | |:---:|---|
This software is released under the GPLv2, with some parts under the LGPL. See the file COPYING for more details.
For more detailed information consult specific files with source code implementing given functionality. There should be explicit licensing. |
---|