(
    'nicos.devices.secop.devices.SecopMoveable', 
    {
        'secnode': 'se_main',
        'description': 'magnetic field, x-axis', 
        'secop_module': 'mfx',
        'params_cfg': {
            'pollinterval_': {
                'datainfo': {'unit': 's', 'min': 0.1, 'max': 120.0, 'type': 'double'},
                'description': 'default poll interval',
                'settable': True,
                'unit': 's'
            },
            'target': {
                'datainfo': None,
                'description': 'target value of the module',
                'unit': 'T'
            }, 
            'target_min': {
                'datainfo': {'unit': 'T', 'min': -0.6, 'max': 0.6, 'type': 'double'},
                'description': 'limit for target',
                'settable': True,
                'unit': 'T'
            }, 
            'target_max': {
                'datainfo': {'unit': 'T', 'min': -0.6, 'max': 0.6, 'type': 'double'},
                'description': 'limit for target',
                'settable': True, 
                'unit': 'T'
            },
            'ramp': {
                'datainfo': {'unit': 'T/min', 'type': 'double'},
                'description': 'wanted ramp rate for field',
                'settable': True,
                'unit': 'T/min'
            }, 
            'tolerance': {
                'datainfo': {'unit': 'T', 'min': 0.0, 'type': 'double'},
                'description': 'tolerance',
                'settable': True,
                'unit': 'T'
            }, 
            'trained': {
                'datainfo': {
                    'type': 'tuple', 
                    'members': [
                        {'unit': 'T', 'min': -99.0, 'max': 0.0, 'type': 'double'}, 
                        {'unit': 'T', 'min': 0.0, 'type': 'double'}
                    ]
                },
                'description': 'trained field (positive)',
                'settable': True
            }, 
            'wait_stable_field': {
                'datainfo': {'unit': 's', 'min': 0.0, 'type': 'double'},
                'description': 'wait time to ensure field is stable',
                'settable': True,
                'unit': 's'
            },
            'ramp_tmo': {
                'datainfo': {'unit': 's', 'min': 0.0, 'type': 'double'},
                'description': 'timeout for field ramp progress',
                'settable': True,
                'unit': 's'
            }, 
            'action': {
                'datainfo': {
                    'type': 'enum',
                    'members': {'hold': 0, 'run_to_set': 1, 'run_to_zero': 2, 'clamped': 3, 'not_found': 4}
                }, 
                'description': 'action', 
                'settable': True
            },
            'setpoint': {
                'datainfo': {'unit': 'T', 'type': 'double'},
                'description': 'field setpoint',
                'unit': 'T'
            }, 
            'voltage': {
                'datainfo': {'unit': 'V', 'type': 'double'},
                'description': 'leads voltage',
                'unit': 'V'
            },
            'atob': {
                'datainfo': {'unit': 'A/T', 'min': 0.0, 'type': 'double'},
                'description': 'field to amp',
                'unit': 'A/T'
            },
            'working_ramp': {
                'datainfo': {'unit': 'T/min', 'min': 0.0, 'type': 'double'},
                'description': 'effective ramp',
                'unit': 'T/min'
            }, 
            'i1': {
                'datainfo': {'unit': 'A', 'type': 'double'},
                'description': 'slave 1 current',
                'unit': 'A'
            }, 
            'v1': {
                'datainfo': {'unit': 'V', 'type': 'double'}
                 'description': 'slave 1 voltage',
                 'unit': 'V'
            },
            'i2': {
                'datainfo': {'unit': 'A', 'type': 'double'},
                'description': 'slave 2 current', 'unit': 'A'
            },
            'v2': {
                'datainfo': {'unit': 'V', 'type': 'double'},
                'description': 'slave 2 voltage',
                'unit': 'V'
            }
        }, 
        'commands_cfg': {
            'stop': {
                'description': 'keep field at current value',
                'datainfo': {'type': 'command'}
            }
        }, 
        'mixins': [], 
        'secop_properties': {
            'description': 'magnetic field, x-axis',
            'implementation':
            'frappy_psi.ips_mercury.SimpleField2',
            'interface_classes': ['Drivable'],
            'features': []
        }, 
        'unit': 'T', 
        'fmtstr': '%g', 
        'value_datainfo': {'unit': 'T', 'type': 'double'},
        'target_datainfo': {'unit': 'T', 'min': -0.6, 'max': 0.6, 'type': 'double'}
    }
)