Пример adc_hello

Пример демонстрирует использование драйвера Sensor для проверки функциональности аналого-цифрового преобразователя (АЦП, англ. Analog-to-digital converter, ADC) на аппаратной платформе Radxa ROCK 3A в KasperskyOS.

Директория примера в SDK

Код примера и скрипты для сборки находятся по следующему пути:

/opt/KasperskyOS-Community-Edition-<platform>-<version>/examples/adc_hello

Список программ

Описание инициализации

Файл описания инициализации решения 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 выполняет следующие действия:

  1. Инициализирует драйвер Sensor для работы с каналами АЦП.
  2. Запрашивает и выводит в стандартный вывод ошибок список всех доступных в системе каналов. Каналы SARADC_VIN6 и SARADC_VIN7 присутствуют в выводе, но для работы недоступны.
  3. Открывает канал с номером, заданным макросом ADC_CHAN_NUM.
  4. Запрашивает параметры открытого канала (тип сенсора и коэффициент масштабирования) и выводит их в стандартный вывод ошибок.
  5. Считывает поданное на канал напряжение, нормализует его и выводит в стандартный вывод ошибок.
  6. Закрывает канал, деинициализирует драйвер и завершает программу с кодом EXIT_SUCCESS при отсутствии ошибок, иначе – EXIT_FAILURE.

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

Для сборки и запуска примера используется система CMake из состава KasperskyOS Community Edition.

Этот пример предназначен только для запуска на Radxa ROCK 3A.

Для корректной работы примера необходимо подключить к аналоговому входу SARADC_VIN5 (пин 37) платы Radxa ROCK 3A источник напряжения 1 В согласно схеме подключения ниже:

RPI_USB

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

В начало