Program Listing for File gains.hpp
↰ Return to documentation for file (/tmp/ws/src/myactuator_rmd/include/myactuator_rmd/actuator_state/gains.hpp
)
#ifndef MYACTUATOR_RMD__GAINS
#define MYACTUATOR_RMD__GAINS
#pragma once
#include <cstdint>
namespace myactuator_rmd {
class PiGains {
public:
constexpr PiGains(std::uint8_t const& kp_ = 0, std::uint8_t const& ki_ = 0) noexcept;
PiGains(PiGains const&) = default;
PiGains& operator = (PiGains const&) = default;
PiGains(PiGains&&) = default;
PiGains& operator = (PiGains&&) = default;
std::uint8_t kp;
std::uint8_t ki;
};
class Gains {
public:
constexpr Gains(PiGains const& current_, PiGains const& speed_, PiGains const& position_) noexcept;
constexpr Gains(std::uint8_t const current_kp = 0, std::uint8_t const current_ki = 0,
std::uint8_t const speed_kp = 0, std::uint8_t const speed_ki = 0,
std::uint8_t const position_kp = 0, std::uint8_t const position_ki = 0) noexcept;
Gains(Gains const&) = default;
Gains& operator = (Gains const&) = default;
Gains(Gains&&) = default;
Gains& operator = (Gains&&) = default;
PiGains current;
PiGains speed;
PiGains position;
};
constexpr PiGains::PiGains(std::uint8_t const& kp_, std::uint8_t const& ki_) noexcept
: kp{kp_}, ki{ki_} {
return;
}
constexpr Gains::Gains(PiGains const& current_, PiGains const& speed_, PiGains const& position_) noexcept
: current{current_}, speed{speed_}, position{position_} {
return;
}
constexpr Gains::Gains(std::uint8_t const current_kp, std::uint8_t const current_ki,
std::uint8_t const speed_kp, std::uint8_t const speed_ki,
std::uint8_t const position_kp, std::uint8_t const position_ki) noexcept
: current{current_kp, current_ki}, speed{speed_kp, speed_ki}, position{position_kp, position_ki} {
return;
}
}
#endif // MYACTUATOR_RMD__GAINS