MachineKit

49 views
Skip to first unread message

John Dammeyer

unread,
Jun 4, 2021, 4:09:22 PM6/4/21
to beagl...@googlegroups.com

What's the status with MachineKit for the BBB?  Will it ever be resurrected and brought up to date?  My understanding is MachineKit used a different approach to the RTOS part of real time Linux compared to LinuxCNC running on say the Pi4.

 

John

Robert Nelson

unread,
Jun 4, 2021, 5:51:16 PM6/4/21
to Beagle Board
On Fri, Jun 4, 2021 at 3:09 PM John Dammeyer <jo...@autoartisans.com> wrote:
>
> What's the status with MachineKit for the BBB? Will it ever be resurrected and brought up to date? My understanding is MachineKit used a different approach to the RTOS part of real time Linux compared to LinuxCNC running on say the Pi4.
>

The BBB image has always been developed and debugged by users of MachineKit..

Regards,

--
Robert Nelson
https://rcn-ee.com/

John Dammeyer

unread,
Jun 4, 2021, 5:59:02 PM6/4/21
to beagl...@googlegroups.com
Robert,
Can you perhaps explain the difference between MachineKit and Linux from the RTOS perspective?

I recall something like the Machinekit has the RTOS underneath LinuxCNC where Linux itself is just a task and the RTOS therefore allows the embedded stuff to run at the same or higher priority giving better real time support.

LinuxCNC has a modified kernel that puts the CNC part at a higher priority within the Linux RTOS environment.

Have I got that right? I remember reading somewhere there were actually 3 different versions of 'real time' for Linux. Just don't remember where I read that.

Thanks
John
> --
> For more options, visit http://beagleboard.org/discuss
> ---
> You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/beagleboard/CAOCHtYj8tUn_o8CjERk5fUAJVX9MWMQ4RcN3VuL21_UJxjb4VQ%40mail.gmail.co
> m.

Robert Nelson

unread,
Jun 4, 2021, 6:40:25 PM6/4/21
to Beagle Board
On Fri, Jun 4, 2021 at 4:59 PM John Dammeyer <jo...@autoartisans.com> wrote:
>
> Robert,
> Can you perhaps explain the difference between MachineKit and Linux from the RTOS perspective?
>
> I recall something like the Machinekit has the RTOS underneath LinuxCNC where Linux itself is just a task and the RTOS therefore allows the embedded stuff to run at the same or higher priority giving better real time support.
>
> LinuxCNC has a modified kernel that puts the CNC part at a higher priority within the Linux RTOS environment.
>
> Have I got that right? I remember reading somewhere there were actually 3 different versions of 'real time' for Linux. Just don't remember where I read that.

You should really ask the MachineKit developers..

For the BBB, they originally used the Xenomai kernel patchset, then
eventually started working on utilizing the RT Linux stuff.. Then they
discovered FGPA hardware, shortly after their forum really became
quiet..

It's just an application that utilized Xenomai and RT kernel features..

John Dammeyer

unread,
Jun 4, 2021, 7:06:46 PM6/4/21
to beagl...@googlegroups.com
>
> For the BBB, they originally used the Xenomai kernel patchset, then
> eventually started working on utilizing the RT Linux stuff.. Then they
> discovered FGPA hardware, shortly after their forum really became
> quiet..
>
> It's just an application that utilized Xenomai and RT kernel features..


Thanks. That's the information I was looking for.
Have a good weekend.
John

>
> Regards,
>
> --
> Robert Nelson
> https://rcn-ee.com/
>
.

John Allwine

unread,
Jun 7, 2021, 11:55:17 AM6/7/21
to Beagle Board
Hi John,

I'm not a maintainer of MachineKit or LinuxCNC, so I can't speak for them, but I do actively use MachineKit on the BBB. Development on MachineKit seems to be mostly focused on the HAL (Hardware Abstraction Layer) of the technology stack and breaking apart LinuxCNC into more maintainable pieces. MachineKit is now split into two projects, MachineKit-HAL (https://github.com/machinekit/machinekit-hal) and MachineKit-CNC (https://github.com/machinekit/machinekit-cnc). The CNC side of the project is very stale. Instead of developing the CNC side, they performed a fork of LinuxCNC and changed only what was necessary to use the CNC side of LinuxCNC on top of MachineKit-HAL and actively rebase upstream changes to be as insync with LinuxCNC as possible. This project is called EMCApplication (https://github.com/machinekit/EMCApplication). 

I'm not too familiar with the details of the real time differences, but I believe MachineKit-HAL will take advantage of real time features if they are present on the machine. We currently use the rt-preempt kernel to get the best latencies we can, but one of the biggest benefits of the BBB+MachineKit-HAL is it's hal_pru_generic implementation that allows dedicated use of the PRU to generate step+direction signals, so it isn't necessary for that processing to happen on the main CPU.

There isn't currently a BBB image available that uses MachineKit-HAL+CNC or MachineKit-HAL+EMCApplication (the current images use the archived MachineKit project prior to the split). I've made progress towards putting an image together with the latest of MachineKit-HAL+EMCApplication on the BBB and BBAI, but I'm not sure when it will be ready for general use.

-John

--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.

John Dammeyer

unread,
Jun 7, 2021, 12:26:07 PM6/7/21
to beagl...@googlegroups.com

Thank you. 

That explains what happened. Fascinating.

John Dammeyer

 

From: beagl...@googlegroups.com [mailto:beagl...@googlegroups.com] On Behalf Of John Allwine
Sent: June-07-21 8:55 AM
To: Beagle Board
Subject: Re: [beagleboard] MachineKit

 

Hi John,

Reply all
Reply to author
Forward
0 new messages