Ви не увійшли.
Действительно, про верификацию с реальным iButton как-то не подумал. Но увы, она показала что код вполне пригодный для работы с iButton.
Насчет документации, по протоколу там сказано, как говорится, два слова. Что считыватель передает данные по шине 1-Wire, эмулируя работу iButton.
На считыватель грешить смысла нет, так как в оригинальной сборке он работает нормально(на обеих скриншотах анализатора работает один и тот же считыватель)
У меня остается только одна мысль(может и дурацкая) что проблема может быть в захардкоженых таймингах отправки бита, так как считыватель имеет постоянное питание а не паразитное... Нужно будет проверить...
Даю примеры сигналов на участках отправки команды на чтение и получение Family code
Правильный вариант
А что получается в моем случае
Доброго времени суток, столкнулся с задачей сделать клон одного устройства работающего с считывателем карт. Считыватель эмулирует по шине 1-Wire поведение DS1990.
Логично предположить что хватит банально библиотеки OneWire.
Сперва подключил как положено через подтяжку на 4.7кОм. Потом добавил переключающий диод для полного соответствия обвязки.
Как известно с интернетов, пакет DS1990 состоит из 8 байт.
1 - Family code (в данном случае значение должно быть 0х1)
2-7 - ROM
8 - CRC
В результате я получаю странный хлам на шине, к примеру Family code мне прилетает 0xAB.
При этом я уверен в работоспособности считывателя так как при подключении к оригинальному устройству на шине идут верные байты.
Может кто-то с подобным сталкивался?
Через пару часов выложу скриншоты логического анализатора.