CTRE Phoenix 6 C++ 26.50.0-alpha-1
Loading...
Searching...
No Matches
pid_ff.h
Go to the documentation of this file.
1/*
2 * Copyright (C) Cross The Road Electronics.  All rights reserved.
3 * License information can be found in CTRE_LICENSE.txt
4 * For support and suggestions contact support@ctr-electronics.com or file
5 * an issue tracker at https://github.com/CrossTheRoadElec/Phoenix-Releases
6 */
7#pragma once
8
9#include <wpi/units/angle.hpp>
10#include <wpi/units/angular_acceleration.hpp>
11#include <wpi/units/angular_velocity.hpp>
12#include <wpi/units/current.hpp>
13#include <wpi/units/dimensionless.hpp>
14#include <wpi/units/voltage.hpp>
15
16namespace ctre {
17namespace unit {
18
19#define CTRE_PID_FF_UNIT_ADD(unit_name, output) \
20 using unit_name##_per_turn = wpi::units::compound_unit<output, wpi::units::inverse<wpi::units::turns>>; \
21 using unit_name##_per_turn_t = wpi::units::unit_t<unit_name##_per_turn>; \
22 using unit_name##_per_turn_second = wpi::units::compound_unit<output, wpi::units::inverse<wpi::units::compound_unit<wpi::units::turns, wpi::units::seconds>>>; \
23 using unit_name##_per_turn_second_t = wpi::units::unit_t<unit_name##_per_turn_second>; \
24 using unit_name##_per_turn_per_second = wpi::units::compound_unit<output, wpi::units::inverse<wpi::units::turns_per_second>>; \
25 using unit_name##_per_turn_per_second_t = wpi::units::unit_t<unit_name##_per_turn_per_second>; \
26 using unit_name##_per_turn_per_second_squared = wpi::units::compound_unit<output, wpi::units::inverse<wpi::units::turns_per_second_squared>>; \
27 using unit_name##_per_turn_per_second_squared_t = wpi::units::unit_t<unit_name##_per_turn_per_second_squared>;
28
29 CTRE_PID_FF_UNIT_ADD(scalar, wpi::units::scalar)
30 CTRE_PID_FF_UNIT_ADD(volts, wpi::units::volts)
31 CTRE_PID_FF_UNIT_ADD(amperes, wpi::units::amperes)
32
33}
34}
Definition motor_constants.h:15
Definition motor_constants.h:14
#define CTRE_PID_FF_UNIT_ADD(unit_name, output)
Definition pid_ff.h:19