Blunk Microsystems supports a family of drivers for IndustryPack digital I/O modules. These drivers provide turnkey operation when used with TargetOSTM, Blunk Microsystems' full-featured royalty free real time operating system. The table below shows the number of I/O lines supported by each IndustryPack module.
A seven function application program interface is provided: DigInit(), DigOpen(), DigRead(), DigWrite(), DigReadBack(), DigReadField(), and DigClose(). Error checking is performed on function parameters. Critical regions of the drivers are protected by TargetOS, supporting use in multitasking applications.
Using DigOpen(), I/O lines are grouped into fields modeled after C's bit fields. DigOpen() returns a field identifier used by subsequent DigRead() and DigWrite() calls to read and write fields of the defined width that are transparently clipped and shifted by the driver. Fields as wide as 32 I/O lines may be defined.
DigReadBack() reads the last value written to a field, rather than its current output. Output loading can cause a line that is outputting a one to be read by DigRead() as a zero. DigReadBack() is useful when performing arithmetic on a field, such as incrementing or decrementing.
DigReadField() reads a field defined by a beginning and ending I/O line number, not a field identifier. This allows reading a field that may be in use by another task. DigRead() requires DigOpen() which returns an error if any of the requested I/O lines are currently open. Only reading of an unopened field is allowed. Before writing to a field, it must be opened using DigOpen().
Shipped with sample applications that may be used as the starting point for user applications. One sample creates a control panel on any VT100-compatible terminal that continuously monitors and displays the status of each I/O line. The state of each line can be set with a key press. Another application demonstrates use of the driver by multiple tasks. Errors are introduced to demonstrate the driver's error checking ability.
Tested on the VIPC860, VIPC360, and VIPC610 IndustryPack carriers from SBS Modular I/O and the MVME162 IndustryPack carrier from Motorola.
Integrated with CrossStep™, the IDE for embedded development from Blunk Microsystems with an integrated compiler and kernel-aware debugger, visual code editor, search and replace tool, BDM for board bring-up, and fast Ethernet download.
Royalty free. Includes full ANSI C source code, user's manual, and one year of technical support.