def _wait_controller_ready(self):
        """ Keep sending a "get status" packet to the AlienFX controller and 
        return only when the controller is ready
        """
        ready = False
        errcount=0
        while not ready:
            pkt = self.cmd_packet.make_cmd_get_status()
            logging.debug("SENDING: {}".format(self.pkt_to_string(pkt)))
            self._driver.write_packet(pkt)
            try:
                resp = self._driver.read_packet()
                ready = (resp[0] == self.cmd_packet.STATUS_READY)
            except TypeError:
                errcount += 1
                logging.debug("No Status received yet... Failed tries=" + str(errcount))
            if errcount > 50:
                logging.error("Controller status could not be retrieved. Is the device already in use?")
                quit(-99)