All PC programs that are generated by HIDmaker FS follow the powerful HIDmaker Software Framework, which is modern and object-oriented, as is the vast majority of PC software these days.

In addition to the object class that represents the main window or "form" of your PC program (which is custom generated for each new project), the HIDmaker Software Framework provides the following classes:

  • THidDev, a class that represents your HID peripheral device, which may contain multiple USB Interfaces. This class is custom-generated by HIDmaker FS for each new project. This class is given a different name for each HIDmaker project, so if you want, you could even make PC programs that can talk to several different kinds of HIDmaker devices.  You could make a single program that could communicate with, or configure, several different products from your company.
  • TOneHidVar, a class that represents one single USB HID data item or Variable, with all its attributes. The THidVars (device) class actually contains multiple objects of class TOneHidVar: one for each data variable contained in the device. The TOneHidVar class definition remains the same for all variables in all HIDmaker FS projects.
  • HIDagent, or its ActiveX counterpart HIDagentX, is the low-level "engine" that does all the hard work of opening HID devices, accessing HID data items, and packing and unpacking Reports for you.

The true power of the HIDmaker Software Framework can be seen by how easy and natural it makes the tasks you need to do (Visual Basic syntax shown):

Set the value of a HID variable:

MyDevice.AVariable.UnscaledValue = 5

Pack this variable into its Report and send it to the device:

Call SendOutputReportA()