Skip to content

morgenman/gcamconftester

Repository files navigation

Подготовка

  1. Скачиваем и устанавливаем питона https://www.python.org/downloads/
  2. Скачиваем весь репозиторий, распаковываем, заходим в папку, открываем консоль в папке через шифт+пкм
  3. В консоль пишем pip install -r requirements.txt
  4. Включаем на телефоне отладку по адб, подключаем по ПРОВОДУ, на телефоне даём разрешение на отладку если спросит
  5. Пишем в консоль .\adb\adb.exe tcpip 5555 и после этого провод можно вытаскивать
  6. Опять пишем в консоль .\adb\adb.exe connect IP_АДРЕС_ТЕЛЕФОНА:5555 (IP адрес телефона можно узнать в настройках вайфая на телефоне или посмотреть в веб-интерфейсе роутера)
  7. Сохраняем свой текущий конфиг через python get_conf.py [имя_конфига]

ИЛИ

  1. Вручную сохраняем на телефоне конфиг и кидаем его в папку со скриптом
  2. Ставим на телефоне время выключения экрана на подольше и ставим телефон на штатив или опираем на тапок

Использование

Использование:
    python gcamconftester.py [-h] -c конфиг.xml [-k какой ключ перебирать] [-n количество значений для теста]
    python gcamconftester.py [-h] -c конфиг.xml [-custom номер кастомного адреса] [-a адрес] [-v значения через двоеточие]
    python gcamconftester.py [-h] -c конфиг.xml [-p название параметра в конфиге] [-l название модуля камеры] [-n количество значений для теста]
    python gcamconftester.py [-h] -c конфиг.xml [-cct tuned_либа_из_системы]

Пример:
    python gcamconftester.py -c "8.2riv.xml" -k lib_sharpness_key -n 3
    python gcamconftester.py -c "8.2riv.xml" --custom 2 -a 0de3694 -v 04008052:24008052:44008052
    python gcamconftester.py -c "8.2riv.xml" -p "Sharp Depth 2" -l "LDR"
    python gcamconftester.py -c "8.2riv.xml" --cct com.qti.tuned.j20c_ofilm_imx682_wide_global.bin

Список аргументов:
  -h, --help            Показать информацию для помощи
  -c CONFIG, --config CONFIG
                        Имя конфига
  -k KEY, --key KEY     Название ключа для перебора настроек (Например: "lib_sharpness_key")
  -l LENS, --lens LENS  Имя модуля камеры на котором тестировать патчер (Например: "LDR") (по умолчанию: 1х)
  -p PARAMETER, --parameter PARAMETER
                        Название параметра в патчере для которого проводить тесты (Например: "Sharp Depth 2")
  -n NUM, --num NUM     Количество значений для перебора (по умолчанию: 5)
  -custom CUSTOM, --custom CUSTOM
                        Номер кастомного значения в патчере (от 1 до 12) в который вносить данные
  -a ADDRESS, --address ADDRESS
                        Адрес кастомного значения
  -v VALUES, --values VALUES
                        Кастомные значения через двоеточие
  -cct CCT, --cct CCT   Название com.qti.tuned либы вытащенной из системы для извлечения и перебора ССТ. 
                        Эта либа должна лежать в папке рядом со скриптом

Пример 1

python gcamconftester.py -c "8.2riv.xml" -p "Sharp Depth 2" -l "LDR" -n 10

Желательно чтобы в имени конфига не было всяких всратых символов типа эмоджи, кавычек, пробелов и т.д

Запуск по названию параметра в патчере может не работать с некоторыми параметрами. В этом случае воспользуйтесь вторым способом через ключ

Имя модуля для -l должно полностью совпадать с именем на кнопке. Если не указано то выбирается 1х

изображение

Название параметра для -p должно полностью совпадать с названием в патчере изображение

Пример 2

python gcamconftester.py -c "8.2riv.xml" -k lib_sharpness_key -n 3

В этом случае перед сохранением конфига на телефоне камера должна уже стоять нужном модуле

изображение

Название ключа для теста можно узнать в camera_preferences.xml поискав по названию параметра в либпатчере и скопировать то что указано в android:key=

В результате работы рядом со скриптом появится папка с названием ключа. В этой папке будут лежать фото (имя = значение) которые удобно смотреть и сравнивать через FastStone Image Viewer изображение

Пример 3

Так же можно тестить кастомные адреса и их значения

python gcamconftester.py -c "8.2riv.xml" --custom 2 -a 0de3694 -v 04008052:24008052:44008052

Это запишет в User Defined Value 2 адрес 0DE3694 и переберет значения 24008052,04008052,44008052 изображение

Пример 4

Перебор ССТ из системных либ

python gcamconftester.py -c "8.2riv.xml" -cct com.qti.tuned.j20c_ofilm_imx682_wide_global.bin

Автоматически вытащит ССТ из указанной либы и будет перебирать их по одной сохраняя фото в папку custom_cct изображение

Баги / особенности

  1. Для нормальной работы в конфиге уже должен существовать необходимый ключ и в патчере для него должно быть выставлено любое значение Должен быть включен соответствующий раздел патчера
  2. Точно так же и с кастомными значениями - оно должно быть включено и там должны быть введены какие-нибудь значения до запуска
  3. Автоматическое нажатие кнопок может не работать на телефонах у которых разрешение НЕ 1080р
  4. Количество итоговых фото всегда будет количество_значений_для_теста+1