Configuration file

jaeger uses an internal YAML file to store configuration values. The default configuration as of version 0.12.0 is:

---
actor:
    name: jaeger
    host: 0.0.0.0
    port: 19990
    verbose: 30
    status:
        port: 19991
        delay: 5
    tron_host: sdss5-hub
    tron_port: 6093
    ieb_status_delay: 60
    schema: etc/schema.json
    log_dir: /data/logs/actors/jaeger

profiles:
    default: cannet
    cannet:
        interface: cannet
        channels:
            - sdss-cannet1
            - sdss-cannet2
            - sdss-cannet3
            - sdss-cannet4
            - sdss-cannet5
            - sdss-cannet6
        port: 19228
        buses: [1, 2, 3, 4]
        bitrate: 1000000
        timeout: 1
        status_interval: 5
    slcan:
        interface: slcan
        channel: /dev/tty.usbserial-LW3HTDSY
        ttyBaudrate: 1000000
        bitrate: 1000000
    virtual:
        interface: virtual
        channel: test1

fps:
    use_database: true
    allow_unknown: true
    initialise_timeouts: 0.5
    start_pollers: false
    status_poller_delay: 5
    position_poller_delay: 5
    skip_positioners: []
    disabled_positioners: [235, 1395, 278]
    disable_collision_detection_positioners: []
    use_sync_line: false

positioner:
    reduction_ratio: 1024
    motor_steps: 1073741824
    time_step: 0.0005
    motor_speed: 2000
    gear_ratio: 1000
    initialise_datums_timeout: 300
    disable_precise_moves: true
    uid_bits: 6
    trajectory_data_n_points: 3
    firmware_messages_per_positioner: 8

kaiju:
    speed: 2
    ang_step: 0.1
    collision_buffer: 2.1
    smooth_points: 5
    collision_shrink: 0.08
    path_delay: 1
    epsilon_factor: 2
    lattice_position: [10., 170.]

fvc:
    zb_polids: [0, 1, 2, 3, 4, 5, 6, 9, 20, 28, 29]
    exposure_time: 1.5
    background_sigma: 3.5
    centroid_min_npix: 100
    target_rms: 10
    target_delta_rms: 1
    max_fvc_iterations: 3
    k: 0.7
    max_offset: 1
    ieb_keys:
        TEMPRTD2: rtd2
        TEMPRTD3: rtd3
        TEMPT3: t3
        LED1: led1
        LED2: led2
        LED3: led3
        LED4: led4

files:
    log_dir: /data/logs/jaeger
    ieb_config: etc/ieb.yaml
    fvc_config: etc/fvc.yaml

low_temperature:
    sensor: RTD2
    cold_threshold: 0
    very_cold_threshold: -10
    interval: 60
    rpm_normal: 2000
    rpm_cold: 1000
    holding_torque_normal: [0, 30]
    holding_torque_very_cold: [45, 30]

safe_mode:
    min_beta: 160
    max_beta: 180

debug: false

observatory: ${OBSERVATORY}

database:
    dbname: sdss5db
    host: null
    port: 5433

When jaeger is imported the default configuration is loaded. It then looks for user configuration files in $SDSSCORE_DIR/configuration/$OBSERVATORY/actors/jaeger.yaml and ~/.config/sdss/jaeger.yaml (in that order). If found, the user file is used to update the default configuration. For example, a user file such as

# file: ~/.config/sdss/jaeger.yaml

profiles:
  cannet:
    interface: cannet
    channels: [10.1.10.110]
    port: 19228
    buses: [1, 2, 3, 4]
    bitrate: 1000000

will update the cannet profile while modifying the remaining parameters.

When running jaeger from the CLI, it is possible to pass a user configuration file by calling jaeger --config <CONFIG-FILE> .... If not provided, the configuration file discovery default to the above logic.

To prevent the beta arms to take a value below 160 degrees (the point at which collisions are possible if the folded mode is \(\beta=180\)) on can specify

safe_mode: true

And to define the minimum value of the beta arm

safe_mode:
   min_beta: 170