LOAD                                  = [NAME=W1, LIB=BasdaMoccaMpiaNDeviceDummy]
#
MOD.W1.CFG.CONNECTION.ADDRESS        = tcp://192.168.3.32:4000
MOD.W1.CFG.CONNECTION.CARD             = 1 

#
# the used MoCon module
#
MOD.W1.CFG.CONNECTION.MODULE           = 1  

MOD.W1.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.W1.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)

#
# 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.W1.CFG.DATASHEET.CONFIG            = wheelTestDevice_datasheet.cfg 

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

CFG.ONEWAY:Bool      = 1
CFG.FULLTURN = 17600  +UNIT=steps  +LABEL="FULLTURN" 

#
# the switch width is the distance where the reference signals are returned
#

CFG.SWITCHWIDTH = 60

#
# switch depth is the bit depth of the reference switches
#

CFG.SWITCHDEPTH = 8
CFG.SWITCHMASK = 0b11111000:8

# 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.AUTOUPDATE: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.REPORT:Int              = 0

# device configuration parameter to define in which unit the position value should be returned. The value is the index of the CFG.TRANS
CFG.POSITION.UNIT                = STEPS 

#
# device configuration parameter
#
# Depending on how many named position you like to have add here the properties with the positions values and the labels.
# The labels are used to display them in the GUI. The position values are the absolute target positions of the motor in steps.
# The property of the named position needs to be numbered serially.
#
CFG.NAMED_POS.ABS.0:Int           = 10037              +LABEL=["FWheel"]   +NAME="Pin hole 0.1 mm"
CFG.NAMED_POS.ABS.1:Int           = 10837              +LABEL=["FWheel"]   +NAME="Pin hole 0.2 mm"
CFG.NAMED_POS.ABS.2:Int           = 11634              +LABEL=["FWheel"]   +NAME="Pin hole 0.5 mm"
CFG.NAMED_POS.ABS.3:Int           = 12436              +LABEL=["FWheel"]   +NAME="Pin hole 1 mm"
CFG.NAMED_POS.ABS.4:Int           = 13233              +LABEL=["FWheel"]   +NAME="Filter 5 blank"
CFG.NAMED_POS.ABS.5:Int           = 14035              +LABEL=["FWheel"]   +NAME="Filter 6 blank"
CFG.NAMED_POS.ABS.6:Int           = 14834              +LABEL=["FWheel"]   +NAME="Filter 7 blank"
CFG.NAMED_POS.ABS.7:Int           = 15641              +LABEL=["FWheel"]   +NAME="Filter 8 blank"
CFG.NAMED_POS.ABS.8:Int           = 16433              +LABEL=["FWheel"]   +NAME="open"
CFG.NAMED_POS.ABS.9:Int           = 17235              +LABEL=["FWheel"]   +NAME="Filter 10 blank"
CFG.NAMED_POS.ABS.10:Int          =   438              +LABEL=["FWheel"]   +NAME="Filter J short"
CFG.NAMED_POS.ABS.11:Int          =  1240              +LABEL=["FWheel"]   +NAME="Filter J long"
CFG.NAMED_POS.ABS.12:Int          =  2037              +LABEL=["FWheel"]   +NAME="Filter NB1282"
CFG.NAMED_POS.ABS.13:Int          =  2840              +LABEL=["FWheel"]   +NAME="Filter H"
CFG.NAMED_POS.ABS.14:Int          =  3639              +LABEL=["FWheel"]   +NAME="Filter NB1644"
CFG.NAMED_POS.ABS.15:Int          =  4460              +LABEL=["FWheel"]   +NAME="Filter K"
CFG.NAMED_POS.ABS.16:Int          =  5248              +LABEL=["FWheel"]   +NAME="Filter NB2166"
CFG.NAMED_POS.ABS.17:Int          =  6047              +LABEL=["FWheel"]   +NAME="small hole"
CFG.NAMED_POS.ABS.18:Int          =  6841              +LABEL=["FWheel"]   +NAME="Filter 19 blank"
CFG.NAMED_POS.ABS.19:Int          =  7643              +LABEL=["FWheel"]   +NAME="Filter 20 blank"
CFG.NAMED_POS.ABS.20:Int          =  8439              +LABEL=["FWheel"]   +NAME="Filter 21 blank"
CFG.NAMED_POS.ABS.21:Int          =  9244              +LABEL=["FWheel"]   +NAME="Pupil Imager"

#
# This is the named position for relative movements. It can be used in engineering mode in order to move the motor to a relative position several times.
# without to edit the target position permanently.
#

CFG.NAMED_POS.REL.0           = 800                 +LABEL=["FWheel"]   +NAME="Rel. 0"


#
# This are the position switch codings for the single named positions
#

CFG.NAMED_POS.SWITCH.0  = 0xF0
CFG.NAMED_POS.SWITCH.1  = 0xE8
CFG.NAMED_POS.SWITCH.2  = 0xE0
CFG.NAMED_POS.SWITCH.3  = 0xD8
CFG.NAMED_POS.SWITCH.4  = 0xD0
CFG.NAMED_POS.SWITCH.5  = 0xC8
CFG.NAMED_POS.SWITCH.6  = 0xC0
CFG.NAMED_POS.SWITCH.7  = 0xB8
CFG.NAMED_POS.SWITCH.8  = 0xB0
CFG.NAMED_POS.SWITCH.9  = 0xA8
CFG.NAMED_POS.SWITCH.10 = 0xA0
CFG.NAMED_POS.SWITCH.11 = 0x98
CFG.NAMED_POS.SWITCH.12 = 0x90
CFG.NAMED_POS.SWITCH.13 = 0x88
CFG.NAMED_POS.SWITCH.14 = 0x80
CFG.NAMED_POS.SWITCH.15 = 0x78
CFG.NAMED_POS.SWITCH.16 = 0x70
CFG.NAMED_POS.SWITCH.17 = 0x68
CFG.NAMED_POS.SWITCH.18 = 0x60
CFG.NAMED_POS.SWITCH.19 = 0x58
CFG.NAMED_POS.SWITCH.20 = 0x50
CFG.NAMED_POS.SWITCH.21 = 0x48

#
# 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                     = [10, 0]              +LABEL=["Scale", "Offset"] +PREC=2     # m11, dx - scale X, offset x

