mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-28 02:11:43 +00:00
CMake Changes
This is the changes made by Patrick Plenefisch converting the native code to use CMake and the CMake Maven Plugin, as opposed to the native Maven plugin. This is to allow for compatibility with newer versions of the GCC toolchain. All the cpp sources were moved from maven style directories to cpp style directories for CMake. Change-Id: I67f5e3608948f37c83b0990d232105a3784f8593
This commit is contained in:
26
wpilibc/include/Buttons/AnalogIOButton.h
Normal file
26
wpilibc/include/Buttons/AnalogIOButton.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __ANALOG_IO_BUTTON_H__
|
||||
#define __ANALOG_IO_BUTTON_H__
|
||||
|
||||
#include "Buttons/Button.h"
|
||||
|
||||
class AnalogIOButton : public Trigger
|
||||
{
|
||||
public:
|
||||
static const double kThreshold;
|
||||
|
||||
AnalogIOButton(int port);
|
||||
virtual ~AnalogIOButton() {}
|
||||
virtual bool Get();
|
||||
|
||||
private:
|
||||
int m_port;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
35
wpilibc/include/Buttons/Button.h
Normal file
35
wpilibc/include/Buttons/Button.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __BUTTON_H__
|
||||
#define __BUTTON_H__
|
||||
|
||||
#include "Buttons/Trigger.h"
|
||||
#include "Commands/Command.h"
|
||||
|
||||
/**
|
||||
* This class provides an easy way to link commands to OI inputs.
|
||||
*
|
||||
* It is very easy to link a button to a command. For instance, you could
|
||||
* link the trigger button of a joystick to a "score" command.
|
||||
*
|
||||
* This class represents a subclass of Trigger that is specifically aimed at
|
||||
* buttons on an operator interface as a common use case of the more generalized
|
||||
* Trigger objects. This is a simple wrapper around Trigger with the method names
|
||||
* renamed to fit the Button object use.
|
||||
*
|
||||
* @author brad
|
||||
*/
|
||||
class Button : public Trigger {
|
||||
public:
|
||||
virtual void WhenPressed(Command *command);
|
||||
virtual void WhileHeld(Command *command);
|
||||
virtual void WhenReleased(Command *command);
|
||||
virtual void CancelWhenPressed(Command *command);
|
||||
virtual void ToggleWhenPressed(Command *command);
|
||||
};
|
||||
|
||||
#endif
|
||||
27
wpilibc/include/Buttons/ButtonScheduler.h
Normal file
27
wpilibc/include/Buttons/ButtonScheduler.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __BUTTON_SCHEDULER_H__
|
||||
#define __BUTTON_SCHEDULER_H__
|
||||
|
||||
class Trigger;
|
||||
class Command;
|
||||
|
||||
class ButtonScheduler
|
||||
{
|
||||
public:
|
||||
ButtonScheduler(bool last, Trigger *button, Command *orders);
|
||||
virtual ~ButtonScheduler() {}
|
||||
virtual void Execute() = 0;
|
||||
void Start();
|
||||
|
||||
protected:
|
||||
bool m_pressedLast;
|
||||
Trigger *m_button;
|
||||
Command *m_command;
|
||||
};
|
||||
|
||||
#endif
|
||||
25
wpilibc/include/Buttons/CancelButtonScheduler.h
Normal file
25
wpilibc/include/Buttons/CancelButtonScheduler.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __CANCEL_BUTTON_SCHEDULER_H__
|
||||
#define __CANCEL_BUTTON_SCHEDULER_H__
|
||||
|
||||
#include "Buttons/ButtonScheduler.h"
|
||||
|
||||
class Trigger;
|
||||
class Command;
|
||||
|
||||
class CancelButtonScheduler : public ButtonScheduler
|
||||
{
|
||||
public:
|
||||
CancelButtonScheduler(bool last, Trigger *button, Command *orders);
|
||||
virtual ~CancelButtonScheduler() {}
|
||||
virtual void Execute();
|
||||
private:
|
||||
bool pressedLast;
|
||||
};
|
||||
|
||||
#endif
|
||||
26
wpilibc/include/Buttons/DigitalIOButton.h
Normal file
26
wpilibc/include/Buttons/DigitalIOButton.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __DIGITAL_IO_BUTTON_H__
|
||||
#define __DIGITAL_IO_BUTTON_H__
|
||||
|
||||
#include "Buttons/Button.h"
|
||||
|
||||
class DigitalIOButton: public Button
|
||||
{
|
||||
public:
|
||||
static const bool kActiveState;
|
||||
|
||||
DigitalIOButton(int port);
|
||||
virtual ~DigitalIOButton() {}
|
||||
|
||||
virtual bool Get();
|
||||
|
||||
private:
|
||||
int m_port;
|
||||
};
|
||||
|
||||
#endif
|
||||
23
wpilibc/include/Buttons/HeldButtonScheduler.h
Normal file
23
wpilibc/include/Buttons/HeldButtonScheduler.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __HELD_BUTTON_SCHEDULER_H__
|
||||
#define __HELD_BUTTON_SCHEDULER_H__
|
||||
|
||||
#include "Buttons/ButtonScheduler.h"
|
||||
|
||||
class Trigger;
|
||||
class Command;
|
||||
|
||||
class HeldButtonScheduler : public ButtonScheduler
|
||||
{
|
||||
public:
|
||||
HeldButtonScheduler(bool last, Trigger *button, Command *orders);
|
||||
virtual ~HeldButtonScheduler() {}
|
||||
virtual void Execute();
|
||||
};
|
||||
|
||||
#endif
|
||||
29
wpilibc/include/Buttons/InternalButton.h
Normal file
29
wpilibc/include/Buttons/InternalButton.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __INTERNAL_BUTTON_H__
|
||||
#define __INTERNAL_BUTTON_H__
|
||||
|
||||
#include "Buttons/Button.h"
|
||||
|
||||
class InternalButton : public Button
|
||||
{
|
||||
public:
|
||||
InternalButton();
|
||||
InternalButton(bool inverted);
|
||||
virtual ~InternalButton() {}
|
||||
|
||||
void SetInverted(bool inverted);
|
||||
void SetPressed(bool pressed);
|
||||
|
||||
virtual bool Get();
|
||||
|
||||
private:
|
||||
bool m_pressed;
|
||||
bool m_inverted;
|
||||
};
|
||||
|
||||
#endif
|
||||
26
wpilibc/include/Buttons/JoystickButton.h
Normal file
26
wpilibc/include/Buttons/JoystickButton.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __JOYSTICK_BUTTON_H__
|
||||
#define __JOYSTICK_BUTTON_H__
|
||||
|
||||
#include "GenericHID.h"
|
||||
#include "Buttons/Button.h"
|
||||
|
||||
class JoystickButton : public Button
|
||||
{
|
||||
public:
|
||||
JoystickButton(GenericHID *joystick, int buttonNumber);
|
||||
virtual ~JoystickButton() {}
|
||||
|
||||
virtual bool Get();
|
||||
|
||||
private:
|
||||
GenericHID *m_joystick;
|
||||
int m_buttonNumber;
|
||||
};
|
||||
|
||||
#endif
|
||||
28
wpilibc/include/Buttons/NetworkButton.h
Normal file
28
wpilibc/include/Buttons/NetworkButton.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __NETWORK_BUTTON_H__
|
||||
#define __NETWORK_BUTTON_H__
|
||||
|
||||
#include "Buttons/Button.h"
|
||||
#include <string>
|
||||
|
||||
class NetworkButton : public Button
|
||||
{
|
||||
public:
|
||||
NetworkButton(const char *tableName, const char *field);
|
||||
NetworkButton(ITable* table, const char *field);
|
||||
virtual ~NetworkButton() {}
|
||||
|
||||
virtual bool Get();
|
||||
|
||||
private:
|
||||
ITable* m_netTable;
|
||||
std::string m_field;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
23
wpilibc/include/Buttons/PressedButtonScheduler.h
Normal file
23
wpilibc/include/Buttons/PressedButtonScheduler.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __PRESSED_BUTTON_SCHEDULER_H__
|
||||
#define __PRESSED_BUTTON_SCHEDULER_H__
|
||||
|
||||
#include "Buttons/ButtonScheduler.h"
|
||||
|
||||
class Trigger;
|
||||
class Command;
|
||||
|
||||
class PressedButtonScheduler : public ButtonScheduler
|
||||
{
|
||||
public:
|
||||
PressedButtonScheduler(bool last, Trigger *button, Command *orders);
|
||||
virtual ~PressedButtonScheduler() {}
|
||||
virtual void Execute();
|
||||
};
|
||||
|
||||
#endif
|
||||
23
wpilibc/include/Buttons/ReleasedButtonScheduler.h
Normal file
23
wpilibc/include/Buttons/ReleasedButtonScheduler.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __RELEASED_BUTTON_SCHEDULER_H__
|
||||
#define __RELEASED_BUTTON_SCHEDULER_H__
|
||||
|
||||
#include "Buttons/ButtonScheduler.h"
|
||||
|
||||
class Trigger;
|
||||
class Command;
|
||||
|
||||
class ReleasedButtonScheduler : public ButtonScheduler
|
||||
{
|
||||
public:
|
||||
ReleasedButtonScheduler(bool last, Trigger *button, Command *orders);
|
||||
virtual ~ReleasedButtonScheduler() {}
|
||||
virtual void Execute();
|
||||
};
|
||||
|
||||
#endif
|
||||
25
wpilibc/include/Buttons/ToggleButtonScheduler.h
Normal file
25
wpilibc/include/Buttons/ToggleButtonScheduler.h
Normal file
@@ -0,0 +1,25 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __TOGGLE_BUTTON_SCHEDULER_H__
|
||||
#define __TOGGLE_BUTTON_SCHEDULER_H__
|
||||
|
||||
#include "Buttons/ButtonScheduler.h"
|
||||
|
||||
class Trigger;
|
||||
class Command;
|
||||
|
||||
class ToggleButtonScheduler : public ButtonScheduler
|
||||
{
|
||||
public:
|
||||
ToggleButtonScheduler(bool last, Trigger *button, Command *orders);
|
||||
virtual ~ToggleButtonScheduler() {}
|
||||
virtual void Execute();
|
||||
private:
|
||||
bool pressedLast;
|
||||
};
|
||||
|
||||
#endif
|
||||
49
wpilibc/include/Buttons/Trigger.h
Normal file
49
wpilibc/include/Buttons/Trigger.h
Normal file
@@ -0,0 +1,49 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. 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 $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __TRIGGER_H__
|
||||
#define __TRIGGER_H__
|
||||
|
||||
#include "SmartDashboard/Sendable.h"
|
||||
|
||||
class Command;
|
||||
|
||||
/**
|
||||
* This class provides an easy way to link commands to inputs.
|
||||
*
|
||||
* It is very easy to link a polled input to a command. For instance, you could
|
||||
* link the trigger button of a joystick to a "score" command or an encoder reaching
|
||||
* a particular value.
|
||||
*
|
||||
* It is encouraged that teams write a subclass of Trigger if they want to have
|
||||
* something unusual (for instance, if they want to react to the user holding
|
||||
* a button while the robot is reading a certain sensor input). For this, they
|
||||
* only have to write the {@link Trigger#Get()} method to get the full functionality
|
||||
* of the Trigger class.
|
||||
*
|
||||
* @author Brad Miller, Joe Grinstead
|
||||
*/
|
||||
class Trigger : public Sendable
|
||||
{
|
||||
public:
|
||||
Trigger();
|
||||
virtual ~Trigger() {}
|
||||
bool Grab();
|
||||
virtual bool Get() = 0;
|
||||
void WhenActive(Command *command);
|
||||
void WhileActive(Command *command);
|
||||
void WhenInactive(Command *command);
|
||||
void CancelWhenActive(Command *command);
|
||||
void ToggleWhenActive(Command *command);
|
||||
|
||||
virtual void InitTable(ITable* table);
|
||||
virtual ITable* GetTable();
|
||||
virtual std::string GetSmartDashboardType();
|
||||
protected:
|
||||
ITable* m_table;
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user