Показать сообщение отдельно
Старый 14.12.2012, 02:11   #2
s.m.
Гуру
 
Регистрация: 20.07.2009
Город: Минск
Регион: Беларусь
Сообщений: 1,543
s.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to behold
По умолчанию

Теперь перейдем к описанию программной части.

На планшет установлен Cyanogenmod 9 от 13.09.2012 (дальше, к сожалению, автор прекратил поддержку этого железа).
Ядро 3.08+
Для реализации задач в него были добавлены недостающие модули для FT232 и EasyCap.

Вот полная инструкция по установке со стоковой прошивки Android ICS 1.0.


0. Скачать файлы

cm9_nightly_20120913.zip
aurora-v1-v2_legacy-compatibility_v1.zip

Misc.zip (смотри вложение):

bootanimation.zip (IVI by tsynik)
quicksshd.2.0.3.apk
gps.sun4i.so
ftdi_sio.ko
easycap_syntek.ko

USB Sound.zip (смотри вложение):

snd-hwdep.ko
snd-rawmidi.ko
snd-usbmidi-lib.ko
snd-usb-audio.ko


1. Установить CWM Recovery

2.Установить через CWM прошивку

cm9_nightly_20120913.zip

3. Установить через CWM патч тачскрина

aurora-v1-v2_legacy-compatibility_v1.zip

4. Подключить клавиатуру
5. Включить Wi-Fi и настроить соединение
6. Включить ADB Over Network (Settings->Developer options)
7. На компе подключиться к планшету, подмонтировать системный раздел на запись:

PHP код:
adb connect IP
adb remount 
IP посмотреть в свойствах соединения в планшете

8. Установить QuickSSHd

PHP код:
adb install pathto_file/quicksshd.2.0.3.apk 
9. Запустить на планшете QuickSSHd и установить пароль

10. Создать соединение в WinSCP c логином root и только что установленным паролем
Протокол выбрать SFTP

11. Сменить плотность экрана на 120:

В WinSCP зайти в папку /system и отредактировать файл build.prop:

PHP код:
ro.sf.lcd_density=160 
заменить на

PHP код:
ro.sf.lcd_density=120 

12. Установить другой bootanimation (опционально)
В WinSCP зайти в папку /data/local/ и положить туда bootanimation.zip

13. Для работы с GPS:

13.1 В WinSCP зайти в папку /system/lib/hw/ и переименовать gps.sun4i.so в gps.sun4i.so.old
Положить в эту папку новый gps.sun4i.so и сменить права на файл на 0644 (кнопкой F9)

13.2

Для внешнего USB GPS с чипом FT232

С помощью WinSCP положить файл ftdi_sio.ko в /system/lib/modules/
и поменять права на 0644

Для внешнего USB GPS с чипом PL2303 файл pl2303.ko уже лежит в /system/lib/modules/

13.3 С помощью WinSCP зайти в папку /system/etc/init.d

и в файле 02modules

для внешнего USB GPS с чипом FT232
заменить

PHP код:
#!/system/bin/sh
#

insmod /system/lib/modules/btusb.ko
insmod 
/system/lib/modules/pl2303.ko
insmod 
/system/lib/modules/tun.ko

echo "done Additional Modules Autoload" 
на

PHP код:
#!/system/bin/sh
#

insmod /system/lib/modules/btusb.ko
insmod 
/system/lib/modules/ftdi_sio.ko
insmod 
/system/lib/modules/tun.ko

busybox stty 
-/dev/ttyUSB0 ispeed 38400
busybox chmod 666 
/dev/ttyUSB0

setprop 
"ro.kernel.android.gps" "ttyUSB0"

#
# Navitel Safe Start fix
#
sed -'s/SafeExit = 0/SafeExit = 1/g' /data/data/com.navitel/settings.001.ini

echo "done Additional Modules Autoload" 
для внешнего USB GPS с чипом PL2303
заменить

PHP код:
#!/system/bin/sh
#

insmod /system/lib/modules/btusb.ko
insmod 
/system/lib/modules/pl2303.ko
insmod 
/system/lib/modules/tun.ko

busybox stty 
-/dev/ttyUSB0 ispeed 38400
busybox chmod 666 
/dev/ttyUSB0

setprop 
"ro.kernel.android.gps" "ttyUSB0"

#
# Navitel Safe Start fix
#
sed -'s/SafeExit = 0/SafeExit = 1/g' /data/data/com.navitel/settings.001.ini

echo "done Additional Modules Autoload" 

Внимание!
38400 - это скорость порта Вашего GPS приемника, замените на свое значение, если нужно

14. Для корректной работы USB звука - актуально для DAC на PCM2704 и ,любых безымянных USB звуковых карт

14.1 С помощью WinSCP зайти в папку /system/etc/init.d

и в файле 10usbaudio замените его содержимое на

PHP код:
#!/system/bin/sh
#

insmod /system/lib/modules/snd-hwdep.ko
insmod 
/system/lib/modules/snd-rawmidi.ko
insmod 
/system/lib/modules/snd-usbmidi-lib.ko
insmod 
/system/lib/modules/snd-usb-audio.ko

