Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- handle_image_capture_event(start_capture, State) ->
- ImageParams = State#state.current_image_params,
- ImageStateFlags = State#state.current_image_state_flags,
- lager:info("[~s:handle_image_capture_event] ~p => ~p, ~p", [?MODULE_STRING, start_capture, ImageParams, ImageStateFlags]),
- LightSource = proplists:get_value(light_source, ImageParams),
- PreAcquisitionRestMs = proplists:get_value(pre_acquisition_rest_ms, ImageParams),
- PreAcquisitionRealignment = proplists:get_value(pre_acquisition_realign, ImageParams),
- RestIntervalElapsed = lists:member(rest_interval_elapsed, ImageStateFlags),
- Realigned = lists:member(realigned, ImageStateFlags),
- UpdatedState = handle_capture_message_playback(State),
- if
- PreAcquisitionRestMs /= undefined andalso RestIntervalElapsed == false ->
- {ok, ResumeTimer} = timer:apply_after(PreAcquisitionRestMs, gsd_exam_fsm, on_continue_to_next_step, [resume_capture]),
- PendingTimers = UpdatedState#state.pending_timers,
- lager:debug("[~s:handle_image_capture_event] Resting before next image", [?MODULE_STRING]),
- { paused, UpdatedState#state{pending_timers = PendingTimers ++ [{resume_capture, ResumeTimer}]} };
- PreAcquisitionRealignment /= undefined andalso Realigned == false ->
- lager:debug("[~s:handle_image_capture_event] Reactivating pupil alignment", [?MODULE_STRING]),
- NextStateName = gsd_exam_fsm:resume_pupil_alignment(),
- { NextStateName, UpdatedState };
- LightSource == ir ->
- lager:debug("[~s:handle_image_capture_event] Autoexposure", [?MODULE_STRING]),
- Mode = proplists:get_value(mode, ImageParams, automatic),
- gsd_programs:start_brightness_control(),
- case Mode of
- automatic ->
- lager:debug("[~s:handle_image_capture_event] Resume pp motors", [?MODULE_STRING]),
- gsd_programs:pupil_alignment_resume_motors();
- _ -> ok
- end,
- gsd_tablet:notify_event(?SERVER, autoexposure, []),
- { autoexposure, UpdatedState };
- true -> %vis; af100; af75; af50; af25 ->
- lager:debug("[~s:handle_image_capture_event] Taking ~p picture", [?MODULE_STRING, LightSource]),
- NextState = take_current_image(UpdatedState),
- { still_picture_acquisition, NextState }
- end;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement