Split Sendable into NT and non-NT portions (#3432)

The non-NT portion has been moved to wpiutil.
The NT portion has been moved to ntcore (as NTSendable).

SendableBuilder similarly split and moved.

SendableRegistry moved to wpiutil.

In C++, SendableHelper also moved to wpiutil.

This enables use of Sendable from wpimath and also enables
moving several classes from wpilib to wpimath.
This commit is contained in:
Peter Johnson
2021-06-13 16:38:05 -07:00
committed by GitHub
parent ef4ea84cb5
commit b417d961ec
196 changed files with 1147 additions and 891 deletions

View File

@@ -8,9 +8,9 @@
#include <string>
#include <string_view>
#include <frc/smartdashboard/Sendable.h>
#include <frc/smartdashboard/SendableHelper.h>
#include <wpi/SmallSet.h>
#include <wpi/sendable/Sendable.h>
#include <wpi/sendable/SendableHelper.h>
#include <wpi/span.h>
#include "frc2/command/Command.h"
@@ -20,8 +20,8 @@ namespace frc2 {
* A Sendable base class for Commands.
*/
class CommandBase : public Command,
public frc::Sendable,
public frc::SendableHelper<CommandBase> {
public wpi::Sendable,
public wpi::SendableHelper<CommandBase> {
public:
/**
* Adds the specified requirements to the command.
@@ -69,7 +69,7 @@ class CommandBase : public Command,
*/
void SetSubsystem(std::string_view subsystem);
void InitSendable(frc::SendableBuilder& builder) override;
void InitSendable(wpi::SendableBuilder& builder) override;
protected:
CommandBase();

View File

@@ -10,10 +10,10 @@
#include <frc/Errors.h>
#include <frc/Watchdog.h>
#include <frc/smartdashboard/Sendable.h>
#include <frc/smartdashboard/SendableHelper.h>
#include <networktables/NTSendable.h>
#include <units/time.h>
#include <wpi/FunctionExtras.h>
#include <wpi/sendable/SendableHelper.h>
#include <wpi/span.h>
namespace frc2 {
@@ -27,8 +27,8 @@ class Subsystem;
* with the scheduler using RegisterSubsystem() in order for their Periodic()
* methods to be called and for their default commands to be scheduled.
*/
class CommandScheduler final : public frc::Sendable,
public frc::SendableHelper<CommandScheduler> {
class CommandScheduler final : public nt::NTSendable,
public wpi::SendableHelper<CommandScheduler> {
public:
/**
* Returns the Scheduler instance.
@@ -332,7 +332,7 @@ class CommandScheduler final : public frc::Sendable,
*/
void OnCommandFinish(Action action);
void InitSendable(frc::SendableBuilder& builder) override;
void InitSendable(nt::NTSendableBuilder& builder) override;
private:
// Constructor; private as this is a singleton

View File

@@ -7,8 +7,8 @@
#include <string>
#include <string_view>
#include <frc/smartdashboard/Sendable.h>
#include <frc/smartdashboard/SendableHelper.h>
#include <wpi/sendable/Sendable.h>
#include <wpi/sendable/SendableHelper.h>
#include "frc2/command/Subsystem.h"
@@ -18,10 +18,10 @@ namespace frc2 {
* provides a more intuitive method for setting the default command.
*/
class SubsystemBase : public Subsystem,
public frc::Sendable,
public frc::SendableHelper<SubsystemBase> {
public wpi::Sendable,
public wpi::SendableHelper<SubsystemBase> {
public:
void InitSendable(frc::SendableBuilder& builder) override;
void InitSendable(wpi::SendableBuilder& builder) override;
/**
* Gets the name of this Subsystem.
@@ -58,7 +58,7 @@ class SubsystemBase : public Subsystem,
* @param name name to give child
* @param child sendable
*/
void AddChild(std::string name, frc::Sendable* child);
void AddChild(std::string name, wpi::Sendable* child);
protected:
SubsystemBase();