/
IArtuSI
/
MCP-2515-MicroPython
Обзор
Документация
Войти
/
IArtuSI
/
MCP-2515-MicroPython
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
3
CI/CD
Аналитика
Безопасность
testing
MCP_Updater.py
45 строк
1 KB
IArtuSI
Прототип конструкции модуля
28 апр 2026, 13:48
28 апр 2026, 13:48
d4ecb04
Код
Авторство
О чём код?
import MCP_Main import os import json import sys from machine import Pin _msg_dict = { 'REQ' : [0x30, 0x0F, 0x00, 0x00, 0x00] # Command 1, Command 2, Part number, Hardware number, Software number } class mcp_updater(): def __init__(self, can_obj : MCP_Main.mcp_can, can_info_dict: dict = {"TX_ID" : 0x300, "RX_ID" : 0x500, "TX_INFO" : 0x700, "RX_INFO" : 0x750}) -> None: self.can = can_obj self.id_dict = can_info_dict try: with open('main.json', 'r', encoding='utf-8') as f: self.board_data = json.load(f) except: print('File error!') sys.exit() def msg_update(self): global _msg_dict _msg_dict['REQ'][2] = self.board_data['BOARD']['PN'] _msg_dict['REQ'][3] = self.board_data['BOARD']['HW'] _msg_dict['REQ'][4] = self.board_data['BOARD']['SW'] def main(self): self.msg_update() if self.board_data['BOARD']['NU'] == 1: self.updater() else: sys.exit() def pin_confirm(self): pass def updater(self): self.can.load_message(self.id_dict["RX_INFO"], _msg_dict['REQ'], 0) self.can.rts([1,1,1]) if __name__ == "__main__": can = MCP_Main.mcp_can(0, Pin('GP5', Pin.OUT, Pin.PULL_UP)) can.set_can_speed('125k') can.mode_controll('Normal') updater = mcp_updater(can) updater.main()