1.2 KiB
1.2 KiB
DBC Package
CAN database (DBC) signal definitions and parsing utilities.
Structure
models/- Core types (DBCCollection, CANMessage, CANSignal)state/- State tracking for CAN signalsdiagnostics/- Diagnostic signal handlingfm29_*/,n60/- Generated packages from DBC files (stubs by default)
Generated Packages
The fm29_* and n60 packages contain CAN signal definitions generated from DBC files. By default, these are stubs that return empty collections.
To generate real definitions, you need:
- DBC source files (from CEC-Common repo or equivalent)
- The
cantoolfrompkg/can-go
Generating DBC Code
# From cloud-services root
go run ./pkg/can-go/cmd/cantool generate /path/to/dbc/files ./pkg/dbc
Or use the generate script:
./scripts/generate-dbc.sh /path/to/dbc/files
When Do You Need Real DBC Packages?
- Gateway: Uses only
dbc/models- stubs are fine - Optimus: Needs real DBC for CAN signal parsing
- Ditto: Needs real DBC for digital twin state
- Beacon: Needs real DBC for diagnostic alerts
Adding New DBC Versions
- Add DBC files to source directory
- Run cantool generate
- Update
new_dbc_collection.goto include new version