Die on duplicate/invalid DigitalInput's

Haven't actually checked whether running FATAL checks on every single
access causes any issues, but the CHECK's in the constructors are fine
at least.

Change-Id: Icdca5556c5d041f8812468b19de6690dc80bf416
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/frc971/wpilib/ahal/Encoder.cc b/frc971/wpilib/ahal/Encoder.cc
index b452720..417792d 100644
--- a/frc971/wpilib/ahal/Encoder.cc
+++ b/frc971/wpilib/ahal/Encoder.cc
@@ -9,11 +9,10 @@
 
 #include "hal/HAL.h"
 #include "frc971/wpilib/ahal/DigitalInput.h"
+#include "frc971/wpilib/ahal/WPIErrors.h"
 
 using namespace frc;
 
-#define HAL_FATAL_WITH_STATUS(status)
-
 /**
  * Common initialization code for Encoders.
  *
@@ -40,7 +39,7 @@
       m_bSource->GetPortHandleForRouting(),
       (HAL_AnalogTriggerType)m_bSource->GetAnalogTriggerTypeForRouting(),
       reverseDirection, (HAL_EncoderEncodingType)encodingType, &status);
-  HAL_FATAL_WITH_STATUS(status);
+  HAL_CHECK_STATUS(status);
 
   HAL_Report(HALUsageReporting::kResourceType_Encoder, GetFPGAIndex(),
              encodingType);
@@ -84,7 +83,7 @@
 Encoder::~Encoder() {
   int32_t status = 0;
   HAL_FreeEncoder(m_encoder, &status);
-  HAL_FATAL_WITH_STATUS(status);
+  HAL_CHECK_STATUS(status);
 }
 
 /**
@@ -110,7 +109,7 @@
 int Encoder::GetRaw() const {
   int32_t status = 0;
   int value = HAL_GetEncoderRaw(m_encoder, &status);
-  HAL_FATAL_WITH_STATUS(status);
+  HAL_CHECK_STATUS(status);
   return value;
 }
 
@@ -129,7 +128,7 @@
 double Encoder::GetPeriod() const {
   int32_t status = 0;
   double value = HAL_GetEncoderPeriod(m_encoder, &status);
-  HAL_FATAL_WITH_STATUS(status);
+  HAL_CHECK_STATUS(status);
   return value;
 }
 /**
@@ -151,12 +150,12 @@
 void Encoder::SetMaxPeriod(double maxPeriod) {
   int32_t status = 0;
   HAL_SetEncoderMaxPeriod(m_encoder, maxPeriod, &status);
-  HAL_FATAL_WITH_STATUS(status);
+  HAL_CHECK_STATUS(status);
 }
 
 int Encoder::GetFPGAIndex() const {
   int32_t status = 0;
   int val = HAL_GetEncoderFPGAIndex(m_encoder, &status);
-  HAL_FATAL_WITH_STATUS(status);
+  HAL_CHECK_STATUS(status);
   return val;
 }