15 #ifndef HEIVS_STM32_CAMERA_H
16 #define HEIVS_STM32_CAMERA_H
28 enum camera_image_mode_e
30 IMAGE_MODE_NORMAL = 0,
33 IMAGE_MODE_NEGATIVE = 3,
35 IMAGE_MODE_SOLARUV = 5,
38 enum camera_auto_exposure
45 enum camera_data_format_e
50 struct camera_image_options_t
55 enum camera_data_format_e format;
57 enum camera_image_mode_e mode;
58 enum camera_auto_exposure exposure;
104 const struct gpio_t *data_pins;
105 uint32_t data_pins_count;
106 const struct gpio_t *control_pins;
107 uint32_t control_pins_count;
108 uint32_t mco_frequency;
111 struct camera_image_options_t *image_options;
113 const struct camera_funcs_t *funcs;
status_e camera_continuous_start(const struct camera_t *cam, void *(*next_handler)(const struct camera_t *), void(*done_handler)(status_e status, const struct camera_t *), size_t size)
Start continuous capture of camera images.
status_e camera_one_shot_status(const struct camera_t *cam)
Camera wait one shot status.
static struct audio_setup_t setup
status_e camera_one_shot_wait(const struct camera_t *cam)
Camera wait one shot finished.
status_e camera_one_shot_start(const struct camera_t *cam, void(*done_handler)(status_e, const struct camera_t *), void *dst, size_t size)
Camera take one shot.
status_e camera_init(const struct camera_t *cam)
Initialize camera.
status_e camera_continuous_stop(const struct camera_t *cam)
Camera stop continous capture.
status_e camera_setup(const struct camera_t *cam, const struct camera_image_options_t *new_options)
Camera setup.
uint32_t camera_get_image_size(const struct camera_t *cam)
Compute image byte size using current parameters.