Тема: BMW E39 525i
Показать сообщение отдельно
Старый 06.04.2011, 18:57   #10
DarkDuke
Старший Пользователь
 
Регистрация: 16.04.2010
Возраст: 40
Город: Москва
Регион: 77, 97, 99, 177
Машина: BMW 525i Е39
Сообщений: 164
DarkDuke will become famous soon enough
По умолчанию Программирование

Вошел в стадию написания ПО для радиоблока. Итак радиоблок будет подключен к компьютеру напрямую, через самопально спаяный IBUS адаптер. Вывод звука от радиоблока будет подключен к линейному входу компьюетера.
От радиблока информацию будет читать собственно написанный сервис.
Основные требования к сервису:
1) Уметь читать сообщения IBUS шины.
2) Уметь перенаправлять пакеты IBUS другим приложениям
3) Уметь выполнять действия с системой(например открыть CD)
4) Уметь эмулировать нажатия клавиш по приходу пакета.
5) Уметь принимать готовые пакеты IBUS от других приложений и отправлять их в шину.

Собственно идея такая:

Будет запущено 2 таких сервиса. Один на основную шину машины через адаптер от Resler-а. Другой сервис будет обслуживать радиоблок.

С учетом требований становиться ясно, что ничего не мешает перенаправлять на панель приборов информацию о радиостанциях с радиблока. Схема такая:
1) Читаем инфу от радио, пакет парситься и если на него стоит правило форварда другому сервису, то пакет перенаправляеться.
2) Сервис который на шине получает пакет и отправляет в шину машины.

Т.е. во время переключения каналов с руля, будет как и раньше все отображаться, на панели приборов.

Что касаеться остальных команд, то они будут перенаправлятся плагину centrafuse.

Вот такой дизайн.

На данный момент сервис реализован на 100%, т.е. готов, в планах сделать мультипоточное распределение посылки сообщений и нажатий клавиш другим программам. Начата работа по плагину для centrafuse.

Последний раз редактировалось DarkDuke; 13.12.2011 в 03:19.
DarkDuke вне форума   Ответить с цитированием