LLABS USB Class
Links to downloadable sample source code and applications for developer's review
download archive of all class documentation


Special note: To keep files small, the following links to developer's source code and workspaces do not contain device drivers or DLL's required for running the sample applications. If you currently have our hardware and would like to run the sample applications linked to below, you will need to download the required device drivers, DLLs, and installation files linked to in the "miscellaneous" table further down.
Special note2: When including the class library or .obj files, some version of Visual-C++ compiler may give non-fatal "library compatibility" warning when building "GUI" style application. The warning creates no problem for the final build but if you have a problem with the warning, you can make the linker-suggested changes to your build environment or you may include the actual class source code in your project without any errors. All the various ways of including the class are linked to below.

 
-- Visual C++ development --
The following archives contain workspace, along with header files
and/or .obj, .lib, and .cpp files for classes as indicated below.




? = link to help topic
Using   _SP style functions with class library and header files
     ** This is a good starting point for getting a feel for using the USB Class
?
 
Console  
Developing with class source code   (advanced usage)
?
GUI
Console  
Developing with class library and header files
?
GUI
Console  
Developing with class object file and header files
?
GUI
Console  


-- Miscellaneous --
Class .cpp, header, and compiled .lib and .obj files   (includes Visual C++ workspace)
?
Win98/ME/2k/XP
Class .cpp, header, and compiled .lib and .obj files   (DOES NOT include Visual C++ workspace)
?
Win98/ME/2k/XP
Driver and DLL compatibility checker (all Windows platforms) --
      -- utility to detect driver and DLL version compatibility
?
archive

documentation
DLL only
?
Win98/ME
Win2k/XP  
Driver only
?
Win98/ME
Win2k/XP  
Drivers, DLLs, everything to make installation diskette
?
Win98/ME/2k/XP


































Using class source code
for application development

The class source code (.cpp) files are included for better understanding of the interraction between the class, DLL, and other resources used by the class. Although it's not recommended, class modification is possible to taylor the class to fit specialized application requirements. The class .cpp files can be included in your build instead of using the precompiled version in the form of a .lib or .obj.

use browser BACK button to return to where you were




























Using class library
for application development

The class library is a compiled version of the class. Include the "USB_clss.lib, LL_Types.h, and USB_clss.h" in your build environment. Some versions of the VisualC++ may give a build "warning" when including the library in your build of GUI style applications but no error in console style builds. The warning doesn't appear to create any problems in the final build and modification of the project build options will eliminate the warning message.

use browser BACK button to return to where you were




























Using class object file
for application development

The class object file is created by compilation of the class source. Include the "USB_clss.obj, LL_Types.h, and USB_clss.h" in your build environment. Some versions of the VisualC++ compiler may give a build "warning" when including the object file in your build of GUI style applications but no error in console style builds. The warning doesn't appear to create any problems in the final build and modification of the project build options will eliminate the warning message.

use browser BACK button to return to where you were




























Using class library with _SP style functions
for application development

The use of _SP style class member functions is recommended when only a single one of our USB devices will be connected to a system. The _SP style class member functions will search for the connected device rather than having to write code that requires a device ID entry. The flexibility for changine the rate, channel, and other options are still provided or all default values can be used which greatly simplifies development when only a single device is being used on a system.

The class library used in the sample application that demonstrates the usage of the _SP style functions is a compiled version of the class. Although there should be no compilation errors when using the console style sample application, some versions of the VisualC++ may give a build "warning" when including the library in GUI style application builds. The warning doesn't appear to create any problems in the final build and modification of the project build options will eliminate the warning message.

use browser BACK button to return to where you were




























Using class source and header files
for application development

The class source code (.cpp) and header files are included in a separate workspace environment. This is what we use to create the library and .obj files disussed elsewhere within this document. The .obj and .Lib files are already built in this archive so you can simply include either of them in your workspace along with the header files for you application development.

As mentioned elsewhere, you are free to modify these files to fit your specific development needs but you do so at your own risk.

use browser BACK button to return to where you were




























