Arduino based USB Pendant for Linuxcnc

More
10 years 1 month ago #80560 by Tchefter
well, i installed the last Arduino IDE to see what port is used,
it shows /dev/ttyACM0
So i changed this in serialcon to this
#define DEVICE "/dev/ttyACM0"
Should this be ok?
while nothing happens after:

fh@v3:~/linuxcnc/configs/CNCV3$ sudo halcompile --install serialcon2.comp
[sudo] password for fh:
gcc -Os -g -I. -I/usr/realtime-3.4-9-rtai-686-pae/include -I. -I/usr/realtime-3.4-9-rtai-686-pae/include -I/usr/include/i386-linux-gnu -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -fno-math-errno -funsafe-math-optimizations -fno-rounding-math -fno-signaling-nans -fcx-limited-range -mhard-float -DRTAI=3 -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -Wframe-larger-than=2560 -URTAPI -U__MODULE__ -DULAPI -Os -o serialcon2 /tmp/tmp40WBeb/serialcon2.c -Wl,-rpath,/lib -L/lib -llinuxcnchal

Greetings Fritz

EDIT: i test the Port with the simple Blink-Example, that works...

Please Log in to join the conversation.

More
10 years 1 month ago #80564 by ArcEye

So i changed this in serialcon to this
#define DEVICE "/dev/ttyACM0"
Should this be ok?


If that is the device port you are using, then it is correct.
/dev/ttyUSB0 is more normal, but depends on the board.

while nothing happens after:
fh@v3:~/linuxcnc/configs/CNCV3$ sudo halcompile --install serialcon2.comp
[sudo] password for fh:
gcc -Os -g -I. -I/usr/realtime-3.4-9-rtai-686-pae/include -I. -I/usr/realtime-3.4-9-rtai-686-pae/include -I/usr/include/i386-linux-gnu -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0 -fno-math-errno -funsafe-math-optimizations -fno-rounding-math -fno-signaling-nans -fcx-limited-range -mhard-float -DRTAI=3 -fno-fast-math -mieee-fp -fno-unsafe-math-optimizations -DRTAPI -D_GNU_SOURCE -Drealtime -D__MODULE__ -I/usr/include/linuxcnc -Wframe-larger-than=2560 -URTAPI -U__MODULE__ -DULAPI -Os -o serialcon2 /tmp/tmp40WBeb/serialcon2.c -Wl,-rpath,/lib -L/lib -llinuxcnchal


Don't understand what you are trying to say.

The print just shows you have compiled the component and installed it to /usr/bin probably.

However please be aware you have compiled a component called serialcon2, but your hal file is loading a component called
serialcon

loadusr -W serialcon


The name of the file and the component must be the same as each other
github.com/LinuxCNC/linuxcnc/blob/master...ls/halcompile.g#L958
because otherwise halcompile would fail.

So you probably are trying to load a component which does not exist, albeit you haven't actually said what the problem is.

Please Log in to join the conversation.

More
10 years 1 month ago #80565 by Tchefter

ArcEye wrote:

loadusr -W serialcon


The name of the file and the component must be the same as each other
github.com/LinuxCNC/linuxcnc/blob/master...ls/halcompile.g#L958
because otherwise halcompile would fail.

So you probably are trying to load a component which does not exist, albeit you haven't actually said what the problem is.


Holy Moly!!! I AM SO STUPID :ohmy: :ohmy: :ohmy: :lol:
Thank You ArcEye that was Problem, i forgot to change from serialcon to serialcon2

You made my Day ;) THANK YOU - God bless!

Please Log in to join the conversation.

More
10 years 1 month ago #80859 by Tchefter
Since I have to wait 3-4 weeks on the 7-segment displays, to build my external DRO, I thought I build the equivalent of ArcEye's Pendant also because all the material was in the drawer. The first test went well. Now I must learn as I adjust the fields on the keypad for me and as I have the DRO display on the counterpart and in Axis at the right side. The housing consists of 4 parts 8mm black MDF. The bottom and the lid are 6mm Plexiglas.
I have installed a red / green LED: red Estop is free, green machine is on :)
Thanks again! :)

Please Log in to join the conversation.

More
10 years 1 month ago #80869 by Rick G
Looking Good!

Rick G

Please Log in to join the conversation.

More
10 years 1 month ago #80890 by ArcEye
Very good, looks like 'The Science Museum' version of my pendant, cut away to show the workings. :laugh:

Please Log in to join the conversation.

More
10 years 1 month ago #80966 by Tchefter
Hello :)
i want use some MDI Commands on the Keypad.
My Thoughts where, change the output for the LCD in the INO File like this:
Code:
case '*': // MDI 1 if(!bEstop && bMachine) { Serial.write('1'); lcd.setCursor(13, 2); lcd.print("XY-0 "); } break; case '0': // MDI 2 if(!bEstop && bMachine) { Serial.write('2'); lcd.setCursor(13, 2); lcd.print("Z-0 "); } break; case '#': // MDI 3 if(!bEstop && bMachine) { Serial.write('3'); lcd.setCursor(13, 2); lcd.print("CAM OFF"); } break;

