Несколько недель изысканий, и реализация низкоуровневых поканальных задержек для устройств на Allwinner A13 (в т.ч. и этого зеркала) привела к, на удивление (!), весьма компактному коду, легко портируемому на практически любые устройства, в т.ч. и на такие, где надстройка ALSA не предусмотрена вообще.
Поканальные задержки внедрены непосредственно в обработчик выходного потока, перед отправкой в буфер PCM. Сначала планировал реализовать это, расширив библиотеку speex, из которой сам Андроид активно использует ресемплер, но в итоге быстрее оказалось решить задачу на более "низком" уровне.
Есть еще на чем поработать, в частности нужно внимательно проверить стыковки при смене буфера, но это уже в процессе "эксплуатации".
Значения задержек в секундах (можно использовать дробные значения) необходимо поместить в файл /etc/audio_delays.conf, по одному числу на каждую строку для каждого канала последовательно, т.е., к примеру:
Код:
0.245678
0.019735325
установят задержку 0.245678 сек на левый канал, и 0.019735325 на правый канал.
Все изменения от предыдущих релизов сосредоточены в библиотеке /system/lib/hw/audio.primary.exDroid.so.
Для получения локальной копии необходимы навыки работы с системой Mercurial: http://mercurial.ru/ , https://ru.wikipedia.org/wiki/Mercurial
Репозитории содержат полный код Android 4.0 и ядра Linux 3.0.8, адаптированные к sun5i ARMv7 Processor Allwinner A13 и BoxChip A13.
Ввиду большого объема и ограничений системы 2 Gb на отдельный репозиторий, используется иерархическая структура для массивных разделов кода и инструментов для сборки.
Для начальной синхронизации с удаленным хранилищем рекомендую вначале выполнить:
Собственно брал я его для того чтобы реализовать давнюю мечту о бесстрашной парковке задом. Три года я парковался по ощущениям, но точности данного метода мне не всегда хватает для уверенной параллельной парковки в суровой городской среде. Данный сабж понравился своей универсальностью, все функции которыми я пользовался на разных устройствах теперь в одном корпусе, и не свисает никаких гроздьев проводов. Есть вот только в нем один минус который не дает мне расслабиться, - через некоторое время после того как выключается экран, fireye (авторегистратор) виснет намертво до следущей перезагрузки, приходится спохватываться за рулем и вовремя нажимать на левую кнопку, которая включает и выключает экран.
Вот здесь один хороший человек написал, что надо поменять прошивку и болезнь уйдет навсегда, можно даже гасить экран и регистратор будет все исправно записывать без последствий. Я скачал прошивку любезно выложенную этим хорошим человеком, но не одним из методов описанных в сети не смог перепрошить свое зеркало. Пробовал готовить флешку через PhoenixCard, по инструкции. Сама флешка (у меня 16Гб) записалась нормально, затык возник не последнем пункте:
Цитата:
Вставляем карту памяти в устройство(планшет должен быть
предварительно выключен полностью). Включаем устройство – появится красный прогресс бар, по окончании
появится надпись об успешном обновлении. Извлекаем карту памяти и включаем планшет.
Ну не появилось у меня никакого красного прогресс бара:this:, что интересно андроид не стартовал как обычно, после нажатия загорелась средняя кнопка как обычно и все, - черный экран. Сколько я не ждал признаков жизни, так и не дождался. Нормально запустился после того как отформатировал флешку.
Пробовал я и через LiveSuit, опять неудача смонтировал образ, установил драйвера, а как включить зеркало в режим прошивки я не знаю. Нажимал все мои три кнопки и по одной и комбинациями, но прошивка так и не пошла, хотя драйвера вроде стали.
Помогите друзья, как прошить это капризное зеркало?:sorry:
12.11.2014, 03:20
HoSStiA
Re: Андроид зеркало на Allwinner A13
SlamLayer, видимо у вас разные начинки и процессоры в зеркалах. У человека, поделившегося прошивкой - Allwinner A10 (как на картинке), а в характеристиках вашего с АлиЭкспресс:
, хотя и A13, и A10 - одноядерные. Упаковки на фотографиях также различаются. Необходимо искать прошивку именно для своего (запросить у производителя, либо искать среди прошивок в зеркалах). Попробуйте для начала и прошивку от зеркала ТС (выложена где-то в теме), но вероятность 1:100, что повезет.
Прошиваться сначала придется только через SD-карту, т.к. необходимо восстановить испорченную структуру системных разделов на внутренней флешке (у A13 и A10 они различаются).
Прошиваться сначала придется только через SD-карту, т.к. необходимо восстановить испорченную структуру системных разделов на внутренней флешке (у A13 и A10 они различаются).
Моя текущая прошивка никаким образом не повреждена, все работает как работало. Новые прошивки даже устанавливаться не захотели, - мне так и не удалось войти в режим прошивки. Я форматировал флешку, чтобы она перестала быть загрузочной и андроид нормально стартовал.
Посмотрел у себя в зеркале, у меня вот такой номер сборки crane_cvr_eng 4.0.4 IMM 76 D 20140317 test-keys
12.11.2014, 15:05
HoSStiA
Re: Андроид зеркало на Allwinner A13
Это намного все упрощает. :)
Только для начала обязательно сделайте бэкапы текущей прошивки (лучше взять другую SD, причем медленную, category 4 или category 6) к примеру.
Заодно и поймете, грузится ли что-нибудь с SD вообще.