9 #include "NetworkCommunication/UsageReporting.h"
10 #include "LiveWindow/LiveWindow.h"
12 constexpr
float Servo::kMaxServoAngle;
13 constexpr
float Servo::kMinServoAngle;
21 void Servo::InitServo()
29 nUsageReporting::report(nUsageReporting::kResourceType_Servo, GetChannel(), GetModuleNumber() - 1);
103 if (degrees < kMinServoAngle)
105 degrees = kMinServoAngle;
107 else if (degrees > kMaxServoAngle)
109 degrees = kMaxServoAngle;
112 SetPosition(((
float) (degrees - kMinServoAngle)) / GetServoAngleRange());
123 return (
float)
GetPosition() * GetServoAngleRange() + kMinServoAngle;
131 if (m_table != NULL) {
137 if (m_table != NULL) {
143 if (m_table != NULL) {
virtual void SetPosition(float pos)
virtual void RemoveTableListener(ITableListener *listener)=0
void AddActuator(const char *subsystem, const char *name, LiveWindowSendable *component)
virtual void PutNumber(std::string key, double value)=0
virtual void AddTableListener(ITableListener *listener)=0
void ValueChanged(ITable *source, const std::string &key, EntryValue value, bool isNew)
void StopLiveWindowMode()
virtual float GetPosition()
void InitTable(ITable *subTable)
void SetAngle(float angle)
void SetPeriodMultiplier(PeriodMultiplier mult)
static LiveWindow * GetInstance()
void StartLiveWindowMode()
virtual void SetRaw(uint8_t value)
void SetBounds(int32_t max, int32_t deadbandMax, int32_t center, int32_t deadbandMin, int32_t min)
std::string GetSmartDashboardType()