Kamera ITS w pudełku

Pakiet testów obrazów z aparatu na Androida (ITS) jest częścią weryfikatora pakietu testów zgodności Androida (CTS) i zawiera testy, które weryfikują zawartość obrazu. CTS Verifier obsługuje automatyzację testów ITS za pomocą Camera ITS-in-a-box. Obsługa testów ręcznych obejmuje wszystkie formy urządzeń z Androidem.

ITS-in-a-box zapewnia te korzyści:

  • Automatyzacja Podczas testu nie jest wymagana interwencja człowieka.
  • Łatwe rozwiązywanie problemów. Spójność środowiska testowego zmniejsza liczbę błędów konfiguracji i zwiększa powtarzalność.
  • Wydajność Możliwość ponowienia testu w przypadku poszczególnych kamer lub scen zwiększa efektywność testowania.

Wybór zestawu

ITS-in-a-box składa się z plastikowego pudełka wycinanego laserowo na podstawie rysunków CAD, tabletu z wykresem i testowanego urządzenia (DUT). W poniższej tabeli opisano funkcje i specyfikacje różnych dostępnych zestawów ITS-in-a-box. Aby wybrać odpowiednie urządzenie, weź pod uwagę konkretne pole widzenia i minimalną odległość ogniskowania urządzenia testowego. W przypadku systemów kamer o polu widzenia od 60 do 110 stopni i minimalnej odległości ogniskowania od 22 do 31 cm zalecamy modułowy statyw podstawowy ze względu na jego uniwersalność. Jeśli system kamer obejmuje teleobiektyw o minimalnej odległości nastawiania ostrości od 31 cm do 110 cm, zalecamy użycie modułowego statywu z wysięgnikiem, którego długość jest zbliżona do odległości nastawiania ostrości obiektywu. Dostępne są przedłużenia teleskopowe o długości od 50 cm do 90 cm.