Using class .cpp, headers, .lib, and .obj files
for application development

The class source code (.cpp). header files (.h), library (.lib), and object (.obj) are included in this archive. These are all of the files that you need to include in your application development. You will only need a few of these files for you application development depending on the development method you decide to use. You will always need to include the header (.h) files in your build. If you include the .cpp file you won't need the .lib or .obj. If you include the .lib, you won't need the .obj or .cpp, and if you include the .obj you won'te need the .lib or .cpp.

As mentioned elsewhere, you are free to modify these files to fit your specific development needs but you do so at your own risk.
The following files are included in this archive

LL_Types.h
USB_clss.h
USB_clss.cpp
USB_clss.obj
USB_clss.lib

use browser BACK button to return to where you were




























Using VerChk.exe
DLL / Driver   compatibility testing

-- DESCRIPTION --
VerChk is designed to check compatibility between our USB Device Driver and DLL that you are using. Compatibility issues can occur if a new DLL is used without updating the driver. Also occassionally a DLL or Driver will be placed in a particular directory which has dominance in the search path and even though a new driver and DLL are placed in the recom- mended directories, they won't be used by the operating system since the other copies in "first search" directories are present.

-- USAGE --
Copy VerChk.exe into same directory as application and DLL. Note that the DLL should always be located in the application directory. VerChk will scan disks and system memory for copies of DLL and system driver. It will interrogate the DLL in the current directory to find out which version of the driver it is expecting to run. It will also check to see if the copy of the driver loaded in memory is the same version as the copy that is located on the disk. A mismatch of the memory and disk version can occur if a driver is copied to the appropriate directory, but all devices are not then disconnected and reconnected, allowing the new driver to load into memory. It is always recommended that you reboot your computer after copying a new version of the driver to the appropriate directory as recommended in the installation documentation. When a new driver is installed by the operating system it will automatically unload the old driver from memory and load the new one, or advice you to reboot. VerChk also gives you the opportunity to display a listing of all the copies of the DLL and driver on your system's disk drives. VerChk will also give you the option for it to delete from your drives all copies of the DLL and driver except the copy of the DLL located in the current directory and the copy of the driver located in the appropriate system32 directory.

use browser BACK button to return to where you were




























Using DLL
with your application

The DLL must be used by any application that makes use of our USB devices. The DLL is an interface between your application and our device driver. It is important to use the version of DLL that is compatible with the version of our device driver presently on your system and a version checker utility is provided and documented elsewhere within this documentation.

The DLL is offered in a separate archive for those who may have accidentally deleted their current DLL or for whatever reason you may need a single copy of the DLL and don't want to download the complete installation archive containing drivers, DLLs and installation files for all of the Windows platforms - even ones you may not be developing for.

use browser BACK button to return to where you were




























Using the device driver
with your application

The device driver must be installed on a system in order to interract with our USB hardware. The device driver and DLL (discussed elswhere) offer an interface between your application and our USB hardware. It is important to use the version of device driver that is compatible with the version of the DLL presently on your system and a version checker utility is provided and documented elsewhere within this documentation.

The device driver is offered in a separate archive for those who may have accidentally deleted their current device driver or for whatever reason you may need a single copy of the device driver and don't want to download the complete installation archive containing drivers, device drivers and installation files for all of the Windows platforms - even ones you may not be developing for.

use browser BACK button to return to where you were




























Using the installation files
with your application development and distribution

The installation files archive contains everything necessary for installation of our USB devices. Open the archive onto a diskette and use the same diskette for installing on any Windows platform. The installation file "LL_USB.INF" will install the correct driver for your platform. You will need to use the correct DLL for your platform and locate that DLL within your application directory. The following files are included within the archive:

LL_USB2k.DLL
LL_USB.DLL
LL_USB.INI
Install.htm
LL_USB.INF
LL_USB2k.sys
LL_USB.sys
Install.doc


use browser BACK button to return to where you were
















lawsnlab@lawsonlabs.com
last modified: 7-30-02