feat(protocan-transport): транспортный уровень ProtoCAN и каталог GUI

Перенесён из репозитория protocan-transport, который подключался
сабмодулем в CAN_to_RS485.

Кадрирование AA 55 с CRC16 поверх любого байтового потока (RS485, RS232,
USB CDC), разбор 29-битного идентификатора, общее адресное пространство
регистров и каталог с подпиской на поток значений для SETGUI. Состояние
живёт в структурах вызывающего, поэтому в одной прошивке поднимается
сколько угодно независимых каналов. Порт STM32F4 (USART + DMA) в комплекте.

Хостовые тесты test_transport и test_gui проходят.
This commit is contained in:
2026-08-23 01:15:35 +03:00
parent 873ac438f3
commit 3dc636e012
27 changed files with 3646 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
/**
* @file protocan_transport.h
* @brief Зонтичный заголовок библиотеки. Достаточно подключить его одного.
*
* Библиотека переносимая: C99, без динамической памяти, без ОС,
* без зависимостей от HAL и от конкретного МК. Платформа подключается
* через pcan_io_t (см. pcan_link.h) и примеры в ports/.
*/
#ifndef PROTOCAN_TRANSPORT_H
#define PROTOCAN_TRANSPORT_H
#define PCAN_VERSION_MAJOR 1
#define PCAN_VERSION_MINOR 0
#define PCAN_VERSION_PATCH 0
#define PCAN_VERSION_U16 ((PCAN_VERSION_MAJOR << 8) | \
(PCAN_VERSION_MINOR << 4) | \
PCAN_VERSION_PATCH)
#include "pcan_config.h"
#include "pcan_crc.h"
#include "pcan_frame.h"
#include "pcan_gas.h"
#include "pcan_id.h"
#include "pcan_link.h"
#include "pcan_ring.h"
#endif /* PROTOCAN_TRANSPORT_H */