Configuration file

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

---

actor:
    name: jaeger
    host: 127.0.0.1
    port: 19990
    status:
        port: 19991
        delay: 5
    tron_host: 127.0.0.1
    tron_port: 6093
    ieb_status_delay: 60
    log_dir: /data/logs/actors/jaeger

profiles:
    default: cannet
    cannet:
        interface: cannet
        channels: [10.1.10.11, 10.1.10.12, 10.1.10.13, 10.1.10.14, 10.1.10.15, 10.1.10.16]
        port: 19228
        buses: [1, 2, 3, 4]
        bitrate: 1000000
    slcan:
        interface: slcan
        channel: /dev/tty.usbserial-LW3HTDSY
        ttyBaudrate: 1000000
        bitrate: 1000000
    virtual:
        interface: virtual
        channel: test1

fps:
    default_layout: filled_hex
    initialise_timeouts: 0.5
    status_poller_delay: 5
    position_poller_delay: 5
    ieb: $SDSSCORE_DIR/configuration/iebs/sextant.yaml

positioner:
    motor_speed: 3000
    initialise_datums_timeout: 300
    reduction_ratio: 1024
    uid_bits: 6  # Number of bits available for the Message UID.
    trajectory_data_n_points: 3  # How many points from the trajectory
                                 # are we putting in each SEND_TRAJECTORY_DATA command.
    motor_steps: 1073741824  # 2^30
    time_step: 0.0005

files:
    log_dir: ~/logs/jaeger

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.