Node('uniax_sim.psi.ch',
     '[sim] uniaxial pressure device',
     interface='tcp://5000',
)

Mod('force',
    'frappy_psi.uniax.Uniax',
    'uniax driver',
    motor='drv',
    transducer='transducer',
)

Mod('drv',
    'frappy.simulation.SimDrivable',
    'simulated motor',
    extra_params=['speed', 'safe_current', 'move_limit', 'maxcurrent', 'tolerance'],
    value=Param(
        default=0.0,
        unit='deg',
    ),
    speed=Param(
        readonly=False,
        default=40.0,
    ),
    interval=0.11,
    tolerance=Param(
        default=0.9,
    ),
)

Mod('transducer',
    'frappy_psi.simdpm.DPM3',
    'simulated force',
    motor='drv',
    value=Param(
        unit='N',
    ),
)

Mod('res',
    'frappy.simulation.SimReadable',
    'raw temperature sensor on the stick',
    extra_params=['jitter'],
    jitter=Param(
        default=1.0,
    ),
    value=Param(
        default=99.0,
        unit='Ohm',
    ),
)

Mod('T',
    'frappy_psi.softcal.Sensor',
    'temperature sensor, soft calibration',
    rawsensor='res',
    calcurve='X132254',
    value=Param(
        unit='K',
    ),
)
