Спасибо, будем изучать!
Вид для печати
Спасибо, будем изучать!
Спасибо, посмотрим!
Спасибо за проект. CHIP, как в кардуину залить, или проще схемку собрать. Снял лог нави. Сёдня выложу. Снифер на кардуине много пропусков даёт, а вот на меге8 всё ок.
В Carduino можно залить hex через ICSP программатор
и кварц наверно надо поменять
лог с нави снифер регится как ченджер2, жал на всё что можно, и в сервис меню заходил.
Собрал схему, подключил дома к компу, прошил (вроде правильно).
Как дома проверить что схема работает? До того как в машину лезть.
Подскажите поподробнее для чайника. Сильно не пинайте - в радио я слабоват :-(
Готов помогать в меру сил и способностей
Единственное, что можно попробовать дома, так это нажать в терминале буквы H и L и померить напряжение на выводах TX+ и TX- оно должно быть где-то около +4 и -4 вольт (если мне память не изменяет).
кнопка V печатает версию прошивки
Спасибо за лог. Тут как раз уже готовую прошивку выложили. Как раз лог пригодится для ее отладки
Спасибо за продолжение. Есть вопрос. Насколько стабильно работает драйвер на ADM485, а то тут есть жалобы на пропуске в приеме сообщений, да и я сам долго пытался его заставить нормально работать.
В кардуино так просто залить эту прошивку не получится, т.к. и микропроцессор другой и главное частота кварца другая, а на нее жестко завязаны временные выдержки при отправке и приеме сообщений. А кварц в ардуино перепаивать наверное не совсем правильно.
Автору проекта, несомненно, большое уважение. Я так понимаю это первая открытая реализация эмуляции навигации. Лично для меня было интересным подтверждение возможности использования одного физического адреса 178 и для навигации и для чейджера.
МК ATMega32 я так понимаю использовался по причине нехватки оперативной памяти в Mega8/168. Я сейчас пробую обойти этот момент поместив все массивы с командами в PROGMEM.
Еще, конечно, очень хочется реализовать автоматическое определение адреса головы (и стандартная навигация и коммерческий адаптер это делать умеют).
Пропуски есть, но их столько же, сколько и было с atmega8 и PCA82c250, на работу сильно не влияют. В atmega8 действительно все уже не помещалось, atmega32 просто нашлась под рукой, но и в atmega168 должно поидее все влезть. Тоже думаю над этим(автоматическое определение головы), но пропуски мешают пока сделать эту функцию стабильной.
Долго я пытался отправить буквы H, L и V через Serial монитор arduino.exe Говорю же - чайник :-(
Запустил putty.exe выбрал Serial, нужный номер порта и скорость 250000. И получил реакцию на нажатия H и L. Напряжение между Tx-ми стало устанавливаться 3,6 и -3,6 (было -0,6).
А вот на нажатие V реакции нет
Прошивал ...sketchbook\AVCLan_mini\AVCLan_mini.pde (брал по ссылке с первой страницы)
Можно считать схему рабочей?
Начал собирать девайс, осталось мегу32 впаять, а нету, заказал, жду.
Да не я в смд исполнении, плата получилась со спичечный коробок.
Понятно.
Можно считать рабочей, оказалось букву V я позже добавил, она в еще неотлаженной прошивке. Можно еще нажать букву D, драйвер переключится обратно на прием (будет -0,6). Ну и еще можно на P нажать, выведется количество байт не переданных в порт из-за переполнения буфера. На не подключенном девайсе всегда будет 0.
уже хорошо - как никак моя первая плата :-)
А куда что подключать? (голова 1603Х)
Навигация у меня есть, но я её снял (на её место комп планируется). А провода остались - хотелось бы их по макс. задействовать.
1. Tx можно подключить к разъёму от нави?
2. Звук на 12-пин вход от CD-ченджера? И только туда?
3. Видео от компа куда? (вход от нави будет же не активный)
ЗЫ: надеюсь эмуляция нави скоро родится и тогда всё можно будет в разъём нави втыкать. Или я что то пропустил? :-)
Смотри тут, а вообще всё на сайте есть )))
я так понял что это справедливо для коммерческого адаптера.
Или если будет реализована эмуляция навигации на Arduino, а пока то эмулируем CD-ченджер. Так?
Для самодельного адаптера подключение такое-же. Только если нет эмуляции навигации, для активации RGB-входа в голове нужно подключить штатную навигацию к проводам tx+ tx-, ну и разъем с питанием ей оставить
Собрал девайс, прошил бутлоадером, заработал. На 11ом приусе активирует РГБ, но звука нет, мож потому что штатный ченджер стоит... На 20ке в поле инфо появились 3 кнопки которых раньше не было (TEL, FM, и ущё какая - то непонятная) при нажатии на них они жмуться но ни чего не происходит) РГБ и звук пока ни как не активируется. Интересно почему...
Давайте, я его выкладывал, ток там походу эмулятор сд регится как 190, хотя голова на приусах 110. А свежесобранным по Костиному проекту почему то не получается снять лог, пишет navi&cd emulator и всё. В программировании я слаб, но есть два приуса сд ченджер, штатная нави и 3 собраных, рабочих девайса, с паяльником дружу, чем смогу тем помогу
Держите прошивку для 110 головы с эмуляцией СД.
А лог нужен, когда вы делаете вот это: "(TEL, FM, и ущё какая - то непонятная) при нажатии на них они жмуться но ни чего не происходит".
Если на RS232 кроме надписи navi&cd emulator больше ничего нет, то TX+ TX- не правильно подключили.
спасибо за прошивку, сёдня испытаю. Если тх+ тх- местами поменять то тогда ваще светодиод не моргает, на 11ом нет РГБ, а на 20ке нет новых кнопок.
Испытал новую прошивку. На 20ке звук активируется нажатием кнопки CD при условии что вставлен диск, диск не играет (нет инфо о треке, его времени итп) но вход активирован (на максимуме громкости слышен шум) Без диска пишет иероглифы какие-то, активации не происходит. Наверно конфликт адресов. В сервис меню CD распознаётся как CH-2, мож в прошиве надо назначить как СН-0? На 11ом полюбому должно всё активироваться и звук (если нет штатного ченджера) и ргб, на выходных проверю. Огромное уважение автору данного проекта. На 20ке помимо новых появившихся 3х кнопок, при родной нави есть ещё одна очень нужная это MAP при нажатии на неё и происходит активация РГБ и осуществляется передача координат от тача. Осталось тока найти эту копку и нажать на неё. У 11-го проще она не виртуальная и вынесена на панель.
Мой девайс и Поле инфо при подключеной нави. Нижняя слева кнопка - это MAP.
Кстати, у Вас на Приусе 2007г. нет RGB на голове, у Вас GVIF интерфейс. А что происходит на RS232 при подключении адаптера к Приусам(всем на которых пробуете)? Должна быть реакция на RS232 при нажатии на новые менюшки.
Как нет, есть. Я тож сначала озадачился гифом, но сняв и разобрав голову заметил что последний отсутствует есть ток посадочные места под него, а РГБ присутствует, к нему я и привизал штатную нави от 11го. Видно головы японцы делают для разных комплектаций. У меня самая простая - S. В терминале рс232 пишет cd и navy emulator и больше ничего, жал на всё, светодиод моргает.
Мож софт не тот (терминал), потому как заметил что надпись CD&NAVY появляется тока после того как, был запущен и закрыт драйвер мини авц. Если сразу запустить терминал после загрузки компа, то терминал ни чего не пишет, пока не запустишь и не закроешь драйвер. A Какой у вас терминал, выложите плз.
Понятно, надпись шапки появлялась при подаче питания на девайс, на выходных попробую с гипертерминалом. Вопрос чем компилировать, и можно исходник последней прошивки(где с CD), хочу под 20-ку попробовать замутить.
Здесь все: http://depositfiles.com/files/rzq0vfdby
Здесь только исходники с СД:
СПАСИБО, будем ковырять )))
"прикрутил" сегодня комп к голове. Работает.
Качество изображения расстроило - грешу на кривосделанный смеситель синхросигнала.
Точность тача расстрола ещё больше. Выключить комп через "ПУСК" не получилось - как я пальцем не елозил, но в красную кнопку "Выключить" так и не попал.
NikitaM, почитай эту тему.
Собрал смеситель на ЛП5. Картинка та же что и на резисторах, только полярность поменялась с - -, на + - . Вроде работает да и ладно.
Информация для размышления программистам:
Раз уж мы таскаем с собой навигатор и имеем доступ к обмену сообщениями. А нельзя ли тогда вытянуть с навигатора GPS-инфу - NAVI в диагностическом режиме выдаёт же координаты, спутники, угол гироскопа.
Написать эмулятор виртуального GPS-приёмника на COM-порту и подсунуть этот порт программе навигации (Гармину или IGO, например).
Можно конечно просто купить внешний GPS-приёмник (у меня есть), но мы ведь не ищем лёгких путей. ;-) Опять же штатный навигатор как то координаты получше держит, имха.
А с soft15khz я что то так и не разобрался (но и старался не очень). В итоге пришлось перегружаться на ощупь в VGA (F8, пять нажатий курсором вверх и Ентер два раза)
Всё работает - картинка картинится, тачскрин тачскринится. Качество и того и другого не важное. Эксперимент по использованию головы как монитора признал не удачным, всё демонтировал. Так сказать вернул всё в зад :-)
После пары месяцев испытаний, поездки на море, можно писать об успешном завершении написании прошивки.
Прошивка работает с четыремя видами плат, вид платы настраивается в sketchbook\libraries\AVCLanDrv\config.h
в нем надо расскоментировать одну из четырех строк
//#define AVCLAN_ST485
//#define AVCLAN_PCA82C250
//#define AVCLAN_MINI_PCA82C250
//#define AVCLAN_RESISTOR
Платы:
1. AVCLAN_ST485
Плата на базе arduino и драйвера на микросхеме ST485
Вложение 9652
Схема и разведенная плата в формате Eagle во вложении. Схема также содержит ключ для управления адаптером AZ-FM
Вложение 9653
2. AVCLAN_PCA82C250
Плата на базе arduno и драйвера на микросхеме PCA82C250
Вложение 9654
Схема и разведенная плата в формате Eagle во вложении. Я поленился рисовать на ней ключ для AZ-FM. Желающие могут его скопировать из предыдущей схемы и прописать команды для и его инициализации и работы в config.h
Вложение 9655
3. AVCLAN_MINI_PCA82C250
Плата avclan-mini в которой перепаян кварц на 16МГц и заменен микропроцессор на ATMega168 (в теории должно работать и с ATMega8, но с бутлоадером уже не помещается, только если программаторам заливать прошивку). Так же для этого варианта пришлось снизить скорость com-порта до 115200. Бутлоадер я взял от ардуино, только поправил его чуток, т.к. светодиод на плате находится на другой ноге.
4. AVCLAN_RESISTOR
Плата на базе arduino и драйвера на 4х резисторах.
Вложение 9656
Схема в формате Eagle во вложении. Честно говоря, этот вариант теоретический, в железе я его не собирал.
Вложение 9657
Я собрал и опробовал с 1 по 3 варианты плат. Мне больше понравился вариации на микросхеме PCA82C250 (потому как сразу заработал на большинстве голов) вариант на микросхеме ST485 иногда требовал подбора номинала резисторов R2, R3, R6
В машине у меня сейчас работает перепрошитый вариант на avclan-mini. У друга, который делал прошивку с навигацией на ST485.
Собственно прошивка.
Вложение 9658
Прошивка для arduino-018 распаковываем архив в папку с ардуино. Выставляем тип платы в файле sketchbook\libraries\AVCLanDrv\config.h
Компилируем и заливаем.
Прошивка разбита на три части:
1. Собственно драйвер AVCLan - библиотека AVCLanDrv отвечает за работу с шиной AVCLan и выполняет всю грязную работу за нас.
2. Скетч AVCLan_mini.pde - основная программа, в которой собираются все части прошивки и описаны все сервисные функции, ее тоже не придется править.
3. Ну и самая изменяемая часть прошивки - это драйвера устройств. В данном случае CD чейнджера - библиотека AVCLanCDch. Так же есть библиотека AVCLanNavi, которая написана на базе прошивки kostya78rus и эмулирует навигацию и чейнджер. Ее мой друг выложит чуть позже.
Подключается библиотека с эмулируемым устройством в файле AVCLan_mini.pde в строке
#include <AVCLanDrv.h>
Теперь, что умеет текущая прошивка.
1. Автоматическое определение адреса головы. Определяет адрес стабильно, за два месяца работы сбоев не было. Адрес можно задать и вручную.
2. Сервисные функции (для запуска нужно набрать в терминале соответствующую команду)
P - вывод конфигурации (адрес головы (который определился и который зашит в eeprom), адрес эмулируемого устройства, режим "только чтение", количество переполнений буфера отправки в com-порт
M - включение / выключение режима "только чтение", т.е. любую прошивку можно превратить в снифер, который будет только слушать шину.
V - вывод версий компонетнов
S - начало команды отправляемой в шину (формат совместим с AVCLan-mini)
W - конец прямой команды, например S002574901903W
Q - конец широковощательной команды
H - конец задания адреса головы, например S0110H (S0000H - для автоматического определения адреса головы)
? - помощь по командам
команды для отладки железа
h - выставляет высокий уровень на шине AVCLan
l - выставляет низкий уровень на шине
i - освобождает шину, переходит в режим чтения
M - отправляет тестовое сообщение в шину (1 360 140 050001121063)
3. При нормальном приеме в com-порт выводится принятое сообщение, при ошибке строка R#, где #-код ошибки.
4. При ошибке в отправке сообщения, выводится строка W#, где #-код ошибки и сообщение отправляется повторно. Количество повторов в константе MAXSENDATTEMP в файле config.h, по умолчанию 3 раза.
Если есть интерес, процесс написания собственной прошивки для эмуляции какого-нибудь устройства могу описать.
Написание сводится к описанию запросов головы и ответов на них.
Все вопросы и ответы хранятся в PGMEM, т.е. ограничений на количество описываемых запросов и ответов (как было в прошивке AVCLan-mini) нет. Точнее количество ограничено объемом флеш памяти МК.
Так же реализовано описание запросов по шаблону, т.е. можно описать множество запросов статуса E2 одной строкой (разные головы немного по разному запрашивают статус и как раз с этим были проблемы в пошивке AVCLan-mini).
Весь софт можно взять от AVCLan-mini
Единственно, что был дописан драйвер, точнее в него был добавлен новый функционал. Он теперь умеет регистрировать горячие клавиши и по ним выполнять определенные действия (запускать программы, посылать нажатие клавиш, отправлять сообщения в AVCLan)
Обновленный драйвер с исходниками во вложении. В нем же мой файл avclan.ini с настройками.
Вложение 9659
Для облегчения описания горячих клавишь служит программа ShowHotKey.exe, она показывает коды клавишь, которые нужно записать в avclan.ini
Я собрал вот такую платку, она у меня совместно с нарульным пультом JVC эмулирует небольшую клавиатуру. И теперь с этого пульта, я могу не только переключать треки в центрефуге и изменять масштаб в гармине, но и регулировать громкость головы (даже когда она играет свое собственное радио)
P.S. Chip а как отредактировать свой старый пост? Хотел все это выложить в шапке темы, но так и не нашел как. Раньше вроде можно было.