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

@@ -4,8 +4,8 @@
#include "frc/motorcontrol/MotorControllerGroup.h"
#include "frc/smartdashboard/SendableBuilder.h"
#include "frc/smartdashboard/SendableRegistry.h"
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
using namespace frc;
@@ -20,11 +20,12 @@ MotorControllerGroup::MotorControllerGroup(
void MotorControllerGroup::Initialize() {
for (auto& motorController : m_motorControllers) {
SendableRegistry::GetInstance().AddChild(this, &motorController.get());
wpi::SendableRegistry::GetInstance().AddChild(this, &motorController.get());
}
static int instances = 0;
++instances;
SendableRegistry::GetInstance().Add(this, "MotorControllerGroup", instances);
wpi::SendableRegistry::GetInstance().Add(this, "MotorControllerGroup",
instances);
}
void MotorControllerGroup::Set(double speed) {
@@ -60,7 +61,7 @@ void MotorControllerGroup::StopMotor() {
}
}
void MotorControllerGroup::InitSendable(SendableBuilder& builder) {
void MotorControllerGroup::InitSendable(wpi::SendableBuilder& builder) {
builder.SetSmartDashboardType("Motor Controller");
builder.SetActuator(true);
builder.SetSafeState([=] { StopMotor(); });

View File

@@ -6,15 +6,14 @@
#include <fmt/format.h>
#include <hal/FRCUsageReporting.h>
#include "frc/smartdashboard/SendableBuilder.h"
#include "frc/smartdashboard/SendableRegistry.h"
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
using namespace frc;
NidecBrushless::NidecBrushless(int pwmChannel, int dioChannel)
: m_dio(dioChannel), m_pwm(pwmChannel) {
auto& registry = SendableRegistry::GetInstance();
auto& registry = wpi::SendableRegistry::GetInstance();
registry.AddChild(this, &m_dio);
registry.AddChild(this, &m_pwm);
SetExpiration(0_s);
@@ -72,7 +71,7 @@ int NidecBrushless::GetChannel() const {
return m_pwm.GetChannel();
}
void NidecBrushless::InitSendable(SendableBuilder& builder) {
void NidecBrushless::InitSendable(wpi::SendableBuilder& builder) {
builder.SetSmartDashboardType("Nidec Brushless");
builder.SetActuator(true);
builder.SetSafeState([=] { StopMotor(); });

View File

@@ -5,8 +5,8 @@
#include "frc/motorcontrol/PWMMotorController.h"
#include <fmt/format.h>
#include "frc/smartdashboard/SendableBuilder.h"
#include <wpi/sendable/SendableBuilder.h>
#include <wpi/sendable/SendableRegistry.h>
using namespace frc;
@@ -44,10 +44,10 @@ int PWMMotorController::GetChannel() const {
PWMMotorController::PWMMotorController(std::string_view name, int channel)
: m_pwm(channel, false) {
SendableRegistry::GetInstance().AddLW(this, name, channel);
wpi::SendableRegistry::GetInstance().AddLW(this, name, channel);
}
void PWMMotorController::InitSendable(SendableBuilder& builder) {
void PWMMotorController::InitSendable(wpi::SendableBuilder& builder) {
builder.SetSmartDashboardType("Motor Controller");
builder.SetActuator(true);
builder.SetSafeState([=] { Disable(); });

View File

@@ -6,8 +6,6 @@
#include <hal/FRCUsageReporting.h>
#include "frc/smartdashboard/SendableRegistry.h"
using namespace frc;
PWMSparkMax::PWMSparkMax(int channel)