С диапазоном битовой скорости все непросто. Обычно автоопределение
скорости происходит по некой преамбуле (auto baudrate в МК) или по
некоторым другим признакам, что требует хотя бы частичной
информации о протоколе или наличия маркеров (поиск известного
значения в потоке данных). Разработчики Docklight пошли интересным
путём и разработали отдельную железку - Docklight Tap (Pro), что-то
из этого она может. Вышесказанное справедливо для UART-ов и их
производных, с SPI и CAN пока проще использовать логический
анализатор.
Автоопределение стандартных протоколов идея хорошая, нужно добавить соответствующий плагин. Как минимум добавить набор стандартных скриптов для работы.
Из близкого к теме - в программу встроен универсальный калькулятор контрольных сумм, позволяющий настроить любую модель CRC. С ним возможно определять модель для расчета контрольных сумм в исследуемых протоколах, я это делал.
local bt = { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39 }
crc = CrcLogic:new()
crc:setWidth(16) -- Установка длина полинома в битах (от 3-х до 64-х).
crc:setPoly(0x8005) -- Значение полинома.
crc:setSeed(0) -- Начальное значение.
crc:setReflectIn(true) -- Начало и направление вычислений.
crc:setReflectOut(true) -- Инверсия порядка битов регистра при входе на элемент XOR.
crc:setXorOut(0) -- Число, с которым складывается по модулю 2 полученный результат.
crc:calculate(bt) -- Расчет контрольных сумм. Может вызываться множество раз.
result = crc:finalize() -- Получение результата(uint64_t) и сброс логики.