YAMS
Yet Another Mechanism System
Loading...
Searching...
No Matches
yams
cpp
include
yams
math
DerivativeTimeFilter.hpp
Go to the documentation of this file.
1
// Copyright (c) 2026 Yet Another Software Suite
2
// SPDX-License-Identifier: LGPL-3.0-or-later
3
4
#pragma once
5
6
#include <cstdint>
7
#include <wpi/system/Timer.hpp>
8
#include <wpi/units/time.hpp>
9
10
namespace
yams::math
{
11
18
class
DerivativeTimeFilter
{
19
public
:
28
DerivativeTimeFilter
(
double
initial, wpi::units::second_t debouncerPeriod);
29
35
explicit
DerivativeTimeFilter
(wpi::units::second_t debouncerPeriod);
36
46
double
Derivative
(
double
current, wpi::units::second_t dt);
47
56
double
Derivative
(
double
current);
57
58
private
:
59
double
m_last{0.0};
60
uint64_t m_lastFpgaTime_us{0};
61
double
m_value{0.0};
62
wpi::Timer m_debouncer;
63
wpi::units::second_t m_debouncePeriod{0.02};
64
};
65
66
}
// namespace yams::math
yams::math::DerivativeTimeFilter
Definition
DerivativeTimeFilter.hpp:18
yams::math::DerivativeTimeFilter::Derivative
double Derivative(double current)
yams::math::DerivativeTimeFilter::DerivativeTimeFilter
DerivativeTimeFilter(double initial, wpi::units::second_t debouncerPeriod)
yams::math::DerivativeTimeFilter::Derivative
double Derivative(double current, wpi::units::second_t dt)
yams::math::DerivativeTimeFilter::DerivativeTimeFilter
DerivativeTimeFilter(wpi::units::second_t debouncerPeriod)
yams::math
Definition
DerivativeTimeFilter.hpp:10
Generated by
1.9.8