Automotive Vehicle Source
Node ID: vehicle · Role: Source · Realtime config: no
Description
High-level vehicle CAN source with built-in DBC-based presets for specific car models. Decodes wheel speeds, steering angle, and other signals into VehicleSpeed and VehicleState data.
Inputs / Outputs
- Inputs: (none)
- Outputs:
VehicleSpeed,VehicleState
Config aliases
AutomotiveVehicleSource, vehicle
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 Interface canInterface | select | PeakCAN | CAN adapter family: PeakCAN (PCAN), Vector (CANalyzer / XL), or Internal (built-in CAN). Options: PeakCAN, Vector, Internal. |
Baudrate baudrate | number | 500000 | CAN bus speed in bits per second (500000 = 500 kbit/s, standard for most passenger cars). |
Channel channel | number | 0 | Hardware channel index on the selected adapter (0 = first channel). |
Debug Output debug | boolean | false | Enable verbose logging of decoded CAN frames and derived vehicle state. |
Subtypes
| Value | Display name | Extra properties |
|---|---|---|
Minimal | Minimal | 7 field(s) |
External | External (with Steering) | 13 field(s) |
Citroen | Preset: Citroen | 1 field(s) |
Cupra | Preset: Cupra | 1 field(s) |
Honda Envix | Preset: Honda Envix | 1 field(s) |
Hyundai | Preset: Hyundai | 1 field(s) |
Picasso | Preset: Picasso | 1 field(s) |
R56 | Preset: R56 | 1 field(s) |
Subaru | Preset: Subaru | 1 field(s) |
Tesla Model 3 | Preset: Tesla Model 3 | none |
Subtype: Minimal — Minimal
| Property | Type | Default | Description |
|---|---|---|---|
Speed CAN ID speedCanId | number | 0 | CAN ID (decimal) of the frame carrying vehicle speed (e.g. 599 for Tesla Model 3 DI_speed). |
Speed Start Bit speedStartBit | number | 0 | Bit position where the speed signal starts (LSB-first numbering, as per DBC). Bit 0 = LSB of byte 0. |
Speed Length (bits) speedBitsLength | number | 8 | Length of the speed signal in bits. May cross byte boundaries. |
Speed Scale (kph per bit) speedScale | number | 1.0 | Scale factor applied to the raw value, in kph per bit. Output is converted to m/s internally. |
Speed Offset (kph) speedOffset | number | 0.0 | Offset added to the scaled raw value, in kph. |
Speed Big Endian speedIsBigEndian | boolean | false | Byte order. Motorola DBC signals = big endian; Intel DBC signals = little endian. |
Speed Signed speedIsSigned | boolean | false | Treat the bit field as a signed two’s-complement integer (e.g. for signals that can go negative). |
Subtype: External — External (with Steering)
| Property | Type | Default | Description |
|---|---|---|---|
Speed CAN ID speedCanId | number | 0 | CAN ID (decimal) carrying vehicle speed. |
Speed Start Byte speedStartByte | number | 0 | Byte offset of the speed field in the payload. |
Speed Length (bytes) speedLength | number | 1 | Length of the speed field in bytes (1, 2, or 4). |
Speed Scale speedScale | number | 1.0 | Scale factor applied to the raw speed value. |
Speed Offset speedOffset | number | 0.0 | Offset added to the scaled speed value. |
Speed Big Endian speedIsBigEndian | boolean | false | Byte order of the multi-byte speed value. |
Steering CAN ID steeringCanId | number | 0 | CAN ID (decimal) carrying the steering angle. |
Steering Start Byte steeringStartByte | number | 0 | Byte offset of the steering field in the payload. |
Steering Length (bytes) steeringLength | number | 1 | Length of the steering field in bytes. |
Steering Scale steeringScale | number | 1.0 | Scale factor applied to the raw steering value to obtain radians. |
Steering Offset steeringOffset | number | 0.0 | Offset added to the scaled steering value (radians). |
Wheel Base (m) wheelBase | number | 2.9 | Vehicle wheelbase in meters. Used by the bicycle / Ackermann vehicle model. |
Track Width (m) trackWidth | number | 1.6 | Vehicle track width in meters. Used by the vehicle model. |
Subtype: Citroen — Preset: Citroen
| Property | Type | Default | Description |
|---|---|---|---|
Drive Model driveModel | select | Differential | Options: Differential, Ackermann, SimpleAckermann. |
Subtype: Cupra — Preset: Cupra
| Property | Type | Default | Description |
|---|---|---|---|
Drive Model driveModel | select | Differential | Options: Differential, Ackermann, SimpleAckermann. |
Subtype: Honda Envix — Preset: Honda Envix
| Property | Type | Default | Description |
|---|---|---|---|
Drive Model driveModel | select | Differential | Options: Differential, Ackermann, SimpleAckermann. |
Subtype: Hyundai — Preset: Hyundai
| Property | Type | Default | Description |
|---|---|---|---|
Drive Model driveModel | select | Differential | Options: Differential, Ackermann, SimpleAckermann. |
Subtype: Picasso — Preset: Picasso
| Property | Type | Default | Description |
|---|---|---|---|
Drive Model driveModel | select | Differential | Options: Differential, Ackermann, SimpleAckermann. |
Subtype: R56 — Preset: R56
| Property | Type | Default | Description |
|---|---|---|---|
Drive Model driveModel | select | Differential | Options: Differential, Ackermann, SimpleAckermann. |
Subtype: Subaru — Preset: Subaru
| Property | Type | Default | Description |
|---|---|---|---|
Drive Model driveModel | select | Differential | Options: Differential, Ackermann, SimpleAckermann. |
Example node definition
A minimal entry in config.json looks like the block below. Paste it under the sources 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.
{
"sources": {
"vehicle": {
"outEndpoint": "inproc://vehicle_data",
"type": "Minimal",
"settings": {}
}
}
}