blob: d4859ce21610d0f4a462a0549706602a3fa4c4d0 [file] [log] [blame]
Brian Silverman1a675112016-02-20 20:42:49 -05001/*----------------------------------------------------------------------------*/
2/* Copyright (c) FIRST 2008-2016. All Rights Reserved. */
3/* Open Source Software - may be modified and shared by FRC teams. The code */
4/* must be accompanied by the FIRST BSD license file in the root directory of */
5/* the project. */
6/*----------------------------------------------------------------------------*/
7
8#pragma once
9
10#include "SafePWM.h"
11#include "SpeedController.h"
12#include "PIDOutput.h"
13
14/**
15 * REV Robotics Speed Controller
16 */
17class Spark : public SafePWM, public SpeedController {
18 public:
19 explicit Spark(uint32_t channel);
20 virtual ~Spark() = default;
21 virtual void Set(float value, uint8_t syncGroup = 0) override;
22 virtual float Get() const override;
23 virtual void Disable() override;
24 virtual void StopMotor() override;
25
26 virtual void PIDWrite(float output) override;
27
28 virtual void SetInverted(bool isInverted) override;
29 virtual bool GetInverted() const override;
30
31 private:
32 bool m_isInverted = false;
33};