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
- Inputs:
Can - Outputs:
Imu
Config aliases
LpmsCanDecoder, lpmsCanDecoder
Properties
Each row shows the setting’s label in the node’s Properties panel and, in code, its key in the node’s settings object in the config file. A setting omitted from the config file uses the default shown here.
| Property | Type | Default | Description |
|---|---|---|---|
CAN Mode mode | select | canopen | Options: canopen, sequential. |
IMU ID imuId | number | 1 | |
Sequential Start ID (hex, ignored for CANopen) startId | string | 0x514 | |
Data Precision precision | select | int16 | Options: int16, float32. |
Gyro / Euler Unit gyroUnit | select | deg | Options: deg, rad. |
Channel Mapping (16 IDs) mapping | json | [4,5,6,22,23,24,28,29,30,38,39,40,34,35,36,37] | |
Output Sender ID senderId | string | lpmsCan |
Example node definition
A minimal entry in config.json looks like the block below. Paste it under the sinks key, keyed by an instance name of your choice. All settings are optional: anything not listed under settings uses the default from the Properties table above. See The configuration file for how the sections and endpoint wiring work.
{
"sinks": {
"lpmsCanDecoder": {
"dataEndpoint": "inproc://lpmsCanDecoder_data",
"inputEndpoints": [
"inproc://can_data"
],
"inputDataFilter": [
"Can"
],
"settings": {}
}
}
}