mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-07-03 03:01:44 +00:00
Added BuiltInAccelerometer in Java and updated C++
Change-Id: I5a3360c51334e85da6a15fd640f9420bc3b64dca
This commit is contained in:
@@ -6,13 +6,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "SensorBase.h"
|
||||
#include "LiveWindow/LiveWindowSendable.h"
|
||||
|
||||
/**
|
||||
* Built-in accelerometer.
|
||||
*
|
||||
* This class allows access to the RoboRIO's internal accelerometer.
|
||||
*/
|
||||
class BuiltInAccelerometer : public SensorBase
|
||||
class BuiltInAccelerometer : public SensorBase, public LiveWindowSendable
|
||||
{
|
||||
public:
|
||||
enum Range
|
||||
@@ -22,9 +23,18 @@ public:
|
||||
kRange_8G = 0x02,
|
||||
};
|
||||
|
||||
BuiltInAccelerometer(Range range = kRange_2G);
|
||||
virtual ~BuiltInAccelerometer();
|
||||
BuiltInAccelerometer(Range range = kRange_8G);
|
||||
virtual double GetX() const;
|
||||
virtual double GetY() const;
|
||||
virtual double GetZ() const;
|
||||
|
||||
virtual std::string GetSmartDashboardType();
|
||||
virtual void InitTable(ITable *subtable);
|
||||
virtual void UpdateTable();
|
||||
virtual ITable* GetTable();
|
||||
virtual void StartLiveWindowMode() {}
|
||||
virtual void StopLiveWindowMode() {}
|
||||
|
||||
private:
|
||||
ITable *m_table;
|
||||
};
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
#include "AnalogModule.h"
|
||||
#include "AnalogTrigger.h"
|
||||
#include "AnalogTriggerOutput.h"
|
||||
#include "BuiltInAccelerometer.h"
|
||||
#include "Buttons/AnalogIOButton.h"
|
||||
#include "Buttons/DigitalIOButton.h"
|
||||
#include "Buttons/InternalButton.h"
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
* @param range The range the accelerometer will measure
|
||||
*/
|
||||
BuiltInAccelerometer::BuiltInAccelerometer(Range range)
|
||||
: m_table(0)
|
||||
{
|
||||
setAccelerometerActive(false);
|
||||
setAccelerometerRange((AccelerometerRange)range);
|
||||
@@ -20,14 +21,6 @@ BuiltInAccelerometer::BuiltInAccelerometer(Range range)
|
||||
HALReport(HALUsageReporting::kResourceType_Accelerometer, 0, 0, "Built-in accelerometer");
|
||||
}
|
||||
|
||||
/**
|
||||
* Destructor.
|
||||
*/
|
||||
BuiltInAccelerometer::~BuiltInAccelerometer()
|
||||
{
|
||||
setAccelerometerActive(false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return The acceleration of the RoboRIO along the X axis in g-forces
|
||||
*/
|
||||
@@ -51,3 +44,24 @@ double BuiltInAccelerometer::GetZ() const
|
||||
{
|
||||
return getAccelerometerZ();
|
||||
}
|
||||
|
||||
std::string BuiltInAccelerometer::GetSmartDashboardType() {
|
||||
return "Accelerometer";
|
||||
}
|
||||
|
||||
void BuiltInAccelerometer::InitTable(ITable *subtable) {
|
||||
m_table = subtable;
|
||||
UpdateTable();
|
||||
}
|
||||
|
||||
void BuiltInAccelerometer::UpdateTable() {
|
||||
if (m_table != NULL) {
|
||||
m_table->PutNumber("X", GetX());
|
||||
m_table->PutNumber("Y", GetY());
|
||||
m_table->PutNumber("Z", GetZ());
|
||||
}
|
||||
}
|
||||
|
||||
ITable* BuiltInAccelerometer::GetTable() {
|
||||
return m_table;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user