Beispiel #1
0
    def __init__(self,
                 socketio,
                 rtklib_path=None,
                 enable_led=True,
                 log_path=None):

        if rtklib_path is None:
            rtklib_path = "/home/reach/RTKLIB"

        if log_path is None:
            log_path = "/home/reach/logs"

        # default state for RTKLIB is "rover single"
        self.state = "rover"

        # we need this to broadcast stuff
        self.socketio = socketio

        # these are necessary to handle rover mode
        self.rtkc = RtkController(rtklib_path)
        self.conm = ConfigManager(rtklib_path)

        # this one handles base settings
        self.s2sc = Str2StrController(rtklib_path)

        # take care of serving logs
        self.logm = LogManager(rtklib_path, log_path)

        # basic synchronisation to prevent errors
        self.semaphore = Semaphore()

        # we need this to send led signals
        self.enable_led = enable_led

        if self.enable_led:
            self.led = ReachLED()

        # broadcast satellite levels and status with these
        self.server_not_interrupted = True
        self.satellite_thread = None
        self.coordinate_thread = None
        self.conversion_thread = None

        self.system_time_correct = False

        self.time_thread = Thread(target=self.setCorrectTime)
        self.time_thread.start()