Привод Nice для распашных ворот имеет свой протокол обмена BusT4.
Два устройства (А и Привод) общаются через rx и tx.
Команда "Стоп" от А к приводу выглядит как стандартный uart 19200 8n1.
Длина импульса условного бита примерно 52us, то есть каждый фрейм должен быть примерно 520us. (стоп бит + 8 + старт бит =10*52=520).
Но перед пакетом всегда добавлен заголовок, который не укладывается в 8n1. Выглядит как более длинный импульс, длиннее обычного фрейма на 1 бит!
Далее следует ответ от мотора, что он всё понял и исполняет. И в этом ответе также есть нестандартный импульс. Только ещё более длительный и с паузой после него.
А дальше стандартный UART 8n1. Часть байт в посылках удалось быстро понять, это адрес спросившего, адрес получателя, данные, crc дважды в виде количества байт в посылке минус 3 и что-то ещё.
Если устройство А спрашивает у мотора номер прошивки, то в посылке добавляются байты данных, в которых есть ASCII символы текущей прошивки.
Желаю отправлять контроллером вроде ESP8266 или каким другим команду, которая выглядит как запрос от устройства А.
Сформировать UART 8n1 могу и на графике он такой же как оригинал. А вот с добавкой импульса беда. Уже голову сломал, пытаясь понять, как туда импульс этот добавить.
Конечно же, без импульса мотор меня не слушает и команды не выполняет.
Нужна подсказка.