Susi Server

The Configuration File

FusionHub runs the pipeline described in a single JSON configuration file, loaded with -c path/to/config.json. The node editor and this file are two views of the same thing: what you wire in the editor is what is written to the file, and a hand-edited file appears in the editor the same way. The usual workflow is to build the graph in the editor and hand-edit only when scripting or deploying headless.

File layout

{
  "settings": { "explicitConnections": true },
  "sources": { },
  "sinks": { }
}

Node entries

Each entry in sources / sinks is keyed by an instance name of your choice.

Wiring

Data flows over named endpoints:

The editor may additionally write "inputConnectionTypes", "inputSlotAssignment" and "inputRoutes" to pin per-connection data types and input slots, plus a "_layout" block for node positions. Treat these as editor-managed and leave them alone when hand-editing.

Example

A small pipeline: GNSS receiver and IMU fused by GNSS-IMU Fusion, with the result written to a log file.

{
  "settings": { "explicitConnections": true },
  "sources": {
    "gnss": {
      "outEndpoint": "inproc://gnss_data",
      "settings": { "port": "COM5" }
    },
    "lpms": {
      "outEndpoint": "inproc://imu_data",
      "settings": { "name": "ig1232800650" }
    }
  },
  "sinks": {
    "gnssImuFusion": {
      "dataEndpoint": "inproc://fused_data",
      "inputEndpoints": ["inproc://gnss_data", "inproc://imu_data"],
      "settings": { }
    },
    "logger": {
      "inputEndpoints": ["inproc://fused_data"],
      "settings": { "filePath": "drive.json" }
    }
  }
}
Loading documentation…