Пример adc_hello
Пример демонстрирует использование драйвера Sensor для проверки функциональности аналого-цифрового преобразователя (АЦП, англ. Analog-to-digital converter, ADC) на аппаратной платформе Radxa ROCK 3A в KasperskyOS.
Директория примера в SDK
Код примера и скрипты для сборки находятся по следующему пути:
/opt/KasperskyOS-Community-Edition-<platform>-<version>/examples/adc_hello
Список программ
AdcHello– прикладная программа, которая проверяет функциональность каналов АЦП.Sensor– драйвер, который предоставляет интерфейс для работы с каналами АЦП.DCM– системная программа, позволяющая динамически создавать IPC-каналы.
Описание инициализации
Файл описания инициализации решения init.yaml генерируется в процессе сборки решения на основе шаблона ./einit/src/init.yaml.in. Макросы вида @INIT_*@, которые содержатся в шаблоне, автоматически раскрываются в итоговом файле init.yaml. Подробнее см. "Шаблон init.yaml.in".
Описание политики безопасности
Файл ./einit/src/security.psl содержит описание политики безопасности решения. Декларации в PSL-файле снабжены комментариями, которые поясняют назначение этих деклараций.
Ресурсы
В директории ./resources/xdl/adc_hello содержится EDL-описание для программы AdcHello.
Сценарий работы
Программа AdcHello выполняет следующие действия:
- Инициализирует драйвер Sensor для работы с каналами АЦП.
- Запрашивает и выводит в стандартный вывод ошибок список всех доступных в системе каналов. Каналы
SARADC_VIN6иSARADC_VIN7присутствуют в выводе, но для работы недоступны. - Открывает канал с номером, заданным макросом
ADC_CHAN_NUM. - Запрашивает параметры открытого канала (тип сенсора и коэффициент масштабирования) и выводит их в стандартный вывод ошибок.
- Считывает поданное на канал напряжение, нормализует его и выводит в стандартный вывод ошибок.
- Закрывает канал, деинициализирует драйвер и завершает программу с кодом
EXIT_SUCCESSпри отсутствии ошибок, иначе –EXIT_FAILURE.
Сборка и запуск примера
Для сборки и запуска примера используется система CMake из состава KasperskyOS Community Edition.
Этот пример предназначен только для запуска на Radxa ROCK 3A.
Для корректной работы примера необходимо подключить к аналоговому входу SARADC_VIN5 (пин 37) платы Radxa ROCK 3A источник напряжения 1 В согласно схеме подключения ниже:

См. "Сборка и запуск примеров".