detector_shutter.py 1.95 KB
#!/usr/bin/env python3

"""
Filter selector (abstract) implementation

To be used as a base class (interface) for any concrete Filter selector class
"""


import sys

# from sockets_tele/
sys.path.append("..")
# from src_socket/client/
#import src.core.pyros_django.utils.celme as celme

sys.path.append("../../..")
import src.core.celme as celme


# Local application imports
#from device_controller.abstract_component.base import *
sys.path.append("../..")
#from device_controller.abstract_component.base import *
from device_controller.abstract_component.device_controller import DeviceControllerAbstract



# Default timeouts
TIMEOUT_SEND = 10
TIMEOUT_RECEIVE = 10



#class SocketClientTelescopeAbstract(SocketClientAbstract):
class DeviceControllerDetectorShutter(DeviceControllerAbstract):
    
    # @abstract (to be overriden)
    _cmd_device_concrete = {}
    _cmd_device_abstract = {}


    #TODO: remplacer PROTOCOL par "SOCKET-TCP", "SOCKET-UDP", "SERIAL", ou "USB"
    def __init__(self, device_host:str="localhost", device_port:int=11110, PROTOCOL:str="TCP", buffer_size=1024, DEBUG=False, device_sim=None):
        '''
        :param device_host: server IP or hostname
        :param device_port: server port
        :param PROTOCOL: "UDP" or "TCP"
        '''
        print("IN DeviceControllerDetectorShutter")
        super().__init__(device_host, device_port, PROTOCOL, buffer_size, DEBUG, device_sim)
        # overwrite abstract _cmd dictionary with subclass native _cmd_native dictionary:
        #self._cmd = {**self._cmd, **self._cmd_native}




    '''
    ****************************
    ****************************
    GENERIC TELESCOPE COMMANDS (abstract methods)
    ****************************
    ****************************
    '''



    '''
    ****************************
     GENERIC GET & SET commands 
    **************************** 
    '''


    '''
    ****************************
     GENERIC DO commands 
    **************************** 
    '''