跳转到内容

BMCLI doctor

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

Check the BMCLI runtime environment, including the BMCLI version, loaded BMAPI DLL path and version, compile-time BMAPI header version, compiler, operating system, and connected hardware.

On Windows, Doctor reads the manifest-independent OS version and reports the product, major.minor, build, and native architecture in both text and JSON. If the query is unavailable, the fields are unknown with an explicit warning; Doctor does not substitute Windows 6.2/build 9200.

Terminal window
bmcli doctor
bmcli doctor --channel=10356/0

With --channel, Doctor chooses its accessibility probe from the enumerated capability mask. CAN/CAN FD channels open in CAN normal mode and retain the detailed live mode, bitrate, terminal resistor, RX filter, CAN status, TX task, route, logging, and replay dump. LIN-only channels open non-invasively at 19200 bit/s in LIN listen-only mode; LIN OFF is never accepted as evidence of accessibility. JSON reports channel_protocol, channel_mode, and channel_mode_id beside channel_accessible. A DLL/header version mismatch is reported prominently so that the deployed libbmapi.dll can be replaced before hardware tests. Doctor reports version match, enumeration, requested-channel accessibility, and current Bench configuration validation as separate layers. With no --channel, channel_accessible is null, not true. Bench hardware is not checked by default and hardware_ready remains null; use bmcli bench validate --hardware before claiming Bench READY.

While the daemon owns hardware, Doctor coordinates its discovery through the daemon’s pre-open inventory. JSON identifies the authority with enumeration.source (daemon or local) and reports the same canonical enumeration.identities that channel enumerate exposes. A requested channel already open in the daemon is checked through daemon state rather than a second exclusive BMAPI open.



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