Программируем для фотоаппарата

11 июня, 14:39 / CHDK, программирование, Canon

Для фотоаппаратов компании 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"

Комментарии

Димка 12 июня, 00:46
<img src="http://farm4.static.flickr.com/3651/3618184508_8eabf00824.jpg?v=0">
Димка 12 июня, 00:47
Вот, не сделал поддержку HTML в камментах, так копи-пастом кликай :)
Максим Вуец 17 июня, 21:56
Димка, у тебя просто «невалидный» XHTML (;