/*----------------------------------------------------------------------------*/ /* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */ /*----------------------------------------------------------------------------*/ #ifndef __SMART_DASHBOARD_H__ #define __SMART_DASHBOARD_H__ #include "SensorBase.h" #include #include #include "SmartDashboard/Sendable.h" #include "SmartDashboard/NamedSendable.h" #include "tables/ITable.h" class SmartDashboard : public SensorBase { public: static void init(); static void PutData(std::string key, Sendable *data); static void PutData(NamedSendable *value); static Sendable* GetData(std::string keyName); static void PutBoolean(std::string keyName, bool value); static bool GetBoolean(std::string keyName); static bool GetBoolean(std::string keyName, bool defaultValue); static void PutNumber(std::string keyName, double value); static double GetNumber(std::string keyName); static double GetNumber(std::string keyName, double defaultValue); static void PutString(std::string keyName, std::string value); static int GetString(std::string keyName, char *value, unsigned int valueLen); static std::string GetString(std::string keyName); static std::string GetString(std::string keyName, std::string defaultValue); static void PutValue(std::string keyName, ComplexData& value); static void RetrieveValue(std::string keyName, ComplexData& value); private: SmartDashboard(); virtual ~SmartDashboard(); DISALLOW_COPY_AND_ASSIGN(SmartDashboard); /** The {@link NetworkTable} used by {@link SmartDashboard} */ static ITable* m_table; /** * A map linking tables in the SmartDashboard to the {@link SmartDashboardData} objects * they came from. */ static std::map m_tablesToData; }; #endif