/// <summary>
 /// Keeps updated local copy of pins
 /// </summary>
 protected void UpdatePinStates()
 {
     try
     {
         for (int i = 0; i <= MAX_GPIO_NUMBER; i++)
         {
             PINS[i] = GPIO.GetPin(i);
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }