One protocol core · many platforms

SETProtocol

Одно C99-ядро для SETGUI, Android, Linux и микроконтроллеров. SET v2, ProtoCAN и GUI v1 собраны вместе; COM, SLCAN, SocketCAN и HAL подключаются снаружи.

C99 без HAL/OSABI v1 для FFI3 wire format0 malloc в ядре4 Android ABI

Что такое ядро

SETProtocol — не драйвер адаптера и не GUI framework. Это детерминированная протокольная часть, одинаковая для каждой программы и платы.

ПриложениеSETGUI · Android · CLI · firmware
SETProtocolSET v2 · ProtoCAN · GUI v1 · GAS
ПортCOM · SLCAN · SocketCAN · USB · HAL

Единое ядро форматов

Windows, Android и MCU больше не реализуют CRC, порядок байт и ресинхронизацию каждый по-своему.

Узкая платформенная граница

Смена COM на SocketCAN заменяет адаптер ввода-вывода, но не декодер протокола и не тестовые векторы.

Контролируемая совместимость

FFI использует публичный setprotocol_abi.h версии 1; внутренние C-структуры наружу не протекают.

Про скорость: значение 500000 у COM — скорость последовательного интерфейса адаптера. CAN bitrate на линии задаётся отдельно в адаптере/драйвере. SETProtocol получает уже доставленные байты или CAN-кадры.
Про сниферы: SLCAN, SocketCAN, CANable и vendor-адаптеры должны нормализовать вход в can_id + flags + data. После этого таблица, фильтры и ProtoCAN-декодер общие.