net.ironpulse.Constants
: All constants include PID, gear ratio, CAN ID, etc.
net.ironpulse.Main
: Program entrance
net.ironpulse.Robot
: Robot instance
net.ironpulse.RobotContainer
: Robot instance configs
net.ironpulse.commands
: All commands (
see Command-based Programming)
net.ironpulse.subsystems
: All subsystems
net.ironpulse.telemetries
: All telemetry (Data shown in the AdvantageScope)
Usually, to finish a subsystem, you have to firstly config the motors in a subsystem class.
Then, implement many commands for it in order to complete some actions. A telemetry class is also needed.
A telemetry class should provide a telemeterize()
method. It will then be passed into a registerTelemetry()
method
in the subsystem.
- Use METER as the unit of length. NO INCHES, FEET AND YARDS. NO CENTIMETERS AND MILLIMETERS. Transition will be stated explicitly.
- Use DEGREE as the unit of angle. NO RADIANS.
- Take COUNTER-CLOCKWISE (abbreviated as CCW) as the positive direction of rotation. NO CLOCKWISE (abbreviated as CW) unless stated explicitly.
- Use RPM as the unit for rotational velocity.
All these units should be wrapped by the Units API.
All the codes MUST be submitted through a pull request on GitHub. Directly pushing code into the repository is not allowed.
Please follow the coding rules. The pull request not following the rules will not be merged.