[wpilib] SpeedControllerGroup: Add vector-taking constructor (#2194)

This allows the list to be constructed dynamically.

Co-authored-by: Thad House <thadhouse1@gmail.com>
This commit is contained in:
Peter Johnson
2020-04-03 08:39:57 -07:00
committed by GitHub
parent 21aafea098
commit 576d427f03
4 changed files with 46 additions and 15 deletions

View File

@@ -1,5 +1,5 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) 2016-2019 FIRST. All Rights Reserved. */
/* Copyright (c) 2016-2020 FIRST. All Rights Reserved. */
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
@@ -7,6 +7,8 @@
package edu.wpi.first.wpilibj;
import java.util.Arrays;
import edu.wpi.first.wpilibj.smartdashboard.SendableBuilder;
import edu.wpi.first.wpilibj.smartdashboard.SendableRegistry;
@@ -28,13 +30,23 @@ public class SpeedControllerGroup implements SpeedController, Sendable, AutoClos
SpeedController... speedControllers) {
m_speedControllers = new SpeedController[speedControllers.length + 1];
m_speedControllers[0] = speedController;
SendableRegistry.addChild(this, speedController);
for (int i = 0; i < speedControllers.length; i++) {
m_speedControllers[i + 1] = speedControllers[i];
SendableRegistry.addChild(this, speedControllers[i]);
}
init();
}
public SpeedControllerGroup(SpeedController[] speedControllers) {
m_speedControllers = Arrays.copyOf(speedControllers, speedControllers.length);
init();
}
private void init() {
for (SpeedController controller : m_speedControllers) {
SendableRegistry.addChild(this, controller);
}
instances++;
SendableRegistry.addLW(this, "tSpeedControllerGroup", instances);
SendableRegistry.addLW(this, "SpeedControllerGroup", instances);
}
@Override