LRT14
1.0
Main Page
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Enumerations
Enumerator
DriveEncoders.h
1
#ifndef DRIVE_ENCODERS_H_
2
#define DRIVE_ENCODERS_H_
3
4
#include "WPILib.h"
5
#include "LRTEncoder.h"
6
#include "../Config/Configurable.h"
7
#include "../Logging/Loggable.h"
8
#include <Rhesus/Toolkit/Defines.h>
9
13
class
DriveEncoders
:
public
Configurable
,
public
Loggable
14
{
15
public
:
16
enum
Side
17
{
18
LEFT = 0,
19
RIGHT = 1
20
};
21
22
DriveEncoders
(uint32_t leftSourceA, uint32_t leftSourceB, uint32_t rightSourceA, uint32_t rightSourceB);
23
27
~DriveEncoders
();
28
29
static
DriveEncoders
* Get();
30
34
void
Configure
();
35
39
void
Log
();
40
45
double
GetRawForwardSpeed
();
46
51
double
GetNormalizedForwardSpeed
();
52
57
double
GetRawTurningSpeed
();
58
63
double
GetNormalizedTurningSpeed
();
64
69
double
GetRobotDist
();
70
75
int
GetTurnTicks
();
76
81
double
GetTurnRevolutions
();
82
87
double
GetTurnAngle
();
88
94
double
GetWheelDist
(Side side);
95
96
102
double
GetNormalizedSpeed
(Side side);
103
109
double
GetTurnRadius
();
110
115
LRTEncoder
*
GetEncoder
(Side side);
116
121
static
double
GetMaxEncoderRate
();
122
127
static
double
GetMaxSpeed
();
128
133
static
double
GetMaxTurnRate
();
134
135
private
:
136
static
DriveEncoders
* m_instance;
137
138
const
static
double
PI = 3.14159;
139
140
LRTEncoder
* m_encoders[2];
141
142
static
double
PULSES_PER_REVOLUTION;
// Encoder pulses per wheel revolution
143
static
double
MAX_ENCODER_RATE;
144
static
double
MAX_TURNING_RATE;
145
static
double
TICKS_PER_FULL_TURN;
146
static
double
WHEEL_DIAMETER;
// Inches
147
static
double
GEAR_RATIO;
148
};
149
150
#endif
Sensors
DriveEncoders.h
Generated on Tue Feb 11 2014 00:29:49 for LRT14 by
1.8.3