# author: Stephen Potter
# updated: 22 June 2025
from guider import Guider
import os
import sys
import datetime
import math 
from time import sleep
import socket
import signal # used to capture ctrl-c and exit nicely by closing connection


LESEDI_HOST = "10.2.2.32"  # lesedis2


def Exit_gracefully(signal, frame): # this should cause prgram to exit here on crt-C
    main_prog_comms.disconnect()
    sys.exit(0)


    
if __name__ == "__main__":
    signal.signal(signal.SIGINT, Exit_gracefully) # should capture crt_c 
    print(f"{datetime.datetime.now().isoformat()} [INFO][main][telem.py][main] starting telem server \n")


    main_prog_comms = Guider(host=LESEDI_HOST, test=False) # create an instance of the Guider class
    main_prog_comms.connect() # connect via tcpip socket to the auotguider server
    sleep(2)

    while True:
        state = main_prog_comms.get_state()  # get state from auotguider server
        print(state)
        main_prog_comms.disconnect()  # disconect from tcpip socket
        sleep(20) # minimum reasonable sleep time
        main_prog_comms.connect() #reconnect to tcpip socket
                
    import sys
    sys.exit(0)
                
