demitra, спасибо! Я тоже был очень рад когда все это заработало! :smile: Жаль не смогли сделать фотоотчет. Были очень интересные моменты.
Начали мы это действие с утра, много времени ушло на подготовку, поиск инструментов, печать мануалов. Возня с рулевой колонкой и разъемами улитки была недолгой, страшновато только было работать с подушкой. Димка даже вылазил из машины, на всякий случай :smile:
А вот когда очередь дошла до магнитолы, поняли что ключами она не снимается

Не заморачиваясь с этим, решено было снять ее вместе с родным держателем. Сняли все нужные панели, скинули морду, открутили родные салазки - и увидели двухсторонний скотч, причем его было довольно много, отрезанные ISO разъемы и прикрученные напрямую провода, закручено изолентой, как будто ставили где-то в подвале

Дмитрий говорит, что ставили у оффициалов! Ну в общем, незачет им полный. Товарищи, не ставьте ничего в Казанском ТТС-е!
Подключили все хозяйство к магнитоле, включили обучение, и .. тишина)) Сначала оказалось, что у Alpine вход управления НЕ МИНИ ДЖЕК. А отдельно выведенные проводки. Черный (GND) и два коричневых (Remo1,2). Мы же тыкали в АUX и чего-то ждали.
Перекинули проводки, вроде бы что то зашевелилось, но сильно глючило обучение, адаптер практически не работал.
На этом этапе, пришлось забрать магнитолу домой и Дмитрий уехал не собранной машиной, с рулем без подушки и остатками проводов в торпеде
Оказалось:
1. Алпайну нужен импульс как минимум в два раза дольше чем Пионеру - около 250 мс, против 120. Иначе он просто не схватывал нажатие.
2. Режим обучения основан на записи шестнадцатиричного значения текущего сопротивления определенной функции, эта цифирка отображается на экране при обучении и получается +-7 единиц - это для него одна кнопка! Т.е он просто затирает предыдущую, если между двумя кнопками небольшой разбег значения (по его шкале).
Причем зависимость значения кода от входного сопротивления нелинейная, решил проблему тупым подбором таблицы сопротивлений для кнопок. Получилось следующее.
//задание соответствия выходного сопротивления функциям
#define R_POT 48000 //максимальное сопротивление используемого потенциометра, Ом
#define R_VOL_P 270 //значения в Омах
#define R_VOL_M 500
#define R_SOURCE 810
#define R_POWER 1300
#define R_MUTE 1700
#define R_APROC 2456
#define R_BWD 3600
#define R_FWD 4700
#define R_BAND 5900
#define R_PAUSE 7500
#define R_PUP 12400
#define R_PDOWN 22000
При этих значениях сопротивлений, кнопки довольно равномерно распределены по шкале Alpine.
3. У Альпайна вообще НЕТ входа ШИФТ как такового) Есть просто два независимых входа remote, которые ждут значения для 12 функций. (Названия выше в коде) Т.е одному значению сопротивления может соответствовать только одна функция! Поэтому пришлось заменять пионеровские замыкания шифта на отдельные сопротивления на выходе и использовать только один выход OUT.
Кстати, надо будет обновить статью и выложить прошивку под Алпайн.
Встретившись позже, на светлой парковке Меги, мы собрали все это хозяйство на место и как ни странно, все сразу заработало

Правда пришлось переобучить некоторые кнопки, видимо из-за разных напряжений питания магнитолы дома и в машине - код чуть сместился. Адаптер завернули в бутерброд из толстого поролона и прилепили на двухсторонний скотч. Дмитрий попросил чтобы без ключа адаптер работал,поэтому питание взяли с 12в. Не знаю хорошо это или плохо, но адаптер сейчас постоянно под напряжением. Собрали потыкали, все работает

Радости реально не было предела!
Ах да, мимо ходили люди и подозрительно косились на двух парней, "разбирающих" машину, но никто не даже не подошел) Мы по сути реально могли час ковырять иммобилайзер в чужой машине и никто б не подошел даже)