1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-drivers_peripheral

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README.md 5.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 07:36 80e6969

Ril

Обзор

Разработанный на основе фреймворка Hardware Driver Foundation (HDF) драйвер Ril скрывает аппаратные различия и предоставляет API для сервисов верхнего уровня, таких как совершение вызовов, отправка SMS-сообщений и активация SIM-карт.

Модуль драйвера Ril содержит определения и код реализации интерфейсов аппаратного драйвера Ril (HDI) и предоставляет возможность вызова API драйвера телефонии для верхнего уровня. HDI реализуют обработку услуг, связанных со следующими сервисами:

— вызов; — SIM-карта; — SMS/MMS; — радио; — сотовая связь.

Рисунок 1. Архитектура модуля драйвера Ril

Модуль драйвера Ril

Структура каталогов

Структура каталогов исходного кода выглядит следующим образом:

/drivers/peripheral/ril
├── figures                # Файлы ресурсов Readme
├── interfaces             # Предоставляемые API драйверов для сервисов верхнего слоя
│   └── include            # Экспонированные внешне API

Ограничения

— Язык программирования: C++. — Программные ограничения: этот модуль должен работать с модулем адаптера Ril (ril_adapter). — Аппаратные ограничения: устройство должно быть оснащено модемом, способным к независимой сотовой связи.

Описание использования

Доступные API

Драйвер Ril предоставляет API возможностей, которые могут быть напрямую вызваны слоем фреймворка. Основные функции следующие: вызов, SIM-карта, SMS/MMS, сотовая связь и отчётность о событиях. В следующей таблице перечислены API, предоставляемые модулем драйвера Ril.

Таблица 1. API HDI Ril

API Описание
int32_t SetCallback(const sptr &rilCallback) Устанавливает IRil callback.
int32_t Dial(int32_t slotId, int32_t serialId, const DialInfo &dialInfo) Совершает вызов. slotId указывает на идентификатор слота карты, serialId указывает серийный идентификатор запроса, а dialInfo указывает информацию о наборе номера.
int32_t Answer(int32_t slotId, int32_t serialId) Отвечает на вызов. slotId указывает идентификатор слота карты, а serialId — серийный идентификатор запроса.
int32_t SendGsmSms(int32_t slotId, int32_t serialId, const GsmSmsMessageInfo &gsmSmsMessageInfo) Отправляет GSM SMS-сообщение. slotId указывает идентификатор слота карты, serialId указывает серийный идентификатор запроса, а gsmSmsMessageInfo указывает информацию об SMS-сообщении.
int32_t SetActiveSim(int32_t slotId, int32_t serialId, int32_t index, int32_t enable) Активирует или деактивирует SIM-карту. slotId указывает идентификатор слота карты, serialId указывает серийный идентификатор запроса, index указывает значение индекса информации о SIM-карте, а enable указывает статус активации.
int32_t GetOperatorInfo(int32_t slotId, int32_t serialId) Запрашивает название оператора. slotId указывает идентификатор слота карты, а serialId — серийный идентификатор запроса.
int32_t ActivatePdpContext(int32_t slotId, int32_t serialId, const DataCallInfo &dataCallInfo) Активирует контекст PDP. slotId указывает идентификатор слота карты, а dataCallInfo — информацию о сервисе данных.
int32_t SetRadioState(int32_t slotId, int32_t serialId, int32_t fun, int32_t rst) Устанавливает состояние радио. slotId указывает идентификатор слота карты, serialId указывает серийный идентификатор запроса, fun указывает режим функции, а rst указывает, следует ли выполнить сброс.

Для получения подробной информации об API обратитесь к drivers_interface_ril.

Как использовать

В этом разделе в качестве примера используется реализация услуги вызова.

Пример кода:

#include "V1_1/iril.h"

/* Ril callback class */
class RilCallback : public HDI::Ril::V1_1::IRilCallback {
    int32_t DialResponse(const HDI::Ril::V1_1::RilRadioResponseInfo &responseInfo) override;
    int32_t

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/openharmony-drivers_peripheral.git
git@api.gitlife.ru:oschina-mirror/openharmony-drivers_peripheral.git
oschina-mirror
openharmony-drivers_peripheral
openharmony-drivers_peripheral
master