Hi,
I hope no one will be upset about an old topic coming up.
There was a question about HID implementation. I have recently found (and tested!) on Arduino UNO the modified bootloader, called HoodLoader2. There are some examples included. Once it is (finally) installed and working, it allows easy reprogramming of BOTH MCUs, with usb cable just as easy as normal programming.
It can be easily turned into HID keyboard, with functional LEDs (I believe up to 8 - with 5 of them other than caps/num/scroll lock) - like they should function in keyboard - they can be set up from PC side, or one keyboard can set the led on the other. There is no display, but that should not be a problem since there can be parallel usb usart configured and may be used for display only operation.
That should be good for some kind of button+led panel, but remember it has its own set of pros and cons:
- it is a keyboard. May be easy to bind interface to keyboard based app or mimic the relevant axis hot keys, or not easy as those are not hal pins but keypresses. It will stop working when you switch to console terminal (out of X), while the serial version will work all the time.
- E-STOP is not real - it will fail - as in above warning, but then again it is still usb based and should be considered unreliable.
- the leds can be set with linux program "setleds" from console or a script. I need to do some more testing on that as it seems to fail currently on my XFCE and works well in console.
This is just some info, as it requires some experienced programming to handle. If anyone is interested I can provide my working capslock example.
I shall try the latest ArcEye code found in the thread when I find it, or maybe there are some updates? I think I will work on that,at least the python side as I might try C without all the arduino layers if it is too slow. Arduinos test program with graphical wg12864 seems to get around 14 fps drawing some stuff and some text, there should be some time for keys processing.
questions of the day:
Is the unreliable key response the main problem when using faster refresh rate?
Does NICENESS (man nice) affect the userspace thread response time?