mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-24 01:31:46 +00:00
Renamed folders for consistency, using sim/athena/shared schema (#27)
Rename the following folders: hal/lib/Athena -> hal/lib/athena hal/lib/Desktop -> hal/lib/sim hal/lib/Shared -> hal/lib/shared wpilibc/Athena -> wpilibc/athena wpilibc/simulation -> wpilibc/sim Windows users may need to run gradlew clean after updating.
This commit is contained in:
committed by
Peter Johnson
parent
54092378e9
commit
e71f454b9d
67
wpilibc/athena/src/GearTooth.cpp
Normal file
67
wpilibc/athena/src/GearTooth.cpp
Normal file
@@ -0,0 +1,67 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2008-2016. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#include "GearTooth.h"
|
||||
#include "LiveWindow/LiveWindow.h"
|
||||
|
||||
constexpr double GearTooth::kGearToothThreshold;
|
||||
|
||||
/**
|
||||
* Common code called by the constructors.
|
||||
*/
|
||||
void GearTooth::EnableDirectionSensing(bool directionSensitive) {
|
||||
if (directionSensitive) {
|
||||
SetPulseLengthMode(kGearToothThreshold);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a GearTooth sensor given a channel.
|
||||
*
|
||||
* @param channel The DIO channel that the sensor is connected to.
|
||||
* 0-9 are on-board, 10-25 are on the MXP.
|
||||
* @param directionSensitive True to enable the pulse length decoding in
|
||||
* hardware to specify count direction.
|
||||
*/
|
||||
GearTooth::GearTooth(uint32_t channel, bool directionSensitive)
|
||||
: Counter(channel) {
|
||||
EnableDirectionSensing(directionSensitive);
|
||||
LiveWindow::GetInstance()->AddSensor("GearTooth", channel, this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a GearTooth sensor given a digital input.
|
||||
*
|
||||
* This should be used when sharing digital inputs.
|
||||
*
|
||||
* @param source A pointer to the existing DigitalSource object
|
||||
* (such as a DigitalInput)
|
||||
* @param directionSensitive True to enable the pulse length decoding in
|
||||
* hardware to specify count direction.
|
||||
*/
|
||||
GearTooth::GearTooth(DigitalSource* source, bool directionSensitive)
|
||||
: Counter(source) {
|
||||
EnableDirectionSensing(directionSensitive);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct a GearTooth sensor given a digital input.
|
||||
*
|
||||
* This should be used when sharing digital inputs.
|
||||
*
|
||||
* @param source A reference to the existing DigitalSource object
|
||||
* (such as a DigitalInput)
|
||||
* @param directionSensitive True to enable the pulse length decoding in
|
||||
* hardware to specify count direction.
|
||||
*/
|
||||
GearTooth::GearTooth(std::shared_ptr<DigitalSource> source,
|
||||
bool directionSensitive)
|
||||
: Counter(source) {
|
||||
EnableDirectionSensing(directionSensitive);
|
||||
}
|
||||
|
||||
std::string GearTooth::GetSmartDashboardType() const { return "GearTooth"; }
|
||||
Reference in New Issue
Block a user