if [ -/dev/snd/pcmC2D0p ]; then
# valid values for media.audio.out.mode: codec, usb
setprop media.audio.out.mode usb
/system/bin/log -t usb-audio "### Route all audio to USB."
else
/
system/bin/log -t usb-audio "### /dev/snd/pcmC2D0p does not exist. Use default output (codec)"
fi

echo "done USB Audio Modules Autoload" 
14.2 Скопировать содержимое USB Sound.zip в /system/lib/modules/

и поставить права 0644 для этих файлов с помощью WinSCP (кнопкой F9)

15. Для работы камеры заднего вида на STK1160

15.1 С помощью WinSCP положить файл easycap_syntek.ko в /system/lib/modules/
и поменять права на 0644

15.2 С помощью WinSCP зайти в папку /system/etc/init.d

и в файле 02modules добавить строку

PHP код:
insmod /system/lib/modules/easycap_syntek.ko bars=



Код прошивки для teensy выложен в предыдущем посте ( teensy_code.zip)

В задачу teensy входит связать программную оболочку в планшете с магнитолой, рулевыми кнопками, термометрами и подогревами сидений. Для передачи-приема данных был использован второй аппаратный UART (первый уже занят USB и использовался для отладки). Со стороны планшета teensy выглядит как COM-порт /dev/ttyUSB1 с baudrate 38400.

Весь интерфейс взаимодействия с пользователем построен с использованием моей оболочки AutoLauncher.
Идеологически это полупрозрачное приложение, стартующее через некоторое время после старта системы (задержка нужна, чтобы USB HDD успел смонтироваться в систему) и висящее поверх остальных программ. Сразу после запуска оболочка пытается загрузить последний использованный плейлист, стартует аудиоплеер с первого трека и запускает Навител. Также в момент старта она отправляет последние использованные настройки звука в teensy (при включении питания прошивка teensy всегда инициализирует аудиоустройство со средними значениями).
После загрузки оболочка может управляться с тачскрина и с рулевых кнопок (только базовые функции - громкость / mute, переключение режимов радио-плеер, переключение треков и запомненных станций радио). Так как оболочка висит поверх остальных приложений, то для выхода на рабочий стол системы есть специальная кнопка в настройках, системные кнопки на нее не действуют. Оболочка в любой момент может быть минимизирована до одной небольшой иконки нажатием на нижнюю кнопку панели.

Оболочка может быть запущена только на Android 4.x и оптимизирована для разрешения 800x480 и плотность экрана 120dpi.

Выполняемые функции:

1. Аудиоплеер MP3, FLAC, APE с поддержкой плейлистов и CUE. Управляется с тачскрина и рулевых кнопок (пауза, переключение треков)
2. FM радио, только 87.5 -108 МГц, только ручная настройка. Управляется с тачскрина и рулевых кнопок (переключение станций)
3. Отображение 4 термометров (идентификаторы жестко забиты в скетче и требуется правка скетча при использовании других DS18B20) - внутрисалонной, внешней, левого и правого подогревов сидений. Управление включением-выключением подогревов и установка пороговых температур включения-выключения раздельно для обоих каналов управления. Управление с тачскрина и включение-выключение с рулевых кнопок
4. Аудиоконтроллер - всплывающее окно при регулировке с рулевых кнопок и включении-выключении mute, громкость / баланс / уровень заднего левого / уровень заднего правого / тембр НЧ / тембр ВЧ - управление с тачскрина и рулевых кнопок
5. Настройка кодов рулевых кнопок
6. Настройка параметров просмотра камеры заднего вида - поддерживаются аналоговые (EasyCap) и сетевые камеры (MPEG4 / H.264)
7. Просмотр изображения с камеры заднего вида в автоматическом режиме по сигналу с фонарей заднего хода и в ручном режиме специальной кнопкой в настройках. Выход из ручного режима - по нажатию на любое место экрана. В обоих режимах изображение обладает наивысшим приоритетом - переход в него происходит из любого режима работы оболочки. После пропадания сигнала с фонарей в автоматическом режиме переключения возврат происходит в предыдущий режим работы.

Скриншоты оболочки

Основной режим




Плеер (немного неудачная фотка - потом заменю)



Радио



Термометры / подогрев



Аудиопараметры



Громкость (всплывающее окно)




Настройки



Камера



Скачать AutoLauncher (версия 800x480, только сетевые камеры)

Скачать AutoLauncher (версия 1024x768 с поддержкой аналоговых камер)


10.03.2013: Обновленная версия AutoLauncher (уменьшено время старта просмотрщика камеры, неблокирующий загрузчик плейлиста на старте программы - актуально для больших плейлистов)

Для 800x480 (120dpi)

Для 1024x768 (132dpi)

07.04.2013
Обновленная версия AutoLauncher здесь (ускорение загрузки и уменьшено время старта промотрщика камеры):
Миниатюры
Нажмите на изображение для увеличения
Название: user8770_pic1099_1355930537.jpg
Просмотров: 602
Размер:	19.6 Кб
ID:	46676  
Вложения
Тип файла: zip Misc.zip (1.10 Мб, 920 просмотров)
Тип файла: zip USB Sound.zip (654.4 Кб, 870 просмотров)

Последний раз редактировалось s.m.; 08.02.2017 в 20:17.
s.m. вне форума   Ответить с цитированием