CIA402 Homing module - a start

More
07 Apr 2024 10:17 #297741 by rodw
Well, an undefined bug put me in hospital so I have had a bit of time on my hands but limited in the tools I have ( A chromebook and a crappy captive portal wifi that won't let me clone linuxcnc or access my Google Drive).
So I decided to revisit  cia402 homing and redo what I had started once before seeing there is so much ethercat activity at the moment. unfortunately, I can't compile or test anything here. Still working on that.

I also found that marcoreps had done a pretty good job building a homecomp for a Leadshine EL8 CIA402 drive
github.com/marcoreps/linuxcnc_leadshine_EL8

He used the default code provided by Dewey Garrett which is in the linuxcnc repo here
github.com/LinuxCNC/linuxcnc/blob/master...onents/homecomp.comp

But to my mind the choice of enums and pin names (and unused states) made a complicated process even more obfuscated so I worked through marcoreps component and referenced it back to Dewey's template and made it more cia402 like given my hard won understanding from earlier bruising experiences.

I also put some fairly detailed notes in the read.me to help you understand what is going on.
So here it is:
github.com/rodw-au/cia402_homecomp

Its my hope that some of you advanced users will clone and build this, debug any syntax errors while I am laid up and send me some PR's.
Long term, I would like to see this deployed with @scottlaird's ethercat driver.

But also, we may be able to compress the final cia402 package so it just needs Scotts driver and the homing component. If you compare the structure of dominic's cia402.comp, there are similarities
  • Both have a read_all function
  • Both have a write_all function
Therefore, it maybe possible to migrate the cia402 component into the homecomp (and I tried this once before). However, my concern with this is that the homecomp will sit outside the ethercat lcec/cia402 loop defined in the addf statements which may prevent this.
So if Dewey or any  other experienced developers see this and can see a way to set the homecomp's load order with addf, please let us know.


 
The following user(s) said Thank You: besriworld, scottlaird

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

More
07 Apr 2024 15:56 #297752 by scottlaird
Thanks for the work, but I wish the circumstances were better. Hopefully the bug resolves soon.

I read the README, and it looks like a great start. I'd love to see CiA homing working, and long-term finding ways to keep the complexity as low as possible (by merging components, removing pieces, standardizing naming, etc) is important.

I'll try to take a look at the code later today and see what it takes to get it to compile :-).
The following user(s) said Thank You: besriworld

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

More
08 Apr 2024 00:10 - 08 Apr 2024 00:10 #297769 by scottlaird
Surprisingly close to compiling, considering :-). One missing line that breaks `halcompile`'s parser, and a conflict with naming in `custom_home_local_data`. I sent a PR with the simple fix and filed a bug with the compile errors.
Last edit: 08 Apr 2024 00:10 by scottlaird.
The following user(s) said Thank You: tommylight, besriworld

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

More
08 Apr 2024 01:14 #297772 by rodw
Replied by rodw on topic CIA402 Homing module - a start
Thanks Scott. I merged your changes. The change to homebase is fine with me and the workflow is an awesome addition.
Keep up the good work. 
If you load the homecomp as outlined, it should publish some additional pins for each joint. It would be good to test it that far.
There may be some mods required to the cia402.comp to hook it up but I think marcoreps might have a version with those changes.
The following user(s) said Thank You: besriworld

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

Time to create page: 0.110 seconds
Powered by Kunena Forum