Skip to content

BMCLI ldf

Read-only LIN Description File model. ldf load and database load of the same canonical .ldf path share one persistent typed resource. BMCLI never creates, edits, or rewrites the source LDF.

Terminal window
bmcli ldf load --file=body.ldf --name=body-lin
bmcli ldf info --database=body-lin --format=json

info reports protocol/language version, bitrate, master node, and counts for nodes, signals, frames, and schedules. --database=<name|file> selects a registered resource or direct file; --ldf=<file> is the direct-file form. If exactly one LDF is registered, it is selected automatically.

Terminal window
bmcli ldf node list --database=body-lin --format=json
bmcli ldf node show BodyMaster --database=body-lin --format=json
bmcli ldf frame list --type=unconditional --database=body-lin --format=json
bmcli ldf frame show MasterFrame --database=body-lin --format=json
bmcli ldf signal list --database=body-lin --format=json
bmcli ldf signal show Command --database=body-lin --format=json

The frame model distinguishes unconditional, diagnostic, event-triggered, and sporadic frames. Frame details include identifier, publisher, DLC, checksum model, master-read/master-write classification, signal layout, and the initial payload derived from signal defaults.

Terminal window
bmcli ldf schedule list --database=body-lin --format=json
bmcli ldf schedule show NormalTable --database=body-lin --format=json
bmcli ldf schedule activate NormalTable \
--database=body-lin --channel=10356/6 --format=json
bmcli ldf schedule deactivate --channel=10356/6 --format=json

list and show are offline, read-only operations. activate validates the complete named table before changing hardware, then materializes it as the daemon-owned system LIN schedule. The selected channel must already be open as a LIN master. LDF delays are preserved in the model and rounded up to whole milliseconds only when materialized because the BMAPI task interval is an integer millisecond value.

Only unconditional and diagnostic frame entries can be materialized in this phase. Event-triggered frames, sporadic frames, and configuration schedule commands such as AssignNAD remain queryable but activation fails explicitly; BMCLI does not guess their runtime policy. A failed entry application returns nonzero and may leave a partial system table, which the caller can inspect or clear. No hidden retry or source-file rollback is performed.



Source of truth: bmcli_reference.md in the BMCLI repository. Run bmcli help <category> <action> --format=json for the exact contract of the installed version.