

LOAD    = [NAME=CAL_FIBER_DEP, 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.51: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           = 5                          # 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            = calunit_ctrl/calunit_ctrl.cal_fiber_dep-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.

MOD.X.CFG.DATASHEET.TRAVELRANGE:Point = [-3640883, 501742]  +UNIT=steps  +LABEL=["MIN", "MAX"]    # the travel range of the module in steps

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  = -1532000      +LABEL=["X"]  +NAME="FOCUS_IN"    # identical to nominal, did not change during alignment
CFG.NAMED_POS.ABS.1:Double  = -3285000      +LABEL=["X"]  +NAME="DEFOCUS_IN"  # Depending on how many named position you like to have
CFG.NAMED_POS.ABS.2:Double  = +380000       +LABEL=["X"]  +NAME="NO_FIBERS"    
CFG.NAMED_POS.ABS.3:Double  = -2700000      +LABEL=["X"]  +NAME="DANGER_IN"

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
CFG.TRANS.MM:Point          = [6.867e-6, 0] +LABEL=["Scale", "Offset"] +PREC=0      # m11, dx - scale X, offset x
CFG.TRANS.MICRON:Point      = [6.867e-3, 0] +LABEL=["Scale", "Offset"] +PREC=0      # m11, dx - scale X, offset x
