bdring / 6-Pack_CNC_Controller

MIT License
286 stars 71 forks source link

MPG Jog Pendant Module Proposal #8

Open MitchBradley opened 4 years ago

MitchBradley commented 4 years ago

An input module that could connect to something like this:

MPG Pendant

Requires lots of inputs, so probably needs an I2C expander or something like.

KingMo5h commented 4 years ago

That would be a great if this or similar could be integrated, I wanted to ask this too. Yes probably needs a expander but the software work will be more challenging i guess.

Bleeptech commented 4 years ago

It looks like the easiest solution might be adding a CH55x chip to handle the USB host functions..

bitluni stuffed one in his ESP32 powered micro game console..

https://www.youtube.com/watch?v=po3FBdY0GS4

MitchBradley commented 4 years ago

It's good to know that is an option - but anyone who has ever dealt with programming USB devices might take issue with the word "easiest".

Bleeptech commented 4 years ago

Been there.. Done that.. [Good thing I was already nuts before I started..]

ESP32 KE32-WROVER-C10 + GY521 with USB HID over Blueooth.. Enumerates as a joystick..

P_20200627_145709_LL

[Dont ask me to open the can.. Suffice it to say that it looks like R2D2 did a Jackson Pollock..]

yngndrw commented 3 years ago

The Contour ShuttleXpress might be a good option with a USB Host module.

LinuxCNC has a implementation which would save any reverse engineering: https://github.com/LinuxCNC/linuxcnc/blob/master/src/hal/user_comps/shuttle.c#L64-L86

jschoch commented 3 years ago

fixing the jog cancel race condition would be needed first. I believe a much more complete jogging implementation was planned but it couldn't be fit into OG grbl. Maybe the underlying jogging implementation should be fixed first?

MitchBradley commented 3 years ago

Please include references to that race condition.

jschoch commented 3 years ago

there are quite a few threads on the topic, here are a few.

https://github.com/gnea/grbl/issues/95

https://github.com/gnea/grbl/issues/837

https://github.com/gnea/grbl/issues/734

here is an attempted fix: grblHAL seems to have this fixed and added a few features to support MPG

https://github.com/terjeio/grbl-Mega