13
© Sealevel Systems, Inc.
4030 Manual | SL9362 9/2021
Programming the PIO-48
Sealevel’s SeaI/O software is provided to assist in the development of reliable applications for the Sealevel
Systems family of digital I/O adapters. Included on the SeaI/O CD are driver functions for use in accessing
the I/O as well as helpful samples and utilities.
Programming for Windows
The SeaI/O API (Application Programmer Interface) provides a variety of useful high-level function calls
implemented in a Windows dynamic link library (DLL). The API is defined in the help file
(Start/Programs/SeaIO/SeaIO Help) under “Application Programmers Interface.”
This help file also
includes detailed information dealing with installation / removal of the software and information about
latency, logic states, and device configuration.
For C language programmers we recommend using the API to access the PIO-48. If you are programming
in Visual Basic, using the ActiveX control included with SeaI/O is advised.
Samples and Utilities
A variety of sample programs and utilities (both executable and source code) are included with SeaI/O.
Further documentation on these samples can be found by selecting “Start/Programs/SeaIO/Sample
Application Description
.”
Information about where the files are physically stored on your disk is also
included in this same file.
Programming for Linux
SeaI/O for Linux consists of two major parts: a kernel module and a library. The kernel module is a simple
IO pass-through device, allowing the library to handle the more sophisticated functions provided to SeaI/O
users. It is provided in a ‘tarball’ format and can easily be compiled and included in the kernel build.
Direct Hardware Control
In systems where the
user’s
program has direct access to the hardware (DOS) the tables that follow give
the mapping and functions that the PIO-48 provides.
Reading the Inputs
The inputs are active true. If an input is driven high (2V to 5.25 V) it will read as a logical one, if driven low
(0V to 0.8V) it will read as a logical zero. If an input is not driven it will read as a one due to the 10K ohm
pull up resistors on each port.
Reading the Outputs
The value that is currently being used to drive the outputs will be returned.