Hardware abstractions for PROS and the VEX V5
This PROS template aims to simplify interactions with devices, and implement a common interface so virtually any custom sensors can be used in projects which depend on this template.
-
Uncompromising error handling
-
Motor Class
- Changing encoder units don't affect reported angle
- Differentiation between 11W and 5.5W motors
- -1.0 to +1.0 power levels, adjusts automatically to motor type
- Type Safe enums
-
Motor Groups
- Motor disconnects/reconnects don't affect reported angle
- Adding motors automatically sets their brake mode and measured angle
- Removing motors doesn't affect the measured angle
- Automatic per-motor gear ratio calculations. Just input port and cartridge. Supports different cartridges in the same group
-
Abstract Encoders
- Generic interface for any encoder
- Support for all VEX encoders, as well as any custom encoder for use in VEX AI (VAIRC) or VEX U (VURC)
- All custom encoders
- Motors / Motor Groups
- V5 Rotation Sensor
- Optical Shaft encoder
-
Abstract Gyro
- Generic interface for any gyro
- Support for VEX gyros, as well as any custom gyros for use in VEX AI or VEX U
- All custom gyros
- V5 Inertial Sensor
- V5 GPS Sensor (pending viability tests, gyro only)
This template is geared for developers of PROS templates such as LemLib and its users, especially VURC and VAIRC teams.