Files
allwpilib/wpilibc/wpilibC++IntegrationTests/include/TestBench.h
Tyler Veness 2bf3b6bed4 Replaced WPILib.h includes in integration tests with the minimum required subheaders to improve compilation times
I ran the benchmark in a tmpfs with an Intel Core i5-2430M. I ran it three times for each combination of build invokation and source tree.

First, I tested "make". For master (eb7d55f), I measured an average of 42.751s with a standard deviation of 0.372s. For this commit, I measured an average of 33.394s with a standard deviation of 0.140s. There was a 9.356s, or 22%, improvement with a total error of 1.3%.

Second, I tested "make -j4". For master (eb7d55f), I measured an average of 21.723s with a standard deviation of 0.158s. For this commit, I measured an average of 16.823s with a standard deviation of 0.340s. There was a 4.900s, or 23%, improvement with a total error of 2.7%.

Change-Id: Idb3adce62ed8ef449360c6583896b6da3565cf58
2015-08-13 11:31:46 -07:00

67 lines
2.4 KiB
C++

/*----------------------------------------------------------------------------*/
/* Copyright (c) FIRST 2014. 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 <cstdint>
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;
static const uint32_t kFakeJaguarPotentiometer = 1;
/* 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;
static const uint32_t kFakeJaguarForwardLimit = 20;
static const uint32_t kFakeJaguarReverseLimit = 21;
/* Relay channels */
static const uint32_t kRelayChannel = 0;
static const uint32_t kCANJaguarRelayChannel = 1;
/* CAN IDs */
static const uint32_t kCANJaguarID = 2;
/* PDP channels */
static const uint32_t kJaguarPDPChannel = 6;
static const uint32_t kVictorPDPChannel = 8;
static const uint32_t kTalonPDPChannel = 11;
/* PCM channels */
static const int32_t kSolenoidChannel1 = 0;
static const int32_t kSolenoidChannel2 = 1;
};