Skip to content

BMCLI convert

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

Convert Classic CAN and CAN FD records between Vector ASC and uncompressed BLF. This is a local file operation: it does not start the daemon or initialize BMAPI.

Terminal window
bmcli convert <input> <output>

The two positional paths are required. Their case-insensitive .asc and .blf extensions select the direction and must be different. The output path must not already exist. BMCLI creates BLF output with NO_COMPRESSION containers.

For supported frames, conversion preserves record order, logical channel, each relative message timestamp even when timestamps are equal or move backward, Rx/Tx/TxRq direction, standard/extended identifier, RTR/FDF/BRS/ESI and transmission-error/wake-up state, DLC, and payload. On ASC Classic rows the latter states are written as TE, WU, or XX. On CANFD rows, Flags bit 12 is the authoritative FDF value: an FDF-clear row remains a Classic CAN frame on an FD-capable channel, including raw DLC 9-F with at most eight data bytes.

Numeric CANoe v7.5 data rows without the later ID = tail and pre-v8.5 RTR rows without a DLC are accepted. Because the older RTR spelling contains no DLC to recover, its converted DLC is 0. A symbolic Classic identifier is accepted only when the row also carries CANoe’s numeric tail ID =; otherwise conversion fails as malformed instead of guessing an identifier or silently skipping the frame.

Directionless historical RTR rows in the form timestamp channel id r [dlc] are also accepted and normalized to Rx because the source row contains no direction. This compatibility does not apply to directionless data rows.

ASC headers, control/comment records, TriggerBlock boundaries, and BLF objects that are not messages are ignored and reported as ignored_record_count; they do not imply message loss. Recognized message records that the selected output does not write (currently LIN during CAN/BLF conversion) are reported as skipped_count. Malformed ASC and compressed or truncated BLF input fail without leaving a partial output file. Structured errors include details.record_number, details.record_type, and details.reason; compressed containers report unsupported_blf_compression, while damaged or truncated objects report malformed_or_truncated_blf_object. File creation metadata is not a message timestamp and is not promised to match the source file. If the complete input contains no convertible CAN or CAN FD message, conversion fails with no_convertible_messages and removes the output instead of reporting a successful empty conversion.

With --format=json, success includes input, output, input_format, output_format, converted_message_count, ignored_record_count, and skipped_count.



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