mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Remove GetTable from wpilibc Sendable interface.
This allows nearly all m_table member variables to be removed.
This commit is contained in:
@@ -86,11 +86,10 @@ std::string ADXL345_I2C::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void ADXL345_I2C::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
m_table = subtable;
|
||||
if (m_table) {
|
||||
m_xEntry = m_table->GetEntry("X");
|
||||
m_yEntry = m_table->GetEntry("Y");
|
||||
m_zEntry = m_table->GetEntry("Z");
|
||||
if (subtable) {
|
||||
m_xEntry = subtable->GetEntry("X");
|
||||
m_yEntry = subtable->GetEntry("Y");
|
||||
m_zEntry = subtable->GetEntry("Z");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_xEntry = nt::NetworkTableEntry();
|
||||
@@ -104,7 +103,3 @@ void ADXL345_I2C::UpdateTable() {
|
||||
if (m_yEntry) m_yEntry.SetDouble(GetY());
|
||||
if (m_zEntry) m_zEntry.SetDouble(GetZ());
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> ADXL345_I2C::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -113,11 +113,10 @@ std::string ADXL345_SPI::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void ADXL345_SPI::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
m_table = subtable;
|
||||
if (m_table) {
|
||||
m_xEntry = m_table->GetEntry("X");
|
||||
m_yEntry = m_table->GetEntry("Y");
|
||||
m_zEntry = m_table->GetEntry("Z");
|
||||
if (subtable) {
|
||||
m_xEntry = subtable->GetEntry("X");
|
||||
m_yEntry = subtable->GetEntry("Y");
|
||||
m_zEntry = subtable->GetEntry("Z");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_xEntry = nt::NetworkTableEntry();
|
||||
@@ -131,7 +130,3 @@ void ADXL345_SPI::UpdateTable() {
|
||||
if (m_yEntry) m_yEntry.SetDouble(GetY());
|
||||
if (m_zEntry) m_zEntry.SetDouble(GetZ());
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> ADXL345_SPI::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -168,11 +168,10 @@ std::string ADXL362::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void ADXL362::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
m_table = subtable;
|
||||
if (m_table) {
|
||||
m_xEntry = m_table->GetEntry("X");
|
||||
m_yEntry = m_table->GetEntry("Y");
|
||||
m_zEntry = m_table->GetEntry("Z");
|
||||
if (subtable) {
|
||||
m_xEntry = subtable->GetEntry("X");
|
||||
m_yEntry = subtable->GetEntry("Y");
|
||||
m_zEntry = subtable->GetEntry("Z");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_xEntry = nt::NetworkTableEntry();
|
||||
@@ -186,5 +185,3 @@ void ADXL362::UpdateTable() {
|
||||
if (m_yEntry) m_yEntry.SetDouble(GetY());
|
||||
if (m_zEntry) m_zEntry.SetDouble(GetZ());
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> ADXL362::GetTable() const { return m_table; }
|
||||
|
||||
@@ -130,15 +130,10 @@ std::string AnalogAccelerometer::GetSmartDashboardType() const {
|
||||
|
||||
void AnalogAccelerometer::InitTable(
|
||||
std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> AnalogAccelerometer::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -431,15 +431,10 @@ std::string AnalogInput::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void AnalogInput::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> AnalogInput::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -106,15 +106,10 @@ std::string AnalogOutput::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void AnalogOutput::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> AnalogOutput::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -88,9 +88,8 @@ std::string AnalogPotentiometer::GetSmartDashboardType() const {
|
||||
*/
|
||||
void AnalogPotentiometer::InitTable(
|
||||
std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
m_table = subtable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subtable) {
|
||||
m_valueEntry = subtable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
@@ -100,7 +99,3 @@ void AnalogPotentiometer::InitTable(
|
||||
void AnalogPotentiometer::UpdateTable() {
|
||||
if (m_valueEntry) m_valueEntry.SetDouble(Get());
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> AnalogPotentiometer::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -60,11 +60,10 @@ std::string BuiltInAccelerometer::GetSmartDashboardType() const {
|
||||
|
||||
void BuiltInAccelerometer::InitTable(
|
||||
std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
m_table = subtable;
|
||||
if (m_table != nullptr) {
|
||||
m_xEntry = m_table->GetEntry("X");
|
||||
m_yEntry = m_table->GetEntry("Y");
|
||||
m_zEntry = m_table->GetEntry("Z");
|
||||
if (subtable != nullptr) {
|
||||
m_xEntry = subtable->GetEntry("X");
|
||||
m_yEntry = subtable->GetEntry("Y");
|
||||
m_zEntry = subtable->GetEntry("Z");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_xEntry = nt::NetworkTableEntry();
|
||||
@@ -78,7 +77,3 @@ void BuiltInAccelerometer::UpdateTable() {
|
||||
if (m_yEntry) m_yEntry.SetDouble(GetY());
|
||||
if (m_zEntry) m_zEntry.SetDouble(GetZ());
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> BuiltInAccelerometer::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -46,13 +46,10 @@ void Trigger::ToggleWhenActive(Command* command) {
|
||||
std::string Trigger::GetSmartDashboardType() const { return "Button"; }
|
||||
|
||||
void Trigger::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
m_table = subtable;
|
||||
if (m_table) {
|
||||
m_pressedEntry = m_table->GetEntry("pressed");
|
||||
if (subtable) {
|
||||
m_pressedEntry = subtable->GetEntry("pressed");
|
||||
m_pressedEntry.SetBoolean(Get());
|
||||
} else {
|
||||
m_pressedEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Trigger::GetTable() const { return m_table; }
|
||||
|
||||
@@ -435,12 +435,11 @@ std::string Command::GetSmartDashboardType() const { return "Command"; }
|
||||
|
||||
void Command::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
if (m_runningListener != 0) m_runningEntry.RemoveListener(m_runningListener);
|
||||
m_table = subtable;
|
||||
if (m_table != nullptr) {
|
||||
m_table->GetEntry(kName).SetString(GetName());
|
||||
m_runningEntry = m_table->GetEntry(kRunning);
|
||||
if (subtable) {
|
||||
subtable->GetEntry(kName).SetString(GetName());
|
||||
m_runningEntry = subtable->GetEntry(kRunning);
|
||||
m_runningEntry.SetBoolean(IsRunning());
|
||||
m_isParentedEntry = m_table->GetEntry(kIsParented);
|
||||
m_isParentedEntry = subtable->GetEntry(kIsParented);
|
||||
m_isParentedEntry.SetBoolean(m_parent != nullptr);
|
||||
|
||||
m_runningListener = m_runningEntry.AddListener(
|
||||
@@ -455,5 +454,3 @@ void Command::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
NT_NOTIFY_NEW | NT_NOTIFY_UPDATE);
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Command::GetTable() const { return m_table; }
|
||||
|
||||
@@ -218,7 +218,6 @@ void Scheduler::ResetAll() {
|
||||
m_buttons.clear();
|
||||
m_additions.clear();
|
||||
m_commands.clear();
|
||||
m_table = nullptr;
|
||||
m_namesEntry = nt::NetworkTableEntry();
|
||||
m_idsEntry = nt::NetworkTableEntry();
|
||||
m_cancelEntry = nt::NetworkTableEntry();
|
||||
@@ -229,7 +228,7 @@ void Scheduler::ResetAll() {
|
||||
* SmartDashboard.
|
||||
*/
|
||||
void Scheduler::UpdateTable() {
|
||||
if (m_table != nullptr) {
|
||||
if (m_cancelEntry && m_namesEntry && m_idsEntry) {
|
||||
// Get the list of possible commands to cancel
|
||||
auto new_toCancel = m_cancelEntry.GetValue();
|
||||
if (new_toCancel)
|
||||
@@ -277,11 +276,10 @@ std::string Scheduler::GetType() const { return "Scheduler"; }
|
||||
std::string Scheduler::GetSmartDashboardType() const { return "Scheduler"; }
|
||||
|
||||
void Scheduler::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_namesEntry = m_table->GetEntry("Names");
|
||||
m_idsEntry = m_table->GetEntry("Ids");
|
||||
m_cancelEntry = m_table->GetEntry("Cancel");
|
||||
if (subTable) {
|
||||
m_namesEntry = subTable->GetEntry("Names");
|
||||
m_idsEntry = subTable->GetEntry("Ids");
|
||||
m_cancelEntry = subTable->GetEntry("Cancel");
|
||||
m_namesEntry.SetStringArray(commands);
|
||||
m_idsEntry.SetDoubleArray(ids);
|
||||
m_cancelEntry.SetDoubleArray(toCancel);
|
||||
@@ -291,7 +289,3 @@ void Scheduler::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_cancelEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Scheduler::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ void Subsystem::SetDefaultCommand(Command* command) {
|
||||
|
||||
m_defaultCommand = command;
|
||||
}
|
||||
if (m_table != nullptr) {
|
||||
if (m_hasDefaultEntry && m_defaultEntry) {
|
||||
if (m_defaultCommand != nullptr) {
|
||||
m_hasDefaultEntry.SetBoolean(true);
|
||||
m_defaultEntry.SetString(m_defaultCommand->GetName());
|
||||
@@ -119,7 +119,7 @@ void Subsystem::Periodic() {}
|
||||
*/
|
||||
void Subsystem::ConfirmCommand() {
|
||||
if (m_currentCommandChanged) {
|
||||
if (m_table != nullptr) {
|
||||
if (m_hasCommandEntry && m_commandEntry) {
|
||||
if (m_currentCommand != nullptr) {
|
||||
m_hasCommandEntry.SetBoolean(true);
|
||||
m_commandEntry.SetString(m_currentCommand->GetName());
|
||||
@@ -136,12 +136,11 @@ std::string Subsystem::GetName() const { return m_name; }
|
||||
std::string Subsystem::GetSmartDashboardType() const { return "Subsystem"; }
|
||||
|
||||
void Subsystem::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
m_table = subtable;
|
||||
if (m_table != nullptr) {
|
||||
m_hasDefaultEntry = m_table->GetEntry("hasDefault");
|
||||
m_defaultEntry = m_table->GetEntry("default");
|
||||
m_hasCommandEntry = m_table->GetEntry("hasCommand");
|
||||
m_commandEntry = m_table->GetEntry("command");
|
||||
if (subtable != nullptr) {
|
||||
m_hasDefaultEntry = subtable->GetEntry("hasDefault");
|
||||
m_defaultEntry = subtable->GetEntry("default");
|
||||
m_hasCommandEntry = subtable->GetEntry("hasCommand");
|
||||
m_commandEntry = subtable->GetEntry("command");
|
||||
|
||||
if (m_defaultCommand != nullptr) {
|
||||
m_hasDefaultEntry.SetBoolean(true);
|
||||
@@ -157,7 +156,3 @@ void Subsystem::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Subsystem::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -336,17 +336,12 @@ void Compressor::StopLiveWindowMode() {
|
||||
std::string Compressor::GetSmartDashboardType() const { return "Compressor"; }
|
||||
|
||||
void Compressor::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_enabledEntry = m_table->GetEntry("Enabled");
|
||||
m_pressureSwitchEntry = m_table->GetEntry("Pressure switch");
|
||||
if (subTable) {
|
||||
m_enabledEntry = subTable->GetEntry("Enabled");
|
||||
m_pressureSwitchEntry = subTable->GetEntry("Pressure switch");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_enabledEntry = nt::NetworkTableEntry();
|
||||
m_pressureSwitchEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Compressor::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -613,13 +613,10 @@ void Counter::StopLiveWindowMode() {}
|
||||
std::string Counter::GetSmartDashboardType() const { return "Counter"; }
|
||||
|
||||
void Counter::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Counter::GetTable() const { return m_table; }
|
||||
|
||||
@@ -116,15 +116,10 @@ std::string DigitalInput::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void DigitalInput::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> DigitalInput::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -257,15 +257,10 @@ std::string DigitalOutput::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void DigitalOutput::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table != nullptr) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> DigitalOutput::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -227,15 +227,10 @@ std::string DoubleSolenoid::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void DoubleSolenoid::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> DoubleSolenoid::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -506,11 +506,10 @@ std::string Encoder::GetSmartDashboardType() const {
|
||||
}
|
||||
|
||||
void Encoder::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_speedEntry = m_table->GetEntry("Speed");
|
||||
m_distanceEntry = m_table->GetEntry("Distance");
|
||||
m_distancePerTickEntry = m_table->GetEntry("Distance per Tick");
|
||||
if (subTable) {
|
||||
m_speedEntry = subTable->GetEntry("Speed");
|
||||
m_distanceEntry = subTable->GetEntry("Distance");
|
||||
m_distancePerTickEntry = subTable->GetEntry("Distance per Tick");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_speedEntry = nt::NetworkTableEntry();
|
||||
@@ -518,5 +517,3 @@ void Encoder::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_distancePerTickEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Encoder::GetTable() const { return m_table; }
|
||||
|
||||
@@ -40,13 +40,10 @@ void GyroBase::StopLiveWindowMode() {}
|
||||
std::string GyroBase::GetSmartDashboardType() const { return "Gyro"; }
|
||||
|
||||
void GyroBase::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> GyroBase::GetTable() const { return m_table; }
|
||||
|
||||
@@ -562,19 +562,18 @@ std::string PIDController::GetSmartDashboardType() const {
|
||||
|
||||
void PIDController::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
RemoveListeners();
|
||||
m_table = subtable;
|
||||
if (m_table) {
|
||||
m_pEntry = m_table->GetEntry(kP);
|
||||
if (subtable) {
|
||||
m_pEntry = subtable->GetEntry(kP);
|
||||
m_pEntry.SetDouble(GetP());
|
||||
m_iEntry = m_table->GetEntry(kI);
|
||||
m_iEntry = subtable->GetEntry(kI);
|
||||
m_iEntry.SetDouble(GetI());
|
||||
m_dEntry = m_table->GetEntry(kD);
|
||||
m_dEntry = subtable->GetEntry(kD);
|
||||
m_dEntry.SetDouble(GetD());
|
||||
m_fEntry = m_table->GetEntry(kF);
|
||||
m_fEntry = subtable->GetEntry(kF);
|
||||
m_fEntry.SetDouble(GetF());
|
||||
m_setpointEntry = m_table->GetEntry(kSetpoint);
|
||||
m_setpointEntry = subtable->GetEntry(kSetpoint);
|
||||
m_setpointEntry.SetDouble(GetSetpoint());
|
||||
m_enabledEntry = m_table->GetEntry(kEnabled);
|
||||
m_enabledEntry = subtable->GetEntry(kEnabled);
|
||||
m_enabledEntry.SetBoolean(IsEnabled());
|
||||
|
||||
m_pListener = m_pEntry.AddListener(
|
||||
@@ -649,10 +648,6 @@ double PIDController::GetContinuousError(double error) const {
|
||||
return error;
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> PIDController::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
void PIDController::UpdateTable() {}
|
||||
|
||||
void PIDController::StartLiveWindowMode() { Disable(); }
|
||||
|
||||
@@ -341,13 +341,10 @@ void PWM::StopLiveWindowMode() {
|
||||
std::string PWM::GetSmartDashboardType() const { return "Speed Controller"; }
|
||||
|
||||
void PWM::InitTable(std::shared_ptr<NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<NetworkTable> PWM::GetTable() const { return m_table; }
|
||||
|
||||
@@ -189,16 +189,15 @@ std::string PowerDistributionPanel::GetSmartDashboardType() const {
|
||||
|
||||
void PowerDistributionPanel::InitTable(
|
||||
std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table != nullptr) {
|
||||
if (subTable != nullptr) {
|
||||
for (size_t i = 0; i < sizeof(m_chanEntry) / sizeof(m_chanEntry[0]); ++i) {
|
||||
llvm::SmallString<32> buf;
|
||||
llvm::raw_svector_ostream oss(buf);
|
||||
oss << "Chan" << i;
|
||||
m_chanEntry[i] = m_table->GetEntry(oss.str());
|
||||
m_chanEntry[i] = subTable->GetEntry(oss.str());
|
||||
}
|
||||
m_voltageEntry = m_table->GetEntry("Voltage");
|
||||
m_totalCurrentEntry = m_table->GetEntry("TotalCurrent");
|
||||
m_voltageEntry = subTable->GetEntry("Voltage");
|
||||
m_totalCurrentEntry = subTable->GetEntry("TotalCurrent");
|
||||
UpdateTable();
|
||||
} else {
|
||||
for (size_t i = 0; i < sizeof(m_chanEntry) / sizeof(m_chanEntry[0]); ++i) {
|
||||
@@ -208,7 +207,3 @@ void PowerDistributionPanel::InitTable(
|
||||
m_totalCurrentEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> PowerDistributionPanel::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
@@ -315,13 +315,10 @@ void Relay::StopLiveWindowMode() {
|
||||
std::string Relay::GetSmartDashboardType() const { return "Relay"; }
|
||||
|
||||
void Relay::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Relay::GetTable() const { return m_table; }
|
||||
|
||||
@@ -121,13 +121,10 @@ void Servo::StopLiveWindowMode() {
|
||||
std::string Servo::GetSmartDashboardType() const { return "Servo"; }
|
||||
|
||||
void Servo::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Servo::GetTable() const { return m_table; }
|
||||
|
||||
@@ -13,10 +13,6 @@ const char* SendableChooserBase::kDefault = "default";
|
||||
const char* SendableChooserBase::kOptions = "options";
|
||||
const char* SendableChooserBase::kSelected = "selected";
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> SendableChooserBase::GetTable() const {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
std::string SendableChooserBase::GetSmartDashboardType() const {
|
||||
return "String Chooser";
|
||||
}
|
||||
|
||||
@@ -135,13 +135,10 @@ void Solenoid::StopLiveWindowMode() {
|
||||
std::string Solenoid::GetSmartDashboardType() const { return "Solenoid"; }
|
||||
|
||||
void Solenoid::InitTable(std::shared_ptr<nt::NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> Solenoid::GetTable() const { return m_table; }
|
||||
|
||||
@@ -331,13 +331,10 @@ void Ultrasonic::StopLiveWindowMode() {}
|
||||
std::string Ultrasonic::GetSmartDashboardType() const { return "Ultrasonic"; }
|
||||
|
||||
void Ultrasonic::InitTable(std::shared_ptr<NetworkTable> subTable) {
|
||||
m_table = subTable;
|
||||
if (m_table != nullptr) {
|
||||
m_valueEntry = m_table->GetEntry("Value");
|
||||
if (subTable) {
|
||||
m_valueEntry = subTable->GetEntry("Value");
|
||||
UpdateTable();
|
||||
} else {
|
||||
m_valueEntry = nt::NetworkTableEntry();
|
||||
}
|
||||
}
|
||||
|
||||
std::shared_ptr<NetworkTable> Ultrasonic::GetTable() const { return m_table; }
|
||||
|
||||
@@ -74,7 +74,6 @@ class ADXL345_I2C : public Accelerometer, public LiveWindowSendable {
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subtable) override;
|
||||
void UpdateTable() override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
void StartLiveWindowMode() override {}
|
||||
void StopLiveWindowMode() override {}
|
||||
|
||||
@@ -82,7 +81,6 @@ class ADXL345_I2C : public Accelerometer, public LiveWindowSendable {
|
||||
I2C m_i2c;
|
||||
|
||||
private:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_xEntry;
|
||||
nt::NetworkTableEntry m_yEntry;
|
||||
nt::NetworkTableEntry m_zEntry;
|
||||
|
||||
@@ -76,7 +76,6 @@ class ADXL345_SPI : public Accelerometer, public LiveWindowSendable {
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subtable) override;
|
||||
void UpdateTable() override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
void StartLiveWindowMode() override {}
|
||||
void StopLiveWindowMode() override {}
|
||||
|
||||
@@ -84,7 +83,6 @@ class ADXL345_SPI : public Accelerometer, public LiveWindowSendable {
|
||||
SPI m_spi;
|
||||
|
||||
private:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_xEntry;
|
||||
nt::NetworkTableEntry m_yEntry;
|
||||
nt::NetworkTableEntry m_zEntry;
|
||||
|
||||
@@ -55,7 +55,6 @@ class ADXL362 : public Accelerometer, public LiveWindowSendable {
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subtable) override;
|
||||
void UpdateTable() override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
void StartLiveWindowMode() override {}
|
||||
void StopLiveWindowMode() override {}
|
||||
|
||||
@@ -63,7 +62,6 @@ class ADXL362 : public Accelerometer, public LiveWindowSendable {
|
||||
SPI m_spi;
|
||||
double m_gsPerLSB = 0.001;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_xEntry;
|
||||
nt::NetworkTableEntry m_yEntry;
|
||||
nt::NetworkTableEntry m_zEntry;
|
||||
|
||||
@@ -43,7 +43,6 @@ class AnalogAccelerometer : public SensorBase,
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
private:
|
||||
void InitAccelerometer();
|
||||
@@ -52,7 +51,6 @@ class AnalogAccelerometer : public SensorBase,
|
||||
double m_voltsPerG = 1.0;
|
||||
double m_zeroGVoltage = 2.5;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
};
|
||||
|
||||
|
||||
@@ -83,7 +83,6 @@ class AnalogInput : public SensorBase,
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
private:
|
||||
int m_channel;
|
||||
@@ -91,7 +90,6 @@ class AnalogInput : public SensorBase,
|
||||
HAL_AnalogInputHandle m_port;
|
||||
int64_t m_accumulatorOffset;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
};
|
||||
|
||||
|
||||
@@ -35,13 +35,11 @@ class AnalogOutput : public SensorBase, public LiveWindowSendable {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
protected:
|
||||
int m_channel;
|
||||
HAL_AnalogOutputHandle m_port;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
};
|
||||
|
||||
|
||||
@@ -74,7 +74,6 @@ class AnalogPotentiometer : public Potentiometer, public LiveWindowSendable {
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subtable) override;
|
||||
void UpdateTable() override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
/**
|
||||
* AnalogPotentiometers don't have to do anything special when entering the
|
||||
@@ -91,7 +90,6 @@ class AnalogPotentiometer : public Potentiometer, public LiveWindowSendable {
|
||||
private:
|
||||
std::shared_ptr<AnalogInput> m_analog_input;
|
||||
double m_fullRange, m_offset;
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
};
|
||||
|
||||
|
||||
@@ -38,12 +38,10 @@ class BuiltInAccelerometer : public Accelerometer,
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<NetworkTable> subtable) override;
|
||||
void UpdateTable() override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
void StartLiveWindowMode() override {}
|
||||
void StopLiveWindowMode() override {}
|
||||
|
||||
private:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_xEntry;
|
||||
nt::NetworkTableEntry m_yEntry;
|
||||
nt::NetworkTableEntry m_zEntry;
|
||||
|
||||
@@ -45,11 +45,9 @@ class Trigger : public Sendable {
|
||||
void ToggleWhenActive(Command* command);
|
||||
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subtable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_pressedEntry;
|
||||
};
|
||||
|
||||
|
||||
@@ -161,12 +161,8 @@ class Command : public ErrorBase, public NamedSendable {
|
||||
public:
|
||||
std::string GetName() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subtable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
|
||||
private:
|
||||
nt::NetworkTableEntry m_runningEntry;
|
||||
nt::NetworkTableEntry m_isParentedEntry;
|
||||
|
||||
@@ -44,7 +44,6 @@ class Scheduler : public ErrorBase, public NamedSendable {
|
||||
void UpdateTable();
|
||||
std::string GetSmartDashboardType() const;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable);
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const;
|
||||
std::string GetName() const;
|
||||
std::string GetType() const;
|
||||
|
||||
@@ -68,7 +67,6 @@ class Scheduler : public ErrorBase, public NamedSendable {
|
||||
std::vector<std::string> commands;
|
||||
std::vector<double> ids;
|
||||
std::vector<double> toCancel;
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_namesEntry;
|
||||
nt::NetworkTableEntry m_idsEntry;
|
||||
nt::NetworkTableEntry m_cancelEntry;
|
||||
|
||||
@@ -44,11 +44,9 @@ class Subsystem : public ErrorBase, public NamedSendable {
|
||||
public:
|
||||
std::string GetName() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subtable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_hasDefaultEntry;
|
||||
nt::NetworkTableEntry m_defaultEntry;
|
||||
nt::NetworkTableEntry m_hasCommandEntry;
|
||||
|
||||
@@ -61,7 +61,6 @@ class Compressor : public SensorBase, public LiveWindowSendable {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
protected:
|
||||
HAL_CompressorHandle m_compressorHandle;
|
||||
@@ -70,7 +69,6 @@ class Compressor : public SensorBase, public LiveWindowSendable {
|
||||
void SetCompressor(bool on);
|
||||
int m_module;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_enabledEntry;
|
||||
nt::NetworkTableEntry m_pressureSwitchEntry;
|
||||
NT_EntryListener m_enabledListener = 0;
|
||||
|
||||
@@ -100,7 +100,6 @@ class Counter : public SensorBase,
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
protected:
|
||||
// Makes the counter count up.
|
||||
@@ -113,7 +112,6 @@ class Counter : public SensorBase,
|
||||
private:
|
||||
int m_index = 0; ///< The index of this counter.
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
friend class DigitalGlitchFilter;
|
||||
};
|
||||
|
||||
@@ -43,13 +43,11 @@ class DigitalInput : public DigitalSource, public LiveWindowSendable {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
private:
|
||||
int m_channel;
|
||||
HAL_DigitalHandle m_handle;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
friend class DigitalGlitchFilter;
|
||||
};
|
||||
|
||||
@@ -48,14 +48,12 @@ class DigitalOutput : public DigitalSource, public LiveWindowSendable {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
private:
|
||||
int m_channel;
|
||||
HAL_DigitalHandle m_handle;
|
||||
HAL_DigitalPWMHandle m_pwmGenerator;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
NT_EntryListener m_valueListener = 0;
|
||||
};
|
||||
|
||||
@@ -42,7 +42,6 @@ class DoubleSolenoid : public SolenoidBase, public LiveWindowSendable {
|
||||
void StopLiveWindowMode();
|
||||
std::string GetSmartDashboardType() const;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable);
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const;
|
||||
|
||||
private:
|
||||
int m_forwardChannel; ///< The forward channel on the module to control.
|
||||
@@ -52,7 +51,6 @@ class DoubleSolenoid : public SolenoidBase, public LiveWindowSendable {
|
||||
HAL_SolenoidHandle m_forwardHandle = HAL_kInvalidHandle;
|
||||
HAL_SolenoidHandle m_reverseHandle = HAL_kInvalidHandle;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
NT_EntryListener m_valueListener = 0;
|
||||
};
|
||||
|
||||
@@ -90,7 +90,6 @@ class Encoder : public SensorBase,
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
int GetFPGAIndex() const;
|
||||
|
||||
@@ -104,7 +103,6 @@ class Encoder : public SensorBase,
|
||||
std::unique_ptr<DigitalSource> m_indexSource = nullptr;
|
||||
HAL_EncoderHandle m_encoder = HAL_kInvalidHandle;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_speedEntry;
|
||||
nt::NetworkTableEntry m_distanceEntry;
|
||||
nt::NetworkTableEntry m_distancePerTickEntry;
|
||||
|
||||
@@ -37,10 +37,8 @@ class GyroBase : public Gyro,
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
private:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
};
|
||||
|
||||
|
||||
@@ -87,7 +87,6 @@ class PIDController : public LiveWindowSendable, public PIDInterface {
|
||||
PIDSource* m_pidInput;
|
||||
PIDOutput* m_pidOutput;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_pEntry;
|
||||
nt::NetworkTableEntry m_iEntry;
|
||||
nt::NetworkTableEntry m_dEntry;
|
||||
@@ -154,7 +153,6 @@ class PIDController : public LiveWindowSendable, public PIDInterface {
|
||||
std::unique_ptr<Notifier> m_controlLoop;
|
||||
Timer m_setpointTimer;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void UpdateTable() override;
|
||||
void StartLiveWindowMode() override;
|
||||
|
||||
@@ -83,9 +83,7 @@ class PWM : public SensorBase, public LiveWindowSendable {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
NT_EntryListener m_valueListener = 0;
|
||||
|
||||
|
||||
@@ -39,10 +39,8 @@ class PowerDistributionPanel : public SensorBase, public LiveWindowSendable {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
private:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_chanEntry[16];
|
||||
nt::NetworkTableEntry m_voltageEntry;
|
||||
nt::NetworkTableEntry m_totalCurrentEntry;
|
||||
|
||||
@@ -58,10 +58,8 @@ class Relay : public MotorSafety, public SensorBase, public LiveWindowSendable {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
NT_EntryListener m_valueListener = 0;
|
||||
|
||||
|
||||
@@ -40,10 +40,8 @@ class Servo : public SafePWM {
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
protected:
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
NT_EntryListener m_valueListener = 0;
|
||||
|
||||
|
||||
@@ -22,11 +22,6 @@ class Sendable {
|
||||
*/
|
||||
virtual void InitTable(std::shared_ptr<nt::NetworkTable> subtable) = 0;
|
||||
|
||||
/**
|
||||
* @return the table that is currently associated with the sendable
|
||||
*/
|
||||
virtual std::shared_ptr<nt::NetworkTable> GetTable() const = 0;
|
||||
|
||||
/**
|
||||
* @return the string representation of the named data type that will be used
|
||||
* by the smart dashboard for this sendable
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include "SmartDashboard/SendableChooserBase.h"
|
||||
#include "networktables/NetworkTable.h"
|
||||
#include "networktables/NetworkTableEntry.h"
|
||||
|
||||
namespace frc {
|
||||
|
||||
@@ -35,6 +36,7 @@ namespace frc {
|
||||
template <class T>
|
||||
class SendableChooser : public SendableChooserBase {
|
||||
llvm::StringMap<T> m_choices;
|
||||
nt::NetworkTableEntry m_selectedEntry;
|
||||
|
||||
template <class U>
|
||||
static U _unwrap_smart_ptr(const U& value);
|
||||
|
||||
@@ -59,7 +59,7 @@ void SendableChooser<T>::AddDefault(llvm::StringRef name, T object) {
|
||||
template <class T>
|
||||
auto SendableChooser<T>::GetSelected()
|
||||
-> decltype(_unwrap_smart_ptr(m_choices[""])) {
|
||||
std::string selected = m_table->GetString(kSelected, m_defaultChoice);
|
||||
std::string selected = m_selectedEntry.GetString(m_defaultChoice);
|
||||
if (selected == "") {
|
||||
return decltype(_unwrap_smart_ptr(m_choices[""])){};
|
||||
} else {
|
||||
@@ -70,8 +70,8 @@ auto SendableChooser<T>::GetSelected()
|
||||
template <class T>
|
||||
void SendableChooser<T>::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
std::vector<std::string> keys;
|
||||
m_table = subtable;
|
||||
if (m_table != nullptr) {
|
||||
if (subtable) {
|
||||
m_selectedEntry = subtable->GetEntry(kSelected);
|
||||
for (const auto& choice : m_choices) {
|
||||
keys.push_back(choice.first());
|
||||
}
|
||||
@@ -79,9 +79,9 @@ void SendableChooser<T>::InitTable(std::shared_ptr<nt::NetworkTable> subtable) {
|
||||
// Unlike std::map, llvm::StringMap elements are not sorted
|
||||
std::sort(keys.begin(), keys.end());
|
||||
|
||||
m_table->GetEntry(kOptions).SetValue(
|
||||
subtable->GetEntry(kOptions).SetValue(
|
||||
nt::Value::MakeStringArray(std::move(keys)));
|
||||
m_table->GetEntry(kDefault).SetString(m_defaultChoice);
|
||||
subtable->GetEntry(kDefault).SetString(m_defaultChoice);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,6 @@ class SendableChooserBase : public Sendable {
|
||||
public:
|
||||
virtual ~SendableChooserBase() = default;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
|
||||
protected:
|
||||
@@ -34,7 +33,6 @@ class SendableChooserBase : public Sendable {
|
||||
static const char* kSelected;
|
||||
|
||||
std::string m_defaultChoice;
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
};
|
||||
|
||||
} // namespace frc
|
||||
|
||||
@@ -38,12 +38,10 @@ class Solenoid : public SolenoidBase, public LiveWindowSendable {
|
||||
void StopLiveWindowMode();
|
||||
std::string GetSmartDashboardType() const;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable);
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const;
|
||||
|
||||
private:
|
||||
HAL_SolenoidHandle m_solenoidHandle = HAL_kInvalidHandle;
|
||||
int m_channel; ///< The channel on the module to control.
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
NT_EntryListener m_valueListener = 0;
|
||||
};
|
||||
|
||||
@@ -71,7 +71,6 @@ class Ultrasonic : public SensorBase,
|
||||
void StopLiveWindowMode() override;
|
||||
std::string GetSmartDashboardType() const override;
|
||||
void InitTable(std::shared_ptr<nt::NetworkTable> subTable) override;
|
||||
std::shared_ptr<nt::NetworkTable> GetTable() const override;
|
||||
|
||||
private:
|
||||
void Initialize();
|
||||
@@ -97,7 +96,6 @@ class Ultrasonic : public SensorBase,
|
||||
Counter m_counter;
|
||||
DistanceUnit m_units;
|
||||
|
||||
std::shared_ptr<nt::NetworkTable> m_table;
|
||||
nt::NetworkTableEntry m_valueEntry;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user