[wpimath] Explicitly export wpimath symbols

Co-authored-by: Tyler Veness <calcmogul@gmail.com>
This commit is contained in:
Thad House
2021-08-20 09:02:01 -07:00
committed by Peter Johnson
parent 161e211734
commit 382deef750
54 changed files with 207 additions and 101 deletions

View File

@@ -5,6 +5,7 @@
#pragma once
#include <wpi/MathExtras.h>
#include <wpi/SymbolExports.h>
#include "units/angle.h"
#include "units/angular_velocity.h"
@@ -16,7 +17,7 @@ namespace frc {
* A helper class that computes feedforward outputs for a simple arm (modeled as
* a motor acting against the force of gravity on a beam suspended at an angle).
*/
class ArmFeedforward {
class WPILIB_DLLEXPORT ArmFeedforward {
public:
using Angle = units::radians;
using Velocity = units::radians_per_second;

View File

@@ -4,6 +4,8 @@
#pragma once
#include <wpi/SymbolExports.h>
#include "frc/controller/PIDController.h"
#include "frc/controller/ProfiledPIDController.h"
#include "frc/geometry/Pose2d.h"
@@ -27,7 +29,7 @@ namespace frc {
* translations, users can specify a custom heading that the drivetrain should
* point toward. This heading reference is profiled for smoothness.
*/
class HolonomicDriveController {
class WPILIB_DLLEXPORT HolonomicDriveController {
public:
/**
* Constructs a holonomic drive controller.

View File

@@ -4,6 +4,7 @@
#pragma once
#include <wpi/SymbolExports.h>
#include <wpi/array.h>
#include "Eigen/Cholesky"
@@ -321,7 +322,7 @@ class LinearQuadraticRegulator
// Template specializations are used here to make common state-input pairs
// compile faster.
template <>
class LinearQuadraticRegulator<1, 1>
class WPILIB_DLLEXPORT LinearQuadraticRegulator<1, 1>
: public detail::LinearQuadraticRegulatorImpl<1, 1> {
public:
template <int Outputs>
@@ -357,7 +358,7 @@ class LinearQuadraticRegulator<1, 1>
// Template specializations are used here to make common state-input pairs
// compile faster.
template <>
class LinearQuadraticRegulator<2, 1>
class WPILIB_DLLEXPORT LinearQuadraticRegulator<2, 1>
: public detail::LinearQuadraticRegulatorImpl<2, 1> {
public:
template <int Outputs>
@@ -393,7 +394,7 @@ class LinearQuadraticRegulator<2, 1>
// Template specializations are used here to make common state-input pairs
// compile faster.
template <>
class LinearQuadraticRegulator<2, 2>
class WPILIB_DLLEXPORT LinearQuadraticRegulator<2, 2>
: public detail::LinearQuadraticRegulatorImpl<2, 2> {
public:
template <int Outputs>

View File

@@ -7,6 +7,7 @@
#include <functional>
#include <limits>
#include <wpi/SymbolExports.h>
#include <wpi/sendable/Sendable.h>
#include <wpi/sendable/SendableHelper.h>
@@ -17,8 +18,9 @@ namespace frc2 {
/**
* Implements a PID control loop.
*/
class PIDController : public wpi::Sendable,
public wpi::SendableHelper<PIDController> {
class WPILIB_DLLEXPORT PIDController
: public wpi::Sendable,
public wpi::SendableHelper<PIDController> {
public:
/**
* Allocates a PIDController with the given constants for Kp, Ki, and Kd.

View File

@@ -9,6 +9,7 @@
#include <functional>
#include <limits>
#include <wpi/SymbolExports.h>
#include <wpi/sendable/Sendable.h>
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableHelper.h>
@@ -20,6 +21,7 @@
namespace frc {
namespace detail {
WPILIB_DLLEXPORT
void ReportProfiledPIDController();
} // namespace detail

View File

@@ -4,6 +4,8 @@
#pragma once
#include <wpi/SymbolExports.h>
#include "frc/geometry/Pose2d.h"
#include "frc/kinematics/ChassisSpeeds.h"
#include "frc/trajectory/Trajectory.h"
@@ -39,7 +41,7 @@ namespace frc {
* See <https://file.tavsys.net/control/controls-engineering-in-frc.pdf> section
* on Ramsete unicycle controller for a derivation and analysis.
*/
class RamseteController {
class WPILIB_DLLEXPORT RamseteController {
public:
/**
* Construct a Ramsete unicycle controller.