Przegląd

Stos komunikatów radiowych składa się z komponentów przedstawionych na Rysunku 1.

Architektura radia naziemnego
Rysunek 1. Architektura radia naziemnego.

Aplikacja z informacjami o radiu

Szczegółowe informacje na temat wdrażania sterowania radiowego można znaleźć w sekcji Implementacja sterowania zdalnego.

Jako plik referencyjny służy przykładowa aplikacja radiowa w języku Java (packages/apps/Car/Radio) implementacji. Po uruchomieniu usługi aplikacji prosi ona menedżera radia o otwarcie tunera radiowego. Następnie: aplikacja może wysyłać do tunera radiowe żądania dotyczące np. dostrajania do określonej stacji radiowej, częstotliwości lub przewiń do następnej dostępnej stacji radiowej. Aplikacja otrzymuje aktualizacje z Menedżera radia oraz Tuner radiowy, np. aktualne informacje o programie, listy programów, konfiguracje lub parametrów zdefiniowanych przez dostawcę. Aplikacja Radio obsługuje tylko radio AM i FM. OEM może modyfikować lub zastąp aplikację Radio zgodnie z potrzebami.

Menedżer radia

Gdy aplikacja poprosi Menedżera radia o otwarcie tunera, Menedżer radia (frameworks/base/core/java/android/hardware/radio/RadioManager.java) prosi o Broadcast Radio Service (BRS), aby otworzyć sesję tunera, a następnie zamykać ją za pomocą tunera (frameworks/base/core/java/android/hardware/radio/RadioTuner.java), która jest zwracana, do aplikacji. Tuner radiowy definiuje interfejsy API (takie jak tune, step i cancel), które mogą być wywoływane z aplikacji radiowych i wysyłać żądania do BRS. Metody wywołania zwrotnego (RadioTuner.Callback) zdefiniowane w opcji Radio Tuner wysyła aktualizacje dotyczące radiostacji HAL, takie jak aktualne informacje o programie, program i parametry definiowane przez dostawcę, od BRS po aplikacje.

Nadawcza usługa radiowa

Usługa radiowa naziemnej (frameworks/base/services/core/java/com/android/server/broadcastradio) jest klientem usługi Broadcast Radio HAL. BRS koordynuje działania wielu menedżerów radia w ramach funkcji Broadcast Radio HAL. BRS obsługuje Język definicji interfejsu HAL (HIDL) oraz Transmisja języka definicji interfejsu Androida (AIDL) radio HAL. BRS łączy się z HAL AIDL, gdy istnieje dowolna usługa AIDL HAL; w przeciwnym razie usługa łączy się z HAL HIDL. BRS tworzy moduł radiowy dla każdej dostępnej instancji HAL (np. AM, FM i DAB).

Każdy menedżer radia może poprosić BRS o utworzenie sesji tunera w modułu radiowego w zależności od jego typu. Każda sesja dostrajania może wywoływać metody, takie jak jak dostrajanie, krok i anulowanie (zdefiniowane w interfejsach HAL) w celu wykonywania operacji na wystąpienie HAL radiowej transmisji radiowej. Gdy jedna sesja dostrajania otrzyma wywołanie zwrotne z HAL z instancji w aktualizacji HAL, takie jak informacje o bieżącym programie, lista programów, flagi konfiguracji dostawcy, wywołania zwrotne dotyczące aktualizacji są wysyłane do wszystkich tunerów radiowych połączonych z tym samym Moduł radiowy.

HAL radiowej transmisji na żywo

Więcej informacji o interfejsach HIDL i AIDL w radiostacji oraz różnicach między zwróć uwagę Interfejs HAL Radio.