Skip to content

BMCLI lin

Reference version: BMCLI 1.6.5. Command names, parameters and machine-readable fields retain their source spelling.

Manage the header-triggered response table of an open LIN slave channel. Entries are keyed by LIN ID; repeated set replaces one ID without disturbing other responses. BMCLI validates the device TX-task capacity and submits one checked BM_SetTxTasks snapshot. It does not retry, read back, or roll back a failed write.

With firmware 3.2.0 or later, updates retain the device’s consumed count and original total quota for other entries. The host remaining value is used for reporting; neither it nor an observed exhausted state is written back to replace or disable the device’s live quota. Older firmware keeps the legacy remaining-budget update path.

For 1 <= rounds < 65535, rounds is the exact number of future matching master-read headers that may receive a payload after set succeeds. Setting a response never emits a visible priming frame. rounds=65535 is continuous. An explicit repeated set rearms that ID with the newly requested full budget; adding, changing, or removing a different ID preserves every unchanged finite response’s live budget. remove and clear disarm the selected responses as part of the successful table update.

get and list retain rounds as the configured value and additionally report remaining and state. Continuous responses use remaining=null in JSON. Finite responses progress from armed to exhausted as completions are observed; entries remain visible until they are removed or cleared. These are host estimates: an old complete response may finish after a same-ID set, and the existing completion record has no instance identifier to distinguish it from the newly armed response. On firmware 3.2.0 or later, such an estimate cannot stop or refill the device task; the device independently enforces its exact budget. Already queued or in-flight complete old frames may finish after set. If a Broker gap, epoch discontinuity, or channel transition makes a finite remainder unprovable, BMCLI fails closed as needs_rearm and does not respond until an explicit set. Daemon restart and automatic channel recovery always cross an unobservable final-response interval, so every configured finite response is disarmed as needs_rearm; continuous responses remain eligible for restoration. BMAPI task readback is not used as a live counter because it reports the configured rounds on the characterized hardware; the daemon accounts trusted slave tx_complete events through its own RxBroker cursor, without consuming events from message recv, logging, Web, or other observers.

Terminal window
bmcli lin response set --channel=10357/4 --id=0x20 --data="01 02 03 04"
bmcli lin response get --channel=10357/4 --id=0x20 --format=json
bmcli lin response list --channel=10357/4 --format=json
bmcli lin response remove --channel=10357/4 --id=0x20
bmcli lin response clear --channel=10357/4

Manage the BMCLI-owned master schedule named system. Entries are ordered and addressed by index. Each positive --delay is the frame-slot duration from that entry’s start until the next entry starts; the hardware cycle is the sum of all slot durations. The first entry has logical phase zero; BMCLI adds the shortest slot duration as a common hardware phase bias to every entry to avoid the legacy firmware’s special handling of delay=0. This bias does not change any slot duration or the table cycle. add preserves the current activation state: an inactive table remains inactive and sends nothing until explicit activate; edits to an active table are applied immediately, and clear stops all slots.

Terminal window
bmcli lin schedule add --channel=10356/4 --id=0x20 \
--type=master-read --dlc=4 --delay=20
bmcli lin schedule show system --channel=10356/4 --format=json
bmcli lin schedule deactivate --channel=10356/4
bmcli lin schedule activate --channel=10356/4
bmcli lin schedule remove --channel=10356/4 --entry=0
bmcli lin schedule clear --channel=10356/4

BMCLI does not edit LDF files. Future LDF loading will expose read-only named schedules through list/show/activate/deactivate; AI or users generate and edit the LDF text itself.



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