Control Panel - Physical buttons integration to Axis/Mesa

More
01 Mar 2024 12:42 - 01 Mar 2024 12:43 #294837 by slowpoke
A few questions....

Moving up on my To-Do short list is a custom physical control panel because I prefer to push buttons, than do mouse clicks or touchscreen touches for really common tasks like jogging. I will explore pendants but will most likely make a control panel to suit my needs. I have attached an image of a previous control panel I made for my old (now sold) mill.

For the very short term I rigged up an E-Stop button into an input on my Mesa 7i95t, and MesaCT allows you to choose E-stop in the selection list so this was trivial to get working.

Next up I would like to connect up a momentary button to reset the Estop(F1) and another to trigger Machine on(F2).  I'm assuming that if I made a little Arduino board that interpreted the various buttons I will implement and then send F1, F2 etc as if it were a keyboard that this would work

1) Can you have two keyboards with LinuxCNC?
2) For now, if I wire these proposed momentary switches directly into spare inputs on my 7195t board how would I get them to do what I need them to do? I'm guessing a suitable entry in the hal file will do the trick?  Can anyone point me to an example or documentation to do that?
2a) If I manually tweak a hal file (adding lines to add functionality) and then later use MesaCT to change some other aspect of the configuration will it delete these previously added lines that I added or will it just leave them as is?
3) Looking forward it seems like it would make sense to send button presses etc from this proposed control panel as data instead of lots of hardwired connections using RS422 or something similar, any insight, suggestions, examples links to documentation would be welcome.

Thanks in advance, I'm having a blast with this new to me Linux stuff. Once I get comfortable I will be switching my main PC to Linux.



 
Attachments:
Last edit: 01 Mar 2024 12:43 by slowpoke.

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

More
01 Mar 2024 16:19 #294853 by spumco
First thing to do is make a list of all the functions you want to accomplish with physical buttons/inputs.  That should help you figure out what hardware you'll need (7i95, 7i73, Arduino, etc.)

Regarding the estop reset - there are a number of ways to skin the cat.  And, as you surmised, it's generally done in the HAL file.

If the function needs (or ought) to be 'real-time', then it's best to connect direct to the 7i95 and then use the HAL pins created by motion.comp.

If the function does not need to be real-time, and a slight bit of latency can be tolerated (i.e. the reset button you mentioned), then an Arduino or other intermediate device (Mesa 7i73) is an excellent way to get lots of IO without using up lots of pins on the 7i95.

I use 7i73's and cannot perceive any latency or delays with my physical inputs (MPG, buttons, etc).  From the user's perspective the controls are instant; no delays or latency as can sometimes happen with USB devices.

I've not used Arduinos or other interface boards/devices so can't comment on those.

So TLDR: you've got three basic questions to work on:
  • What functions do you want?
  • What hardware do you need to accomplish those functions?
  • Once you have hardware, how to use HAL to connect hardware to functions

Have a look at this and see if it sparks some ideas:
github.com/AlexmagToast/LinuxCNC_ArduinoConnector
The following user(s) said Thank You: slowpoke

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

More
02 Mar 2024 01:38 #294879 by cornholio
You can also use modified 7i90 firmware on a RV901T (a few hardware mods) to work as a Smart Serial device.
The following user(s) said Thank You: slowpoke

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

More
02 Mar 2024 01:44 #294880 by cornholio
I think Andy came up with a comp to push inputs to the USB keyboard stack.

HALUI has some estop & machine pins that maybe of use, tho not sure if they update the axis gui.
The following user(s) said Thank You: slowpoke

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

Time to create page: 0.120 seconds
Powered by Kunena Forum