The P1-02HSC High-Speed Input Module provides two independent single ended 5-24 VDC inputs that accept up to 100kHz of pulse/direction and quadrature signals.
int channelOneCounts = HSC.CNT1.readPosition(); // Returns current position of channel 1
Configuration
The P1-02HSC is a highly configurable specialty module. Because of this it is configured through custom functions unlike other P1000 I/O modules. "HSC.configureChannels();" must be called to write any new configuration settings to the P1-02HSC.
HSC.CNT1.isRotary = false;
HSC.CNT1.enableZReset = false;
HSC.CNT1.inhibitOn = false; //oneZ, threeIn, twoZ, fourIn
HSC.CNT1.mode = stepDirection; //quad4x, quad1x
HSC.CNT1.polarity = positiveDirection; //negativeDirection
HSC.CNT2.isRotary = false;
HSC.CNT2.enableZReset = false;
HSC.CNT2.inhibitOn = false; //oneZ, threeIn, twoZ, fourIn
HSC.CNT2.mode = stepDirection; //quad4x, quad1x
HSC.CNT2.polarity = positiveDirection; //negativeDirection
HSC.configureChannels(); //Load settings into HSC module. Leave argument empty to use default CNT1 and CNT2
Compatible Functions
Check out how to use the HSC functions through the examples included with the P1AM Arduino and CircuitPython library.
Check out how to use the HSC functions through the examples included with the P1AM CircuitPython library. Find them in specialty module section of examples in the Arduino IDE or view them online on GitHub.

Counters: 2
General Purpose inputs: 2
Output Type: Open Drain Sinking or Sourcing
Rated Voltage: 5-24V
Examples:
Arduino
CircuitPython
Additional Resources:
Data Sheet
P1-02HSC
on AutomationDirect.com