Node('uniax.psi.ch',
     'uniax pressure stick with motor and transducer',
     interface='tcp://5000',
)

Mod('force',
    'frappy_psi.uniax.Uniax',
    'force control',
    motor='drv',
    transducer='transducer',
    force_offset=15.0,
)

Mod('drv',
    'frappy_psi.trinamic.Motor',
    'trinamic motor test',
    uri='tcp://192.168.127.254:3002',
    standby_current=0.1,
    maxcurrent=0.3,
    acceleration=150.0,
    move_limit=5.0,
    safe_current=0.3,
    speed=40.0,
    encoder_tolerance=3.6,
    free_wheeling=0.1,
    power_down_delay=0.1,
    has_limit_switches=False,
    disable_left_switch=True,
    disable_right_switch=True,
    target_min = -99999,
    target_max = 99999,
    max_retry = 5,
    auto_reset = True,
)

Mod('transducer',
    'frappy_psi.dpm.DPM3',
    'DPM driver to read out the transducer value, write and read the offset and scale factor',
    uri='tcp://192.168.127.254:3001',
    digits=2,
    scale_factor=1560 * 2,
    offset=15.0,
)

Mod('res_io',
    'frappy_psi.ls340res.LscIO',
    'io to lakeshore',
    uri='tcp://192.168.127.254:3003',
)

Mod('res',
    'frappy_psi.ls340res.ResChannel',
    'temperature on uniax stick',
    io='res_io',
    channel='A',
)

Mod('T',
    'frappy_psi.softcal.Sensor',
    'sample T',
    rawsensor='res',
    calcurve='X132254',
    value=Param(
        unit='K',
    ),
)
