Fix SmartDashboard PutData to hook setters. (#851)

* Fix SmartDashboard PutData to hook setters.

Also update all PutData values in main periodic loop (same as LiveWindow).

* Improve SmartDashboard.putData() repeat call handling.
This commit is contained in:
Peter Johnson
2017-12-26 17:18:02 -06:00
committed by bradamiller
parent a3e5378d14
commit 40eb6dfc9b
8 changed files with 97 additions and 25 deletions

View File

@@ -52,12 +52,24 @@ class SendableBuilderImpl : public SendableBuilder {
void UpdateTable();
/**
* Start LiveWindow mode by hooking the setters for all properties.
* Hook setters for all properties.
*/
void StartListeners();
/**
* Unhook setters for all properties.
*/
void StopListeners();
/**
* Start LiveWindow mode by hooking the setters for all properties. Also
* calls the SafeState function if one was provided.
*/
void StartLiveWindowMode();
/**
* Stop LiveWindow mode by unhooking the setters for all properties.
* Stop LiveWindow mode by unhooking the setters for all properties. Also
* calls the SafeState function if one was provided.
*/
void StopLiveWindowMode();

View File

@@ -84,6 +84,8 @@ class SmartDashboard : public SensorBase {
std::shared_ptr<nt::Value> defaultValue);
static std::shared_ptr<nt::Value> GetValue(llvm::StringRef keyName);
static void UpdateValues();
private:
virtual ~SmartDashboard() = default;
};