[sim] Add WPILib-class-taking constructors (#2538)

When not direct mapped, make index constructors private and add factory
functions for channel and index.

Co-authored-by: GabrielDeml <gabrielddeml@gmail.com>
This commit is contained in:
Peter Johnson
2020-07-04 10:10:43 -07:00
committed by GitHub
parent 80a1fa9ece
commit 3050e935a1
75 changed files with 1281 additions and 126 deletions

View File

@@ -13,12 +13,30 @@
#include <hal/simulation/PDPData.h>
#include "CallbackStore.h"
#include "frc/PowerDistributionPanel.h"
namespace frc {
namespace sim {
/**
* Class to control a simulated Power Distribution Panel (PDP).
*/
class PDPSim {
public:
explicit PDPSim(int index) { m_index = index; }
/**
* Constructs from a PDP module number (CAN ID).
*
* @param module module number
*/
explicit PDPSim(int module = 0) : m_index{module} {}
/**
* Constructs from a PowerDistributionPanel object.
*
* @param pdp PowerDistributionPanel to simulate
*/
explicit PDPSim(const PowerDistributionPanel& pdp)
: m_index{pdp.GetModule()} {}
std::unique_ptr<CallbackStore> RegisterInitializedCallback(
NotifyCallback callback, bool initialNotify) {