I think you are referring to usb.pas ?!
If so, this usb.pas is tailor made for my application.
It is a measurement system with sometimes over 25 mcu's. All connected by USB.
All mcu's have a serial, so that the app can distinguisch them.
On initial connect, a serial is generated by the main system, and stored in firmware of the mcu.
If you do not connect multiple identical USB HID devices onto a single system, then you do not need the whole serial selection protocol.
Just use:
Code:
HidCtl.OnArrival:= DeviceArrival;
HidCtl.OnRemoval:= DeviceRemoval;
Also adjust
Code:
TReport = packed record
ReportID: byte;
Data: array [0..15] of byte; // adjust 15 to fit your datapacket lenghth (often 64 bits so 63 is a good guess!!)
end;