-
Notifications
You must be signed in to change notification settings - Fork 1
CAN Plugin
Yurii Solodzhuk edited this page Feb 12, 2026
·
3 revisions
Плагін для роботи з CAN bus (пристрої Systec).
pip install pyqtier[can]# app/widgets/main_window.py
from pyqtier.plugins.can_plugin import CanPluginManager, CanDataProcessor
class MainWindow(PyQtierMainWindow):
def setup_view(self):
self.can = CanPluginManager(with_bitrate=True, default_bitrate=500000)
self.can.setup_view(self.view.can_widget, self.view.statusbar)
self.can.set_data_processor(MyCanProcessor())
def create_behavior(self):
self.can.connected.connect(self.on_connected)
self.can.disconnected.connect(self.on_disconnected)
self.can.message_received.connect(self.on_message)
self.can.data_ready.connect(self.on_data)
self.can.error_occurred.connect(self.on_error)# Стандартний CAN frame
self.can.send_message(can_id=0x123, data=b'\x01\x02\x03\x04')
# Розширений CAN frame
self.can.send_message(can_id=0x18FF1234, data=b'\x01\x02', extended=True)
# Через словник
self.can.send_data({"id": 0x123, "data": b'\x01\x02'})self.can.set_message_filter(can_id=0x123, mask=0x7FF)is_available = self.can.is_device_available()
info = self.can.get_adapter_info(device_id=0)| Сигнал | Опис |
|---|---|
connected |
Успішне підключення |
disconnected |
Відключення |
connection_lost |
Втрата з'єднання |
error_occurred |
Помилка |
message_received |
Отримано CAN-повідомлення (сире) |
data_ready |
Оброблені дані (після Data Processor) |
devices_list_updated |
Оновлення списку пристроїв |
10000, 20000, 50000, 100000, 125000, 250000, 500000, 800000, 1000000
Початок роботи
Основи
Плагіни
Додатково