Страница 13 из 34 ПерваяПервая ... 37891011121314151617181923 ... ПоследняяПоследняя
Показано с 121 по 130 из 346

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Местный
    Регистрация
    04.06.2008
    Сообщений
    120
    Вес репутации
    407

    По умолчанию Re: AVC-Lan адаптер на Carduino

    После пары месяцев испытаний, поездки на море, можно писать об успешном завершении написании прошивки.

    Прошивка работает с четыремя видами плат, вид платы настраивается в sketchbook\libraries\AVCLanDrv\config.h
    в нем надо расскоментировать одну из четырех строк
    //#define AVCLAN_ST485
    //#define AVCLAN_PCA82C250
    //#define AVCLAN_MINI_PCA82C250
    //#define AVCLAN_RESISTOR

    Платы:
    1. AVCLAN_ST485
    Плата на базе arduino и драйвера на микросхеме ST485
    Нажмите на изображение для увеличения. 

Название:	AVCLAN_ST485.png 
Просмотров:	7455 
Размер:	10.3 Кб 
ID:	9652
    Схема и разведенная плата в формате Eagle во вложении. Схема также содержит ключ для управления адаптером AZ-FM
    AVCLan_sheild1_1.rar

    2. AVCLAN_PCA82C250
    Плата на базе arduno и драйвера на микросхеме PCA82C250
    Нажмите на изображение для увеличения. 

Название:	AVCLan_sheild2.png 
Просмотров:	8986 
Размер:	12.4 Кб 
ID:	9654
    Схема и разведенная плата в формате Eagle во вложении. Я поленился рисовать на ней ключ для AZ-FM. Желающие могут его скопировать из предыдущей схемы и прописать команды для и его инициализации и работы в config.h
    AVCLan_sheild2.rar

    3. AVCLAN_MINI_PCA82C250
    Плата avclan-mini в которой перепаян кварц на 16МГц и заменен микропроцессор на ATMega168 (в теории должно работать и с ATMega8, но с бутлоадером уже не помещается, только если программаторам заливать прошивку). Так же для этого варианта пришлось снизить скорость com-порта до 115200. Бутлоадер я взял от ардуино, только поправил его чуток, т.к. светодиод на плате находится на другой ноге.

    4. AVCLAN_RESISTOR
    Плата на базе arduino и драйвера на 4х резисторах.
    Нажмите на изображение для увеличения. 

Название:	AVCLan_sheild3.png 
Просмотров:	6786 
Размер:	5.0 Кб 
ID:	9656
    Схема в формате 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 а как отредактировать свой старый пост? Хотел все это выложить в шапке темы, но так и не нашел как. Раньше вроде можно было.

  2. #2
    Гуру Аватар для St@rz
    Регистрация
    20.06.2008
    Возраст
    51
    Сообщений
    2,293
    Вес репутации
    877

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Цитата Сообщение от ak1976 Посмотреть сообщение
    3. Ну и самая изменяемая часть прошивки - это драйвера устройств. В данном случае CD чейнджера - библиотека AVCLanCDch. Так же есть библиотека AVCLanNavi, которая написана на базе прошивки kostya78rus и эмулирует навигацию и чейнджер. Ее мой друг выложит чуть позже.
    Вопрос был вызван последней фразой.

  3. #3
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Попробуй сейчас отредактировать

  4. #4
    Гуру Аватар для St@rz
    Регистрация
    20.06.2008
    Возраст
    51
    Сообщений
    2,293
    Вес репутации
    877

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Как обстоит дело с эмуляцией навигации? Есть сдвиги?

  5. #5
    Местный
    Регистрация
    04.06.2008
    Сообщений
    120
    Вес репутации
    407

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Цитата Сообщение от St@rz Посмотреть сообщение
    Как обстоит дело с эмуляцией навигации? Есть сдвиги?
    Есть рабочая прошивка (работает на 21 приусе с начала августа). Делал ее не я, у себя я ее даже не пробовал еще. Сегодня постараюсь забрать ее и выложить.

  6. #6
    Гуру Аватар для St@rz
    Регистрация
    20.06.2008
    Возраст
    51
    Сообщений
    2,293
    Вес репутации
    877

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Цитата Сообщение от ak1976 Посмотреть сообщение
    Есть рабочая прошивка (работает на 21 приусе с начала августа). Делал ее не я, у себя я ее даже не пробовал еще. Сегодня постараюсь забрать ее и выложить.
    Интересует работа AVC-Lan адаптера на Carduino на Toyota Land Cruiser 200. Нужна эмуляция нави.

    Спасибо. Буду ждать.
    Последний раз редактировалось St@rz; 28.09.2010 в 08:38.

  7. #7
    Местный
    Регистрация
    04.06.2008
    Сообщений
    120
    Вес репутации
    407

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Вот эта прошивка.
    AVCLanNavi.rar
    Нужно создать папку sketchbook\libraries\AVCLanNavi\
    Положить туда эти файлы.
    В основном скетче AVCLan_mini.pde вместо строки
    #include <AVCLanCDch.h>
    поставить
    #include <AVCLanNavi.h>

    В выходные постараюсь проверить работу прошивки у себя на машине.
    Может совместными усилиями доведем прошивку.

  8. #8
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Читай пост 120 внимательней

  9. #9
    Гуру Аватар для St@rz
    Регистрация
    20.06.2008
    Возраст
    51
    Сообщений
    2,293
    Вес репутации
    877

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Спасибо.
    Буду собирать адаптер.

  10. #10
    Новичок
    Регистрация
    08.01.2010
    Сообщений
    6
    Вес репутации
    194

    По умолчанию Re: AVC-Lan адаптер на Carduino

    Цитата Сообщение от ak1976 Посмотреть сообщение
    Еще заметил такую особенность: на моей голове 16030 разрешение тачскрина при работе с навигацией довольно грубое (где-то 36*22 пикселя, пишу по памяти, могу соврать, но порядок цифр такой). Но если войти в сервисное меню головы и там выбрать проверку тачскрина, то по выходу из сервисного меню разрешение становиться 1*1 пиксел и сохраняется до перезагрузки головы. Т.е. разрешение тачскрина на самом деле высокое и голова специально его загрубляет для навигации. Может кто знает как заставить голову не делать этого?
    ak1976 а в этих командах не может быть заложено разрешение дисплея, или размер координатной сетки?

    AVCLanNavi.cpp
    Код:
    AvcOutMessage CmdRegister    PROGMEM =  {AVC_MSG_DIRECT,     0x0D, {0x00, 0x01, 0x12, 0x10, 0x58, 0x24, 0x5A, 0x85, 0x59, 0x6D, 0x57, 0x68, 0xAE}}; // register navi
    AvcOutMessage CmdInit        PROGMEM =  {AVC_MSG_BROADCAST,  0x09, {0x6D, 0x31, 0xF1, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00}}; // init command
    P.S. Сегодня прошил ардуину новой прошивкой, буду тестировать.
    Последний раз редактировалось zionz; 07.10.2010 в 05:43.

Страница 13 из 34 ПерваяПервая ... 37891011121314151617181923 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 5 (пользователей: 0 , гостей: 5)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •