PIO-D144

Visitor 701 Last updated Tuesday, 12-Aug-2003 17:58:27 CST

Supported Models
PIO-821
PIO-D144
PIO-D168
PIO-D24
PIO-D48
PIO-D56
PIO-D64
PIO-D96
PIO-DA16/DA8/DA4
PISO-725
PISO-730
PISO-730A
PISO-813
PISO-A64
PISO-C64
PISO-DA2
PISO-ENC300/600
PISO-P32A32
PISO-P32C32
PISO-P64
PISO-P8R8/P8SSR8AC/P8SSR8DC
PISO-PS300
Valid XHTML 1.0! Valid CSS!

Source Codes Tour
Device File
ioctl Commands
Data Types
Registers
Examples

Device File

/dev/ixpion

The n is the PIO device number.

ioctl Commands

IXPIO_GET_INFO
Retrieve a device's information, and put it into the ixpio_devinfo (ixpio_devinfo_t) structure.
IXPIO_REG_READ
Read a specified register's value, and put the value into the ixpio_reg (ixpio_reg_t) structure.
IXPIO_REG_WRITE
Write a given value to a specified register.
IXPIO_SIG
Set an interrupt signal plan. If there already signal plans are listed, This command will remove them all then install the new one.
IXPIO_SIG_ADD
Add an interrupt signal plan. If there already signal plans are listed, this command will append the new one to the list.
IXPIO_SIG_DEL
Delete the specified signal plan.
IXPIO_SIG_DEL_ALL
Delete all signal plans listed in the device.
IXPIO_KEEP_ALIVE
This command prevent the signal plans or analog output patterns to be deleted when closing the device.
IXPIO_NO_KEEP_ALIVE
Cancel the KEEP_ALIVE command.

Data Types

ixpio_devinfo_t
The data type of structure ixpio_devinfo which contains information to represent a device (card). This structure is generally used by the ioctl IXPIO_GET_INFO command.
ixpio_reg_t
The data type of structure ixpio_reg that contains a register's id and value. This structure is used by the ioctl IXPIO_REG* commands.
ixpio_signal_t
The data type of structure ixpio_signal that contains process id, signal id, and signaling condictions. This structure is used by the ioctl IXPIO_SIG* commands.

Registers

Available registers that can be used in the ixpio_reg structure for the PIO-D144.

IXPIO_RCR
Reset Control Register (R/W)
IXPIO_ACR
AUX Control Register (R/W)
IXPIO_ADR
AUX Data Register (R/W)
IXPIO_IMCR
INT Mask Control Register (R/W)
IXPIO_ASR
AUX Pin Status Register (R/W) The ASR is directly handled by device driver. Write to the register is not recommended! Instead of directly write to it, use the IXPIO_SIG ioctl command to set the interrupt signaling condictions.
IXPIO_IPCR
Interrupt Polarity Control Register (R/W) The IPCR is directly heandled by device driver. Write to the register is not recommended! Instead of directly write to it, use the IXPIO_SIG ioctl command to set the interrupt signaling condictions.
IXPIO_8DR
8-bit Register (R/W).
IXPIO_AIOPCR
Active I/O Port Control Register (R/W)
IXPIO_IOSCRA
I/O Select Control Register A (W)
IXPIO_IOSCRB
I/O Select Control Register B (W)
IXPIO_IOSCRC
I/O Select Control Register C (W)

Examples

list.c
An example for gatting device information.
piod144/port.c
An example for IO ports operating.
piod144/int.c
An example of interrupt handling. This program configures driver to sned signals in same signal id for the four interrupt channels.
piod144/int2.c
An example of interrupt handling. This program configures driver to send signals in different signal id for the four interrupt channels.

Emmy Tsai <emmy@omega.com> | We are at Your Service <service@omega.com>