NextFTC Hardware
NextFTC's hardware layer. It wraps the raw FTC SDK hardware classes — motors, servos, IMUs, distance/color/digital sensors, odometry computers, and vision sensors like Limelight and HuskyLens — in Kotlin classes that lazily resolve devices from the hardware map or Lynx modules on first use, instead of requiring manual hardwareMap.get(...) calls everywhere.
The root package holds shared infrastructure (RobotController, LazyHardware, Caching, AnalogFeedback) that centralizes hardware-map/event-loop access and avoids redundant hardware reads and writes. Several wrappers lean on the control module directly: NextMotor uses its PID/feedforward controllers for closed-loop control, and NextIMU, NextPinpoint, and NextLimelight return its Pose2d/Rotation2d geometry types.
Packages
Shared infrastructure: RobotController, a singleton for accessing the hardware map and control/expansion hubs; LazyHardware, a delegate that initializes a device on first access; Caching, a delegate that skips a hardware write if the value hasn't changed; and AnalogFeedback, a delegate that converts an analog voltage reading into an Angle.