I am using a Arduino Uno R3 (ATmega16u2)to make a huge HID joystick. (it will be used to control dj software that accepts any HID input)
I found a LUFA code base to expand upon Unojoy Help has been hard to come by and some of it has been cryptic for a beginner
Never the less I started climbing the learning cliff (2 months ago) Now I have a fully working HID device that has 128 buttons and 48 * 8 bit analogues, so my device puts out a 64 byte HID report, So far so good.
Now I want to add more analogue inputs (32 * 16 bit)
(I know the Arduino only provides 10 bit ADC, I chose 16 bit for simplicity of HID data alignment)
I added my new inputs into my report descriptor,
I included these inputs in the various places in the same manner that I expanded the code before.
Now my device puts out 128 bytes but the second 64 bytes is a copy of the original 64, it's like it has sent the first 64B 'chunk' twice.
(I am using a HID analyser to 'see' this result)
Does this problem sound familiar to anyone without me posting code?
code is attached but because I am new to HID and coding I don't really know what is important or what can be taken for granted, thus it is fairly lengthy.
If more information is required I shall try to answer.
Thanks for reading this far, I'll stop now before I type 'I need help', in block capitals with the addition of nine exclamation marks.
usb_gamepad.c (30.1 KB)
usb_gamepad.h (7.23 KB)
UnoJoy.c (19.8 KB)
WORKING.ino (17 KB)