Понятно, надпись шапки появлялась при подаче питания на девайс, на выходных попробую с гипертерминалом. Вопрос чем компилировать, и можно исходник последней прошивки(где с CD), хочу под 20-ку попробовать замутить.
Здесь все: http://depositfiles.com/files/rzq0vfdby
Здесь только исходники с СД:
СПАСИБО, будем ковырять )))
"прикрутил" сегодня комп к голове. Работает.
Качество изображения расстроило - грешу на кривосделанный смеситель синхросигнала.
Точность тача расстрола ещё больше. Выключить комп через "ПУСК" не получилось - как я пальцем не елозил, но в красную кнопку "Выключить" так и не попал.
NikitaM, почитай эту тему.
Собрал смеситель на ЛП5. Картинка та же что и на резисторах, только полярность поменялась с - -, на + - . Вроде работает да и ладно.
Информация для размышления программистам:
Раз уж мы таскаем с собой навигатор и имеем доступ к обмену сообщениями. А нельзя ли тогда вытянуть с навигатора GPS-инфу - NAVI в диагностическом режиме выдаёт же координаты, спутники, угол гироскопа.
Написать эмулятор виртуального GPS-приёмника на COM-порту и подсунуть этот порт программе навигации (Гармину или IGO, например).
Можно конечно просто купить внешний GPS-приёмник (у меня есть), но мы ведь не ищем лёгких путей. ;-) Опять же штатный навигатор как то координаты получше держит, имха.
Последний раз редактировалось NikitaM; 03.06.2010 в 00:27.
А с 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
Схема и разведенная плата в формате Eagle во вложении. Схема также содержит ключ для управления адаптером AZ-FM
AVCLan_sheild1_1.rar
2. AVCLAN_PCA82C250
Плата на базе arduno и драйвера на микросхеме PCA82C250
Схема и разведенная плата в формате Eagle во вложении. Я поленился рисовать на ней ключ для AZ-FM. Желающие могут его скопировать из предыдущей схемы и прописать команды для и его инициализации и работы в config.h
AVCLan_sheild2.rar
3. AVCLAN_MINI_PCA82C250
Плата avclan-mini в которой перепаян кварц на 16МГц и заменен микропроцессор на ATMega168 (в теории должно работать и с ATMega8, но с бутлоадером уже не помещается, только если программаторам заливать прошивку). Так же для этого варианта пришлось снизить скорость com-порта до 115200. Бутлоадер я взял от ардуино, только поправил его чуток, т.к. светодиод на плате находится на другой ноге.
4. AVCLAN_RESISTOR
Плата на базе arduino и драйвера на 4х резисторах.
Схема в формате Eagle во вложении. Честно говоря, этот вариант теоретический, в железе я его не собирал.
AVCLan_sheild3.rar
Я собрал и опробовал с 1 по 3 варианты плат. Мне больше понравился вариации на микросхеме PCA82C250 (потому как сразу заработал на большинстве голов) вариант на микросхеме ST485 иногда требовал подбора номинала резисторов R2, R3, R6
В машине у меня сейчас работает перепрошитый вариант на avclan-mini. У друга, который делал прошивку с навигацией на ST485.
Собственно прошивка.
sketchbook_20100805.rar
Прошивка для 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 с настройками.
avclan-mini-driver_20100805.rar
Для облегчения описания горячих клавишь служит программа ShowHotKey.exe, она показывает коды клавишь, которые нужно записать в avclan.ini
Я собрал вот такую платку, она у меня совместно с нарульным пультом JVC эмулирует небольшую клавиатуру. И теперь с этого пульта, я могу не только переключать треки в центрефуге и изменять масштаб в гармине, но и регулировать громкость головы (даже когда она играет свое собственное радио)
P.S. Chip а как отредактировать свой старый пост? Хотел все это выложить в шапке темы, но так и не нашел как. Раньше вроде можно было.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)