# $Header: https://oberon.oapd.inaf.it/shins/trunk/shins/etc/motion_ctrl/stages/motion_ctrl.stagex.shutter-dev.cfg 3951 2022-05-18 08:21:11Z depa $

LOAD                                    = [NAME=SHUTTER, LIB=BasdaMoccaMpiaNDevice]                     # define the device name and the corresponding library
                                                                                                        # The Basdard application will search for name specified in SVN.NAME
                                                                                                        # in the DEV subtree in order to load the required device library.
                                                                                                        # Therefore this device name need to be set at the property entry SVC.DEVICE
                                                                                                        # in the service configuration file.
MOD.X.CFG.CONNECTION.ADDRESS            = tcp://192.168.61.52:4000                                      # connection address: tcp://HOST:PORT or tty:/dev/ttyS0:9600:8:no
MOD.X.CFG.CONNECTION.CARD               = 1                                                             # the used MoCon card
MOD.X.CFG.CONNECTION.MODULE             = 8                                                             # the used MoCon module
MOD.X.CFG.CONNECTION.TIMEOUT:Time       = 00:00:03.000000       +UNIT=hour                              # its the time how long the service should wait for a normal command response like ACK (this timeout is blocking the service but the MoCon sends the ACK immediately)
MOD.X.CFG.CONNECTION.EVENT_TIMEOUT:Time = 00:00:00.500000       +UNIT=hour                              # its the time how long the service should wait for a event message (Pay attention: this timeout blocks the service while it is waiting for an event which might not send immediately)
MOD.X.CFG.CONNECTION.UPLOAD_TIME:Time   = 00:00:00.008541000    +UNIT=hour                              # this time needs to be measured in advance to calculate the correct timing for the net profile block upload

MOD.X.CFG.DATASHEET.CONFIG              = motion_ctrl/stages/motion_ctrl.stagex.shutter-dev_X_datasheet.cfg # enter the motor datasheet config file here either with absolute path or
                                                                                                        # just the config file. The TwiceAsNice parser will try to locate the file.                                                                                                   # just the config file. The TwiceAsNice parser will try to locate the file.
MOD.X.CFG.DATASHEET.TRAVELRANGE:Point   = [ 5000, 205000.0]     +UNIT=steps       +LABEL=["MIN", "MAX"] # the travel range of the module in steps

# Lim negative, closed, 0 (HOME)
# Lim positive, open,  > 200000


CFG.POSITION.AUTOUPDATE:Int             = 0                                                             # device configuration parameter to define which position value should be periodically updated
                                                                                                        # default: 0 MoCon internal software Encoder
                                                                                                        #          1 incremental Encoder
                                                                                                        #          2 absolute Encoder
                                                                                                        #          3 MoCon internal software Encoder + incremental Encoder
                                                                                                        #          4 MoCon internal software Encoder + absolute Encoder
                                                                                                        #          5 incremental Encoder + absolute Encoder
                                                                                                        #          6 MoCon internal software Encoder + incremental Encoder + absolute Encoder
CFG.POSITION.REPORT:Int                 = 0                                                             # device configuration parameter to define which position value should be returned by
                                                                                                        # getPosition or displayed in the GUI
                                                                                                        # default: 0 MoCon internal software Encoder
                                                                                                        #          1 incremental Encoder
                                                                                                        #          2 absolute Encoder
CFG.POSITION.UNIT                       = STEPS                                                         # device configuration parameter to define in which unit the position value should be returned. The value is the index of the CFG.TRANS

CFG.NAMED_POS.ABS.0:Double              = 10000                 +LABEL=["X"]      +NAME="IN"            # identical to nominal, did not change during alignment
CFG.NAMED_POS.ABS.1:Double              = 200000                +LABEL=["X"]      +NAME="OUT"           # Depending on how many named position you like to have

CFG.NAMED_POS.REL.0:Double              = 100                   +LABEL=["X"]      +NAME="Rel. 0"        # This is the named position for relative movements.
                                                                                                        # without to edit the target position permanently.

                                                                                                        # It follows the definition of the coordination transformation
                                                                                                        # from the focal plane in the motor coordinate system.
                                                                                                        # It is also used to convert to different units.
CFG.TRANS.STEPS:Point                   = [1, 0]                +LABEL=["Scale", "Offset"]   +PREC=0    # m11, dx - scale X, offset x