and in the serialcon2 like this:
Code:
case '1': system("halcmd setp halui.mdi-command-01 1"); system("halcmd setp halui.mdi-command-02 0"); system("halcmd setp halui.mdi-command-05 0"); break; case '2': system("halcmd setp halui.mdi-command-01 0"); system("halcmd setp halui.mdi-command-02 1"); system("halcmd setp halui.mdi-command-05 0"); break; case '3': system("halcmd setp halui.mdi-command-01 0"); system("halcmd setp halui.mdi-command-02 0"); system("halcmd setp halui.mdi-command-05 1"); break;

Must i add the Commands in my postguil.hal like this ?
Code:
net remote-xy-home halui.mdi-command-01 <= serialcon2.xy-home net remote-z-home halui.mdi-command-02 <= serialcon2.z-home net remote-fraeser0- halui.mdi-command-05 <= serialcon2.fraeser0-

Or w/o the <=

This is my current custom_postgui.hal
Code:
# Benutzerdefinierte HAL-Anweisungen können nachfolgend angegeben werden # Die Befehle in dieser Datei werden nach der AXIS GUI (und PyVCP-Panel) ausgeführt. loadusr -W serialcon2 net Xpos halui.axis.0.pos-relative serialcon2.xposition net Ypos halui.axis.1.pos-relative serialcon2.yposition net Zpos halui.axis.2.pos-relative serialcon2.zposition loadrt mult2 addf mult2.0 servo-thread setp mult2.0.in1 60 net vel-sec <= motion.current-vel => mult2.0.in0 net vel-min <= mult2.0.out => pyvcp.mmmin sets spindle-at-speed true net remote-rapid-to-home halui.mdi-command-00 <= pyvcp.rapid-to-home net remote-xy-home halui.mdi-command-01 <= pyvcp.xy-home net remote-z-home halui.mdi-command-02 <= pyvcp.z-home net remote-fraeser0+ halui.mdi-command-03 <= pyvcp.fraeser0+ net remote-fraeser0 halui.mdi-command-04 <= pyvcp.fraeser0 net remote-fraeser0- halui.mdi-command-05 <= pyvcp.fraeser0- net remote-x halui.mdi-command-06 <= pyvcp.x net remote-y halui.mdi-command-07 <= pyvcp.y net remote-z halui.mdi-command-08 <= pyvcp.z net remote-xyz halui.mdi-command-09 <= pyvcp.xyz net Xpos halui.axis.0.pos-relative <= pyvcp.Xpos net Ypos halui.axis.1.pos-relative <= pyvcp.Ypos net Zpos halui.axis.2.pos-relative <= pyvcp.Zpos

And the [Halui] Section in my .ini File
Code:
[HALUI] # HalUI-MDI-Befehle hier einfügen (max. 64) MDI_COMMAND = G0 X0 Y0 Z0 MDI_COMMAND = G0 X0 Y0 MDI_COMMAND = G0 Z0 MDI_COMMAND = G0 X18.789 Y94.072 MDI_COMMAND = G0 X0 Y0 MDI_COMMAND = G0 X-18.789 Y-94.072 MDI_COMMAND = G92 X0 MDI_COMMAND = G92 Y0 MDI_COMMAND = G92 Z0 MDI_COMMAND = G92 X0 Y0 Z0

Thanks for your understanding :)

Greetings Fritz

Please Log in to join the conversation.

More
10 years 1 month ago #80970 by ArcEye
You can change the LCD output and the actual command activated to whatever you like.

Must i add the Commands in my postguil.hal like this ?

net remote-xy-home halui.mdi-command-01 <= serialcon2.xy-home
net remote-z-home halui.mdi-command-02 <= serialcon2.z-home
net remote-fraeser0- halui.mdi-command-05 <= serialcon2.fraeser0-


No.
The 'pins' you are linking do not exist, the MDI commands are already being activated by specific setp inside serialcon.
eg

system("halcmd setp halui.mdi-command-01 1");

Please Log in to join the conversation.

More
10 years 1 month ago #80972 by Tchefter

The 'pins' you are linking do not exist, the MDI commands are already being activated by specific setp inside serialcon.

Thats what i have tried, but no Response in LinuxCNC, only my Text on the LCD changes.

For my Understanding:

The Key i press sends the Arduino ie. "1" to serialcon2
serialcon2 sends i.e. MDI-Command-01 with 1 to postgui.hal
postguihal. Looks what "01" is and fire up the Command that stands in the [Halui] Section...

Is that correct on the whole?

Please Log in to join the conversation.

More
10 years 1 month ago #80975 by ArcEye

The Key i press sends the Arduino ie. "1" to serialcon2


Correct

serialcon2 sends i.e. MDI-Command-01 with 1 to postgui.hal


Wrong, postgui.hal is just a file that is processed after the GUI is built, because pyvcp pins will not have been created
until then.

serialcon executes the command which changes the state of a halui pin

postguihal. Looks what "01" is and fire up the Command that stands in the [Halui] Section...


halui looks up the MDI command which relates to the number and executes that.

Please Log in to join the conversation.

Time to create page: 0.171 seconds
Powered by Kunena Forum