def read_bit(self):
        """ Read a single bit from the ADC and pulse clock."""
        if self._MOSI == 0:
            return 0
        #
        # The output is going out on the falling edge of the clock,
        # and is to be read on the rising edge of the clock.

        # Clock should be already low, and data should already be set.
        GPIO.output(self._CLK, 1)     # Set the clock high. Ready to read.
        bit = GPIO.input(self._MISO)  # Read the bit.
        GPIO.output(self._CLK, 0)     # Return clock low, next bit will be set.

        return bit