def _valid_config(self, settings):
        """Scan through the returned settings to ensure they appear sane.

        There are time when the returned buffer has the proper information, but
        the reading is inaccurate. When this happens, temperatures will swing
        or system values will be set to improper values.

        :param settings: Configuration derived from the buffer
        :type settings: dict
        :returns: bool
        """
        if ((int(settings['environment_temp']) > self.MAX_BOUND_TEMP or
                int(settings['environment_temp']) < self.MIN_BOUND_TEMP) or
            (int(settings['bean_temp']) > self.MAX_BOUND_TEMP or
                int(settings['bean_temp']) < self.MIN_BOUND_TEMP)):
            self._log.error('Temperatures are outside of bounds')
            return False
        binary = ['drum_motor', 'chaff_tray', 'solenoid', 'cooling_motor']
        for item in binary:
            if int(settings.get(item)) not in [0, 1]:
                self._log.error('Settings show invalid values')
                return False
        return True
Scan through the returned settings to ensure they appear sane.

        There are time when the returned buffer has the proper information, but
        the reading is inaccurate. When this happens, temperatures will swing
        or system values will be set to improper values.

        :param settings: Configuration derived from the buffer
        :type settings: dict
        :returns: bool