BMCLI lin
Reference version: BMCLI 1.6.5. Command names, parameters and machine-readable fields retain their source spelling.
lin response
Section titled “lin response”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.
bmcli lin response set --channel=10357/4 --id=0x20 --data="01 02 03 04"bmcli lin response get --channel=10357/4 --id=0x20 --format=jsonbmcli lin response list --channel=10357/4 --format=jsonbmcli lin response remove --channel=10357/4 --id=0x20bmcli lin response clear --channel=10357/4lin schedule
Section titled “lin schedule”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.
bmcli lin schedule add --channel=10356/4 --id=0x20 \ --type=master-read --dlc=4 --delay=20bmcli lin schedule show system --channel=10356/4 --format=jsonbmcli lin schedule deactivate --channel=10356/4bmcli lin schedule activate --channel=10356/4bmcli lin schedule remove --channel=10356/4 --entry=0bmcli lin schedule clear --channel=10356/4BMCLI 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.