The IN32 peripheral lets you receive inputs from 32 binary channels. The inputs can be individually configured to send an update when the input value changes.
The IN32 peripherals must be used with the IN32 card.
The IN32 has 32 channels of 5 Volt tolerant input. The inputs are on a 32 by 3 pin header. A screw terminal input lets you set the voltages on the second and third pins of the 3-pin headers. The inputs are sampled every 10 milliseconds. The IN32 card uses the ESPI 7474 circuit so it has reliable operation even when mounted some distance from the FPGA card.
More information about the IN32 card can be found here cards/in32.html.
Resources for the IN32 peripheral include a read-only data register and a read-write configuration register to determine which pins are monitored for changes.
inputs : the value of the thirty-two inputs. A dpget on this resource returns the current values of all 32 input pins. A dpget requires a round trip over the USB-serial link and may take a few milliseconds. Pin values are given as a hexadecimal number with the value of the lowest numbered input in the LSB.
When used with dpcat this resource reports the new value of the pins after one of the monitored pins changes value. Use this resource to wait for changes on the monitored pins.
interrupt : which inputs to monitor. A change on a monitored pin causes a packet to be sent to the host. The packet contains the new values of all 32 inputs and is made available as a line of dpcat output on the 'inputs' resource.
To monitor all 32 inputs for changes use the following:
dpset in32 interrupt ffffffff dpcat in32 inputs