Update to 2018_v4 image and new build system. (#598)

* Revert "Force OpenCV to 3.1.0 (#602)"

This reverts commit 50ed55e8e2.

* Removes Simulation

* Removes old build system

* Removes old gtest

* Adds new gmock and gtest

* Updates to new ni-libraries

* removes MyRobot (to be replaced)

* moves files to new location

* Adds new sim backend and new test executables

* updates .styleguide and .gitignore

* Changes cpp WPILibVersion to a function

MSVC throws an AV with the old version.

* Disables USBCamera on all systems except for linux

* 2018 NI Libraries

* New build system
This commit is contained in:
Thad House
2017-08-18 21:35:53 -07:00
committed by Peter Johnson
parent 50ed55e8e2
commit e1195e8b9d
1024 changed files with 64481 additions and 61340 deletions

View File

@@ -0,0 +1,69 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2014-2017. 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. */
/*----------------------------------------------------------------------------*/
#pragma once
#include <stdint.h>
class TestBench {
public:
/* Analog input channels */
static const uint32_t kCameraGyroChannel = 0;
static const uint32_t kFakeCompressorChannel = 1;
static const uint32_t kFakeAnalogOutputChannel = 2;
/* Analog output channels */
static const uint32_t kAnalogOutputChannel = 0;
/* DIO channels */
static const uint32_t kTalonEncoderChannelA = 0;
static const uint32_t kTalonEncoderChannelB = 1;
static const uint32_t kVictorEncoderChannelA = 2;
static const uint32_t kVictorEncoderChannelB = 3;
static const uint32_t kJaguarEncoderChannelA = 4;
static const uint32_t kJaguarEncoderChannelB = 5;
static const uint32_t kLoop1OutputChannel = 6;
static const uint32_t kLoop1InputChannel = 7;
static const uint32_t kLoop2OutputChannel = 8;
static const uint32_t kLoop2InputChannel = 9;
/* PWM channels */
static const uint32_t kVictorChannel = 1;
static const uint32_t kJaguarChannel = 2;
static const uint32_t kCameraPanChannel = 8;
static const uint32_t kCameraTiltChannel = 9;
/* MXP digital channels */
static const uint32_t kTalonChannel = 10;
static const uint32_t kFakePressureSwitchChannel = 11;
static const uint32_t kFakeSolenoid1Channel = 12;
static const uint32_t kFakeSolenoid2Channel = 13;
static const uint32_t kFakeRelayForward = 18;
static const uint32_t kFakeRelayReverse = 19;
/* Relay channels */
static const uint32_t kRelayChannel = 0;
/* PDP channels */
static const uint32_t kJaguarPDPChannel = 6;
static const uint32_t kVictorPDPChannel = 8;
static const uint32_t kTalonPDPChannel = 10;
/* PCM channels */
static const int32_t kSolenoidChannel1 = 0;
static const int32_t kSolenoidChannel2 = 1;
/* Filter constants */
static constexpr double kFilterStep = 0.005;
static constexpr double kFilterTime = 2.0;
static constexpr double kSinglePoleIIRTimeConstant = 0.015915;
static constexpr double kSinglePoleIIRExpectedOutput = -3.2172003;
static constexpr double kHighPassTimeConstant = 0.006631;
static constexpr double kHighPassExpectedOutput = 10.074717;
static constexpr int32_t kMovAvgTaps = 6;
static constexpr double kMovAvgExpectedOutput = -10.191644;
};

View File

@@ -0,0 +1,46 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2016-2017. 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. */
/*----------------------------------------------------------------------------*/
#pragma once
#include "Commands/Command.h"
namespace frc {
class MockCommand : public Command {
public:
MockCommand();
int32_t GetInitializeCount() { return m_initializeCount; }
bool HasInitialized();
int32_t GetExecuteCount() { return m_executeCount; }
int32_t GetIsFinishedCount() { return m_isFinishedCount; }
bool IsHasFinished() { return m_hasFinished; }
void SetHasFinished(bool hasFinished) { m_hasFinished = hasFinished; }
int32_t GetEndCount() { return m_endCount; }
bool HasEnd();
int32_t GetInterruptedCount() { return m_interruptedCount; }
bool HasInterrupted();
protected:
void Initialize() override;
void Execute() override;
bool IsFinished() override;
void End() override;
void Interrupted() override;
private:
int32_t m_initializeCount;
int32_t m_executeCount;
int32_t m_isFinishedCount;
bool m_hasFinished;
int32_t m_endCount;
int32_t m_interruptedCount;
};
} // namespace frc

View File

@@ -0,0 +1,27 @@
/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2017. 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. */
/*----------------------------------------------------------------------------*/
#pragma once
#include "Commands/ConditionalCommand.h"
#include "command/MockCommand.h"
namespace frc {
class MockConditionalCommand : public ConditionalCommand {
public:
MockConditionalCommand(MockCommand* onTrue, MockCommand* onFalse);
void SetCondition(bool condition);
protected:
bool Condition() override;
private:
bool m_condition = false;
};
} // namespace frc