<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _getSerialTimeout(self, device):
 """ Get the serial timeout stored on the hardware device. Caution, more that one value returned from the Qik can have the same actual timeout value according the the formula below. I have verified this as an idiosyncrasy of the Qik itself. There are only a total of 72 unique values that the Qik can logically use the remaining 56 values are repeats of the 72. :Parameters: device : `int` The device is the integer number of the hardware devices ID and is only used with the Pololu Protocol. :Returns: The timeout value in seconds. """

        num = self._getConfig(self.SERIAL_TIMEOUT, device)

        if isinstance(num, int):
            x = num & 0x0F
            y = (num >> 4) & 0x07
            result = self.DEFAULT_SERIAL_TIMEOUT * x * pow(2, y)
        else:
            result = num

        return result