From aa4f0ef4f8e4b47a7f1ca4f035c795889a683d36 Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 8 Dec 2017 22:47:21 -0800 Subject: [PATCH] Start using the new FRC compiler define (#797) Remove all definitions from the MockData headers when in simulation mode. Add a constexpr IsReal and IsSimulation in RobotBase. --- .../main/native/include/MockData/AccelerometerData.h | 4 ++++ hal/src/main/native/include/MockData/AnalogGyroData.h | 4 ++++ hal/src/main/native/include/MockData/AnalogInData.h | 4 ++++ hal/src/main/native/include/MockData/AnalogOutData.h | 4 ++++ .../main/native/include/MockData/AnalogTriggerData.h | 4 ++++ hal/src/main/native/include/MockData/CanData.h | 4 ++++ hal/src/main/native/include/MockData/DIOData.h | 4 ++++ hal/src/main/native/include/MockData/DigitalPWMData.h | 4 ++++ .../main/native/include/MockData/DriverStationData.h | 4 ++++ hal/src/main/native/include/MockData/EncoderData.h | 4 ++++ hal/src/main/native/include/MockData/HAL_Value.h | 4 ++++ hal/src/main/native/include/MockData/I2CData.h | 4 ++++ hal/src/main/native/include/MockData/MockHooks.h | 4 ++++ .../native/include/MockData/NotifyCallbackHelpers.h | 4 ++++ hal/src/main/native/include/MockData/NotifyListener.h | 4 ++++ .../native/include/MockData/NotifyListenerVector.h | 4 ++++ hal/src/main/native/include/MockData/PCMData.h | 4 ++++ hal/src/main/native/include/MockData/PDPData.h | 4 ++++ hal/src/main/native/include/MockData/PWMData.h | 4 ++++ hal/src/main/native/include/MockData/RelayData.h | 4 ++++ hal/src/main/native/include/MockData/RoboRioData.h | 4 ++++ .../native/include/MockData/SPIAccelerometerData.h | 4 ++++ hal/src/main/native/include/MockData/SPIData.h | 4 ++++ wpilibc/src/main/native/include/RobotBase.h | 10 ++++++++++ 24 files changed, 102 insertions(+) diff --git a/hal/src/main/native/include/MockData/AccelerometerData.h b/hal/src/main/native/include/MockData/AccelerometerData.h index a18e22d569..549ee41ccb 100644 --- a/hal/src/main/native/include/MockData/AccelerometerData.h +++ b/hal/src/main/native/include/MockData/AccelerometerData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -63,3 +65,5 @@ void HALSIM_RegisterAccelerometerAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/AnalogGyroData.h b/hal/src/main/native/include/MockData/AnalogGyroData.h index 3a85ac5070..b5794105f5 100644 --- a/hal/src/main/native/include/MockData/AnalogGyroData.h +++ b/hal/src/main/native/include/MockData/AnalogGyroData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -45,3 +47,5 @@ void HALSIM_RegisterAnalogGyroAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/AnalogInData.h b/hal/src/main/native/include/MockData/AnalogInData.h index ae430f68a2..49975657cf 100644 --- a/hal/src/main/native/include/MockData/AnalogInData.h +++ b/hal/src/main/native/include/MockData/AnalogInData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -95,3 +97,5 @@ void HALSIM_RegisterAnalogInAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/AnalogOutData.h b/hal/src/main/native/include/MockData/AnalogOutData.h index ee40f0a9fa..bb3347d0f7 100644 --- a/hal/src/main/native/include/MockData/AnalogOutData.h +++ b/hal/src/main/native/include/MockData/AnalogOutData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -38,3 +40,5 @@ void HALSIM_RegisterAnalogOutAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/AnalogTriggerData.h b/hal/src/main/native/include/MockData/AnalogTriggerData.h index 9c2d616907..498fbe6c13 100644 --- a/hal/src/main/native/include/MockData/AnalogTriggerData.h +++ b/hal/src/main/native/include/MockData/AnalogTriggerData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -62,3 +64,5 @@ void HALSIM_RegisterAnalogTriggerAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/CanData.h b/hal/src/main/native/include/MockData/CanData.h index c523190d8d..fd43831ea6 100644 --- a/hal/src/main/native/include/MockData/CanData.h +++ b/hal/src/main/native/include/MockData/CanData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "HAL_Value.h" #include "NotifyListener.h" @@ -72,3 +74,5 @@ void HALSIM_CancelCanGetCANStatusCallback(int32_t uid); #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/DIOData.h b/hal/src/main/native/include/MockData/DIOData.h index f2d6b1afec..a62ede49bc 100644 --- a/hal/src/main/native/include/MockData/DIOData.h +++ b/hal/src/main/native/include/MockData/DIOData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -59,3 +61,5 @@ void HALSIM_RegisterDIOAllCallbacks(int32_t index, HAL_NotifyCallback callback, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/DigitalPWMData.h b/hal/src/main/native/include/MockData/DigitalPWMData.h index f288b2e2e6..3f421acdc4 100644 --- a/hal/src/main/native/include/MockData/DigitalPWMData.h +++ b/hal/src/main/native/include/MockData/DigitalPWMData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -45,3 +47,5 @@ void HALSIM_RegisterDigitalPWMAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/DriverStationData.h b/hal/src/main/native/include/MockData/DriverStationData.h index 93cccb685b..d6c9e92f76 100644 --- a/hal/src/main/native/include/MockData/DriverStationData.h +++ b/hal/src/main/native/include/MockData/DriverStationData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/DriverStation.h" #include "HAL/HAL.h" #include "NotifyListener.h" @@ -93,3 +95,5 @@ void HALSIM_RegisterDriverStationAllCallbacks(HAL_NotifyCallback callback, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/EncoderData.h b/hal/src/main/native/include/MockData/EncoderData.h index b31651aab7..1bbf247bf9 100644 --- a/hal/src/main/native/include/MockData/EncoderData.h +++ b/hal/src/main/native/include/MockData/EncoderData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -85,3 +87,5 @@ void HALSIM_RegisterEncoderAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/HAL_Value.h b/hal/src/main/native/include/MockData/HAL_Value.h index 761a27c6d5..4903c5c45c 100644 --- a/hal/src/main/native/include/MockData/HAL_Value.h +++ b/hal/src/main/native/include/MockData/HAL_Value.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/Types.h" /** HAL data types. */ @@ -65,3 +67,5 @@ inline HAL_Value MakeDouble(double v) { value.data.v_double = v; return value; } + +#endif diff --git a/hal/src/main/native/include/MockData/I2CData.h b/hal/src/main/native/include/MockData/I2CData.h index b46cf4c198..11c5444597 100644 --- a/hal/src/main/native/include/MockData/I2CData.h +++ b/hal/src/main/native/include/MockData/I2CData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -37,3 +39,5 @@ void HALSIM_CancelI2CWriteCallback(int32_t index, int32_t uid); #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/MockHooks.h b/hal/src/main/native/include/MockData/MockHooks.h index 1d5adac561..59bc0d5216 100644 --- a/hal/src/main/native/include/MockData/MockHooks.h +++ b/hal/src/main/native/include/MockData/MockHooks.h @@ -7,8 +7,12 @@ #pragma once +#ifndef __FRC_ROBORIO__ + extern "C" { void HALSIM_WaitForProgramStart(void); void HALSIM_SetProgramStarted(void); void HALSIM_RestartTiming(void); } // extern "C" + +#endif diff --git a/hal/src/main/native/include/MockData/NotifyCallbackHelpers.h b/hal/src/main/native/include/MockData/NotifyCallbackHelpers.h index ca2f7df557..d45b67d778 100644 --- a/hal/src/main/native/include/MockData/NotifyCallbackHelpers.h +++ b/hal/src/main/native/include/MockData/NotifyCallbackHelpers.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include #include "MockData/NotifyListenerVector.h" @@ -65,3 +67,5 @@ std::shared_ptr CancelCallback( void InvokeCallback( std::shared_ptr currentVector, const char* name, const uint8_t* buffer, int32_t count); + +#endif diff --git a/hal/src/main/native/include/MockData/NotifyListener.h b/hal/src/main/native/include/MockData/NotifyListener.h index 1982eabc00..846d62d6c6 100644 --- a/hal/src/main/native/include/MockData/NotifyListener.h +++ b/hal/src/main/native/include/MockData/NotifyListener.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL_Value.h" typedef void (*HAL_NotifyCallback)(const char* name, void* param, @@ -34,3 +36,5 @@ struct HalCallbackListener { }; } // namespace hal + +#endif diff --git a/hal/src/main/native/include/MockData/NotifyListenerVector.h b/hal/src/main/native/include/MockData/NotifyListenerVector.h index a6f5a8bbe1..6c9af91190 100644 --- a/hal/src/main/native/include/MockData/NotifyListenerVector.h +++ b/hal/src/main/native/include/MockData/NotifyListenerVector.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include #include #include @@ -136,3 +138,5 @@ typedef HalCallbackListenerVectorImpl ConstBufferListenerVector; } // namespace hal + +#endif diff --git a/hal/src/main/native/include/MockData/PCMData.h b/hal/src/main/native/include/MockData/PCMData.h index 97484a3a38..ccf897fc38 100644 --- a/hal/src/main/native/include/MockData/PCMData.h +++ b/hal/src/main/native/include/MockData/PCMData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -87,3 +89,5 @@ void HALSIM_RegisterPCMAllSolenoidCallbacks(int32_t index, int32_t channel, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/PDPData.h b/hal/src/main/native/include/MockData/PDPData.h index 6c7d77dcdc..6a9e7a9715 100644 --- a/hal/src/main/native/include/MockData/PDPData.h +++ b/hal/src/main/native/include/MockData/PDPData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -54,3 +56,5 @@ void HALSIM_RegisterPDPAllNonCurrentCallbacks(int32_t index, int32_t channel, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/PWMData.h b/hal/src/main/native/include/MockData/PWMData.h index e329ce9a40..94b13df0ad 100644 --- a/hal/src/main/native/include/MockData/PWMData.h +++ b/hal/src/main/native/include/MockData/PWMData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -66,3 +68,5 @@ void HALSIM_RegisterPWMAllCallbacks(int32_t index, HAL_NotifyCallback callback, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/RelayData.h b/hal/src/main/native/include/MockData/RelayData.h index bdd77b7805..a4e15521f1 100644 --- a/hal/src/main/native/include/MockData/RelayData.h +++ b/hal/src/main/native/include/MockData/RelayData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -54,3 +56,5 @@ void HALSIM_RegisterRelayAllCallcbaks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/RoboRioData.h b/hal/src/main/native/include/MockData/RoboRioData.h index e4fef6167c..2c8fc2f7cd 100644 --- a/hal/src/main/native/include/MockData/RoboRioData.h +++ b/hal/src/main/native/include/MockData/RoboRioData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -140,3 +142,5 @@ void HALSIM_RegisterRoboRioAllCallbacks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/SPIAccelerometerData.h b/hal/src/main/native/include/MockData/SPIAccelerometerData.h index b0915221f4..28b04972ca 100644 --- a/hal/src/main/native/include/MockData/SPIAccelerometerData.h +++ b/hal/src/main/native/include/MockData/SPIAccelerometerData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -61,3 +63,5 @@ void HALSIM_RegisterSPIAccelerometerAllCallbcaks(int32_t index, #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/hal/src/main/native/include/MockData/SPIData.h b/hal/src/main/native/include/MockData/SPIData.h index 170a6cdd00..5cbf355a52 100644 --- a/hal/src/main/native/include/MockData/SPIData.h +++ b/hal/src/main/native/include/MockData/SPIData.h @@ -7,6 +7,8 @@ #pragma once +#ifndef __FRC_ROBORIO__ + #include "HAL/HAL.h" #include "NotifyListener.h" @@ -50,3 +52,5 @@ int64_t HALSIM_GetSPIGetAccumulatorValue(int32_t index); #ifdef __cplusplus } // extern "C" #endif + +#endif diff --git a/wpilibc/src/main/native/include/RobotBase.h b/wpilibc/src/main/native/include/RobotBase.h index 4ff3361f20..a08df38a18 100644 --- a/wpilibc/src/main/native/include/RobotBase.h +++ b/wpilibc/src/main/native/include/RobotBase.h @@ -52,6 +52,16 @@ class RobotBase { static std::thread::id GetThreadId(); virtual void StartCompetition() = 0; + static constexpr bool IsReal() { +#ifdef __FRC_ROBORIO__ + return true; +#else + return false; +#endif + } + + static constexpr bool IsSimulation() { return !IsReal(); } + protected: RobotBase(); virtual ~RobotBase() = default;