High Quality Source Code
To give you a better idea of how much HIDmaker actually does for you, let's look at HIDmaker's generated source code from a sample USB Human Interface Device (USB HID) project that you can easily make with HIDmaker FS .
This project contains one single Interface, with one Input Report and one Output Report. The project uses the following variables:
Input Report A :
In8bit - 8 bit simple variable
In9bit - 9 bit simple variable
In16bitArray - array variable, 15 elements, each 16 bits long
In13bit - 13 bit simple variable
In5bit - 5 bit simple variable
In8bitArray - array variable, 63 elements, each 8 bits long
Output Report B :
Out8bitArray - array variable, 6 elements, each 8 bits long
Out7bit - 7 bit simple variable
By the way, we said that this is an easy project to make with HIDmaker FS . We did NOT say it would be an easy project to make without HIDmaker!
Notice the mixture of simple variables and arrays in both Reports. Especially take note of the odd-sized data items (5-, 9-, and 13-bit items) mixed in with arrays having 8-bit byte and 16-bit word sized array elements. If you look closely, you'll realize that the Input Report is larger than a single 64-byte packet, AND that one of the In8bitArray elements will actually straddle the boundary between the two packets that will have to transfer this Report.
All of these challenges are perfectly legal in a standard HID device. HIDmaker FS handles situations like this easily and automatically, so you never even have to give it a second thought.
Oh, and HIDmaker's code handles this stuff correctly, perfectly, every time. With every combination of data types that the HID standard allows. That's because HIDmaker FS makes real HID devices.
This is just a little baby project for HIDmaker FS , but you will never see a project this complex among those "free" sample programs that you see on the web, or from those semiconductor manufacturers or compiler companies. That's because they haven't got a clue of how to do packing and unpacking. Most of them don't even know how to handle amounts of data that are larger than a single packet!
Click the links below to see some parts of the source code, for YOUR favorite compilers, that HIDmaker FS has generated for this project.