Решил переписать снифер. Сторонний собирает данные в кучу, причем данные в один цикл могут задблированными идти, как оно работает - хз.
Нашел временные параметры столбиков сигналов, старт стоп все передачи, функции задержки в мкс. Впервые, с 13 битовые манипуляции использую. Вот для чего нужны конъюнкции и дизюнкции)) Уж не знаю получится ли. Ардино микруха 16мгц, а шина i2c 100кгц. Запас как бы есть, стараюсь без прерываний делать. Данные удалось получить из стороннего снифира, но мусором, раскоментировав строки с raw дата.
Второй вариант, попробовать встать с таким же адресом как и микросхема, но тут сложность - их две. Может быть вариант решения это прижимать линию в 0 тогда все будут ждать, менять адрес на второй и отпускать линию. Но это теория. Как будут себя вести два слейва с одним адресом - это не известно да и не совсем корректно.
Так что, остаётся описать чтение двух первых битов порта Port_c. Он аналоговый и я ещё не знаю, способен ли он работать на 100кгц.
Я уже пробовал собрать байт слово. Но из за косяка в упорядочивании и определении начала передачи - криво вышло.
Думаю пока это самый правильный путь. Собрать слово или несколько, если приходит бит конца передачи - прижимать линию в 0 и прерываться на отправку в блутуз.