PIO-D48

Visitor 662 Last updated Wednesday, 13-Aug-2003 10:32:06 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 which can be used in structure ixpio_reg for the PIO-D48.

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_8255PA    IXPIO_82551PA
8255 chip 1 port A (R/W)
IXPIO_8255PB    IXPIO_82551PB
8255 chip 1 port B (R/W)
IXPIO_8255PC    IXPIO_82551PC
8255 chip 1 port C (R/W)
IXPIO_8255CW    IXPIO_82551CW
8255 chip 1 control word (R/W)
IXPIO_82552PA
8255 chip 2 port A (R/W)
IXPIO_82552PB
8255 chip 2 port B (R/W)
IXPIO_82552PC
8255 chip 2 port C (R/W)
IXPIO_82552CW
8255 chip 2 control word (R/W)
IXPIO_8254C0    IXPIO_82541C0
8254 chip 1 counter 0 (R/W)
IXPIO_8254C1    IXPIO_82541C1
8254 chip 1 counter 1 (R/W)
IXPIO_8254C2    IXPIO_82541C2
8254 chip 1 counter 2 (R/W)
IXPIO_8254CW    IXPIO_82541CW
8254 chip 1 control word (R/W)

Examples

list.c
An example for gatting device information.
piod48/port.c
An example for IO ports operating.
piod48/int.c
An example for interrupt handling. This program configures driver to send signals in same signal id for the four interrupt channels.
piod48/counter.c
An example for PIO-D48 counter manipulation.

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