PIO-D96

Visitor 269 Last updated Wednesday, 13-Aug-2003 13:56:13 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-D96.

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_Pn
Port n. The n is the port number. For example, the IXPIO_P0 represents the Port 0. The maximum value of the n is depended on the device (card) you are using, which can be found from the hardware manual.
IXPIO_PC[a]
Port Configuration [a]. The [a] is an option to specify the configuration-port. For example, the IXPIO_PCA generally represents the configuration for port 0 to 2, the IXPIO_PCB represents the configuration for port 3 to 5, and so on in the same rule. Omit the [a], the IXPIO_PC is identical to the IXPIO_PCA. Some devices (cards) have 3 configuration ports, some have only 1, which can be found from the hardware manual.

Examples

list.c
An example for gatting device information.
piod96/fc.c
An example for interrupt handling, which acts like a frequency counter.
piod96/int.c
An example for interrupt handling.
piod96/port.c
An example IO port operating.

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