Содержание

Webcam Control

Программа для управления USB веб-камерами. Позволяет управлять настройками всех подключенных к компьютеру камер. Была написана для управления фокусом двух камер Logitech C525, драйвера которых не позволяли это делать. Но, неожиданно развилась до небольшого монстра с поддержкой управления аппаратной крутилкой (HID). Написана на C#. Имеется репозиторий на GitHub, где можно посмотреть исходники и скачать актуальную версию на странице релизов.

Вкладка камеры

Для каждой камеры в приложении создается вкладка с настройками. На этой вкладке имеются регуляторы всех параметров изображения.

Некоторые регуляторы могут быть неактивными, так как камера не поддерживает настройку параметра.

Для каждого параметра имеется регулятор и два CheckBox. Левый, при возможности, включает и выключает автоматический режим, при котором сама камера выбирает оптимальное значение. Регулятором выставляется значение в ручном режиме. Клик правой кнопкой мыши по регулятору возвращает значение в заводское состояние. Правый CheckBox добавляет параметр в список избранных, которые будут отображаться на вкладке «All».

Далее идет блок пресетов. В приложении есть возможность сохранить до 4 пресетов, один из которых будет применяться при старте приложения. Если добавить приложение в автозапуск операционной системы, то можно будет реализовать функцию, которой нет в большинстве драйверов: сохранение настроек после выключения компьютера.

После блока пресетов идет выбор действия на нажатие кнопки HID устройства, подключенного по USB. Более подробная информация будет далее. Следующий выпадающий список служит для привязки HID устройства к камере. Выбранный в списке контроллер зажигает светодиод.

Для камеры можно задать удобное имя, но отображаться оно будет только в этой программе. В системе устройство будет отображаться так, как указано у него в драйвере.

HID устройство

Специализированное устройство, собранное на базе микроконтроллера STM32F070xxxx. Теоретически, легко собрать и на другом чипе. Имеет на борту три кнопки, светодиод и энкодер с кнопкой. Энкодер служит для ручного регулирования активного параметра. Активный параметр выделен на вкладке «All». Одной из кнопок происходит цикличное переключение между параметрами. Для ещё двух кнопок поведение задается на вкладке камеры.

Нажатие на энкодер включает автоматический режим, когда камера сама выбирает оптимальное значение. Переход в ручной режим происходит при вращении ручки энкодера.

Вкладка "All"

На данной вкладке отображаются избранные параметры для каждой камеры. Если у камеры ничего не выбрано, то она не будет отображаться на этой вкладке.

При наличии настроенного HID устройства активный параметр (тот, который будет меняться при вращении ручки энкодера) отмечен жирным шрифтом.