mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-22 01:11:42 +00:00
For Java, this is as simple as just adding it, as all motors already have an implementation from MotorSafety that is correctly resolved. For C++, I had to override StopMotor in the classes that descend from SafePWM and explicitly call the SafePWM version. RobotDrive now calls StopMotor on each of its SpeedControllers, instead of calling Disable or setting the motor to 0.0 as it was doing previously. Additional small formatting corrections to the previous commit starting this were added. Change-Id: Ie94565394927a910ce74bc628670ac3d658d8df9
34 lines
1.1 KiB
C++
34 lines
1.1 KiB
C++
/*----------------------------------------------------------------------------*/
|
|
/* Copyright (c) FIRST 2008-2016. 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. */
|
|
/*----------------------------------------------------------------------------*/
|
|
|
|
#pragma once
|
|
|
|
#include "SafePWM.h"
|
|
#include "SpeedController.h"
|
|
#include "PIDOutput.h"
|
|
|
|
/**
|
|
* Mindsensors SD540 Speed Controller
|
|
*/
|
|
class SD540 : public SafePWM, public SpeedController {
|
|
public:
|
|
explicit SD540(uint32_t channel);
|
|
virtual ~SD540() = default;
|
|
virtual void Set(float value, uint8_t syncGroup = 0) override;
|
|
virtual float Get() const override;
|
|
virtual void Disable() override;
|
|
virtual void StopMotor() override;
|
|
|
|
virtual void PIDWrite(float output) override;
|
|
|
|
virtual void SetInverted(bool isInverted) override;
|
|
virtual bool GetInverted() const override;
|
|
|
|
private:
|
|
bool m_isInverted = false;
|
|
};
|