New LinuxCNC-Ethercat git tree

More
2 years 9 months ago #289616 by scottlaird
that... is not the same thing. They're pulling the source code (presumably from github.com/sittner/linuxcnc-ethercat ) and building it, which is *great* and makes people's life easier, but it doesn't help with the fact that only a handful of changes have been made to that tree in the past 18 months, and he hasn't had a lot of time to put into it for years.

I'm trying to fix that end of things.

Please Log in or Create an account to join the conversation.

More
2 years 9 months ago #289617 by scottlaird
Ah, I didn't read enough. Until the PR listed (which was copied from elsewhere), we wouldn't even try to send floats at all with generic devices. Now we send whatever EC_WRITE_REAL is, presumably a 32-bit IEEE float. It looks like we could pretty easily add EC_WRITE_LREAL, but yeah, hal_type_t doesn't have distinct options for 32 vs 64 bit floats, so we'd need some other way to specify that in the XML file. Shouldn't be rocket science, but I don't have anything to test it against.

Please Log in or Create an account to join the conversation.

More
2 years 9 months ago #289621 by Hakan
I have made a modification for myself which seems to work for doubles. So when the dust has settled around where to keep the development I can come back on that topic.
I appreciate that you organize this. There is a need for drivers for many devices. One can try with the lcec_generic driver but one can only do so much and can end up with things in hal that shouldn't be there.

Please Log in or Create an account to join the conversation.

More
2 years 9 months ago #289625 by scottlaird
This doesn't actually look all that tricky; the "halType" values in our XML file are ours, and code in lcec_conf.c maps those onto LinuxCNC's HAL types.

Here's a draft PR that *should* implement this, although I don't really have hardware to test it against right now.

github.com/linuxcnc-ethercat/linuxcnc-ethercat/pull/116

It won't patch cleanly into anyone else's tree because (a) lcec_generic.c has changed directories in my tree and (b) this includes the other float fix, but other than that it should be straightforward enough to patch.

Please Log in or Create an account to join the conversation.

More
2 years 9 months ago #289626 by scottlaird
One note--lcec_generic has a test that floats aren't larger than 32 bits. I've disabled that if we're using a double, but there's a chance that something under the hood will break. Again, testing.

It'd be kind of nice to have an EtherCAT test slave that runs on a Raspberry Pi (or similar) that we could use for testing this sort of thing. Then I could work it into my usual testing process.

Please Log in or Create an account to join the conversation.

More
2 years 9 months ago #289636 by rodw
Replied by rodw on topic New LinuxCNC-Ethercat git tree
In my view its pointless doing PR's if they dont feed into the etherlabmaster repos.

It finally came back to me
Bjarne Van Horn from igh (eg etherlabmaster)  forked Sasha's repo for me and cleaned it up so I could publish it in a repo at packagecloud.io as part of my project bulding the 2.9.x installers. I retired my repository when it went to therlabmaster.
He also contributed some code to my linuxcnc-live-build repo around ethercat repos

His repo is here
github.com/ighvh/linuxcnc-ethercat  
It would be good to put him in the loop about your PR's maybe raise an issue there.
We want people to be able to install linuxcnc, from our ISO's and then simply install the ethercat environment without building code.

 

Please Log in or Create an account to join the conversation.

Time to create page: 0.346 seconds
Powered by Kunena Forum