Let's face it: Windows driver development is not exactly one of the easiest disciplines to jump into. As espoused here at OSR, you can't just "cowboy" a Windows driver into existence; it takes an enormous amount of time and effort to understand the fundamentals (never mind the subtle nuances) of writing a driver for your particular device.
OSR has been instructing driver development seminars for years, using actual hardware devices to facilitate the learning process. After all, how can you possibly learn to write drivers without feedback from a real device? The popularity of this legitimate working environment for learning to write drivers prompted OSR to embark on a quest to find cheap, purposeful, useful devices--and get them into the hands of the Windows driver development community.
Turns out, it was a lot harder to make this happen then we'd anticipated, but we're all about perseverance here at OSR. Thus, we're pleased to announce the availability of the first in a series of hardware devices to help Windows driver writers: OSR's USB-FX2 Learning Kit.
The OSR USB FX2 Learning Kit is based on the very popular and well-known Cypress Semiconductor USB FX2 chipset. The board supports both high-speed and full-speed operation. In addition to the mandatory control endpoint (endpoint 0), the board implements three other endpoints:
-
An interrupt endpoint. The board sends data to the system indicating the current state of its switchpack each time a switch position it changed.
-
A pair of bulk endpoints in a loopback configuration. Data sent to the board is looped back to the system. The board lights one bar in the vertical bar-graph display (on the left of the board) for each 10 data packets sent on its bulk endpoint.
The board implements selective suspend and can be used to wake the system under driver control (via the button at the top of the board). The board also supports Vendor commands (via endpoint 0) to get the state of the various displays or the switchpack, and to set the state of the various displays on the board.
Because we know that you'll have this board hanging around in your office, attached to your test machine, sitting on heavens-knows-what kind of surface, the bottom of the board is protected by an eighth-inch foam pad. Not only does this pad insulate the back of the board--preventing nasty short circuits--but it also makes the board a bit more stable and slip-resistant.
The OSR USB-FX2 Learning Kit includes:
-
The board itself (approx 3x4 inches).
-
Online documentation describing the board's functions.
-
A sample WDM driver (available via download) which serves as an example of a USB WDM driver, and demonstrates all features of the board (including selective suspend).
This board is being provided to the Windows driver development community at cost. Maybe we should say that again. This board is being provided to the Windows driver development community at cost-- via a 15% discount for members of OSR Online.
To order this board, get thee to the lefthand sidebar of this page, click on "Store" in the navigation menu, and order a handful for yourself and your compatriots.
Keep checking back in with the OSR Store... we now have a PIO board available, and a couple more options are under consideration/ development as well!
