Files
allwpilib/wpiutil/src/main/native/include/units/angular_acceleration.h
Tyler Veness 5ccc98bc14 [wpiutil] Add angular acceleration units (#2562)
We already have predefined linear acceleration units and angular
velocity units. This makes defining acceleration constraints for angular
trapezoid profiles more convenient.

No tests were added for this because the base unit conversions are
already tested. Angular acceleration just adds another time dimension.
2020-07-01 17:16:08 -07:00

36 lines
1.5 KiB
C++

/*----------------------------------------------------------------------------*/
/* Copyright (c) 2020 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#pragma once
#include "units/angular_velocity.h"
#include "units/base.h"
#include "units/time.h"
namespace units {
/**
* @namespace units::angular_acceleration
* @brief namespace for unit types and containers representing angular
* acceleration values
* @details The SI unit for angular acceleration is
* `radians_per_second_squared`, and the corresponding `base_unit`
* category is`angular_acceleration_unit`.
* @anchor angularAccelerationContainers
* @sa See unit_t for more information on unit type containers.
*/
UNIT_ADD(angular_acceleration, radians_per_second_squared,
radians_per_second_squared, rad_per_s_sq,
unit<std::ratio<1>, units::category::angular_acceleration_unit>)
UNIT_ADD(angular_acceleration, degrees_per_second_squared,
degrees_per_second_squared, deg_per_s_sq,
compound_unit<angle::degrees, inverse<squared<time::seconds>>>)
UNIT_ADD_CATEGORY_TRAIT(angular_acceleration)
using namespace angular_acceleration;
} // namespace units