Exemplo n.º 1
0
void msm_stop(void) {
	wait_for_camera();
	SleepTask(RELEASE_WAIT);

	send_to_intercom(IC_SET_TV_VAL, msm_tv_return);
	send_to_intercom(IC_SET_AV_VAL, msm_av_return);
	send_to_intercom(IC_SET_AE,     msm_ae_return);

	enqueue_action(msm_reset);
}
Exemplo n.º 2
0
Arquivo: utils.c Projeto: AEUG/400plus
int shutter_release() {
	wait_for_camera();
	lock_sutter    ();

	int result = press_button(IC_BUTTON_FULL_SHUTTER);

	if (DPData.drive == DRIVE_MODE_TIMER)
		SleepTask(SELF_TIMER_MS);

	wait_for_shutter();

	return result;
}
Exemplo n.º 3
0
Arquivo: utils.c Projeto: AEUG/400plus
int shutter_release_bulb(int time) {
	static int first = true;

	int  button;
	long delay;

	int shutter_lag, mirror_lag;

	if (first) {
		first = false;
		shutter_lag = SHUTTER_LAG_1ST;
		mirror_lag  = MIRROR_LAG_1ST;
	} else {
		shutter_lag = SHUTTER_LAG_2ND;
		mirror_lag  = MIRROR_LAG_2ND;
	}

	if (DPData.drive == DRIVE_MODE_TIMER) {
		button = IC_BUTTON_FULL_SHUTTER;
		delay  = time + shutter_lag + mirror_lag;
	} else {
		button = IC_BUTTON_HALF_SHUTTER;
		delay  = time + shutter_lag;
	}

	wait_for_camera();
	lock_sutter    ();

	press_button(button);
	SleepTask   (delay);
	press_button(button);

	wait_for_shutter();

	return 0;
}