Hi Chris,

As my paws are all over a lot of the work you are mentioning (multicore in collaboration with Michael Haberler some years back) and the splitting into HAL and CNC stacks, why not contact me direct to discuss.

I think there is scope for collaboration which could be to both our projects
benefit, not least from a reduction in maintenance.

The multicore work you mention, primarily adds atomic operations and other measures to prevent things like the side effects of multi core, multi cache operations, where values can be updated
by one cache before another has finished.

Machinekit's HAL generally has hugely diversified from the original linuxcnc, instantiated components for instance
which can be added or removed at any time, even in a running system.
Because of backwardly compatible measures however, its use is not visibly greatly different.

The splitting out of HAL, not only allows the stack to be used for non CNC projects, such as ROS, but is arranged so that installing machinekit-cnc on top of machinekit-hal, brings you back to a fully functioning machinekit again.

We are contemplating moving to a 2 package installation and deprecating the original machinekit repo and packages.

If you were to split out your CNC stack, which has some features we do not have, with the correct tweaks it could even sit on our HAL stack and result in a fully functioning
CNC controller again.

Unfortunately we have not replaced NML with zmq, that would be the 'holy grail'. Michael Haberler and Alex's protobuf message headers and zmq (machinetalk) would probably be the way to go there

It is something we would be interested in discussing, I am sure.

regards

Mick
On 09/09/18 01:27, emc-developers-requ...@lists.sourceforge.net wrote:
From: Chris Morley<chrisinnana...@hotmail.com>
To: EMC DEV<emc-developers@lists.sourceforge.net>
Subject: [Emc-developers] Breakout of HAL/ machinekits's HAL
Message-ID:
        
<cy1pr05mb22506fd52585a3d57cfc4eefc0...@cy1pr05mb2250.namprd05.prod.outlook.com>
        
Content-Type: text/plain; charset="iso-8859-1"

I see that machinekit has broken out HAL and cnc (Well and lots of others) into 
different repositories.

https://github.com/machinekit

[https://avatars1.githubusercontent.com/u/6759549?s=280&v=4]<https://github.com/machinekit>

machinekit ? GitHub<https://github.com/machinekit>
github.com
GitHub is where people build software. More than 28 million people use GitHub 
to discover, fork, and contribute to over 85 million projects.

It also seems they have updated HAL considerably,

They were working on RT multicore support, anytime instantiation of HAL 
components

cython support.. probably other stuff - I'm not sure if it includes ARM or FPGA 
upgrades.


I was thinking that maybe linuxcnc should discuss if that is something that 
would be of interested.


pros I see:

-chance to break HAL out of cnc stack

-seemingly an upgrade in capability

-someone else has done a lot of work/testing already

-might allow more cross work of developers between the projects


cons:

-surely a lot of work to incorporate (though it does support legacy code, if I 
understand right)

-lack of experience with concepts/code - will take time to become comfortable

-we'd have to admit they are not bad people:)


Ok that last one was meant as fun.


There are very smart and hard working people on both projects, it would be nice 
to benefit both

projects.


I have not really looked at the code, nor am qualified to give indepth opinion 
of the code.

I have watched the video of the multicore idea.

https://www.youtube.com/watch?v=brT0bEkJLSY

There are more videos (including one about the trajectory planner that we now 
use)


Thoughts?


Chris M



_______________________________________________
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to