NicoHood / HoodLoader2

16u2 Bootloader to reprogram 16u2 + 328/2560 with Arduino IDE
http://www.nicohood.de
739 stars 186 forks source link

Not an Issue: Just Need Some Clarification #20

Closed Zenitram-Oriaj closed 9 years ago

Zenitram-Oriaj commented 9 years ago

I was wondering if I could get some clarification as to what HoodLoader2 fully does and to see if it is something that I can use on my current project.

I am currently assisting, (the company I work for) , other Developer on his project, which is a very large multi-touch system that works with some high-end multi-windowing video processors.

Here is our YouTube Channel that shows a little more about how the system works: https://www.youtube.com/channel/UCer1F-ILyv_KjnaAtsIPw0g http://boisolutions.com/#layer-logic

To get to the point: Currently, this programmer has written a Virtual HID Driver and Application that would be installed and run on each of the desktop computers (that are connected , via video, to the multi-windowing processor) you wish to control. Each PC would connect to a server over IP.

However, the need to develop an USB Adapter/Dongle solution, to facilitate those same functions without the need to install any software, has come up.

I began trying to develop an AVR (Atmel) based solution similar to what you are doing with the Arduino Uno R3 (328P/16U2) using AtmelStudio 6 with the LUFA framework. However, I have run into frustrations with UART bottle-necks/buffer issue between the two controllers. I was next going to try to use just a ATmega32U4, (but then concern on how I would then implement the ethernet support for a W5100...nothing you need to think about or answer to).

So, some of my questions are:

  1. Where is the HID Report Descriptor held (in the 328P or the 16U2 firmware).
  2. Would / Could I create a custom HID Report Descriptor (with in the Arduino IDE) that would be loaded on to the IO MCU? If so, do you have any example work?
  3. Can your solution support a HID Report descriptor for Multi-touch?
  4. Is there a size limitation I would need to worry about for the HID Report Descriptor?
  5. Based on some of the previous questions, to get what I want, would I have to modify the source code for the 16U2 (USB MCU) or will it work as is? (6. have you made any progress of the HID-Bridge example that is to be shown with in the Wiki pages for your project)

Once I can get pass this hurdle, the back end will be a lot easier as I am going to build an ethernet client that will connect to our server (using a raw socket) so that the server can push HID report messages such as keyboard presses, mouse movements, finger touch locations, etc...

One kind of important thing to mention: I am very GREEN as to developing native code for any kind of MCU such as an AVR or PIC. I am primarily a web / software application developer, but on my own time been developing some of my own hardware solutions based on Arduino boards such as the Uno, Pro Mini, and Micro, as well as the ESP-12E (ESP8266)...now that is a sweet little SoC board for the price.

Thanks in advance for any insight you can provide or maybe directions I can go to find another alternative if this one does not work out.

NicoHood commented 9 years ago

This is not a support forum. http://www.nicohood.de for contact.

1) 16u2 is the USB MCU. If you want to control it with the 328 build your custom bridge 2) You can create custom HID stuff with the HID Project or build your own stuff. As said the bridge is up to you (no time for it right now) 3) depends on what this would be. Thats up to the Arduino core. HL2 is just to upload firmwares and Arduino programs. Its a bootloader, nothing more. 4) 16bit by the IDE, just got patched. Use the nightly IDE of course 5) No build a bridge, or control it directly with the 16u2. Or build you custom HID device 6) the link is broken, see this: https://github.com/NicoHood/HoodLoader2/tree/fast-usbserial/examples/HID-Bridge

IDK it should be all in the wiki. I am wondering where exactly this information is missing.

Why dont you use a 32u4 for everything if you have the choice? Then you dont need this bridge thing.

Please email me back. Instructions are on my website, linked above. I will not answer to this github issue again. Thanks for your understanding.