https://carpc-project.ru

C благодарностью к коллегам по форумам  PCCar.ru Compcar.ru Pinin.ru

- Ну как, больной? Извращениями какими-нибудь страдаете?
- Ну что Вы, доктор?!  Я ими наслаждаюсь... 
Последние новости
Архив новостей
Наша география
 

 

 

 

   

    Давно  назревший вопрос - как встроить софт неплохого, в общем-то, адаптера CheckEngine в оболочку Car PC, наконец-то разрешен. Как и предполагалось, разрешен силами энтузиастов - увы, у производителя девайса руки до этого не дошли. Хотя надо отдать им должное - для Centrafuse версию они сделали, и в работе над плагином к RR посильную помощь оказали. Однако,  главным героем, которому мы обязаны свалившимся на нас счастьем, в очередной раз стал Андрей Берсенев, мой коллега по pccar`овскому форуму. В отличии от многих порывавшихся, он сумел-таки выкурить SDK`шки и настолько виртуозно овладел этим напильником, что теперь, кажется, может выпилить из исходника что угодно... Итак:

   Внешний вид тупого встраивания проги в оболочку здесь уже приводился:

 

 Вот так это выглядело изначально

 

  

      Унылое достаточно зрелище... При открытии окна трипа картинка несколько оживлялась, но и с эргономической, и с эстетической точек зрения все равно оставляла желать...

 

 Вид программы по задумке разработчиков AceLab

 

     Первым шагом на пути облагораживания этого ужаса был плагин Андрея, позволяющий привести к общему знаменателю внешний вид программы с внешним видом всего фронт-энда:

 

 Одна из итерраций

 

     Стало немножко повеселей, но именно немножко: обилие информации, невозможность оперативно выбрать отображаемые параметры (а на самом деле, можно получать значения далеко не только с этих датчиков) - все это вынуждало обращаться к этой части программно/аппаратной начинки авто только в самых крайних случаях.  Теперь,  для того чтобы программа обрела повседневную востребованность, оставалась самая малость: оптимизировать внешний вид и управление. Датчиков должно выводиться ровно столько, чтобы считывание информации с них было максимально легким: щуриться в экран монитора,  управляя автомобилем - занятие стремное, если не сказать больше. Переключение с показаний одного датчика на другой должно осуществляться одним касанием, причем не прицельным (все по тем же причинам).

    Собственно, именно это и было сделано - теперь количество выводимых датчиков каждый может задать сам, слегка пошаманив с файлами скинов, переключение же для каждого из датчиков осуществляется по циклу: ткнув пальцем в соответствующую цифирку, вы переключитесь на следующий, ткнув еще раз - на очередной и т.д. Внешний вид скина тоже можно выбрать по вкусу - либо просто цифровые показания (как в приведенных далее примерах), либо великий и могучий флеш (стрелочные приборы, электронные индикаторы - на что хватит воображения).

     Еще пара интересных моментов, не входивших ранее в функционал программы: отображение скорости в км/ч сегодня мало на кого производит впечатление. Век назад человек, услышав, что повозка движется со скоростью 30 км/ч, испытал бы некий трепет - это было по тем временам быстро и опасно. Сегодня, равнодушно скользнув взглядом по спидометру и увидев на нем показание 55 км/ч, мы скорее всего подумаем: "медлено плетемся". Да, понятия "быстро" и медлено" несколько поменялись. Вот с понятием "опасно" не все так просто. Некоей встряской (весьма полезной, между прочим) для многих могло бы стать понимание, сколько метров в секунду они пролетают, "плетясь медлено". Ведь время до внезапно возникшего на дороге препятствия будет для них измеряться отнюдь не часами, а хорошо еще, если секундами...

     Вторая задумка, которая тоже давно не давала мне покою, была, в общем-то, логическим продолжением первой - самоуверенность современного человека, увы,  далеко не всегда зиждется на прочном фундаменте. Каждый ли из нас с уверенностью может ответить на вопрос: какой тормозной путь будет у вашего автомобиля на такой-то скорости и на таком-то покрытии? Ну да, интуитивно, на глаз, мы вроде бы, представляем... А может, и не представляем даже, но ведь ездим же, и живы до сих пор - значит, все-таки представляем? Или везет просто пока...

    В данном случае, все необходимое для вменяемой подсказки у нас есть: пусть приблизительные, но методики расчета тормозного пути для различных покрытий (снег, лед, дождь, асфальт) и сама скорость...

    Обе эти задачки Андрей решил, так что плагин RRCheckEngine теперь превзошел исходную программу...

 

 Вот это называется - "Встроить"!

 

 На этом скриншоте - основное окно фронт-энда. 19,0 - это мгновенный расход топлива; 4,2 - это скорость в м/с (информация, которую лично мне удобней всего держать перед глазами постоянно - рихтую манеру вождения...) Хотя в любой момент одним или несколькими касаниями можно вместо этих параметров вывести любые другие. Подписи к датчикам, в виду их протяженности, выполнены в фомате "бегущей строки".

 

 Вывести в этом окне можно любые доступные адаптеру параметры

 

     В этом окне точно так же можно выбрать шесть отображаемых параметров на свой вкус и их востребованность. Впрочем, это далеко не единственный вариант скина для RRCheckEngine:

 

 Скин теперь можно сделать на любой вкус

 

   

     Это авторский флеш, точнее, один из его вариантов (ибо полагаю, на этом он не остановится). Словом, возможностей для совершенствования плагина теперь масса, и если есть художники/дизайнеры/спецы по юзабилити - милости просим с идеями...

   

 

    Ну и чтобы несколько облегчить процесс установки/кастомизации плагина, вкратце расскажу о требуемых действиях и тонкостях этой процедуры.

   1. Устанавливаем RideRunner сборки 01102010.  Дистрибутив программы есть в разделе "Файлы ", однако необходимо уточнить вот что: хотя программа и является свободной (сиречь бесплатной), по каким-то соображениям ее автор поставил одну рогатку - он хочет, чтобы пользователи ее зарегистрировались на его сайте. Регистрация эта ни к чему не обязывает, и хотя процесс скачивания сопряжен с заполнением страшных на первый взгляд форм (в частности, программу предлагается купить за 0 евро) - в результате вы получаете полностью работоспособную программу, с одним лишь нюансом - в момент запуска ее на некоторое время поверх всех окон появляется табличка с предложением посетить оффсайт и обновить текущую версию. Учитывая то, что в подавляющем большинстве систем используется спящий режим - это не особо должно напрягать: риск увидеть ее возникает только в том случае, если выход из спящего не удался и вся система грузится с нуля (в отлаженных системах такое бывает крайне редко).

    Тем не менее, уважая труд и желание автора, настоятельно рекомендовал бы двигаться указанным им путем. Понимаю, что это противоречит менталитету многих из нас (особенно учитывая тот факт, что даже строгое соблюдение процедуры не гарантирует нам комфортного использования продукта: со всем согласились, все заполнили, и все равно от нас после этого теруется исполнить еще какой-то танец с бубном в виде замороченной регистрации уже не себя, а самой программы...).  И все же...

    Алгоритм  избавления от предложения посетить оффсайт/обновиться:

    а) Качаем отсюда утилиту RReg.zip, разархивируем и запускаем ее на CarPC с установленным фронт-эндом.

    б) В случае, если вместо ее запуска вы словили сообщение системы об ошибке OCX, качаем отсюда файл  mswinsck.ocx, устанавливаем его в системную папку windows\system32 и запускаем команду regsvr32 mswinsck.ocx

     в) После успешного запуска утилиты смотрим серийный номер винчестера (он должен отобразиться в соответствующем окне), и если CarPC имеет подключение к интернету, заполняем поле e-mail (там должен быть указан адрес, использованный вами при регистрации),  жмем кнопку "Регистрация" и ждем регистрационный код и инструкции по его использованию на указанное мыло. Да, еще одна засада: если вы зарегистрировались на сайте менее чем за одну неделю до данной процедуры - вас ждет отлуп, так что особо не торопитесь...

    г) В случае, если CarPC не имеет выхода в нет, записываем на бумажечку серийный номер винта, устанавливаем утилиту RReg.exe на любой другой комп,  к нету подключенный, заполняем все поля и действуи по п. в)

     Вот такой вот кучерявый путь. Но оно того стоит - оболочка стала более стабильной, да и многие прикладные программы пишутся уже под нее, игнорируя совместимость со старыми версиями вроде RoadRunner`а...

  

    2. Еще не забыли, ради чего весь этот сыр-бор затевался? Качаем архив RRCheckEngine.rar из раздела "Файлы ". В нем вы найдете  две папки: "RRCheckEngine" и "1". В первой - сам плагин, его помещаем в папку Plugins RideRunner`а. Ознакомьтесь в первую очередь с содержанием файла readme.txt - несмотря на то, что большую часть его я воспроизведу в этом описании, там останутся все же любопытные моменты (в частности, полный список доступных для отображения параметров)... Так же в этой папке есть еще одна - CFStyle. Это - фирменный скин автора, заточенный под его версию внешнего вида оболочки (ее можно найти и скачать на pccar`ском форуме).

    3.Запускаем файл RunMe1st.cmd, жмем по завершении эникей. Плагин прописался в системе.

   4.  Запускаем файл RRConfig. С вашего позволения, я сочту, что базовые настройки фронта вы уже сделали и наша задача сейчас просто воспроизвести мое подключение плагина к оболочке (хотя и как сотворить что-то свое - объяснить постараюсь).

 

 Подключение плагина

 

    Нас интересует сейчас именно эта закладка. Заполняем от руки (хотя и "паст энд копи" не возбраняется - читайте readme.txt). Особо внимательно  советую быть со строкой CheckEngineAvtoStart=1 - забудете про нее, плагину неоткуда будет получать данные. И кстати, версия программы (речь идет уже собственно об CheckEngine) должна быть самая свежая - не поленитесь проверить это на оффсайте проги.

    Собственно, здесь имеет смысл упомянуть еще об одном моменте: если до этого  программа висела у вас в автозагрузке - уберите ее оттуда. С установкой плагина она теперь будет стартовать автоматически,  и если оставить ее еще и там - поймаете конфликт доступа...

    5. Теперь самая творческая часть. Если до этого мы манипулировали с какими-то непонятными файлами и неочевидными последствиями - сейчас мы будем лепить зримую и осязаемую часть плагина, его графическое междумордие (для космополитов - интерфейс). В папке "1" - готовый скин, который тем не менее, легко подправить подо что-то свое. Файлы EXTERNAL_GPS_***.jpg - это собственно внешний вид скина (можете нарисовать свои собственные и назвать их как угодно, не забудьте только поправить потом файл RRCheckEngine.skin). Файл skin.ini размещаем в корне папки Skins фронт-энда. Теперь препарируем для наглядности главный файл - RRCheckEngine.skin:

 

 Доработка файла скина

 

    Опять же, по умолчанию полагаю, что прежде чем погрузиться в дебри раздела "Ну и хау?", вы изучили-таки базовый материал (в частности, раздел "Фронт-энд "и статью "RoadRunner - установка, настройка" этого раздела.). Так что не заостряясь на азбуке, сразу к сути - шесть одинаковых на первый взгляд конструкций:

             L,30,40,350,86,255,128,0,60,"Ericsson GA628","ce_dinamic_label_n","CENTER"
             L,30,130,350,20,255,128,0,16,"Arial Narrow:B","ce_dinamic_label_n_title||=, ||ce_dinamic_label_n_unit","CENTER"
            B,30,40,350,111,"ce_next_dinamic_label_n",

    Вся разница - только в координатах и параметре n. Это те самые шесть датчиков (динамических, обратите внимание!), которые будут выводиться в соответствующем окне. Первые две строки - числовое значение и название датчика, последняя строка - это виртуальная кнопка, нажатие на которую будет переключать этот динамический датчик на следующий.

    Для большей наглядности приведу скриншот редактора скинов RRSkinEditor:

 

 Рисуем динамические датчики

 

       Желтым цветом выделен объект, параметры которого прописаны в открытом окне - ничего не напоминает? Да, да - это та самая первая строка цитаты из RRCheckEngine.skin - только теперь она из тупого набора непонятных цифр и букв превратилась в нечто зримое... Здесь вы можете простым перетаскиванием объекта разместить его "на глаз" на поверхности скина (иногда это бывает проще, чем подгонять координаты наугад), или же, открыв окно параметров двойным кликом по объекту, изменить его размеры или размер/тип шрифта, в нем применяемый. Датчиков вы можете налепить  таким образом не шесть , а девять или тринадцать, или четыре, или... сколько захотите. Вид самого скина тоже ограничен лишь вашей фантазией - меняете корневые файлы EXTERNAL_GPS_*jpg - и хоть на хохломской росписи любуетесь параметрами авто. 

      С кнопками В01-В09 после всего этого вам разобраться уже ничего не стоит...

      Если же возникнет желание вытащить что-то в основной скин - алгоритм тот же:

 

 Выводим динамические датчики в главное окно

 

      Проще всего это сделать в графическом редакторе скинов - выбираем свободное место на поверхности скина (если необходимо - смещаем в стороны другие кнопки/индикаторы), создаем там объект (для индикатора типа "L"), прописываем для него соответствующий код. Если хотите сделать его динамическим, то помимо соответствующего кода, создайте еще и кнопку (тип "B"), возможно, с теми же координатами, что и у индикатора - тогда по нажатию на него можно будет осуществлять переключение.

      Единственная засада - не забывайте сохранить потом результаты своего творчества: только в этом случае редактор автоматом исправит исходный файл *.skin.

 

       К сожалению, возможности SDK ограничены доработкой лишь одного окна программы: трип-компьютера. За бортом осталась расшифровка  кодов ошибок и возможность их сброса - функция тоже весьма полезная... Здесь остается лишь уповать на разработчиков НПП "АСЕ" - может альтернативная работа, проделанная одним человеком, заденет таки их самолюбие и они разродятся полноценной  карписишной версией своего продукта - все же главное применение он должен бы найти не на телефона/КПК, а на сремительно нарождающемся классе автокомпов...

        Из непонятных глюков  в полный рост присутствует баг со шрифтами: то, что индикатору соответствует, к примеру, шрифт "Arial Narrow:B" - еще совсем не значит, что именно им он и будет отображаться (даже если шрифт в системе установлен корректно). В этой части - полное шаманство и метод тыка, но это даже в какой-то мере интересно, не так ли?

 

                                                                 Удачи вам за монитором и на дорогах!

Отслеживать развитие продукта можно в тематическом топике автора, там же, вероятнее всего, будут появляться и новые версии плагина. Хотя, скажу по секрету, у Андрея это далеко не единственная тема, представляющая интерес для таких людей, как мы с вами. Подмигивающий

  

 
Вход/регистрация




Забыли пароль | Регистрация
Регистрация
 
 
 
 
 
Кто на сайте?
Опрос:
Регистрация на сайте

Дорогие друзья! В связи с возросшей активностью забугоргых спаммеров, регистрация на сайте временно приостановлена навсегда. Если по какой-то необъяснимой причине (основной функционал сайта доступен без регистрации) Вы все-таки хотите зарегистрироваться - обращайтесь в личку к админу (админ-собака-название сайта).

  Ну и ладно - не больно-то хотелось
  А зачем вообще нужна регистрация?
  Фига се - методы борьбы со спамом...
 
Содержание сайта © 2008-2017 | При использовании материалов сайта прямая ссылка обязательна!