#!/usr/bin/env python3 """ Пример использования BLF библиотеки из Python с гарантированным закрытием файлов """ import time from blf_wrapper import BLFWriter, can_flags, timestamp_ms_to_ns def example_with_container(): """Пример записи CAN сообщений с использованием контейнера""" print("\n=== CAN example with container ===") # Используем контекстный менеджер для автоматического закрытия with BLFWriter("example_container.blf") as writer: # Начинаем контейнер print("Starting container...") writer.start_container(timestamp_ms_to_ns(1000)) # Добавляем сообщения в контейнер for i in range(5): writer.add_can_message( channel=1, can_id=0x200 + i, dlc=4, data=bytes([i, i*2, i*3, i*4]), flags=can_flags(1), # CAN_DIR_TX = 1 timestamp_ns=timestamp_ms_to_ns(i * 50) ) print(f" Added message {i} to container") # Заканчиваем контейнер print("Ending container...") writer.end_container() print("Container example completed, closing file...") print("File closed successfully, header updated") if __name__ == "__main__": print("=" * 60) print("BLF Library Example - Container Usage") print("=" * 60) example_with_container() print("\n" + "=" * 60) print("Example completed successfully!") print("=" * 60)