简体   繁体   中英

How do I convert .blf data of CAN to .asc using python

I have a.blf file, I have to convert that to a.asc file so that my ASCREADER is able to read the data.

from can.io.blf import BLFReader
blf_file = "/home/ranjeet/Downloads/CAN/BLF_Files/input.blf"
with BLFReader(blf_file) as can_log:
    for msg in can_log:
        print(msg)

I've tried this so far. Able to read BLF File, need to write data as per.asc file

Very similar to my other answer you should read your blf file in binary mode then write the messages in the asc one:

import can

with open(blf_file, 'rb') as f_in:
    log_in = can.io.BLFReader(f_in)

    with open("file_out.asc", 'w') as f_out:
        log_out = can.io.ASCWriter(f_out)
        for msg in log_in:
            log_out.on_message_received(msg)
        log_out.stop()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM