Программируем для фотоаппарата
Для фотоаппаратов компании Canon существует забавная штукенция — CHDK. Это резидентная программа (чаще называемая альтернативной прошивкой), которая предоставляет множество новых полезных функций, например: съёмку в raw-формате, живую гистограмму, индикатор заряда аккумулятора в процентах, игры и даже выполнение сценариев (скриптов).
CHDK на G7 я использую около года, но необходимость написать свой сценарий возникла только сегодня: понадобилось автоматически запустить серийную съёмку через некоторый интервал времени. Стандартными средствами сделать это можно только попросив кого-то начать и остановить съёмку по вашим командам. Но поблизости никого не было.
Программировать можно на двух языках: uBASIC и Lua. Мой CHDK умеет исполнять только uBASIC-программы. Я изучил документацию, несколько примеров и написал сценарий, который сделал, то что мне требовалось.
rem Author: Maxim Vuets <http://maxim.vuets.name/> @title Shot holder for continous shooting @param d Delay 1st shot, secs @default d 0 @param a Adjusting time, 10th secs @default a 15 @param c Shooting duration, secs @default c 3 if d<0 then let d=0 if a<0 then let a=15 if c<0 then let c=3 print "Delaying..." sleep d*1000 print "Adjusting..." press "shoot_half" sleep a*100 print "Go!" press "shoot_full" sleep c*1000 release "shoot_full" release "shoot_half"