Set the serial timeout on the hardware device.

        Setting the serial timeout to anything other than zero will cause an
        error if the serial line is inactive for the time set. This may not be
        a good thing as leaving the Qik idle may be a required event. Why
        would you want the Qik to report an error when none actually occurred
        and your Qik was just idle? This happens with or without the motors
        running.

        This also explains why, when the Qik is set at a very low timeout that
        the red LED will come on almost immediately. You will not even get a
        chance to send it a command before the timeout. This would be like
        temporarily bricking your Qik. Not a good thing, though it's easy to
        fix by just setting the timeout to 0 again.

        OK, so how do we actually use the serial timeout. Good question, the
        best way I can think of is to send the Qik a keep alive signal. One
        way of doing this is to execute the getError() method at a little less
        than half the timeout period. So if the timeout was set to 200ms you
        would get the error status every 90ms. The Qik will stay alive unless
        the keep alive signal is not seen. This should solve the problem.
        However, if the keep alive is sent in a different process or thread
        you could get a format error if the keep alive command collides with
        any other command.

        :Parameters:
          timeout : `float` or `int`
            The timeout value between 0 - 503.04 seconds, however, any number
            can be passed to the argument, the code will find the nearest
            allowed value from the 72 that are available.

        :Keywords:
          device : `int`
            The device is the integer number of the hardware devices ID and
            is only used with the Pololu Protocol. Defaults to the hardware's
            default value.
          message : `bool`
            If set to `True` a text message will be returned, if set to `False`
            the integer stored in the Qik will be returned.

        :Returns:
          Text message indicating the status of the shutdown error.

        :Exceptions:
          * `SerialException`
            IO error indicating there was a problem reading from the serial
            connection.

def setSerialTimeout(self, timeout, device=DEFAULT_DEVICE_ID, message=True):
        """
        Set the serial timeout on the hardware device.

        Setting the serial timeout to anything other than zero will cause an
        error if the serial line is inactive for the time set. This may not be
        a good thing as leaving the Qik idle may be a required event. Why
        would you want the Qik to report an error when none actually occurred
        and your Qik was just idle? This happens with or without the motors
        running.

        This also explains why, when the Qik is set at a very low timeout that
        the red LED will come on almost immediately. You will not even get a
        chance to send it a command before the timeout. This would be like
        temporarily bricking your Qik. Not a good thing, though it's easy to
        fix by just setting the timeout to 0 again.

        OK, so how do we actually use the serial timeout. Good question, the
        best way I can think of is to send the Qik a keep alive signal. One
        way of doing this is to execute the getError() method at a little less
        than half the timeout period. So if the timeout was set to 200ms you
        would get the error status every 90ms. The Qik will stay alive unless
        the keep alive signal is not seen. This should solve the problem.
        However, if the keep alive is sent in a different process or thread
        you could get a format error if the keep alive command collides with
        any other command.

        :Parameters:
          timeout : `float` or `int`
            The timeout value between 0 - 503.04 seconds, however, any number
            can be passed to the argument, the code will find the nearest
            allowed value from the 72 that are available.

        :Keywords:
          device : `int`
            The device is the integer number of the hardware devices ID and
            is only used with the Pololu Protocol. Defaults to the hardware's
            default value.
          message : `bool`
            If set to `True` a text message will be returned, if set to `False`
            the integer stored in the Qik will be returned.

        :Returns:
          Text message indicating the status of the shutdown error.

        :Exceptions:
          * `SerialException`
            IO error indicating there was a problem reading from the serial
            connection.
        """
        return self._setSerialTimeout(timeout, device, message)