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/AnalogTrigger.cc b/frc971/wpilib/ahal/AnalogTrigger.cc
index 825a655..bd63189 100644
--- a/frc971/wpilib/ahal/AnalogTrigger.cc
+++ b/frc971/wpilib/ahal/AnalogTrigger.cc
@@ -32,6 +32,7 @@
   if (status != 0) {
     wpi_setHALError(status);
     m_trigger = HAL_kInvalidHandle;
+    HAL_CHECK_STATUS(status);
     return;
   }
   int index = GetIndex();
@@ -46,6 +47,7 @@
   if (status != 0) {
     wpi_setHALError(status);
     m_trigger = HAL_kInvalidHandle;
+    HAL_CHECK_STATUS(status);
     return;
   }
   int index = GetIndex();
@@ -56,6 +58,7 @@
 AnalogTrigger::~AnalogTrigger() {
   int32_t status = 0;
   HAL_CleanAnalogTrigger(m_trigger, &status);
+  HAL_CHECK_STATUS(status);
 
   if (m_ownsAnalog) {
     delete m_analogInput;
@@ -83,6 +86,7 @@
   int32_t status = 0;
   HAL_SetAnalogTriggerLimitsVoltage(m_trigger, lower, upper, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
 }
 
 void AnalogTrigger::SetLimitsDutyCycle(double lower, double upper) {
@@ -90,6 +94,7 @@
   int32_t status = 0;
   HAL_SetAnalogTriggerLimitsDutyCycle(m_trigger, lower, upper, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
 }
 
 void AnalogTrigger::SetLimitsRaw(int lower, int upper) {
@@ -97,6 +102,7 @@
   int32_t status = 0;
   HAL_SetAnalogTriggerLimitsRaw(m_trigger, lower, upper, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
 }
 
 void AnalogTrigger::SetAveraged(bool useAveragedValue) {
@@ -104,6 +110,7 @@
   int32_t status = 0;
   HAL_SetAnalogTriggerAveraged(m_trigger, useAveragedValue, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
 }
 
 void AnalogTrigger::SetFiltered(bool useFilteredValue) {
@@ -111,6 +118,7 @@
   int32_t status = 0;
   HAL_SetAnalogTriggerFiltered(m_trigger, useFilteredValue, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
 }
 
 int AnalogTrigger::GetIndex() const {
@@ -118,6 +126,7 @@
   int32_t status = 0;
   auto ret = HAL_GetAnalogTriggerFPGAIndex(m_trigger, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
   return ret;
 }
 
@@ -126,6 +135,7 @@
   int32_t status = 0;
   bool result = HAL_GetAnalogTriggerInWindow(m_trigger, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
   return result;
 }
 
@@ -134,6 +144,7 @@
   int32_t status = 0;
   bool result = HAL_GetAnalogTriggerTriggerState(m_trigger, &status);
   wpi_setHALError(status);
+  HAL_CHECK_STATUS(status);
   return result;
 }