Fang API¶ Page Hierarchy¶ Todo List Deprecated List Full API¶ Namespaces¶ Namespace Board Namespace config Namespace config::pwm Namespace fang Namespace fang::algorithm Namespace fang::chassis Namespace fang::chrono Namespace fang::command Namespace fang::emergency Namespace fang::error Namespace fang::math Namespace fang::motor Namespace fang::physics Namespace fang::robot Namespace fang::stl Namespace fang::system Namespace fang::turret Namespace modm Namespace modm::can Namespace modm::literals Namespace modm::platform Namespace motor Namespace motor::brushless Namespace rail Namespace rail::chassis Namespace std Namespace system Namespace tap Namespace tap::algorithms Namespace tap::algorithms::ballistics Namespace tap::algorithms::odometry Namespace tap::algorithms::transforms Namespace tap::arch Namespace tap::arch::clock Namespace tap::buzzer Namespace tap::can Namespace tap::communication Namespace tap::communication::referee Namespace tap::communication::sensors Namespace tap::communication::sensors::current Namespace tap::communication::sensors::imu Namespace tap::communication::sensors::imu::bmi088 Namespace tap::communication::sensors::imu_heater Namespace tap::communication::sensors::imu_heater::bound_ports Namespace tap::communication::sensors::voltage Namespace tap::communication::serial Namespace tap::communication::serial::bound_ports Namespace tap::control Namespace tap::control::chassis Namespace tap::control::governor Namespace tap::control::setpoint Namespace tap::control::turret Namespace tap::encoder Namespace tap::errors Namespace tap::gpio Namespace tap::motor Namespace tap::sensors Namespace trap Namespace trap::algorithms Namespace trap::communication Namespace trap::communication::sensors Namespace trap::control Namespace trap::control::chassis Namespace trap::gpio Namespace trap::motor Namespace units::literals Classes and Structs¶ Struct SystemClock Struct AzrielShredder::Config Struct ChassisInputHandler::Config Struct ChassisInputHandler::KeyboardConfig Struct ChassisInputHandler::RemoteConfig Struct FieldDriftCommand::Config Struct MecanumDrive::ChassisDimensionConfig Struct MecanumDrive::Config Struct PierceMecanumDrive::Config Struct RobotMecanumLogic::Config Struct ShurikenCommand::Config Struct TardisCommand::Config Struct UltraMk2BaseQuaddrive::Config Struct UltraMk2MecanumDrive::Config Struct PierceCommandPack::CommandConfig Struct PierceCommandPack::ComputerMapping Struct PierceCommandPack::Config Struct PierceCommandPack::InputConfig Struct PierceCommandPack::MappingConfig Struct PierceCommandPack::RemoteMapping Template Struct Range Template Struct Vector2D Struct RepeatUltraMk2::Config Struct Pierce::Config Struct Pierce::SubsystemConfig Struct AimCommand::Config Struct BasicFieldPitchSystem::Config Struct BasicFlywheel::Config Struct ChassisFieldYawSystem::Config Struct GM6020BasicFieldPitch::Config Struct GM6020FieldYawSystem::Config Struct HeatLimiter::Config Struct M2006SimpleFeeder::Config Struct M3508BasicFlywheel::Config Struct PierceAmmoBooster::Config Struct PierceFieldGimbal::Config Struct SimpleAmmoBooster::Config Struct SimpleFeeder::Config Struct TurretInputHandler::Config Struct TurretInputHandler::MouseConfig Struct TurretInputHandler::RemoteConfig Struct AbstractKinematicState Struct SecondOrderKinematicState Template Struct CMSISMat Struct FuzzyPDConfig Struct SmoothPidConfig Struct Profiler::ProfilerData Struct AnalogCurrentSensor::Config Struct AbstractIMU::ImuData Struct Bmi088Data::Acc Struct Bmi088Data::Gyro Struct DJISerial::FrameHeader Template Struct DJISerial::SerialMessage Struct Rx::AirSupportData Struct Rx::ChassisData Struct Rx::DamageEvent Struct Rx::DartInfo Struct Rx::DartStationInfo Struct Rx::EventData Struct Rx::GameData Struct Rx::GroundRobotPositions Struct Rx::RadarInfo Struct Rx::RadarMarkProgress Struct Rx::RefereeWarningData Struct Rx::RobotBuffStatus Struct Rx::RobotData Struct Rx::RobotHpData Struct RobotHpData::RobotHp Struct Rx::RobotPosition Struct Rx::SentryInfo Struct Rx::SupplierAction Struct Rx::TurretData Struct Tx::DeleteGraphicLayerMessage Struct Tx::Graphic1Message Struct Tx::Graphic2Message Struct Tx::Graphic5Message Struct Tx::Graphic7Message Struct Tx::GraphicCharacterMessage Struct Tx::GraphicData Struct Tx::InteractiveHeader Struct Tx::RobotToRobotMessage Struct Remote::RemoteInfo Struct TerminalSerial::cmpByStringEquality Struct CommandScheduler::CommandIterator Struct CommandScheduler::SubsystemIterator Struct MoveIntegralCommand::Config Struct UnjamIntegralCommand::Config Struct DimensionalSmoothPid::Config Struct PowerLimiter::Config Struct PwmData Struct DjiGM6020::Config Struct DjiM2006::Config Struct DjiM3508::Config Class Butterworth Class IScaler Class AbstractFieldMecanumLogic Class AbstractMecanumCalculator Class AbstractRobotMecanumLogic Class AzrielShredder Class BaseQuadDrive Class BasicDownscaler Class ChassisInputHandler Class CounterStrikeCommand Class FieldDriftCommand Class FieldMecanumLogic Class HolonomicSubsystem Class MecanumCalculator Class MecanumDrive Class PierceMecanumDrive Class PowerQuadDrive Template Class QuadDriveData Class QuadDriveSubsystem Class RobotMecanumLogic Class ShurikenCommand Class TardisCommand Class UltraMk2BaseQuaddrive Class UltraMk2MecanumDrive Class UltraMk2PowerQuadDrive Class SimpleTimer Class CommandPack Class PierceCommandPack Class Drivers Class DriversSingleton Class CoolLerp Class RepeatUltraMk2 Class Vortex80AEsc Class BaseRobot Class IRobot Class Pierce Class ActivateBoosterCommand Class AimCommand Class AutofireCommand Class BasicFieldPitchSystem Class BasicFlywheel Class ChassisFieldYawSystem Class FieldGimbal Class FieldGimbalSubsystem Class GM6020BasicFieldPitch Class GM6020FieldYawSystem Class HeatLimiter Class M2006SimpleFeeder Class M3508BasicFlywheel Class PierceAmmoBooster Class PierceFieldGimbal Class SimpleAmmoBooster Class SimpleAmmoBoosterSubsystem Class SimpleFeeder Class SimpleFeederSubsystem Class TurretInputHandler Class UnjamCommand Class Mahony Class Angle Template Class Butterworth Template Class DiscreteFilter Class ExtendedKalman Class FuzzyPD Class FuzzyPDRuleTable Template Class FuzzyRuleTableInterface Template Class KalmanFilter Class LinearInterpolationPredictor Class LinearInterpolationPredictorWrapped Class ChassisDisplacementObserverInterface Class ChassisWorldYawObserverInterface Class Odometry2DInterface Class Odometry2DTracker Class Ramp Class SmoothPid Class AngularVelocity Class DynamicOrientation Class DynamicPosition Class Orientation Class Position Class Transform Class Vector Class WrappedFloat Template Class ConditionalTimer Template Class PeriodicTimer Class Profiler Template Class Timeout Class Can Class CanRxHandler Class CanRxListener Template Class StateHUDIndicator Class AnalogCurrentSensor Class CurrentSensorInterface Class AbstractIMU Class Bmi088Data Class Bmi088Hal Class final_mockable Class ImuInterface Class ImuTerminalSerialHandler Class ImuHeater Class SensorInterface Class VoltageSensorInterface Class DJISerial Class RefSerial Class RefSerialData Class RefSerialData::RobotToRobotMessageHandler Class RefSerialData::Rx Class RefSerialData::Tx Class RefSerialTransmitter Class Remote Class TerminalSerial Class TerminalSerialCallbackInterface Class Uart Class UartTerminalDevice Class ChassisSubsystemInterface Class PowerLimiter Class Command Class CommandMapper Class CommandMapperFormatGenerator Class CommandMapping Class CommandScheduler Class ComprisedCommand Template Class ConcurrentTemplateCommand Class CommandGovernorInterface Template Class GovernorLimitedCommand Template Class GovernorWithFallbackCommand Class HoldCommandMapping Class HoldRepeatCommandMapping Class PressCommandMapping Class RemoteMapState Class SafeDisconnectFunction Class SchedulerTerminalHandler Template Class SequentialCommand Class CalibrateCommand Class IntegrableSetpointSubsystem Class MoveAbsoluteCommand Class MoveCommand Class MoveIntegralCommand Class MoveUnjamComprisedCommand Class MoveUnjamIntegralComprisedCommand Class SetpointContinuousJamChecker Class SetpointSubsystem Class UnjamCommand Class UnjamCommandInterface Class UnjamIntegralCommand Class Subsystem Class ToggleCommandMapping Class TurretSubsystemInterface Class Drivers Class EncoderInterface Template Class MultiEncoder Class WrappedEncoder Class ErrorController Class SystemError Class Analog Class Digital Class Leds Class Pwm Class DjiMotor Class DjiMotorEncoder Class DjiMotorTerminalSerialHandler Class DjiMotorTxHandler Class DoubleDjiMotor Class M3508Constants Class MotorConstants Class MotorInterface Class Servo Class AnalogDistanceSensor Class DistanceSensor Class SharpIrGP2Y0A41 Template Class DimensionalSmoothPid Template Class Ramp Template Class Ramp2D Template Class SmoothPid Template Class WrappedFloat Class WrappedRadians Class IImu Class Imu Class PowerLimiter Class SubsystemEquivalent Class DjiGM6020 Class DjiM2006 Class DjiM3508 Enums¶ Enum QuadIndex Enum Directionality Enum TurretId Enum FilterType Enum CanBus Enum MotorId Functions¶ Function Board::initialize Function Config Template Function fang::chassis::operator*(const QuadDriveData<Data>&, double) Template Function fang::chassis::operator*(double, const QuadDriveData<Data>&) Template Function fang::chassis::operator== Function fang::emergency::killSystem Function fang::error::playFailedAssertBuzz Template Function fang::math::operator*(const Vector2D<double>&, const ScaleUnit&) Template Function fang::math::operator*(const ScaleUnit&, const Vector2D<double>&) Template Function fang::math::operator*(const double&, const Vector2D<Unit>&) Template Function fang::math::rotateVector2D Function fang::math::rotationMatrix2D Function fang::motor::motorToShaftSpeed Function fang::motor::shaftToMotorSpeed Template Function fang::stl::makeUniqueVector Function fastInvSqrt Function initializeIo() Function initializeIo() Function main Function modm_abandon(const modm::AssertionInfo&) Function modm_abandon(const modm::AssertionInfo&) Function modm_abandon(const modm::AssertionInfo&) Function motor::brushless::controllerVoltageToSpeed Function motor::brushless::speedToControllerVoltage Template Function reinterpretCopy Function strtokR(char *, const char *, char **) Function strtokR(char *, const char *, char **) Function tap::algorithms::ballistics::computeTravelTime Function tap::algorithms::ballistics::findTargetProjectileIntersection Function tap::algorithms::calculateCRC16 Function tap::algorithms::calculateCRC8 Function tap::algorithms::ceil Function tap::algorithms::compareFloatClose Function tap::algorithms::complex_abs Function tap::algorithms::complex_sqrt Function tap::algorithms::computeGain Function tap::algorithms::cross Function tap::algorithms::eulerAnglesFromQuaternion Template Function tap::algorithms::evaluateFrequencyResponse Template Function tap::algorithms::expandPolynomial Function tap::algorithms::fastInvSqrt Function tap::algorithms::fromEulerAngles Template Function tap::algorithms::getSign Template Function tap::algorithms::interpolateLinear2D Template Function tap::algorithms::limitVal Function tap::algorithms::lowPassFilter Template Function tap::algorithms::operator*(const CMSISMat<A_ROWS, A_COLS>&, const CMSISMat<B_ROWS, B_COLS>&) Template Function tap::algorithms::operator*(const CMSISMat<ROWS, COLS>&, float) Template Function tap::algorithms::operator*(float, const CMSISMat<ROWS, COLS>&) Template Function tap::algorithms::operator+ Template Function tap::algorithms::operator-(const CMSISMat<A_ROWS, A_COLS>&, const CMSISMat<B_ROWS, B_COLS>&) Template Function tap::algorithms::operator-(const CMSISMat<ROWS, COLS>&) Template Function tap::algorithms::operator/ Template Function tap::algorithms::reinterpretCopy Function tap::algorithms::rotateVector Function tap::algorithms::s2z Function tap::arch::bigEndianInt16ToFloat Template Function tap::arch::byteArrayToData Function tap::arch::clock::getTimeMicroseconds Function tap::arch::clock::getTimeMilliseconds Template Function tap::arch::convertFromBigEndian Template Function tap::arch::convertFromLittleEndian Template Function tap::arch::convertToBigEndian Template Function tap::arch::convertToLittleEndian Template Function tap::arch::dataToByteArray Function tap::buzzer::playNote Function tap::buzzer::silenceBuzzer Function tap::communication::sensors::imu::checkNeedsTab Function tap::communication::sensors::imu::printFloatVector Function tap::communication::serial::getRobotClientID Function tap::communication::serial::operator+ Function tap::communication::serial::operator- Function tap::control::mapStateEqual Function tap::control::operator!=(const CommandScheduler::CommandIterator&, const CommandScheduler::CommandIterator&) Function tap::control::operator!=(const CommandScheduler::SubsystemIterator&, const CommandScheduler::SubsystemIterator&) Function tap::control::operator!=(const RemoteMapState&, const RemoteMapState&) Function tap::control::operator==(const CommandMapping&, const CommandMapping&) Function tap::control::operator==(const CommandScheduler::CommandIterator&, const CommandScheduler::CommandIterator&) Function tap::control::operator==(const CommandScheduler::SubsystemIterator&, const CommandScheduler::SubsystemIterator&) Function tap::control::operator==(const RemoteMapState&, const RemoteMapState&) Function updateIo() Function updateIo() Variables¶ Variable config::pwm::k_pwmDutyMax Variable config::pwm::k_pwmDutyMin Variable d Variable errorDeadzone Variable errorDerivativeFloor Variable fang::robot::k_chassisConfig Variable fang::robot::k_chassisInputKeyboardConfig Variable fang::robot::k_chassisInputRemoteConfig Variable fang::robot::k_chassisPowerLimiterConfig Variable fang::robot::k_chassisPwmFreq Variable fang::robot::k_chassisRightSwitchContext Variable fang::robot::k_defaultDimensionConfig Variable fang::robot::k_defaultMotorConfig Variable fang::robot::k_fieldMecanumLeftSwitchActivate Variable fang::robot::k_fieldShurikenLeftSwitchActivate Variable fang::robot::k_pierceCommandConfig Variable fang::robot::k_pierceConfig Variable fang::robot::k_razielKalmanShredderConfig Variable fang::robot::k_tardisConfig Variable fang::robot::k_tardisLeftSwitchActivate Variable fang::robot::k_turretInputMouseConfig Variable fang::robot::k_turretInputRemoteConfig Variable fang::robot::k_unifiedMotorProperties Variable fang::robot::kActivateBoosterRemoteState Variable fang::robot::kAmmoBoosterConfig Variable fang::robot::kAutofireMouseState Variable fang::robot::kAutofireRemoteState Variable fang::robot::kBasicFieldPitchConfig Variable fang::robot::kChassisConfig Variable fang::robot::kChassisInputConfig Variable fang::robot::kChassisPowerLimiterConfig Variable fang::robot::kControllerInputVoltage Variable fang::robot::kFeederHeatLimiterConfig Variable fang::robot::kFeederMakerConfig Variable fang::robot::kFeederMotorConfig Variable fang::robot::kFeederMotorPidConfig Variable fang::robot::kFeederSystemConfig Variable fang::robot::kFieldMecanumConfig Variable fang::robot::kFieldMecanumKeyboardState Variable fang::robot::kFieldMecanumLogicConfig Variable fang::robot::kFieldMecanumRemoteState Variable fang::robot::kFlywheelMotorPidConfig Variable fang::robot::kFlywheelRadius Variable fang::robot::kFrontLeftMotorConfig Variable fang::robot::kFrontRightMotorConfig Variable fang::robot::kGimbalSubsystemConfig Variable fang::robot::kLeftFlywheelConfig Variable fang::robot::kLeftFlywheelMotorConfig Variable fang::robot::kLeftMotorInversion Variable fang::robot::kMotorConfigs Variable fang::robot::kMotorRampSpeed Variable fang::robot::kPierceCommandPackConfig Variable fang::robot::kPierceComputerMappingCOnfig Variable fang::robot::kPierceInputConfig Variable fang::robot::kPierceMappingConfig Variable fang::robot::kPierceRemoteMappingConfig Variable fang::robot::kPierceSubsystemConfig Variable fang::robot::kPitchMotorConfig Variable fang::robot::kPitchPidConfig Variable fang::robot::kPitchSystemConfig Variable fang::robot::kPwmFrequency Variable fang::robot::kPwmTimer Variable fang::robot::kRearLeftMotorConfig Variable fang::robot::kRearRightMotorConfig Variable fang::robot::kRightFlywheelConfig Variable fang::robot::kRightFlywheeMotorConfig Variable fang::robot::kRightMotorInversion Variable fang::robot::kShurikenConfig Variable fang::robot::kShurikenModeKeyboardState Variable fang::robot::kShurikenModeRemoteState Variable fang::robot::kTardisModeKeyboardState Variable fang::robot::kTardisModeRemoteState Variable fang::robot::kTurretAimConfig Variable fang::robot::kTurretInputConfig Variable fang::robot::kUltraMk2GearRatio Variable fang::robot::kUnjamMouseState Variable fang::robot::kUnjamRemoteState Variable fang::robot::kYawMotorConfig Variable fang::robot::kYawPidConfig Variable fang::robot::kYawSystemConfig Variable i Variable kMainLoopFrequency Variable maxIntegralAccumulation Variable maxOutput Variable p Variable tap::algorithms::ACCELERATION_GRAVITY Variable tap::algorithms::CRC16Table Variable tap::algorithms::CRC8Table Variable tap::communication::sensors::imu::GRAVITY_MPS2 Variable tap::communication::sensors::imu_heater::bound_ports::IMU_HEATER_TIMER Variable tap::communication::serial::bound_ports::REF_SERIAL_UART_PORT Variable tap::communication::serial::bound_ports::REMOTE_SERIAL_UART_PORT Variable tap::communication::serial::bound_ports::TERMINAL_SERIAL_UART_PORT Variable tQDerivativeKalman Variable tQProportionalKalman Variable tRDerivativeKalman Variable tRProportionalKalman Defines¶ Define CAST_ENC Define CRC16_INIT Define CRC8_INIT Define DEFAULT_SAMPLE_FREQ Define DELAY_MS Define DELAY_US Define DISALLOW_COPY_AND_ASSIGN Define DJI_MOTOR_TO_NORMALIZED_ID Define FANG_ASSERT Define final_mockable Define FREEZE_SYSTEM Define mockable Define NORMALIZED_ID_TO_DJI_MOTOR Define PROFILE Define RAISE_ERROR Define READ Define SUBJECT_BEING_INSPECTED Define twoKiDef Define twoKpDef Define UNUSED Typedefs¶ Typedef Board::DigitalInPinB12 Typedef Board::DigitalInPinPF0 Typedef Board::DigitalInPinPF1 Typedef Board::DigitalInPins Typedef Board::DigitalOutPinB13 Typedef Board::DigitalOutPinB14 Typedef Board::DigitalOutPinB15 Typedef Board::DigitalOutPinLaser Typedef Board::DigitalOutPins Typedef Board::ImuCS1Accel Typedef Board::ImuCS1Gyro Typedef Board::ImuHeater Typedef Board::ImuInt1Accel Typedef Board::ImuInt1Gyro Typedef Board::ImuMiso Typedef Board::ImuMosi Typedef Board::ImuSck Typedef Board::ImuSpiMaster Typedef Board::LedBlue Typedef Board::LedGreen Typedef Board::LedRed Typedef Board::LedsPort Typedef Board::PWMOutPinBuzzer Typedef Board::PWMOutPinC1 Typedef Board::PWMOutPinC2 Typedef Board::PWMOutPinC3 Typedef Board::PWMOutPinC4 Typedef Board::PWMOutPinC5 Typedef Board::PWMOutPinC6 Typedef Board::PWMOutPinC7 Typedef Board::PWMOutPinImuHeater Typedef Board::PWMOutPins Typedef Celsius Typedef Degrees Typedef fang::chassis::AbstractQuadSpeeds Typedef fang::chassis::AbstractVelocity2D Typedef fang::chassis::IHolonomicControl Typedef fang::chassis::IHolonomicDrive Typedef fang::chassis::IPowerLimiterSystem Typedef fang::chassis::IQuadControl Typedef fang::chassis::IQuadDrive Typedef fang::chassis::ISimpleFeederControl Typedef fang::chassis::QuadCollection Typedef fang::chassis::QuadDriveData Typedef fang::chassis::QuadRPM Typedef fang::chassis::QuadSpeedsRadPersec Typedef fang::chassis::Remote Typedef fang::chassis::Velocity2D Typedef fang::math::AbstractVector2D Typedef fang::math::Matrix Typedef fang::motor::IPositionMotor Typedef fang::motor::ISpeedMotor Typedef fang::motor::ISpeedWheel Typedef fang::physics::AbstractVelocity2D Typedef fang::physics::Velocity2D Typedef fang::robot::AmmoBooster Typedef fang::robot::Channel Typedef fang::robot::Flywheel Typedef fang::robot::Key Typedef fang::robot::MouseButton Typedef fang::robot::Remote Typedef fang::robot::SwitchState Typedef fang::system::ISystem Typedef fang::turret::IFieldGimbal Typedef fang::turret::IFieldGimbalInfo Typedef fang::turret::IFieldPitchInfo Typedef fang::turret::IFieldPitchSystem Typedef fang::turret::IFieldYawInfo Typedef fang::turret::IFieldYawSystem Typedef fang::turret::ISimpleAmmoBooster Typedef fang::turret::ISimpleFeeder Typedef Hertz Typedef Joules Typedef Meters Typedef MetersPerRadians Typedef MetersPerSecond Typedef Microseconds Typedef Milliseconds Typedef NewtonMeters Typedef Radians Typedef RadiansPerSecond Typedef RawMeters Typedef RawMetersPerRadians Typedef RawRadians Typedef RawRPM Typedef RawRPMPerVolt Typedef RawVolts Typedef RPM Typedef RPMPerVolt Typedef Seconds Typedef tap::arch::ConditionalMilliTimer Typedef tap::arch::MicroTimeout Typedef tap::arch::MilliTimeout Typedef tap::arch::PeriodicMicroTimer Typedef tap::arch::PeriodicMilliTimer Typedef tap::communication::referee::BooleanHUDIndicator Typedef tap::control::command_scheduler_bitmap_t Typedef tap::control::ConcurrentCommand Typedef tap::control::ConcurrentRaceCommand Typedef tap::control::subsystem_scheduler_bitmap_t Typedef tap::motor::Encoder Typedef trap::Drivers Typedef trap::motor::DjiMotorOutput Typedef trap::motor::DjiPositionPid Typedef trap::motor::DjiSpeedPid Typedef Volts Typedef Watts