Susi Server

LPMS CAN Decoder

Node ID: lpmsCanDecoder · Role: Filter · Realtime config: no

Description

Decodes raw CAN frames from an LPMS sensor into ImuData. Supports CANopen and Sequential CAN modes, 16-bit and 32-bit precisions, and per-channel mapping per the LPMS-IG1 user manual. Filters by IMU ID so multiple sensors can share one bus.

Inputs / Outputs

Config aliases

LpmsCanDecoder, lpmsCanDecoder

Properties

The following fields are exposed in the node’s Properties panel in the UI. Types map to UI widgets (e.g. string → text input, number → numeric, boolean → toggle, select → dropdown, json → JSON editor).

KeyLabelTypeDefaultOptionsDescription / Notes
modeCAN Modeselectcanopencanopen, sequential
imuIdIMU IDnumber1
startIdSequential Start ID (hex, ignored for CANopen)string0x514
precisionData Precisionselectint16int16, float32
gyroUnitGyro / Euler Unitselectdegdeg, rad
mappingChannel Mapping (16 IDs)json[4,5,6,22,23,24,28,29,30,38,39,40,34,35,36,37]
senderIdOutput Sender IDstringlpmsCan

Example node definition

A full node definition in config.json looks like the block below. Paste it under the sinks key of your config, keyed by the node’s instance name (any identifier; it doesn’t have to match the node ID).

{
  "sinks": {
    "lpmsCanDecoder": {
      "dataEndpoint": "inproc://lpmsCanDecoder_data",
      "inputEndpoints": [
        "inproc://can_data"
      ],
      "inputDataFilter": [
        "Can"
      ],
      "settings": {
        "gyroUnit": "deg",
        "imuId": 1,
        "mapping": [
          4,
          5,
          6,
          22,
          23,
          24,
          28,
          29,
          30,
          38,
          39,
          40,
          34,
          35,
          36,
          37
        ],
        "mode": "canopen",
        "precision": "int16",
        "senderId": "lpmsCan",
        "startId": "0x514"
      }
    }
  }
}

Field reference

FieldPurpose
dataEndpointEndpoint this node binds to publish its output. Omit to let the runtime generate one.
inputEndpointsList of upstream endpoints this node connects to (outEndpoint / dataEndpoint values from upstream nodes).
inputDataFilterOptional whitelist of data types. Messages whose type isn’t in the list are dropped at the subscriber.
settingsAll user-configurable fields — see the Properties table above.

Connections can also be declared at the top-level connections array when settings.explicitConnections is true, as an alternative to filling inputEndpoints on each node.

Loading documentation…