Home
Roadside
Carputer
geoHist
software
FRC
Blog
Now you can download a copy of these docs so you can use them offline!
Download now
Main Page
Related Pages
Classes
Files
File List
Commands
PIDSubsystem.h
1
/*----------------------------------------------------------------------------*/
2
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
5
/*----------------------------------------------------------------------------*/
6
7
#ifndef __PID_SUBSYSTEM_H__
8
#define __PID_SUBSYSTEM_H__
9
10
#include "Commands/Subsystem.h"
11
#include "PIDController.h"
12
#include "PIDSource.h"
13
#include "PIDOutput.h"
14
25
class
PIDSubsystem
:
public
Subsystem
,
public
PIDOutput
,
public
PIDSource
26
{
27
public
:
28
PIDSubsystem
(
const
char
*name,
double
p,
double
i,
double
d);
29
PIDSubsystem
(
const
char
*name,
double
p,
double
i,
double
d,
double
f);
30
PIDSubsystem
(
const
char
*name,
double
p,
double
i,
double
d,
double
f,
double
period);
31
PIDSubsystem
(
double
p,
double
i,
double
d);
32
PIDSubsystem
(
double
p,
double
i,
double
d,
double
f);
33
PIDSubsystem
(
double
p,
double
i,
double
d,
double
f,
double
period);
34
virtual
~
PIDSubsystem
();
35
36
void
Enable
();
37
void
Disable
();
38
39
// PIDOutput interface
40
virtual
void
PIDWrite(
float
output);
41
42
// PIDSource interface
43
virtual
double
PIDGet();
44
void
SetSetpoint
(
double
setpoint);
45
void
SetSetpointRelative
(
double
deltaSetpoint);
46
void
SetInputRange
(
float
minimumInput,
float
maximumInput);
47
double
GetSetpoint
();
48
double
GetPosition
();
49
50
virtual
void
SetAbsoluteTolerance(
float
absValue);
51
virtual
void
SetPercentTolerance(
float
percent);
52
virtual
bool
OnTarget();
53
54
protected
:
55
PIDController
*
GetPIDController
();
56
57
virtual
double
ReturnPIDInput() = 0;
58
virtual
void
UsePIDOutput(
double
output) = 0;
59
60
private
:
62
PIDController
*m_controller;
63
64
public
:
65
virtual
void
InitTable
(
ITable
* table);
66
virtual
std::string
GetSmartDashboardType
();
67
};
68
69
#endif
70
PIDSubsystem
Definition:
PIDSubsystem.h:25
PIDSubsystem::SetInputRange
void SetInputRange(float minimumInput, float maximumInput)
Definition:
PIDSubsystem.cpp:172
ITable
Definition:
ITable.h:26
PIDSubsystem::SetSetpoint
void SetSetpoint(double setpoint)
Definition:
PIDSubsystem.cpp:141
PIDSubsystem::GetPosition
double GetPosition()
Definition:
PIDSubsystem.cpp:215
PIDSubsystem::GetPIDController
PIDController * GetPIDController()
Definition:
PIDSubsystem.cpp:129
PIDSource
Definition:
PIDSource.h:15
PIDController
Definition:
PIDController.h:26
Subsystem
Definition:
Subsystem.h:17
PIDSubsystem::Enable
void Enable()
Definition:
PIDSubsystem.cpp:109
PIDSubsystem::PIDSubsystem
PIDSubsystem(const char *name, double p, double i, double d)
Definition:
PIDSubsystem.cpp:20
PIDSubsystem::SetSetpointRelative
void SetSetpointRelative(double deltaSetpoint)
Definition:
PIDSubsystem.cpp:152
PIDSubsystem::Disable
void Disable()
Definition:
PIDSubsystem.cpp:117
PIDOutput
Definition:
PIDOutput.h:18
PIDSubsystem::GetSmartDashboardType
virtual std::string GetSmartDashboardType()
Definition:
PIDSubsystem.cpp:231
PIDSubsystem::GetSetpoint
double GetSetpoint()
Definition:
PIDSubsystem.cpp:161
PIDSubsystem::InitTable
virtual void InitTable(ITable *table)
Definition:
PIDSubsystem.cpp:234
Generated on Sat Apr 26 2014 12:26:45 for WPILibC++ by
1.8.6
© 2006-2009 Dustin Spicuzza. All rights reserved.
Powered by Onnac
I do not condone or encourage graffiti. Please paint responsibly.