TODO add some logging to the StartTracking command TODO Rotator.LogAll command prints the values of all the parameters used by the Rotator i.e. telescope, target /usr/xpg4/bin/grep -E 'read|write' rotator.py > rotator.readwrite Taranis Commands Send to Taranis rotator.setupRotator I: This initiates an initialisation routine. see rotator.setupRotator returns; O for OK, F for failure rotator.where W: port.readline: pos, upper, lower T: Start tracking at PA=?, M: C S I W tracker.run self.__port.write('T') self.__port.write('%e\n' % self.__dt) self.__port.write('%e\n' % firstpos.getAngle()) self.__port.write('%e\n' % next_pos.getAngle()) self.__port.write('M') various possible responses are: O; OK then read the position and error U L u l 1 2 write 0.0, C self.__port.write('0.0\n') self.__port.write('C') # Create a threading.Event for control of the tracking thread self.__stop = threading.Event() self.lockedOn = threading.Event() self.__port.write('S') self.__port.write('%f\n' % (idle * 1000)) self.__port.write('%f\n' % (run * 1000)) self.__port.write('%f\n' % (boost * 1000)) response = self.__port.readline() self.__port.write('I') response = self.__port.readline() Creates an instance of rotator.tracker thread and sets it running self.logger.critical('Rotator already tracking, ' + \ self.__port.write('W') pos = self.__port.readline() upper = self.__port.readline() lower = self.__port.readline() # Already have calculated parameters for this field,