Перенесён из репозитория protocan-transport, который подключался сабмодулем в CAN_to_RS485. Кадрирование AA 55 с CRC16 поверх любого байтового потока (RS485, RS232, USB CDC), разбор 29-битного идентификатора, общее адресное пространство регистров и каталог с подпиской на поток значений для SETGUI. Состояние живёт в структурах вызывающего, поэтому в одной прошивке поднимается сколько угодно независимых каналов. Порт STM32F4 (USART + DMA) в комплекте. Хостовые тесты test_transport и test_gui проходят.
28 lines
1002 B
C
28 lines
1002 B
C
/**
|
||
* @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 */
|