[+] Управление камерой Sony FCB-ER8300 по протоколу VISCA
Сообщений 1 страница 2 из 2
Поделиться22018-04-30 23:06:32
Для управления камерой через VISCA протокол нет ничего необычного. По порту RS232 отправляются команды на камеру.
При использование библиотеки команды можно заменить на функции. В качестве примера можно использовать файл testvisca.c из папки examples. Там нас интересует функция отвечающая за зум камеры
if (VISCA_set_zoom_value(&iface, &camera, 0x0000)!=VISCA_SUCCESS) fprintf(stderr,"error setting zoom\n");
Работать с 16ричными числами не удобно и мы перепишем код под проценты
uint16_t zoom=31424/100*atoi(argv[2]); if (VISCA_set_zoom_value(&iface, &camera, zoom)!=VISCA_SUCCESS) fprintf(stderr,"error setting zoom\n");
Число 31424 выбрано не просто так. Максимальный зум у этой камеры можно задать в ее программе как 0x7AC0, что при переводе в 10ричный код получим 31424.
Так же данный код выдает ошибку при быстром переходе от 0 процентов до 100. Ошибка происходит из за комбинированного зума на камере. При переходе от оптического к цифрового зуму и обратно, камера возвращает ошибку.
Исходный код на bitbucket.org