About

Home for TuxCNC - A low cost (free, but easy to install) CNC package running under Linux. Development is currently a low key affair whilst the core team streamline and document the code base. Once the restructuring is complete, the sources will be made public via CVS. In the meantime, keep up with significant milestones here.

Zathras machine on the TuxCNC.org system.
BDI home page.

« emc2 overview | Home | Xenomai test results »

New kid on the block

A new project has appeared from Russia - Dmitry Shatrov is the driving force behind MyNC, a package aimed at wire EDM. Downloading the source code from http://mync.sourceforge.net/ and making a comparison with the competition is quick and easy with subversions - No tarballs released as yet. The obligatory sloccount comes first:


ansic: 19468 (55.78%)

cpp: 15409 (44.15%)

sh: 26 (0.07%)





Although a detailed examination has not been made of the code, it appears to rely heavily on GTK and Gnome which is possibly why the line count is much lower than even core EMC applications. A more pragmatic approach to using third party & system libraries another reason. It should be pointed out that this is a project in development and a GUI has yet to be committed.

Dmitry (in his first public announcement) indicated that he had authored his own realtime kernel patch - Not a patch in the traditional sense, but a kernel module that makes use of either the 8254 or APIC timers via conventional interrupts. Whilst on the LKM subject, output is geared towards stepper motors via what looks like a simple IO port hard coded to 0x300. Passing data out through a parallel port would require a few small changes, but nothing too invasive.

As there is no native floating point math in kernel space, Dmitry has opted to do all the trajectory planning and other intensive number crunching in user space - For low speed machines such as EDM, this won't be a problem, high speed mills could run in to trouble if the user is performing CPU intensive tasks (graphics manipulation, database searches, gaming) - A preemptive kernel may help to mitigate any problems..

The code base is modular, with each building block partitioned off into it's own directory hierarchy complete with a standalone autotools generated configure. Each directory needs to be visited in turn (and in the correct order) and a `./configure && make install` performed. Without a top level script to coordinate the staged build, I fear may potential users would give up too soon, but this could be addressed quite easily.

Conclusion: Interesting project aimed at a specific application. Still a "work in progress" and if the build system can be pulled together, worth watching.