diff --git a/wpilibc/src/main/native/cpp/Filters/LinearDigitalFilter.cpp b/wpilibc/src/main/native/cpp/Filters/LinearDigitalFilter.cpp index ffca73cbcc..514eb50215 100644 --- a/wpilibc/src/main/native/cpp/Filters/LinearDigitalFilter.cpp +++ b/wpilibc/src/main/native/cpp/Filters/LinearDigitalFilter.cpp @@ -20,56 +20,8 @@ using namespace frc; * @param fbGains The "feed back" or IIR gains */ LinearDigitalFilter::LinearDigitalFilter(std::shared_ptr source, - std::initializer_list ffGains, - std::initializer_list fbGains) - : Filter(source), - m_inputs(ffGains.size()), - m_outputs(fbGains.size()), - m_inputGains(ffGains), - m_outputGains(fbGains) {} - -/** - * Create a linear FIR or IIR filter. - * - * @param source The PIDSource object that is used to get values - * @param ffGains The "feed forward" or FIR gains - * @param fbGains The "feed back" or IIR gains - */ -LinearDigitalFilter::LinearDigitalFilter(std::shared_ptr source, - std::initializer_list ffGains, - const std::vector& fbGains) - : Filter(source), - m_inputs(ffGains.size()), - m_outputs(fbGains.size()), - m_inputGains(ffGains), - m_outputGains(fbGains) {} - -/** - * Create a linear FIR or IIR filter. - * - * @param source The PIDSource object that is used to get values - * @param ffGains The "feed forward" or FIR gains - * @param fbGains The "feed back" or IIR gains - */ -LinearDigitalFilter::LinearDigitalFilter(std::shared_ptr source, - const std::vector& ffGains, - std::initializer_list fbGains) - : Filter(source), - m_inputs(ffGains.size()), - m_outputs(fbGains.size()), - m_inputGains(ffGains), - m_outputGains(fbGains) {} - -/** - * Create a linear FIR or IIR filter. - * - * @param source The PIDSource object that is used to get values - * @param ffGains The "feed forward" or FIR gains - * @param fbGains The "feed back" or IIR gains - */ -LinearDigitalFilter::LinearDigitalFilter(std::shared_ptr source, - const std::vector& ffGains, - const std::vector& fbGains) + llvm::ArrayRef ffGains, + llvm::ArrayRef fbGains) : Filter(source), m_inputs(ffGains.size()), m_outputs(fbGains.size()), diff --git a/wpilibc/src/main/native/include/Filters/LinearDigitalFilter.h b/wpilibc/src/main/native/include/Filters/LinearDigitalFilter.h index b61db75415..4d58c90d3b 100644 --- a/wpilibc/src/main/native/include/Filters/LinearDigitalFilter.h +++ b/wpilibc/src/main/native/include/Filters/LinearDigitalFilter.h @@ -7,10 +7,11 @@ #pragma once -#include #include #include +#include + #include "CircularBuffer.h" #include "Filter.h" @@ -69,17 +70,8 @@ namespace frc { class LinearDigitalFilter : public Filter { public: LinearDigitalFilter(std::shared_ptr source, - std::initializer_list ffGains, - std::initializer_list fbGains); - LinearDigitalFilter(std::shared_ptr source, - std::initializer_list ffGains, - const std::vector& fbGains); - LinearDigitalFilter(std::shared_ptr source, - const std::vector& ffGains, - std::initializer_list fbGains); - LinearDigitalFilter(std::shared_ptr source, - const std::vector& ffGains, - const std::vector& fbGains); + llvm::ArrayRef ffGains, + llvm::ArrayRef fbGains); // Static methods to create commonly used filters static LinearDigitalFilter SinglePoleIIR(std::shared_ptr source,