Rig Odległość od wykresu Zakres pola widzenia aparatu DUT (w przybliżeniu) Funkcje
Modułowa platforma bazowa 22 cm 60°–120°
  • Mniejszy ślad węglowy
  • Duży otwór z przodu umożliwiający testowanie systemu z wieloma aparatami bez blokowania aparatów dodatkowych
  • Możliwość obrotu o 90°
  • Modułowy zestaw podstawowy i zestaw z wysięgnikiem teleskopowym 22–110 cm* 10°–120°
  • Duży otwór z przodu
  • Obsługuje testowanie aparatów o większej minimalnej odległości nastawiania ostrości (większość teleobiektywów).
  • Długość wysięgnika można dostosować do różnych odległości od wykresu.
  • WFoV ITS-in-a-box 22 cm 60°–120°
  • Duża powierzchnia umożliwiająca wiele pozycji montażu DUT
  • Obsługa dużych urządzeń, np. tabletów
  • RFoV ITS-in-a-box 31 cm 60°–90°
  • Tablet do rysowania
  • wewnętrzny system oświetlenia,
  • Gen2 ITS-in-a-box 31 cm 60°–90°
  • Wykres na papierze
  • wewnętrzny system oświetlenia,
  • Aby określić optymalny statyw dla urządzenia testowanego, w tabeli poniżej znajdziesz przykładowe zdjęcia wykonane przy różnych kombinacjach odległości od tablicy i procentów skalowania sceny za pomocą aparatu o polu widzenia 25° i minimalnej odległości ogniskowania 80 cm. W tym przypadku najbardziej odpowiedni jest modułowy statyw z przedłużeniem o 30 cm lub 50 cm, co daje odległość od tablicy wynoszącą 50 cm lub 80 cm. Zdjęcie wykonane z odległości 31 cm od tablicy jest zbyt rozmyte i może spowodować niepowodzenie testu.
    Odległość od wykresu Procent skalowania sceny Obraz
    31 cm 33%
    50 cm O 50%
    80 cm 100%

    Aby rozpocząć korzystanie z zestawu Camera ITS-in-a-box:

    1. Kup lub zbuduj modułowy, WFoV lub RFoV oraz sensor Fusion ITS-in-a-box.
    2. Skonfiguruj tablet za pomocą oprogramowania Camera ITS.
    3. Przeprowadzanie testów
    4. Uzyskaj wyniki z DUT.

    Konfigurowanie tabletu

    W tej sekcji znajdziesz instrukcje krok po kroku dotyczące konfigurowania tabletu do używania z  testami ITS aparatu znajdującymi się w katalogu CameraITS. Te instrukcje dotyczą tabletu Pixel C. Informacje o wymaganiach i zaleceniach dotyczących tabletów znajdziesz w artykule Wymagania dotyczące tabletów.

    Uwaga: skrypty Python Camera ITS automatycznie ustawiają na tablecie te opcje:
    Ustawienia > Wyświetlacz > Uśpienie > Po 30 minutach bezczynności
    Jasność adaptacyjna > WYŁĄCZONA

    1. Naładuj tablet i włącz go. Jeśli pojawi się prośba o skonfigurowanie konta, pomiń ją (Camera ITS nie wymaga żadnego konta sparowanego z tabletem).
    2. Zaktualizuj tablet do Androida w wersji 7.0 lub nowszej. Android w wersji 6.x i starszych nie obsługuje testów ITS kamery.
    3. Włącz tryb programisty.
    4. Wróć do Ustawień i wybierz Opcje programisty.
      Włączanie opcji
      • Wł.
      • Pozostaw włączony ekran
      • Debugowanie USB (umożliwia hostowi uruchamianie tabletu w trybie debugowania. Gdy po raz pierwszy podłączysz tablet do hosta, pojawi się na nim pytanie Zezwolić na debugowanie USB? Jeśli na tablecie nie wyświetla się prośba o debugowanie, odłącz go i podłącz ponownie.
      Wyłącz opcje
      • Automatyczne aktualizacje systemu
      • Zweryfikuj aplikacje przez USB
    5. Określ identyfikatory DUT i wykresu, uruchamiając polecenie $ adb devices, aby wyświetlić listę dostępnych urządzeń. Aby określić device_idchart_id, podłączaj i odłączaj urządzenia oraz obserwuj, które z nich łączą się i rozłączają.
    6. Przeprowadź 3 testy, aby ukryć wskazówki i komunikaty dla użytkownika, które mogą zasłaniać wykresy na ekranie tabletu.
      1. Połóż tablet ekranem do góry na stole (nie przyczepiaj go do tylnego panelu pudełka).
      2. Uruchom to polecenie:
        python tools/run_all_tests.py device=$device_id camera=0 chart=$chart_id scenes=2,3
        
        Sceny 2 i 3 wymagają wyświetlenia obrazu na tablecie, więc tablet wyświetla komunikat Zezwolić Dyskowi na dostęp do zdjęć, multimediów i plików na urządzeniu?. Aby zamknąć ten prompt (i zapobiec wyświetlaniu kolejnych), kliknij Zezwól.
      3. Uruchom polecenie ponownie. Tablet wyświetli pytanie Zachować kopię tego pliku? i zaproponuje Dysk Google. Aby wyczyścić ten prompt (i zapobiec wyświetlaniu kolejnych), kliknij ikonę Dysku, a następnie Anuluj, aby anulować przesyłanie na Dysk.
      4. Na koniec uruchom tools/run_all_tests.py i sprawdź, czy sceny zmieniają się automatycznie, gdy skrypt przełącza się między różnymi scenami. Większość testów zakończy się niepowodzeniem (ponieważ kamera nie jest skierowana na wykres), ale możesz sprawdzić, czy tablet prawidłowo przełącza się między scenami bez wyświetlania żadnych komunikatów ani innych wyskakujących okienek na ekranie.

    Przeprowadzanie testów

    Przed uruchomieniem ITS-in-a-box upewnij się, że konfiguracja testowa obejmuje następujący sprzęt i oprogramowanie:

    • 1 zestaw ITS-in-a-box
    • 1 tablet 10-calowy o wysokiej rozdzielczości do wyświetlania scen, numer seryjny: 5811000011
    • 1 DUT z zainstalowaną aplikacją CTS Verifier w wersji 7.0_8 lub nowszej. Przykładowe urządzenie:
      • Jeden (1) Pixel NOF26W do testowania tylnego aparatu(0), numer seryjny: FA6BM0305016. Aby zainstalować aplikację Weryfikator CTS, rozpakuj plik android-cts-verifier.zip, a następnie uruchom
        adb -s FA6BM0305016 install -r -g android-cts-verifier/CtsVerifier.apk
        

    Uruchamianie scen na tablecie

    Aby uruchomić sceny 0–4, 6 i scene_change na tylnym aparacie:

    cd android-cts-verifier/CameraITS
    . build/envsetup.sh
    python tools/run_all_tests.py camera=0
    

    Przykład:

    Aparat 0, numer seryjny: FA6BM0305016
    Rysunek 1. Aparat 0, numer seryjny: FA6BM0305016

    Ponawianie generowania scen

    Możesz ponownie wypróbować sceny dla pojedynczej kamery:

    • Aby ponownie nagrać sceny na jednej kamerze:
      python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=3,4
      

    Uruchom scenę 5

    Scena 5 wymaga specjalnej konfiguracji z określonym oświetleniem (szczegółowe informacje znajdziesz w CameraITS.pdf w aplikacji CTS Verifier, którą możesz pobrać na stronie Pobieranie pakietu testów zgodności). Scenę 5 musisz uruchomić oddzielnie (poza skrzynką) i na ręcznym stanowisku testowym TEST_BED_MANUAL.

    scena z kamery 5
    Rysunek 2. Scena 5

    Aby uruchomić scenę 5 na przednim i tylnym aparacie na jednym urządzeniu:

    python tools/run_all_tests.py device=FA6BM0305016 camera=0 scenes=5
    python tools/run_all_tests.py device=FA6BM0305016 camera=1 scenes=5
    

    Uzyskiwanie wyników

    Wyniki możesz wyświetlać podczas testowania, a po zakończeniu testu możesz je zapisać w formie raportu.

    • Wyświetl wyniki. Aby zapisać wyniki testów ITS aparatu jako raport:
      1. Kliknij Zatwierdź i zapisz raport.
        raport ITS dotyczący kamery,
        Rysunek 3. Raport Camera ITS
      2. Pobierz raporty z urządzenia:
        adb -s FA6BM0305016 pull /sdcard/verifierReports
        
      3. Rozpakuj plik raportu i wyświetl test_result.xml.
        raporty ITS dotyczące kamery,
        Rysunek 4. Raporty ITS dotyczące aparatu

    Wymagania dotyczące tabletu

    W przypadku Androida 15 i nowszych tabletów używanych jako wyświetlacz wykresu ITS muszą one znajdować się na poniższej liście dozwolonych tabletów. Listę tabletów, na których można testować sceny przy słabym oświetleniu, znajdziesz w artykule Obsługiwane tablety do testowania scen przy słabym oświetleniu. Wymagania dotyczące tabletów z Androidem 14 lub starszym znajdziesz w artykule Wymagania dotyczące tabletów z Androidem 14 lub starszym.

    Tablety na liście dozwolonych są wybierane na podstawie tych kryteriów:

    • Wyświetlacz o przekątnej około 10 cali i rozdzielczości większej niż 1920 x 1200 pikseli.
    • Nie może mieć mierzalnego migotania spowodowanego regulacją jasności ekranu za pomocą modulacji szerokości impulsu (PWM).
    • Możliwość wykonywania poleceń adb wysyłanych przez testy ITS i wyświetlania obrazów wykresów z określoną jasnością ekranu.

    Wartość brightness musi być ustawiona w config.yml zgodnie z modelem tabletu. Aby sprawdzić, czy model tabletu odpowiada nazwie urządzenia na liście dozwolonych, wydrukuj wartość ro.product.device, uruchamiając polecenie adb shell getprop | grep 'ro.product.device' adb.

    Urządzenie Rozmiar wyświetlacza
    (cale)
    Rozmiar wyświetlacza
    (piksele)
    Wymiary tabletu
    (cale)
    Jasność
    wyświetlacza
    Nazwa urządzenia
    (ro.product
    .device)
    Wersja systemu operacyjnego
    tabletu
    Google
    Pixel C
    10.2 2560 x 1800 9,53 x 7,05 x 0,28 96 smok Android 6 lub nowszy
    Honor
    Pad 8
    11 2000 x 1200 10,18 x 6,76 x 0,29 192 HNHEY-Q Android 12
    Huawei
    MediaPad m5
    10.8 2560 x 1600 10,18 x 6,76 x 0,29 192 HWCMR09 Android 8+
    Lenovo
    Tab M10 Plus
    10.3 1920 x 1200 9,61 x 6,03 x 0,32 192 X606F Android 9 lub nowszy
    Lenovo
    Tab P11
    11 2000 x 1200 10,17 x 6,42 x 0,30 192 J606F Android 11 lub nowszy
    Lenovo
    Tab P11 Gen2
    11,5 2000 x 1200 10,59 x 6,67 x 0,29 192 TB350FU Android 13 lub nowszy
    Nokia
    T21
    10.4 2000 x 1200 9,74 x 6,19 x 0,30 192 AGTA Android 12 lub nowszy
    Samsung
    Galaxy Tab A7
    10.4 2000 x 1200 9,75 x 6,2 x 0,28 192 gta4lwifi Android 10 lub nowszy
    Samsung
    Galaxy Tab A8
    10.5 1920 x 1200 9,72 x 6,73 x 0,27 192 gta8wifi Android 11 lub nowszy
    Samsung
    Galaxy Tab A9+
    11 1920 x 1200 10,12 x 6,64 x 0,27 cala 192 gta9pwifi Android 13 lub nowszy
    Vivo
    Pad2
    12.1 2800 x 1968 266 x 191,6 x 6,6 mm 192 DPD2221 Android 13 lub nowszy
    Xiaomi
    Pad 5
    11 2560 x 1600 10,18 x 6,76 x 0,29 192 nabu Android 13 lub nowszy
    Xiaomi
    Redmi
    Pad
    10,61 2000 x 1200 9,86 x 6,22 x 0,28 192 yunluo Android 14+
    Xiaomi
    Redmi
    Pad SE
    11 2560 x 1600 10,06 x 6,58 x 0,29 192 xun Android 13 lub nowszy

    Obsługiwane tablety w przypadku scen przy słabym oświetleniu

    W tabeli poniżej znajdziesz listę tabletów, na których można testować sceny przy słabym oświetleniu. Te tablety mogą osiągnąć poziom jasności potrzebny w przypadku scen przy słabym oświetleniu, co pozwala urządzeniu prawidłowo naświetlić wykres.
    Urządzenie Nazwa urządzenia (ro.product.device) Wersja systemu operacyjnego tabletu
    Huawei
    MediaPad m5
    HWCMR09 Android 8+
    Samsung Galaxy Tab A8 gta8wifi Android 11 lub nowszy
    Samsung Galaxy Tab A9+ gta9pwifi Android 13 lub nowszy
    Xiaomi Pad 5 nabu Android 13 lub nowszy
    Xiaomi
    Redmi
    Pad SE
    xun Android 13 lub nowszy

    Wymagania dotyczące tabletów z Androidem 14 lub starszym

    Tablety muszą mieć wyświetlacz o przekątnej około 10 cali i rozdzielczości większej niż 1920 x 1200 pikseli. Tablet nie może używać modulacji szerokości impulsu (PWM) do ustawiania poziomu jasności. Wartość brightness musi być ustawiona w config.yml zgodnie z modelem tabletu. W tabeli poniżej znajdziesz listę zalecanych tabletów do testów ITS wraz z wersjami Androida, z którymi działają te tablety.

    Urządzenie Rozmiar wyświetlacza
    (cale)
    Rozmiar wyświetlacza
    (piksele)
    Wymiary tabletu
    (cale)
    Jasność
    wyświetlacza
    Wyświetlanie
     bitów
    Obsługiwany
    system operacyjny DUT
    Obsługiwany
    system operacyjny tabletu
    Samsung
    Galaxy Tab A8
    10.5 1920 x 1200 9,72 x 6,37 x 0,27 192 8 Android 13 lub nowszy Android 11 lub nowszy
    Xiaomi
    Pad 5
    11 2560 x 1600 10,03 x 6,55 x 0,27 1024 11 Android 12 lub nowszy Tylko Android 11
    Lenovo
    Tab M10 Plus
    10.3 1920 x 1200 9,61 x 6,03 x 0,32 192 8 Android 12 lub nowszy Android 9 lub nowszy
    Samsung
    Galaxy Tab A7
    10.4 2000 x 1200 9,75 x 6,2 x 0,28 192 8 Android 12 lub nowszy Android 10 lub nowszy
    Chuwi
    Hi9 Air 10.1
    10.1 2560 x 1600 9,52 x 6,77 x 0,31 192 8 Android 7 lub nowszy Android 8+
    Asus
    ZenPad 3
    9.7 2048 x 1536 9,47 x 6,44 x 0,28 192 8 Android 7 lub nowszy Android 6 lub nowszy
    Huawei
    MediaPad m5
    10.8 2560 x 1600 10,18 x 6,76 x 0,29 192 8 Android 7 lub nowszy Android 8+
    Google
    Pixel C
    10.2 2560 x 1800 9,53 x 7,05 x 0,28 96 8 Android 7 lub nowszy Android 6 lub nowszy
    Sony
    Xperia Z4
    10.1 2560 x 1600 10 x 6,57 x 0,24 192 8 Android 7 lub nowszy Android 5 lub nowszy

    Najczęstsze pytania

    Pytanie 1. Jak określić, które stanowiska testowe są potrzebne w przypadku mojego urządzenia?

    Testy RFoV ITS-in-a-box w wersji 1 sprawdzają kamery RFoV pod kątem testów scen na tablet w katalogu CameraITS/tests. RFoV to 60° < FoV < 90°. W przypadku kamer o większym polu widzenia światła mogą być widoczne na zdjęciach lub wykresy mogą obejmować zbyt mały obszar w polu widzenia, co wpływa na wyniki testów.

    Testy WFoV ITS-in-a-box w wersji 2 sprawdzają kamery WFoV pod kątem testów scen na tabletach w katalogu CameraITS/tests. WFoV jest zdefiniowane jako FoV >= 90°. Stanowisko testowe w wersji 2 jest funkcjonalnie identyczne z wersją 1, ale większe. Stanowisko testowe w wersji 2 umożliwia testowanie kamer RFoV i WFoV na urządzeniach z Androidem 9 i nowszym. Ze względu na większy rozmiar wersja 2 jest idealna, jeśli DUT to tablet.

    Modułowy statyw podstawowy testuje kamery WFoV w scenach testowych tabletów w katalogu CameraITS/tests. WFoV to FoV >= 90°. Modułowy zestaw podstawowy może testować kamery RFoV i WFoV na urządzeniach z Androidem 9 lub nowszym. Obsługuje też przedłużkę teleobiektywu, którą można przymocować, aby testować teleobiektywy z większą minimalną odległością nastawiania ostrości. Modułowa platforma bazowa jest funkcjonalnie identyczna z WFoV ITS-in-a-box, ale mniejsza.

    Pole fuzji czujników testuje przesunięcie czasowe kamery/żyroskopu i synchronizację klatek w systemach wielokamerowych za pomocą testów w scenes=sensor_fusion. W przypadku flagi funkcji REALTIME wymagane jest przesunięcie czasowe kamery/żyroskopu mniejsze niż 1 ms.

    Urządzenia z wieloma kamerami można testować za pomocą jednego stanowiska do statycznych testów ITS i stanowiska do testowania fuzji czujników, jeśli kamera ma flagę funkcji REALTIME.

    W tabeli poniżej znajdziesz przykładowe konfiguracje.

    Minimalna odległość ogniskowania Pola widzenia kamery REALTIME? Zalecane zestawy Uwagi
    31 cm – 22 cm 24° Nie Modułowa podstawa, WFoV lub RFoV Androida 7.0 lub nowszego,
    31 cm – 22 cm 24° Tak Modułowa podstawa, WFoV lub RFoV i fuzja czujników Android 9 lub nowszy
    22 cm lub mniej 75° + 95° Tak Modułowa podstawa lub szerokie pole widzenia i fuzja czujników Android 9 lub nowszy
    110 cm – 22 cm 75° + 95° + 20° Tak Modułowa baza, teleobiektyw i fuzja czujników Android 9 lub nowszy
    110 cm – 22 cm 75° + 95° + 20° Tak Modułowa podstawa, teleobiektyw, fuzja czujników i platforma drugiej generacji
    22 cm lub mniej 75° + 95° Tablet Nie WFoV Android 9 lub nowszy

    P2: Jak określić, które stanowisko testowe jest używane?

    Aby wyznaczyć prawidłowe stanowisko testowe, upewnij się, że parametr odległości od tablicy jest prawidłowy. Stanowisko testowe rev1 (RFoV) ma odległość wykresu wynoszącą 31 cm, a stanowisko rev2 (WFoV) – 22 cm. Domyślnie odległość od tablicy wynosi 31 cm.

    Android 10 na Androida 11

    Aby w Androidzie 10–11 wskazać prawidłowy sprzęt testowy, dodaj w wierszu poleceń flagę dist. Wartością domyślną parametru dist jest 31. Aby zmienić parametr chart_distance, uruchom to polecenie:
    python tools/run_all_tests.py ... chart=# dist=22
    

    Android 12 lub nowszy

    Aby zidentyfikować prawidłowy sprzęt testowy w Androidzie 12 i nowszych wersjach, możesz edytować plik config.yml, aby zmienić parametr chart_distance.
    edit config.yml
    chart_distance: 31.0 → chart_distance: 22.0
    

    P3. Jak sterować jasnością tabletu?

    Domyślna jasność tabletu to 96.

    Aby zmienić jasność na tabletach z Androidem w wersji od 7.0 do 9, uruchom:

    edit tools/wake_up_screen.py
    DISPLAY_LEVEL=96 → DISPLAY_LEVEL=192
    

    Aby zmienić jasność na tabletach z Androidem 10–11, możesz zmienić wartość w wierszu poleceń, dodając flagę brightness:

    python tools/run_all_tests.py device=# camera=# chart=# brightness=192
    

    Aby zmienić jasność na tabletach z Androidem 12 lub nowszym, wykonaj to polecenie:

    edit config.yml
    brightness: 96 → brightness: 192
    

    P4. Jak debugować pojedynczy test?

    Testy można uruchamiać pojedynczo w celu debugowania, ale wyniki nie są raportowane do CtsVerifier.apk, chyba że zostanie uruchomiona cała scena.

    Aby uruchomić poszczególne sceny na urządzeniach z Androidem 11 lub starszym:

    1. Wczytaj scenę, dodając flagę scenestools/run_all_tests.py:
      python tools/run_all_tests.py device=# camera=# chart=# scenes=#
      
    2. Naciśnij Control+C, aby zatrzymać testy po zarejestrowaniu sceny jako załadowanej do stdout.

      Jeśli na ekranie jest już odpowiednia scena, wybudź ekran:

      python tools/wake_up_screen.py screen=#
      
    3. Uruchomienie pojedynczego testu.

      python tests/scene#/test_*.py device=# camera=#

      Wykresy są generowane w katalogu lokalnym, a na ekranie wyświetlane są znaki stdoutstderr.

      Aby uzyskać więcej informacji na potrzeby debugowania, dodaj do skryptu instrukcje print. Aby zwiększyć liczbę danych wyjściowych testu na potrzeby debugowania, dodaj flagę debug=True.

      python tests/scene#/test_*.py device=# camera=# debug=True

    Wyniki są wyświetlane na ekranie lokalnym, a obrazy są zapisywane w katalogu lokalnym zamiast w wygenerowanym katalogu /tmp/tmp### podczas uruchamiania tools/run_all_tests.py.

    Aby uruchomić poszczególne sceny na urządzeniu z Androidem 12 lub nowszym:

    1. Edytuj plik config.yml.

      edit config.yml
      camera: <camera-id> → camera:  0
      scene: <scene-name> → scene: scene1_1
    2. Uruchom pojedynczy test.

      python tools/run_all_tests.py -c config.yml --test_bed TEST_BED_TABLET_SCENES
      

    Wyniki są drukowane w katalogu /tmp/logs/mobly/TEST_BED_TABLET_SCENES/ i sortowane według czasu działania.

    P5. Dlaczego muszę uruchamiać nieudane testy jako całą scenę zamiast ponownie uruchamiać je pojedynczo?

    Testy można uruchamiać pojedynczo w celu debugowania, ale wyniki nie są zgłaszane do CtsVerifier.apk, chyba że zostanie uruchomiona cała scena.

    Zestaw testów ITS aparatu zapewnia, że aplikacje innych firm mają zgodny interfejs aparatu. Podobnie jak w przypadku testu jednostkowego, każdy test sprawdza jedną specyfikację kamery. Aby wykryć niewiarygodne zachowania, te testy powinny przejść jako grupa w przypadku całej sceny. Na przykład pojedynczy test, który zwraca niepewne wyniki, może przejść ponowne uruchomienie całej sceny, ale wiele takich testów raczej nie przejdzie.

    Jako ekstremalny przykład rozważmy sytuację, w której w scenie jest 10 testów, a każdy z nich ma 50% prawdopodobieństwa zwrócenia wartości PASS. Przeprowadzając każdy test osobno, operator ma dużą szansę na uzyskanie pozytywnego wyniku testu ITS aparatu. Jeśli jednak testy są przeprowadzane łącznie jako scena, prawdopodobieństwo, że scena przejdzie test, wynosi tylko 0,1%.

    P6. Jak uruchomić pojedynczą scenę lub zmienić kolejność scen?

    Domyślnie skrypt tools/run_all_tests.py uruchamia wszystkie sceny w kolejności. Sceny można jednak uruchamiać pojedynczo lub w określonej kolejności i przesyłać o nich raporty do CtsVerifier.apk.

    Aby uruchomić pojedynczą scenę (np. scenę 2) lub więcej niż jedną scenę w określonej kolejności na urządzeniu z Androidem 11 lub starszym:

    python tools/run_all_tests.py device=# camera=# chart=# scenes=2
    
    python tools/run_all_tests.py device=# camera=# chart=# scenes=3,2
    

    Aby uruchomić pojedynczą scenę lub więcej niż jedną scenę w określonej kolejności na urządzeniu z Androidem 12 lub nowszym:

    python tools/run_all_tests.py scenes=2
    
    python tools/run_all_tests.py scenes=3,2
    

    Dodatkowe parametry są ustawiane w pliku config.yml.

    Pytanie 7. W przypadku konfiguracji z tabletem nie powiodło się kilka testów sceny 1, ale w przypadku wykresu na papierze testy te zostały zaliczone. Co robię źle?

    Upewnij się, że tablet i środowisko testowe spełniają te wymagania.

    Specyfikacje tabletu

    Upewnij się, że tablet spełnia te wymagania:

    • Rozmiar wyświetlacza (cale): 10 cali
    • Rozmiar wyświetlacza (piksele): większy niż 1920 x 1200 pikseli

    Więcej informacji znajdziesz w sekcji Wymagania dotyczące tabletów.

    Jasność tabletu

    Jeśli jasność wyświetlacza tabletu jest zbyt niska, testy mogą nie dać prawidłowych wyników.

    Więcej informacji znajdziesz w artykule Jak sterować jasnością tabletu?.

    Poziom oświetlenia w pudełku (wymaga luksomierza)

    Upewnij się, że docelowa wartość natężenia oświetlenia w momencie otwarcia tabletu mieści się w zakresie od 100 do 300 luksów.

    Jeśli poziom natężenia oświetlenia jest zbyt wysoki, funkcja scene1/test_param_flash_mode.py zwraca wartość FAIL. Jeśli poziom luksów jest zbyt niski, wiele testów nie powiedzie się.

    P8. Jak debugować testy fuzji czujników?

    1. Sprawdź, czy należysz do grupy dialout.

      groups | egrep ‘dialout'
    2. Sprawdź, czy kontroler fuzji czujników jest podłączony, sprawdzając, czy urządzenie Microchip Technology jest podłączone do portu USB.

      lsusb
      …
      Bus 003 Device 004: ID 04d8:fc73 Microchip Technology, Inc.
      …
      
    3. Uruchom test wielokrotnie, aby uzyskać rozkład prób testowych za pomocą tych poleceń.

      Na Androidzie 11 lub starszym:

      python tools/run_sensor_fusion_box.py device=A camera=0 num_runs=10 rotator=default
      

      Na Androidzie 12 i nowszych:

      python tools/run_sensor_fusion_box.py num_runs=10
      

      Dodatkowe parametry są ustawiane w pliku config.yml.

      Dane wyjściowe uruchomienia znajdują się w folderze /tmp/tmp### utworzonym w folderach sensor_fusion_#, gdzie # to numer uruchomienia. Najczęstsze przyczyny niepowodzenia to:

      1. Telefon nie jest prawidłowo wyśrodkowany.
      2. Na zdjęciu nie wykryto wystarczającej liczby elementów (często problem z polem widzenia lub oświetleniem).
      3. Zwrócona wartość FAIL jest prawidłowa, a odchylenie czasowe między kamerą a żyroskopem musi zostać skorygowane.

    Pytanie 9. Jakie informacje należy podać podczas zgłaszania błędu testowania?

    Zgłaszając błąd testowania, dołącz wygenerowane pliki i obrazy z testu.

    1. Jeśli test został przeprowadzony za pomocą tools/run_all_tests.py, dołącz do zgłoszenia błędu skompresowany katalog /tmp/.
    2. Jeśli test został przeprowadzony samodzielnie, dołącz do zgłoszenia błędu wszystkie dane wyjściowe ekranu i wygenerowane obrazy.

    Dołącz też raport o błędzie. Gdy test zakończy się niepowodzeniem, użyj tego polecenia, aby wygenerować raport o błędzie i dołączyć do niego wygenerowany plik ZIP:

    adb -s device_id bugreport
    

    P10. Jak uruchomić scenę testową sensor_fusion za pomocą aparatu, którego minimalna odległość ogniskowania powoduje rozmycie obrazów w odległości 25 cm od wykresu?

    Jeśli aparat nie może ustawić ostrości z odległości 25 cm, zdejmij panel mocujący wykres z pudełka z czujnikami. Umieść wykres w odległości, w której urządzenie może ustawić ostrość, i zmień wartość chart_distanceconfig.yml na zmierzoną odległość między urządzeniem a wykresem. Rysunek 5 pokazuje przykład pomiaru odległości od wykresu w tej sytuacji.

    sensor_fusion TELE testing example6
    Rysunek 5. Pomiar odległości od wykresu w scenie testowej fuzji czujników
      edit config.yml
    chart_distance: 25 → chart_distance: DISTANCE_BETWEEN_DUT_AND_CHART
    

    P11. Jak przeprowadzić testy scen na tablecie w przypadku aparatu o minimalnej odległości nastawiania ostrości, który przy odległości 31 cm od tablicy testowej tworzy rozmyte obrazy?

    Jeśli aparat nie może robić wystarczająco ostrych zdjęć podczas testowania w odległości 31 cm (głębokość stanowiska testowego RFoV), zamontuj go przed stanowiskiem w odległości, która pozwoli na wypełnienie około 60% pola widzenia aparatu sceną z wykresem, aby uzyskać ostrzejsze zdjęcia. Ta odległość może być mniejsza niż minimalna odległość nastawiania ostrości kamery. Pozostaw chart_distanceconfig.yml na wysokości 31 cm. Skalowanie wykresu na tablecie zależy od pola widzenia kamery, jak pokazano w tabeli poniżej:

    Pole widzenia kamery Współczynnik skalowania wykresu
    60 > FoV > 40 0,67x
    40 > FoV > 25 0,5x
    Pole widzenia < 25 0,33x

    P12. W przypadku interfejsu Logical Multi-Camera API które testy są przeprowadzane na których aparatach?

    Jeśli kamera korzysta z  REQUEST_AVAILABLE_CAPABILITIES_LOGICAL_MULTI_CAMERA, wszystkie obsługiwane testy ITS są przeprowadzane na logicznej kamerze najwyższego poziomu. Podzbiór testów ITS jest przeprowadzany na fizycznych podkamerach. Te testy są wymienione w tools/run_all_tests.py w sekcji SUB_CAMERA_TESTS stałej.