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
Accelerometer.cpp
1
/*----------------------------------------------------------------------------*/
2
/* Copyright (c) FIRST 2008. 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
#include "Accelerometer.h"
8
#include "AnalogModule.h"
9
#include "NetworkCommunication/UsageReporting.h"
10
#include "WPIErrors.h"
11
#include "LiveWindow/LiveWindow.h"
12
16
void
Accelerometer::InitAccelerometer()
17
{
18
m_table = NULL;
19
m_voltsPerG = 1.0;
20
m_zeroGVoltage = 2.5;
21
nUsageReporting::report(nUsageReporting::kResourceType_Accelerometer, m_analogChannel->
GetChannel
(), m_analogChannel->
GetModuleNumber
() - 1);
22
LiveWindow::GetInstance
()->
AddSensor
(
"Accelerometer"
, m_analogChannel->
GetModuleNumber
(), m_analogChannel->
GetChannel
(),
this
);
23
}
24
31
Accelerometer::Accelerometer
(uint32_t channel)
32
{
33
m_analogChannel =
new
AnalogChannel
(channel);
34
m_allocatedChannel =
true
;
35
InitAccelerometer();
36
}
37
47
Accelerometer::Accelerometer
(uint8_t moduleNumber, uint32_t channel)
48
{
49
m_analogChannel =
new
AnalogChannel
(moduleNumber, channel);
50
m_allocatedChannel =
true
;
51
InitAccelerometer();
52
}
53
60
Accelerometer::Accelerometer
(
AnalogChannel
*channel)
61
{
62
if
(channel == NULL)
63
{
64
wpi_setWPIError(NullParameter);
65
}
66
else
67
{
68
m_analogChannel = channel;
69
InitAccelerometer();
70
}
71
m_allocatedChannel =
false
;
72
}
73
77
Accelerometer::~Accelerometer
()
78
{
79
if
(m_allocatedChannel)
80
{
81
delete
m_analogChannel;
82
}
83
}
84
92
float
Accelerometer::GetAcceleration
()
93
{
94
return
(m_analogChannel->
GetAverageVoltage
() - m_zeroGVoltage) / m_voltsPerG;
95
}
96
105
void
Accelerometer::SetSensitivity
(
float
sensitivity)
106
{
107
m_voltsPerG = sensitivity;
108
}
109
117
void
Accelerometer::SetZero
(
float
zero)
118
{
119
m_zeroGVoltage = zero;
120
}
121
127
double
Accelerometer::PIDGet
()
128
{
129
return
GetAcceleration
();
130
}
131
132
void
Accelerometer::UpdateTable
() {
133
if
(m_table != NULL) {
134
m_table->
PutNumber
(
"Value"
,
GetAcceleration
());
135
}
136
}
137
138
void
Accelerometer::StartLiveWindowMode
() {
139
}
140
141
void
Accelerometer::StopLiveWindowMode
() {
142
}
143
144
std::string
Accelerometer::GetSmartDashboardType
() {
145
return
"Accelerometer"
;
146
}
147
148
void
Accelerometer::InitTable
(
ITable
*subTable) {
149
m_table = subTable;
150
UpdateTable
();
151
}
152
153
ITable
*
Accelerometer::GetTable
() {
154
return
m_table;
155
}
156
AnalogChannel::GetChannel
uint32_t GetChannel()
Definition:
AnalogChannel.cpp:189
ITable::PutNumber
virtual void PutNumber(std::string key, double value)=0
AnalogChannel
Definition:
AnalogChannel.h:29
ITable
Definition:
ITable.h:26
AnalogChannel::GetModuleNumber
uint8_t GetModuleNumber()
Definition:
AnalogChannel.cpp:199
Accelerometer::UpdateTable
void UpdateTable()
Definition:
Accelerometer.cpp:132
Accelerometer::InitTable
void InitTable(ITable *subTable)
Definition:
Accelerometer.cpp:148
Accelerometer::StopLiveWindowMode
void StopLiveWindowMode()
Definition:
Accelerometer.cpp:141
LiveWindow::AddSensor
void AddSensor(const char *subsystem, const char *name, LiveWindowSendable *component)
Definition:
LiveWindow.cpp:82
AnalogChannel::GetAverageVoltage
float GetAverageVoltage()
Definition:
AnalogChannel.cpp:149
LiveWindow::GetInstance
static LiveWindow * GetInstance()
Definition:
LiveWindow.cpp:13
Accelerometer::StartLiveWindowMode
void StartLiveWindowMode()
Definition:
Accelerometer.cpp:138
Accelerometer::GetAcceleration
float GetAcceleration()
Definition:
Accelerometer.cpp:92
Accelerometer::SetZero
void SetZero(float zero)
Definition:
Accelerometer.cpp:117
Accelerometer::~Accelerometer
virtual ~Accelerometer()
Definition:
Accelerometer.cpp:77
Accelerometer::GetSmartDashboardType
std::string GetSmartDashboardType()
Definition:
Accelerometer.cpp:144
Accelerometer::PIDGet
double PIDGet()
Definition:
Accelerometer.cpp:127
Accelerometer::GetTable
ITable * GetTable()
Definition:
Accelerometer.cpp:153
Accelerometer::SetSensitivity
void SetSensitivity(float sensitivity)
Definition:
Accelerometer.cpp:105
Accelerometer::Accelerometer
Accelerometer(uint32_t channel)
Definition:
Accelerometer.cpp:31
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.