docs: @Override
  	public double getValue(Pin pin) {
          // if we are not actively monitoring the ADC input values,
          // then interrogate the ADC chip and return the acquired input conversion value
          if(monitor == null) {
              // do not return, only let parent handle whether this pin is OK
              super.getValue(pin);
              try {
                  return getImmediateValue(pin);
              } catch (IOException e) {
                  return INVALID_VALUE;
              }
          }
          else{
              // if we are actively monitoring the ADC input values,
              // the simply return the last cached input value
              return super.getValue(pin);
          }
      }