How to add a new Mesa card to pncconf?

More
01 Sep 2019 20:48 - 02 Sep 2019 03:53 #143812 by rodw

I've got the config basically working as is, and I'm fairly familiar with hal. I agree with what Chris said prior though that pncconf can generate sophisticated configurations if used properly. For instance the machine I am working on is a XXYZ servo gantry with tandem X motors. Generating the config by hand could certainly be done but will be much easier with the capabilities built into pncconf (with another forum post to come on the topic of servo gantries via pncconf once I get to that point!). I've got two 7i40s and one 7i37TA, but all that is working properly.

Pncconf can also facilitate machine wiring configuration, allowing testing of I/O and open loop servo testing, which is why I am interesting in getting the 7i93 card specifically working, so that the right drivers load within pncconf to enable those features. Otherwise, the config generation works fine using other cards as a base and searching/replacing.

My goal for this machine is to generate the entire config via pncconf, with some minor changes after the fact done via automated search and replace such as `sed`. In a non-profit volunteer-based hackerspace like ours that seems like the most feasible option for long-term maintenance.

Thanks,

Scott


Scott, if you were to push this back to Linuxcnc, in my view, one of the useful bits of housekeeping would be to generate signal names in hal based on joint numbers not x,y,y1,z etc. Refer this example I shared a long time ago. forum.linuxcnc.org/47-hal-examples/34072...ranch-gantry-example

From version 2.8, the joints are allocated to axes by this ini file statement
KINEMATICS = trivkins coordinates=YYXZ

Back when I was getting going, I changed the orientation of my machine a couple of times and it was always very confusing util I renumbered to the standard shown. If you did this, it would be much easier to change things around and it would allow the coordinates string to be entered by the user,not forced on him by a dropdown. I did raise this with Chris Morley at the time I wrote that config (which was when I tested revisions to pncconf for him).

In my view the joint axis (independent joints would be a better name) was a significant change to linuxcnc and at the time I did that config, neither stepconf or pncconf supported the proposed change and I doubt they would today.

I have only ever used V 2.8 and 2.9 on my machine and when I started there were a number of bugs I identified in the Axis and Gmocappy GUIs which have long been fixed becasue the GUI, had not fully supported the changes. In my view this is one of them too.
Last edit: 02 Sep 2019 03:53 by rodw. Reason: Corrected Chris's name

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

More
01 Sep 2019 21:32 #143813 by cmorley

Otherwise, the config generation works fine using other cards as a base and searching/replacing.


I added an option to pncconf on the start page 'use INI substitution' then the HAL file will use [HMOT]CARD0 all over the place instead of the actual card name. The INI file of course will have this heading allowing you to easily change the name for different cards.

I don't like it but it may be handy for some people.

Chris
The following user(s) said Thank You: tommylight

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

More
01 Sep 2019 23:58 #143823 by phillc54

Otherwise, the config generation works fine using other cards as a base and searching/replacing.


I added an option to pncconf on the start page 'use INI substitution' then the HAL file will use [HMOT]CARD0 all over the place instead of the actual card name. The INI file of course will have this heading allowing you to easily change the name for different cards.

I don't like it but it may be handy for some people.

Chris


Chris, Is that a recent addition?

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

More
02 Sep 2019 02:16 #143836 by shasse
rodw-

Very interesting and useful example, thanks! I'll have to wrap my head around pncconf a bit more before I understand the feasibility of the change you propose (and of course defer to cmorely), but it certainly makes sense.

Scott
The following user(s) said Thank You: rodw

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

More
02 Sep 2019 02:39 #143844 by cmorley
Yes - yesterday I added it.

Chris M

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

More
02 Sep 2019 02:41 #143845 by phillc54
OK, I will need to add that into the PlasmaC Configurator.

So the section name is [HMOT], what are the variable names.

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

More
02 Sep 2019 02:45 #143848 by cmorley

OK, I will need to add that into the PlasmaC Configurator.

So the section name is [HMOT], what are the variable names.


Oh ? why? it's certainly something you can't rely on, it's optional.

The title heading is [HMOT] and the entries would look like this:
CARD0=hm2_7i80.0
CARD1=hm2_5i20.0

Chris

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

More
02 Sep 2019 03:10 #143849 by phillc54
No, I won't, I am not thinking straight...

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

More
02 Sep 2019 03:11 #143850 by cmorley

rodw-

Very interesting and useful example, thanks! I'll have to wrap my head around pncconf a bit more before I understand the feasibility of the change you propose (and of course defer to cmorely), but it certainly makes sense.

Scott


Pncconf uses the axes as the basis of almost everything, so making it be based on joints would be a _huge_ change.
Anyways I must say I don't see a big advantage. In general the axes should be known when you build a machine.
further more, while the signal names use the axis names it also uses a 2 for the second joint so x and x2.
So it's pretty easy to follow them in the code and rename them with an editor.
My assumption would be that if you drastically change the machine, you would rerun pncconf and go from there.
Personally I would really dislike using joint names for everything. When I look at the HAL code I want to first know what axis I am looking at then which motor (x or x2) on that axis.

But if someone wanted to code a more joint-centric pncconf I would consider their proposal.

Chris

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

More
02 Sep 2019 03:14 #143851 by cmorley

No, I won't, I am not thinking straight...


Lol it happens. I certainly wasn't trying to force you code more - I would even remove it if it caused real problems.
I'm afraid everyone will use it just cause they can...

Chris M

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

Moderators: cmorley
Time to create page: 0.214 seconds
Powered by Kunena Forum